SDK: download files improments (#4198)
This commit is contained in:
committed by
GitHub
parent
4665f8907d
commit
4b9c89e22b
@@ -1310,12 +1310,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Folder not found"
|
||||
},
|
||||
"404": {
|
||||
"description": "Workflow not found"
|
||||
},
|
||||
"400": {
|
||||
"description": "Folder not found"
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation Error",
|
||||
"content": {
|
||||
@@ -1620,12 +1620,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Timeline not available for this run type"
|
||||
},
|
||||
"404": {
|
||||
"description": "Run not found"
|
||||
},
|
||||
"400": {
|
||||
"description": "Timeline not available for this run type"
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation Error",
|
||||
"content": {
|
||||
@@ -2266,12 +2266,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "Unauthorized - Invalid or missing authentication"
|
||||
},
|
||||
"404": {
|
||||
"description": "Browser session not found"
|
||||
},
|
||||
"403": {
|
||||
"description": "Unauthorized - Invalid or missing authentication"
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation Error",
|
||||
"content": {
|
||||
@@ -2836,6 +2836,83 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/v1/run/tasks/download_files": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Agent"
|
||||
],
|
||||
"summary": "File Download Task",
|
||||
"description": "Download a file from a website by navigating and clicking download buttons",
|
||||
"operationId": "download_files_v1_run_tasks_download_files_post",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"in": "header",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.",
|
||||
"title": "X-Api-Key"
|
||||
},
|
||||
"description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings."
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/DownloadFilesRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful Response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/WorkflowRunResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation Error",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/HTTPValidationError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-fern-sdk-method-name": "download_files",
|
||||
"x-fern-examples": [
|
||||
{
|
||||
"code-samples": [
|
||||
{
|
||||
"sdk": "python",
|
||||
"code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.download_files(\n url=\"https://example.com/downloads\",\n navigation_goal=\"Navigate to the downloads page and click the 'Download PDF' button\",\n download_suffix=\"report.pdf\"\n)\n"
|
||||
},
|
||||
{
|
||||
"sdk": "typescript",
|
||||
"code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.downloadFiles({\n url: \"https://example.com/downloads\",\n navigation_goal: \"Navigate to the downloads page and click the 'Download PDF' button\",\n download_suffix: \"report.pdf\"\n});\n"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/v1/scripts": {
|
||||
"post": {
|
||||
"tags": [
|
||||
@@ -3837,6 +3914,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -4122,6 +4204,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -5612,7 +5699,7 @@
|
||||
"type": "number",
|
||||
"title": "Timeout",
|
||||
"description": "Timeout in milliseconds",
|
||||
"default": 10000
|
||||
"default": 5000
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
@@ -5697,6 +5784,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"code": {
|
||||
"type": "string",
|
||||
"title": "Code"
|
||||
@@ -5810,6 +5902,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"code": {
|
||||
"type": "string",
|
||||
"title": "Code"
|
||||
@@ -5886,6 +5983,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"branch_conditions": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/BranchCondition"
|
||||
@@ -5944,6 +6046,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"branch_conditions": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/BranchConditionYAML"
|
||||
@@ -6146,8 +6253,8 @@
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "integer",
|
||||
"maximum": 1440,
|
||||
"minimum": 5
|
||||
"maximum": 1440.0,
|
||||
"minimum": 5.0
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
@@ -6544,6 +6651,185 @@
|
||||
"title": "DeployScriptRequest",
|
||||
"description": "Request model for deploying a script with updated files."
|
||||
},
|
||||
"DownloadFilesRequest": {
|
||||
"properties": {
|
||||
"url": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Url",
|
||||
"description": "Website URL"
|
||||
},
|
||||
"webhook_url": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Webhook Url",
|
||||
"description": "Webhook URL to send status updates"
|
||||
},
|
||||
"proxy_location": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/components/schemas/ProxyLocation"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Proxy location to use"
|
||||
},
|
||||
"totp_identifier": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Totp Identifier",
|
||||
"description": "Identifier for TOTP (Time-based One-Time Password) if required"
|
||||
},
|
||||
"totp_url": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Totp Url",
|
||||
"description": "TOTP URL to fetch one-time passwords"
|
||||
},
|
||||
"browser_session_id": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Browser Session Id",
|
||||
"description": "ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`",
|
||||
"examples": [
|
||||
"pbs_123456"
|
||||
]
|
||||
},
|
||||
"browser_profile_id": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Browser Profile Id",
|
||||
"description": "ID of a browser profile to reuse for this run"
|
||||
},
|
||||
"browser_address": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Browser Address",
|
||||
"description": "The CDP address for the task.",
|
||||
"examples": [
|
||||
"http://127.0.0.1:9222",
|
||||
"ws://127.0.0.1:9222/devtools/browser/1234567890"
|
||||
]
|
||||
},
|
||||
"extra_http_headers": {
|
||||
"anyOf": [
|
||||
{
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Extra Http Headers",
|
||||
"description": "Additional HTTP headers to include in requests"
|
||||
},
|
||||
"max_screenshot_scrolling_times": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "integer"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Max Screenshot Scrolling Times",
|
||||
"description": "Maximum number of times to scroll for screenshots"
|
||||
},
|
||||
"navigation_goal": {
|
||||
"type": "string",
|
||||
"title": "Navigation Goal",
|
||||
"description": "Instructions for navigating to and downloading the file"
|
||||
},
|
||||
"download_suffix": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Download Suffix",
|
||||
"description": "Suffix or complete filename for the downloaded file"
|
||||
},
|
||||
"download_timeout": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Download Timeout",
|
||||
"description": "Timeout in seconds for the download operation"
|
||||
},
|
||||
"max_steps_per_run": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "integer"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Max Steps Per Run",
|
||||
"description": "Maximum number of steps to execute"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"required": [
|
||||
"navigation_goal"
|
||||
],
|
||||
"title": "DownloadFilesRequest"
|
||||
},
|
||||
"DownloadToS3Block": {
|
||||
"properties": {
|
||||
"label": {
|
||||
@@ -6594,6 +6880,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"title": "Url"
|
||||
@@ -6649,6 +6940,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"title": "Url"
|
||||
@@ -6793,6 +7089,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -7072,6 +7373,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"data_extraction_goal": {
|
||||
"type": "string",
|
||||
"title": "Data Extraction Goal"
|
||||
@@ -7208,6 +7514,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -7493,6 +7804,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"navigation_goal": {
|
||||
"type": "string",
|
||||
"title": "Navigation Goal"
|
||||
@@ -7802,6 +8118,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"file_url": {
|
||||
"type": "string",
|
||||
"title": "File Url"
|
||||
@@ -7873,6 +8194,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"file_url": {
|
||||
"type": "string",
|
||||
"title": "File Url"
|
||||
@@ -7968,6 +8294,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"storage_type": {
|
||||
"$ref": "#/components/schemas/FileStorageType",
|
||||
"default": "s3"
|
||||
@@ -8110,6 +8441,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"storage_type": {
|
||||
"$ref": "#/components/schemas/FileStorageType",
|
||||
"default": "s3"
|
||||
@@ -8389,6 +8725,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"loop_blocks": {
|
||||
"items": {
|
||||
"oneOf": [
|
||||
@@ -8618,6 +8959,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"loop_blocks": {
|
||||
"items": {
|
||||
"anyOf": [
|
||||
@@ -8845,6 +9191,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"method": {
|
||||
"type": "string",
|
||||
"title": "Method",
|
||||
@@ -9005,6 +9356,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"method": {
|
||||
"type": "string",
|
||||
"title": "Method",
|
||||
@@ -9128,6 +9484,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -9457,6 +9818,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"instructions": {
|
||||
"type": "string",
|
||||
"title": "Instructions",
|
||||
@@ -9674,7 +10040,7 @@
|
||||
"type": "number",
|
||||
"title": "Timeout",
|
||||
"description": "Timeout in milliseconds",
|
||||
"default": 10000
|
||||
"default": 5000
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
@@ -9781,6 +10147,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -10066,6 +10437,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -10204,10 +10580,6 @@
|
||||
},
|
||||
"LoginRequest": {
|
||||
"properties": {
|
||||
"credential_type": {
|
||||
"$ref": "#/components/schemas/skyvern__schemas__run_blocks__CredentialType",
|
||||
"description": "Where to get the credential from"
|
||||
},
|
||||
"url": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -10218,19 +10590,7 @@
|
||||
}
|
||||
],
|
||||
"title": "Url",
|
||||
"description": "Website url"
|
||||
},
|
||||
"prompt": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Prompt",
|
||||
"description": "Login instructions. Skyvern has default prompt/instruction for login if this field is not provided."
|
||||
"description": "Website URL"
|
||||
},
|
||||
"webhook_url": {
|
||||
"anyOf": [
|
||||
@@ -10242,7 +10602,7 @@
|
||||
}
|
||||
],
|
||||
"title": "Webhook Url",
|
||||
"description": "Webhook URL to send login status updates"
|
||||
"description": "Webhook URL to send status updates"
|
||||
},
|
||||
"proxy_location": {
|
||||
"anyOf": [
|
||||
@@ -10349,6 +10709,22 @@
|
||||
"title": "Max Screenshot Scrolling Times",
|
||||
"description": "Maximum number of times to scroll for screenshots"
|
||||
},
|
||||
"credential_type": {
|
||||
"$ref": "#/components/schemas/skyvern__schemas__run_blocks__CredentialType",
|
||||
"description": "Where to get the credential from"
|
||||
},
|
||||
"prompt": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"title": "Prompt",
|
||||
"description": "Login instructions. Skyvern has default prompt/instruction for login if this field is not provided."
|
||||
},
|
||||
"credential_id": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -10517,6 +10893,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -10796,6 +11177,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"navigation_goal": {
|
||||
"type": "string",
|
||||
"title": "Navigation Goal"
|
||||
@@ -11350,6 +11736,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"file_url": {
|
||||
"type": "string",
|
||||
"title": "File Url"
|
||||
@@ -11418,6 +11809,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"file_url": {
|
||||
"type": "string",
|
||||
"title": "File Url"
|
||||
@@ -11878,7 +12274,7 @@
|
||||
"type": "number",
|
||||
"title": "Timeout",
|
||||
"description": "Timeout in milliseconds",
|
||||
"default": 10000
|
||||
"default": 5000
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
@@ -11935,6 +12331,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"smtp_host": {
|
||||
"$ref": "#/components/schemas/AWSSecretParameter"
|
||||
},
|
||||
@@ -12032,6 +12433,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"smtp_host_secret_parameter_key": {
|
||||
"type": "string",
|
||||
"title": "Smtp Host Secret Parameter Key"
|
||||
@@ -12401,6 +12807,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -12686,6 +13097,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -13469,6 +13885,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"prompt": {
|
||||
"type": "string",
|
||||
"title": "Prompt"
|
||||
@@ -13567,6 +13988,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"prompt": {
|
||||
"type": "string",
|
||||
"title": "Prompt"
|
||||
@@ -13677,6 +14103,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"llm_key": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -13813,6 +14244,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"llm_key": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -14188,7 +14624,7 @@
|
||||
"type": "number",
|
||||
"title": "Timeout",
|
||||
"description": "Timeout in milliseconds",
|
||||
"default": 10000
|
||||
"default": 5000
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
@@ -14245,6 +14681,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"path": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -14306,6 +14747,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"path": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -14374,6 +14820,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -14653,6 +15104,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"title": "Url"
|
||||
@@ -14677,8 +15133,8 @@
|
||||
},
|
||||
"confidence_float": {
|
||||
"type": "number",
|
||||
"maximum": 1,
|
||||
"minimum": 0,
|
||||
"maximum": 1.0,
|
||||
"minimum": 0.0,
|
||||
"title": "Confidence Float"
|
||||
}
|
||||
},
|
||||
@@ -14740,6 +15196,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"task_type": {
|
||||
"type": "string",
|
||||
"title": "Task Type",
|
||||
@@ -15025,6 +15486,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"complete_criterion": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -15170,6 +15636,11 @@
|
||||
"title": "Disable Cache",
|
||||
"default": false
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"wait_sec": {
|
||||
"type": "integer",
|
||||
"title": "Wait Sec"
|
||||
@@ -15283,6 +15754,11 @@
|
||||
],
|
||||
"title": "Model"
|
||||
},
|
||||
"next_loop_on_failure": {
|
||||
"type": "boolean",
|
||||
"title": "Next Loop On Failure",
|
||||
"default": false
|
||||
},
|
||||
"wait_sec": {
|
||||
"type": "integer",
|
||||
"title": "Wait Sec",
|
||||
|
||||
38
skyvern-ts/client/package-lock.json
generated
38
skyvern-ts/client/package-lock.json
generated
@@ -1586,9 +1586,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.8.32",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.32.tgz",
|
||||
"integrity": "sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==",
|
||||
"version": "2.9.2",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz",
|
||||
"integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -1609,9 +1609,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.28.0",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz",
|
||||
"integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==",
|
||||
"version": "4.28.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
|
||||
"integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1629,11 +1629,11 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.8.25",
|
||||
"caniuse-lite": "^1.0.30001754",
|
||||
"electron-to-chromium": "^1.5.249",
|
||||
"baseline-browser-mapping": "^2.9.0",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
"electron-to-chromium": "^1.5.263",
|
||||
"node-releases": "^2.0.27",
|
||||
"update-browserslist-db": "^1.1.4"
|
||||
"update-browserslist-db": "^1.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
@@ -1660,9 +1660,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001757",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz",
|
||||
"integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==",
|
||||
"version": "1.0.30001759",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz",
|
||||
"integrity": "sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1843,9 +1843,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.263",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.263.tgz",
|
||||
"integrity": "sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==",
|
||||
"version": "1.5.265",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.265.tgz",
|
||||
"integrity": "sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -2990,9 +2990,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
|
||||
"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
|
||||
"integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
|
||||
@@ -2233,6 +2233,88 @@ export class SkyvernClient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Download a file from a website by navigating and clicking download buttons
|
||||
*
|
||||
* @param {Skyvern.DownloadFilesRequest} request
|
||||
* @param {SkyvernClient.RequestOptions} requestOptions - Request-specific configuration.
|
||||
*
|
||||
* @throws {@link Skyvern.UnprocessableEntityError}
|
||||
*
|
||||
* @example
|
||||
* await client.downloadFiles({
|
||||
* navigation_goal: "navigation_goal"
|
||||
* })
|
||||
*/
|
||||
public downloadFiles(
|
||||
request: Skyvern.DownloadFilesRequest,
|
||||
requestOptions?: SkyvernClient.RequestOptions,
|
||||
): core.HttpResponsePromise<Skyvern.WorkflowRunResponse> {
|
||||
return core.HttpResponsePromise.fromPromise(this.__downloadFiles(request, requestOptions));
|
||||
}
|
||||
|
||||
private async __downloadFiles(
|
||||
request: Skyvern.DownloadFilesRequest,
|
||||
requestOptions?: SkyvernClient.RequestOptions,
|
||||
): Promise<core.WithRawResponse<Skyvern.WorkflowRunResponse>> {
|
||||
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
|
||||
this._options?.headers,
|
||||
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
|
||||
requestOptions?.headers,
|
||||
);
|
||||
const _response = await core.fetcher({
|
||||
url: core.url.join(
|
||||
(await core.Supplier.get(this._options.baseUrl)) ??
|
||||
(await core.Supplier.get(this._options.environment)) ??
|
||||
environments.SkyvernEnvironment.Cloud,
|
||||
"v1/run/tasks/download_files",
|
||||
),
|
||||
method: "POST",
|
||||
headers: _headers,
|
||||
contentType: "application/json",
|
||||
queryParameters: requestOptions?.queryParams,
|
||||
requestType: "json",
|
||||
body: request,
|
||||
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
||||
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
||||
abortSignal: requestOptions?.abortSignal,
|
||||
});
|
||||
if (_response.ok) {
|
||||
return { data: _response.body as Skyvern.WorkflowRunResponse, rawResponse: _response.rawResponse };
|
||||
}
|
||||
|
||||
if (_response.error.reason === "status-code") {
|
||||
switch (_response.error.statusCode) {
|
||||
case 422:
|
||||
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
|
||||
default:
|
||||
throw new errors.SkyvernError({
|
||||
statusCode: _response.error.statusCode,
|
||||
body: _response.error.body,
|
||||
rawResponse: _response.rawResponse,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
switch (_response.error.reason) {
|
||||
case "non-json":
|
||||
throw new errors.SkyvernError({
|
||||
statusCode: _response.error.statusCode,
|
||||
body: _response.error.rawBody,
|
||||
rawResponse: _response.rawResponse,
|
||||
});
|
||||
case "timeout":
|
||||
throw new errors.SkyvernTimeoutError(
|
||||
"Timeout exceeded when calling POST /v1/run/tasks/download_files.",
|
||||
);
|
||||
case "unknown":
|
||||
throw new errors.SkyvernError({
|
||||
message: _response.error.errorMessage,
|
||||
rawResponse: _response.rawResponse,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a paginated list of scripts for the current organization
|
||||
*
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
import type * as Skyvern from "../../index.js";
|
||||
|
||||
/**
|
||||
* @example
|
||||
* {
|
||||
* navigation_goal: "navigation_goal"
|
||||
* }
|
||||
*/
|
||||
export interface DownloadFilesRequest {
|
||||
/** Website URL */
|
||||
url?: string;
|
||||
/** Webhook URL to send status updates */
|
||||
webhook_url?: string;
|
||||
/** Proxy location to use */
|
||||
proxy_location?: Skyvern.ProxyLocation;
|
||||
/** Identifier for TOTP (Time-based One-Time Password) if required */
|
||||
totp_identifier?: string;
|
||||
/** TOTP URL to fetch one-time passwords */
|
||||
totp_url?: string;
|
||||
/** ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456` */
|
||||
browser_session_id?: string;
|
||||
/** ID of a browser profile to reuse for this run */
|
||||
browser_profile_id?: string;
|
||||
/** The CDP address for the task. */
|
||||
browser_address?: string;
|
||||
/** Additional HTTP headers to include in requests */
|
||||
extra_http_headers?: Record<string, string | undefined>;
|
||||
/** Maximum number of times to scroll for screenshots */
|
||||
max_screenshot_scrolling_times?: number;
|
||||
/** Instructions for navigating to and downloading the file */
|
||||
navigation_goal: string;
|
||||
/** Suffix or complete filename for the downloaded file */
|
||||
download_suffix?: string;
|
||||
/** Timeout in seconds for the download operation */
|
||||
download_timeout?: number;
|
||||
/** Maximum number of steps to execute */
|
||||
max_steps_per_run?: number;
|
||||
}
|
||||
@@ -9,13 +9,9 @@ import type * as Skyvern from "../../index.js";
|
||||
* }
|
||||
*/
|
||||
export interface LoginRequest {
|
||||
/** Where to get the credential from */
|
||||
credential_type: Skyvern.SkyvernSchemasRunBlocksCredentialType;
|
||||
/** Website url */
|
||||
/** Website URL */
|
||||
url?: string;
|
||||
/** Login instructions. Skyvern has default prompt/instruction for login if this field is not provided. */
|
||||
prompt?: string;
|
||||
/** Webhook URL to send login status updates */
|
||||
/** Webhook URL to send status updates */
|
||||
webhook_url?: string;
|
||||
/** Proxy location to use */
|
||||
proxy_location?: Skyvern.ProxyLocation;
|
||||
@@ -33,6 +29,10 @@ export interface LoginRequest {
|
||||
extra_http_headers?: Record<string, string | undefined>;
|
||||
/** Maximum number of times to scroll for screenshots */
|
||||
max_screenshot_scrolling_times?: number;
|
||||
/** Where to get the credential from */
|
||||
credential_type: Skyvern.SkyvernSchemasRunBlocksCredentialType;
|
||||
/** Login instructions. Skyvern has default prompt/instruction for login if this field is not provided. */
|
||||
prompt?: string;
|
||||
/** ID of the Skyvern credential to use for login. */
|
||||
credential_id?: string;
|
||||
/** Bitwarden collection ID. You can find it in the Bitwarden collection URL. e.g. `https://vault.bitwarden.com/vaults/collection_id/items` */
|
||||
|
||||
@@ -4,6 +4,7 @@ export type { CreateCredentialRequest } from "./CreateCredentialRequest.js";
|
||||
export type { CreateScriptRequest } from "./CreateScriptRequest.js";
|
||||
export type { CreateWorkflowRequest } from "./CreateWorkflowRequest.js";
|
||||
export type { DeployScriptRequest } from "./DeployScriptRequest.js";
|
||||
export type { DownloadFilesRequest } from "./DownloadFilesRequest.js";
|
||||
export type { GetCredentialsRequest } from "./GetCredentialsRequest.js";
|
||||
export type { GetRunArtifactsRequest } from "./GetRunArtifactsRequest.js";
|
||||
export type { GetScriptsRequest } from "./GetScriptsRequest.js";
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface ActionBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface ActionBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
url?: string;
|
||||
title?: string;
|
||||
engine?: Skyvern.RunEngine;
|
||||
|
||||
@@ -6,7 +6,7 @@ import type * as Skyvern from "../index.js";
|
||||
* Represents a single conditional branch edge within a ConditionalBlock.
|
||||
*/
|
||||
export interface BranchCondition {
|
||||
criteria?: Skyvern.BranchCriteria;
|
||||
criteria?: Skyvern.BranchConditionCriteria;
|
||||
next_block_label?: string;
|
||||
description?: string;
|
||||
is_default?: boolean;
|
||||
|
||||
11
skyvern-ts/client/src/api/types/BranchConditionCriteria.ts
Normal file
11
skyvern-ts/client/src/api/types/BranchConditionCriteria.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
import type * as Skyvern from "../index.js";
|
||||
|
||||
export type BranchConditionCriteria = Skyvern.BranchConditionCriteria.Jinja2Template;
|
||||
|
||||
export namespace BranchConditionCriteria {
|
||||
export interface Jinja2Template extends Skyvern.JinjaBranchCriteria {
|
||||
criteria_type: "jinja2_template";
|
||||
}
|
||||
}
|
||||
10
skyvern-ts/client/src/api/types/BranchConditionYaml.ts
Normal file
10
skyvern-ts/client/src/api/types/BranchConditionYaml.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
import type * as Skyvern from "../index.js";
|
||||
|
||||
export interface BranchConditionYaml {
|
||||
criteria?: Skyvern.BranchCriteriaYaml;
|
||||
next_block_label?: string;
|
||||
description?: string;
|
||||
is_default?: boolean;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
/**
|
||||
* Abstract interface describing how a branch condition should be evaluated.
|
||||
*/
|
||||
export interface BranchCriteria {
|
||||
criteria_type: string;
|
||||
expression: string;
|
||||
description?: string;
|
||||
}
|
||||
7
skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts
Normal file
7
skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
export interface BranchCriteriaYaml {
|
||||
criteria_type?: "jinja2_template";
|
||||
expression: string;
|
||||
description?: string;
|
||||
}
|
||||
@@ -11,6 +11,7 @@ export interface CodeBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
code: string;
|
||||
parameters?: Skyvern.CodeBlockParametersItem[];
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface CodeBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
code: string;
|
||||
parameter_keys?: string[];
|
||||
}
|
||||
|
||||
@@ -14,5 +14,6 @@ export interface ConditionalBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
branch_conditions?: Skyvern.BranchCondition[];
|
||||
}
|
||||
|
||||
14
skyvern-ts/client/src/api/types/ConditionalBlockYaml.ts
Normal file
14
skyvern-ts/client/src/api/types/ConditionalBlockYaml.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
import type * as Skyvern from "../index.js";
|
||||
|
||||
export interface ConditionalBlockYaml {
|
||||
/** Author-facing identifier; must be unique per workflow. */
|
||||
label: string;
|
||||
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
branch_conditions?: Skyvern.BranchConditionYaml[];
|
||||
}
|
||||
@@ -11,5 +11,6 @@ export interface DownloadToS3Block {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,6 @@ export interface DownloadToS3BlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface ExtractionBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface ExtractionBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
data_extraction_goal: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface FileDownloadBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface FileDownloadBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
navigation_goal: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface FileParserBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
file_url: string;
|
||||
file_type: Skyvern.FileType;
|
||||
json_schema?: Record<string, unknown>;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface FileParserBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
file_url: string;
|
||||
file_type: Skyvern.FileType;
|
||||
json_schema?: Record<string, unknown>;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface FileUploadBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
storage_type?: Skyvern.FileStorageType;
|
||||
s3_bucket?: string;
|
||||
aws_access_key_id?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface FileUploadBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
storage_type?: Skyvern.FileStorageType;
|
||||
s3_bucket?: string;
|
||||
aws_access_key_id?: string;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface ForLoopBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
loop_blocks: Skyvern.ForLoopBlockLoopBlocksItem[];
|
||||
loop_over?: Skyvern.ForLoopBlockLoopOver;
|
||||
loop_variable_reference?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface ForLoopBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
loop_blocks: Skyvern.ForLoopBlockYamlLoopBlocksItem[];
|
||||
loop_over_parameter_key?: string;
|
||||
loop_variable_reference?: string;
|
||||
|
||||
@@ -23,7 +23,8 @@ export type ForLoopBlockYamlLoopBlocksItem =
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.GotoUrl
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.PdfParser
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.TaskV2
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.HttpRequest;
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.HttpRequest
|
||||
| Skyvern.ForLoopBlockYamlLoopBlocksItem.Conditional;
|
||||
|
||||
export namespace ForLoopBlockYamlLoopBlocksItem {
|
||||
export interface Task extends Skyvern.TaskBlockYaml {
|
||||
@@ -109,4 +110,8 @@ export namespace ForLoopBlockYamlLoopBlocksItem {
|
||||
export interface HttpRequest extends Skyvern.HttpRequestBlockYaml {
|
||||
block_type: "http_request";
|
||||
}
|
||||
|
||||
export interface Conditional extends Skyvern.ConditionalBlockYaml {
|
||||
block_type: "conditional";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface HttpRequestBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
method?: string;
|
||||
url?: string;
|
||||
headers?: Record<string, string | undefined>;
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface HttpRequestBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
method?: string;
|
||||
url?: string;
|
||||
headers?: Record<string, string | undefined>;
|
||||
|
||||
@@ -22,6 +22,7 @@ export interface HumanInteractionBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface HumanInteractionBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
instructions?: string;
|
||||
positive_descriptor?: string;
|
||||
negative_descriptor?: string;
|
||||
|
||||
9
skyvern-ts/client/src/api/types/JinjaBranchCriteria.ts
Normal file
9
skyvern-ts/client/src/api/types/JinjaBranchCriteria.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
// This file was auto-generated by Fern from our API Definition.
|
||||
|
||||
/**
|
||||
* Jinja2-templated branch criteria (only supported criteria type for now).
|
||||
*/
|
||||
export interface JinjaBranchCriteria {
|
||||
expression: string;
|
||||
description?: string;
|
||||
}
|
||||
@@ -11,6 +11,7 @@ export interface LoginBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface LoginBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
url?: string;
|
||||
title?: string;
|
||||
engine?: Skyvern.RunEngine;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface NavigationBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface NavigationBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
navigation_goal: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -15,6 +15,7 @@ export interface PdfParserBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
file_url: string;
|
||||
json_schema?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface PdfParserBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
file_url: string;
|
||||
json_schema?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface SendEmailBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
smtp_host: Skyvern.AwsSecretParameter;
|
||||
smtp_port: Skyvern.AwsSecretParameter;
|
||||
smtp_username: Skyvern.AwsSecretParameter;
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface SendEmailBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
smtp_host_secret_parameter_key: string;
|
||||
smtp_port_secret_parameter_key: string;
|
||||
smtp_username_secret_parameter_key: string;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface TaskBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -9,6 +9,7 @@ export interface TaskBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
url?: string;
|
||||
title?: string;
|
||||
engine?: Skyvern.RunEngine;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface TaskV2Block {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
prompt: string;
|
||||
url?: string;
|
||||
totp_verification_url?: string;
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface TaskV2BlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
prompt: string;
|
||||
url?: string;
|
||||
totp_verification_url?: string;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface TextPromptBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
llm_key?: string;
|
||||
prompt: string;
|
||||
parameters?: Skyvern.TextPromptBlockParametersItem[];
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface TextPromptBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
llm_key?: string;
|
||||
prompt: string;
|
||||
parameter_keys?: string[];
|
||||
|
||||
@@ -11,5 +11,6 @@ export interface UploadToS3Block {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
path?: string;
|
||||
}
|
||||
|
||||
@@ -7,5 +7,6 @@ export interface UploadToS3BlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
path?: string;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface UrlBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url: string;
|
||||
title?: string;
|
||||
|
||||
@@ -7,5 +7,6 @@ export interface UrlBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface ValidationBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
task_type?: string;
|
||||
url?: string;
|
||||
title?: string;
|
||||
|
||||
@@ -7,6 +7,7 @@ export interface ValidationBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
complete_criterion?: string;
|
||||
terminate_criterion?: string;
|
||||
error_code_mapping?: Record<string, string | undefined>;
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface WaitBlock {
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
disable_cache?: boolean;
|
||||
next_loop_on_failure?: boolean;
|
||||
wait_sec: number;
|
||||
parameters?: Skyvern.WaitBlockParametersItem[];
|
||||
}
|
||||
|
||||
@@ -7,5 +7,6 @@ export interface WaitBlockYaml {
|
||||
next_block_label?: string;
|
||||
continue_on_failure?: boolean;
|
||||
model?: Record<string, unknown>;
|
||||
next_loop_on_failure?: boolean;
|
||||
wait_sec?: number;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import type * as Skyvern from "../index.js";
|
||||
export type WorkflowDefinitionYamlBlocksItem =
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.Action
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.Code
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.Conditional
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.DownloadToS3
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.Extraction
|
||||
| Skyvern.WorkflowDefinitionYamlBlocksItem.FileDownload
|
||||
@@ -34,6 +35,10 @@ export namespace WorkflowDefinitionYamlBlocksItem {
|
||||
block_type: "code";
|
||||
}
|
||||
|
||||
export interface Conditional extends Skyvern.ConditionalBlockYaml {
|
||||
block_type: "conditional";
|
||||
}
|
||||
|
||||
export interface DownloadToS3 extends Skyvern.DownloadToS3BlockYaml {
|
||||
block_type: "download_to_s3";
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ export * from "./BitwardenSensitiveInformationParameter.js";
|
||||
export * from "./BitwardenSensitiveInformationParameterYaml.js";
|
||||
export * from "./BlockType.js";
|
||||
export * from "./BranchCondition.js";
|
||||
export * from "./BranchCriteria.js";
|
||||
export * from "./BranchConditionCriteria.js";
|
||||
export * from "./BranchConditionYaml.js";
|
||||
export * from "./BranchCriteriaYaml.js";
|
||||
export * from "./BrowserProfile.js";
|
||||
export * from "./BrowserSessionResponse.js";
|
||||
export * from "./ClickAction.js";
|
||||
@@ -29,6 +31,7 @@ export * from "./CodeBlock.js";
|
||||
export * from "./CodeBlockParametersItem.js";
|
||||
export * from "./CodeBlockYaml.js";
|
||||
export * from "./ConditionalBlock.js";
|
||||
export * from "./ConditionalBlockYaml.js";
|
||||
export * from "./ContextParameter.js";
|
||||
export * from "./ContextParameterSource.js";
|
||||
export * from "./ContextParameterYaml.js";
|
||||
@@ -73,6 +76,7 @@ export * from "./HumanInteractionBlockParametersItem.js";
|
||||
export * from "./HumanInteractionBlockYaml.js";
|
||||
export * from "./InputOrSelectContext.js";
|
||||
export * from "./InputTextAction.js";
|
||||
export * from "./JinjaBranchCriteria.js";
|
||||
export * from "./LocateElementAction.js";
|
||||
export * from "./LoginBlock.js";
|
||||
export * from "./LoginBlockParametersItem.js";
|
||||
|
||||
@@ -2490,6 +2490,142 @@ describe("SkyvernClient", () => {
|
||||
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
|
||||
});
|
||||
|
||||
test("download_files (1)", async () => {
|
||||
const server = mockServerPool.createServer();
|
||||
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
|
||||
const rawRequestBody = { navigation_goal: "navigation_goal" };
|
||||
const rawResponseBody = {
|
||||
run_id: "tsk_123",
|
||||
status: "created",
|
||||
output: { key: "value" },
|
||||
downloaded_files: [
|
||||
{ url: "url", checksum: "checksum", filename: "filename", modified_at: "2024-01-15T09:30:00Z" },
|
||||
],
|
||||
recording_url: "recording_url",
|
||||
screenshot_urls: ["screenshot_urls"],
|
||||
failure_reason: "failure_reason",
|
||||
created_at: "2025-01-01T00:00:00Z",
|
||||
modified_at: "2025-01-01T00:05:00Z",
|
||||
queued_at: "2024-01-15T09:30:00Z",
|
||||
started_at: "2024-01-15T09:30:00Z",
|
||||
finished_at: "2024-01-15T09:30:00Z",
|
||||
app_url: "app_url",
|
||||
browser_session_id: "browser_session_id",
|
||||
browser_profile_id: "browser_profile_id",
|
||||
max_screenshot_scrolls: 1,
|
||||
script_run: { ai_fallback_triggered: true },
|
||||
errors: [{ key: "value" }],
|
||||
run_with: "run_with",
|
||||
ai_fallback: true,
|
||||
run_request: {
|
||||
workflow_id: "wpid_123",
|
||||
parameters: { key: "value" },
|
||||
title: "title",
|
||||
proxy_location: "RESIDENTIAL",
|
||||
webhook_url: "webhook_url",
|
||||
totp_url: "totp_url",
|
||||
totp_identifier: "totp_identifier",
|
||||
browser_session_id: "browser_session_id",
|
||||
browser_profile_id: "browser_profile_id",
|
||||
max_screenshot_scrolls: 1,
|
||||
extra_http_headers: { key: "value" },
|
||||
browser_address: "browser_address",
|
||||
ai_fallback: true,
|
||||
run_with: "run_with",
|
||||
},
|
||||
};
|
||||
server
|
||||
.mockEndpoint()
|
||||
.post("/v1/run/tasks/download_files")
|
||||
.jsonBody(rawRequestBody)
|
||||
.respondWith()
|
||||
.statusCode(200)
|
||||
.jsonBody(rawResponseBody)
|
||||
.build();
|
||||
|
||||
const response = await client.downloadFiles({
|
||||
navigation_goal: "navigation_goal",
|
||||
});
|
||||
expect(response).toEqual({
|
||||
run_id: "tsk_123",
|
||||
status: "created",
|
||||
output: {
|
||||
key: "value",
|
||||
},
|
||||
downloaded_files: [
|
||||
{
|
||||
url: "url",
|
||||
checksum: "checksum",
|
||||
filename: "filename",
|
||||
modified_at: "2024-01-15T09:30:00Z",
|
||||
},
|
||||
],
|
||||
recording_url: "recording_url",
|
||||
screenshot_urls: ["screenshot_urls"],
|
||||
failure_reason: "failure_reason",
|
||||
created_at: "2025-01-01T00:00:00Z",
|
||||
modified_at: "2025-01-01T00:05:00Z",
|
||||
queued_at: "2024-01-15T09:30:00Z",
|
||||
started_at: "2024-01-15T09:30:00Z",
|
||||
finished_at: "2024-01-15T09:30:00Z",
|
||||
app_url: "app_url",
|
||||
browser_session_id: "browser_session_id",
|
||||
browser_profile_id: "browser_profile_id",
|
||||
max_screenshot_scrolls: 1,
|
||||
script_run: {
|
||||
ai_fallback_triggered: true,
|
||||
},
|
||||
errors: [
|
||||
{
|
||||
key: "value",
|
||||
},
|
||||
],
|
||||
run_with: "run_with",
|
||||
ai_fallback: true,
|
||||
run_request: {
|
||||
workflow_id: "wpid_123",
|
||||
parameters: {
|
||||
key: "value",
|
||||
},
|
||||
title: "title",
|
||||
proxy_location: "RESIDENTIAL",
|
||||
webhook_url: "webhook_url",
|
||||
totp_url: "totp_url",
|
||||
totp_identifier: "totp_identifier",
|
||||
browser_session_id: "browser_session_id",
|
||||
browser_profile_id: "browser_profile_id",
|
||||
max_screenshot_scrolls: 1,
|
||||
extra_http_headers: {
|
||||
key: "value",
|
||||
},
|
||||
browser_address: "browser_address",
|
||||
ai_fallback: true,
|
||||
run_with: "run_with",
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
test("download_files (2)", async () => {
|
||||
const server = mockServerPool.createServer();
|
||||
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
|
||||
const rawRequestBody = { navigation_goal: "navigation_goal" };
|
||||
const rawResponseBody = { key: "value" };
|
||||
server
|
||||
.mockEndpoint()
|
||||
.post("/v1/run/tasks/download_files")
|
||||
.jsonBody(rawRequestBody)
|
||||
.respondWith()
|
||||
.statusCode(422)
|
||||
.jsonBody(rawResponseBody)
|
||||
.build();
|
||||
|
||||
await expect(async () => {
|
||||
return await client.downloadFiles({
|
||||
navigation_goal: "navigation_goal",
|
||||
});
|
||||
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
|
||||
});
|
||||
|
||||
test("get_scripts (1)", async () => {
|
||||
const server = mockServerPool.createServer();
|
||||
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
|
||||
|
||||
@@ -1525,7 +1525,7 @@ class Skyvern:
|
||||
)
|
||||
return _response.data
|
||||
|
||||
def file_download(
|
||||
def download_files(
|
||||
self,
|
||||
*,
|
||||
navigation_goal: str,
|
||||
@@ -1542,7 +1542,6 @@ class Skyvern:
|
||||
download_suffix: typing.Optional[str] = OMIT,
|
||||
download_timeout: typing.Optional[float] = OMIT,
|
||||
max_steps_per_run: typing.Optional[int] = OMIT,
|
||||
parameter_keys: typing.Optional[typing.Sequence[str]] = OMIT,
|
||||
request_options: typing.Optional[RequestOptions] = None,
|
||||
) -> WorkflowRunResponse:
|
||||
"""
|
||||
@@ -1592,9 +1591,6 @@ class Skyvern:
|
||||
max_steps_per_run : typing.Optional[int]
|
||||
Maximum number of steps to execute
|
||||
|
||||
parameter_keys : typing.Optional[typing.Sequence[str]]
|
||||
List of parameter keys to use in the workflow
|
||||
|
||||
request_options : typing.Optional[RequestOptions]
|
||||
Request-specific configuration.
|
||||
|
||||
@@ -1610,11 +1606,11 @@ class Skyvern:
|
||||
client = Skyvern(
|
||||
api_key="YOUR_API_KEY",
|
||||
)
|
||||
client.file_download(
|
||||
client.download_files(
|
||||
navigation_goal="navigation_goal",
|
||||
)
|
||||
"""
|
||||
_response = self._raw_client.file_download(
|
||||
_response = self._raw_client.download_files(
|
||||
navigation_goal=navigation_goal,
|
||||
url=url,
|
||||
webhook_url=webhook_url,
|
||||
@@ -1629,7 +1625,6 @@ class Skyvern:
|
||||
download_suffix=download_suffix,
|
||||
download_timeout=download_timeout,
|
||||
max_steps_per_run=max_steps_per_run,
|
||||
parameter_keys=parameter_keys,
|
||||
request_options=request_options,
|
||||
)
|
||||
return _response.data
|
||||
@@ -3568,7 +3563,7 @@ class AsyncSkyvern:
|
||||
)
|
||||
return _response.data
|
||||
|
||||
async def file_download(
|
||||
async def download_files(
|
||||
self,
|
||||
*,
|
||||
navigation_goal: str,
|
||||
@@ -3585,7 +3580,6 @@ class AsyncSkyvern:
|
||||
download_suffix: typing.Optional[str] = OMIT,
|
||||
download_timeout: typing.Optional[float] = OMIT,
|
||||
max_steps_per_run: typing.Optional[int] = OMIT,
|
||||
parameter_keys: typing.Optional[typing.Sequence[str]] = OMIT,
|
||||
request_options: typing.Optional[RequestOptions] = None,
|
||||
) -> WorkflowRunResponse:
|
||||
"""
|
||||
@@ -3635,9 +3629,6 @@ class AsyncSkyvern:
|
||||
max_steps_per_run : typing.Optional[int]
|
||||
Maximum number of steps to execute
|
||||
|
||||
parameter_keys : typing.Optional[typing.Sequence[str]]
|
||||
List of parameter keys to use in the workflow
|
||||
|
||||
request_options : typing.Optional[RequestOptions]
|
||||
Request-specific configuration.
|
||||
|
||||
@@ -3658,14 +3649,14 @@ class AsyncSkyvern:
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
await client.file_download(
|
||||
await client.download_files(
|
||||
navigation_goal="navigation_goal",
|
||||
)
|
||||
|
||||
|
||||
asyncio.run(main())
|
||||
"""
|
||||
_response = await self._raw_client.file_download(
|
||||
_response = await self._raw_client.download_files(
|
||||
navigation_goal=navigation_goal,
|
||||
url=url,
|
||||
webhook_url=webhook_url,
|
||||
@@ -3680,7 +3671,6 @@ class AsyncSkyvern:
|
||||
download_suffix=download_suffix,
|
||||
download_timeout=download_timeout,
|
||||
max_steps_per_run=max_steps_per_run,
|
||||
parameter_keys=parameter_keys,
|
||||
request_options=request_options,
|
||||
)
|
||||
return _response.data
|
||||
|
||||
@@ -2106,7 +2106,7 @@ class RawSkyvern:
|
||||
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
||||
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
||||
|
||||
def file_download(
|
||||
def download_files(
|
||||
self,
|
||||
*,
|
||||
navigation_goal: str,
|
||||
@@ -2123,7 +2123,6 @@ class RawSkyvern:
|
||||
download_suffix: typing.Optional[str] = OMIT,
|
||||
download_timeout: typing.Optional[float] = OMIT,
|
||||
max_steps_per_run: typing.Optional[int] = OMIT,
|
||||
parameter_keys: typing.Optional[typing.Sequence[str]] = OMIT,
|
||||
request_options: typing.Optional[RequestOptions] = None,
|
||||
) -> HttpResponse[WorkflowRunResponse]:
|
||||
"""
|
||||
@@ -2173,9 +2172,6 @@ class RawSkyvern:
|
||||
max_steps_per_run : typing.Optional[int]
|
||||
Maximum number of steps to execute
|
||||
|
||||
parameter_keys : typing.Optional[typing.Sequence[str]]
|
||||
List of parameter keys to use in the workflow
|
||||
|
||||
request_options : typing.Optional[RequestOptions]
|
||||
Request-specific configuration.
|
||||
|
||||
@@ -2185,7 +2181,7 @@ class RawSkyvern:
|
||||
Successful Response
|
||||
"""
|
||||
_response = self._client_wrapper.httpx_client.request(
|
||||
"v1/run/tasks/file_download",
|
||||
"v1/run/tasks/download_files",
|
||||
method="POST",
|
||||
json={
|
||||
"url": url,
|
||||
@@ -2202,7 +2198,6 @@ class RawSkyvern:
|
||||
"download_suffix": download_suffix,
|
||||
"download_timeout": download_timeout,
|
||||
"max_steps_per_run": max_steps_per_run,
|
||||
"parameter_keys": parameter_keys,
|
||||
},
|
||||
headers={
|
||||
"content-type": "application/json",
|
||||
@@ -4627,7 +4622,7 @@ class AsyncRawSkyvern:
|
||||
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
||||
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
||||
|
||||
async def file_download(
|
||||
async def download_files(
|
||||
self,
|
||||
*,
|
||||
navigation_goal: str,
|
||||
@@ -4644,7 +4639,6 @@ class AsyncRawSkyvern:
|
||||
download_suffix: typing.Optional[str] = OMIT,
|
||||
download_timeout: typing.Optional[float] = OMIT,
|
||||
max_steps_per_run: typing.Optional[int] = OMIT,
|
||||
parameter_keys: typing.Optional[typing.Sequence[str]] = OMIT,
|
||||
request_options: typing.Optional[RequestOptions] = None,
|
||||
) -> AsyncHttpResponse[WorkflowRunResponse]:
|
||||
"""
|
||||
@@ -4694,9 +4688,6 @@ class AsyncRawSkyvern:
|
||||
max_steps_per_run : typing.Optional[int]
|
||||
Maximum number of steps to execute
|
||||
|
||||
parameter_keys : typing.Optional[typing.Sequence[str]]
|
||||
List of parameter keys to use in the workflow
|
||||
|
||||
request_options : typing.Optional[RequestOptions]
|
||||
Request-specific configuration.
|
||||
|
||||
@@ -4706,7 +4697,7 @@ class AsyncRawSkyvern:
|
||||
Successful Response
|
||||
"""
|
||||
_response = await self._client_wrapper.httpx_client.request(
|
||||
"v1/run/tasks/file_download",
|
||||
"v1/run/tasks/download_files",
|
||||
method="POST",
|
||||
json={
|
||||
"url": url,
|
||||
@@ -4723,7 +4714,6 @@ class AsyncRawSkyvern:
|
||||
"download_suffix": download_suffix,
|
||||
"download_timeout": download_timeout,
|
||||
"max_steps_per_run": max_steps_per_run,
|
||||
"parameter_keys": parameter_keys,
|
||||
},
|
||||
headers={
|
||||
"content-type": "application/json",
|
||||
|
||||
@@ -27,6 +27,7 @@ class ActionBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -20,6 +20,7 @@ class ActionBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
|
||||
@@ -25,6 +25,7 @@ class CodeBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
code: str
|
||||
parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = None
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ class CodeBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
code: str
|
||||
parameter_keys: typing.Optional[typing.List[str]] = None
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ class ConditionalBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
branch_conditions: typing.Optional[typing.List[BranchCondition]] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
|
||||
@@ -20,6 +20,7 @@ class ConditionalBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
branch_conditions: typing.Optional[typing.List[BranchConditionYaml]] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
|
||||
@@ -22,6 +22,7 @@ class DownloadToS3Block(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: str
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
|
||||
@@ -19,6 +19,7 @@ class DownloadToS3BlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: str
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
|
||||
@@ -27,6 +27,7 @@ class ExtractionBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -21,6 +21,7 @@ class ExtractionBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
data_extraction_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -27,6 +27,7 @@ class FileDownloadBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -20,6 +20,7 @@ class FileDownloadBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
navigation_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -23,6 +23,7 @@ class FileParserBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
file_type: FileType
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
@@ -20,6 +20,7 @@ class FileParserBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
file_type: FileType
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
@@ -25,6 +25,7 @@ class FileUploadBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_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
|
||||
|
||||
@@ -22,6 +22,7 @@ class FileUploadBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_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
|
||||
|
||||
@@ -25,6 +25,7 @@ class ForLoopBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"]
|
||||
loop_over: typing.Optional[ForLoopBlockLoopOver] = None
|
||||
loop_variable_reference: typing.Optional[str] = None
|
||||
|
||||
@@ -47,6 +47,7 @@ class ForLoopBlockLoopBlocksItem_Action(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -86,6 +87,7 @@ class ForLoopBlockLoopBlocksItem_Code(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
code: str
|
||||
parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = None
|
||||
|
||||
@@ -107,6 +109,7 @@ class ForLoopBlockLoopBlocksItem_Conditional(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
branch_conditions: typing.Optional[typing.List[BranchCondition]] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -127,6 +130,7 @@ class ForLoopBlockLoopBlocksItem_DownloadToS3(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: str
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -147,6 +151,7 @@ class ForLoopBlockLoopBlocksItem_Extraction(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -186,6 +191,7 @@ class ForLoopBlockLoopBlocksItem_FileDownload(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -225,6 +231,7 @@ class ForLoopBlockLoopBlocksItem_FileUpload(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_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
|
||||
@@ -253,6 +260,7 @@ class ForLoopBlockLoopBlocksItem_FileUrlParser(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
file_type: FileType
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
@@ -275,6 +283,7 @@ class ForLoopBlockLoopBlocksItem_ForLoop(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"]
|
||||
loop_over: typing.Optional[ForLoopBlockLoopOver] = None
|
||||
loop_variable_reference: typing.Optional[str] = None
|
||||
@@ -301,6 +310,7 @@ class ForLoopBlockLoopBlocksItem_GotoUrl(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: str
|
||||
title: typing.Optional[str] = None
|
||||
@@ -340,6 +350,7 @@ class ForLoopBlockLoopBlocksItem_HttpRequest(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
method: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
|
||||
@@ -366,6 +377,7 @@ class ForLoopBlockLoopBlocksItem_HumanInteraction(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -413,6 +425,7 @@ class ForLoopBlockLoopBlocksItem_Login(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -452,6 +465,7 @@ class ForLoopBlockLoopBlocksItem_Navigation(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -491,6 +505,7 @@ class ForLoopBlockLoopBlocksItem_PdfParser(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
@@ -512,6 +527,7 @@ class ForLoopBlockLoopBlocksItem_SendEmail(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
smtp_host: AwsSecretParameter
|
||||
smtp_port: AwsSecretParameter
|
||||
smtp_username: AwsSecretParameter
|
||||
@@ -540,6 +556,7 @@ class ForLoopBlockLoopBlocksItem_Task(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -579,6 +596,7 @@ class ForLoopBlockLoopBlocksItem_TaskV2(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
prompt: str
|
||||
url: typing.Optional[str] = None
|
||||
totp_verification_url: typing.Optional[str] = None
|
||||
@@ -604,6 +622,7 @@ class ForLoopBlockLoopBlocksItem_TextPrompt(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
llm_key: typing.Optional[str] = None
|
||||
prompt: str
|
||||
parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None
|
||||
@@ -627,6 +646,7 @@ class ForLoopBlockLoopBlocksItem_UploadToS3(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
path: typing.Optional[str] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -647,6 +667,7 @@ class ForLoopBlockLoopBlocksItem_Validation(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -686,6 +707,7 @@ class ForLoopBlockLoopBlocksItem_Wait(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
wait_sec: int
|
||||
parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = None
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ class ForLoopBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_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
|
||||
|
||||
@@ -22,6 +22,7 @@ class ForLoopBlockYamlLoopBlocksItem_Task(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
@@ -58,6 +59,7 @@ class ForLoopBlockYamlLoopBlocksItem_ForLoop(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_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
|
||||
@@ -82,6 +84,7 @@ class ForLoopBlockYamlLoopBlocksItem_Code(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
code: str
|
||||
parameter_keys: typing.Optional[typing.List[str]] = None
|
||||
|
||||
@@ -101,6 +104,7 @@ class ForLoopBlockYamlLoopBlocksItem_TextPrompt(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
llm_key: typing.Optional[str] = None
|
||||
prompt: str
|
||||
parameter_keys: typing.Optional[typing.List[str]] = None
|
||||
@@ -122,6 +126,7 @@ class ForLoopBlockYamlLoopBlocksItem_DownloadToS3(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: str
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -140,6 +145,7 @@ class ForLoopBlockYamlLoopBlocksItem_UploadToS3(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
path: typing.Optional[str] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -158,6 +164,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileUpload(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_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
|
||||
@@ -185,6 +192,7 @@ class ForLoopBlockYamlLoopBlocksItem_SendEmail(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
smtp_host_secret_parameter_key: str
|
||||
smtp_port_secret_parameter_key: str
|
||||
smtp_username_secret_parameter_key: str
|
||||
@@ -211,6 +219,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileUrlParser(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
file_type: FileType
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
@@ -231,6 +240,7 @@ class ForLoopBlockYamlLoopBlocksItem_Validation(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_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
|
||||
@@ -253,6 +263,7 @@ class ForLoopBlockYamlLoopBlocksItem_Action(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
@@ -282,6 +293,7 @@ class ForLoopBlockYamlLoopBlocksItem_Navigation(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
navigation_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -316,6 +328,7 @@ class ForLoopBlockYamlLoopBlocksItem_Extraction(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
data_extraction_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -342,6 +355,7 @@ class ForLoopBlockYamlLoopBlocksItem_Login(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
@@ -373,6 +387,7 @@ class ForLoopBlockYamlLoopBlocksItem_Wait(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
wait_sec: typing.Optional[int] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -391,6 +406,7 @@ class ForLoopBlockYamlLoopBlocksItem_HumanInteraction(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
instructions: typing.Optional[str] = None
|
||||
positive_descriptor: typing.Optional[str] = None
|
||||
negative_descriptor: typing.Optional[str] = None
|
||||
@@ -416,6 +432,7 @@ class ForLoopBlockYamlLoopBlocksItem_FileDownload(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
navigation_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
@@ -446,6 +463,7 @@ class ForLoopBlockYamlLoopBlocksItem_GotoUrl(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: str
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
@@ -464,6 +482,7 @@ class ForLoopBlockYamlLoopBlocksItem_PdfParser(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
@@ -483,6 +502,7 @@ class ForLoopBlockYamlLoopBlocksItem_TaskV2(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
prompt: str
|
||||
url: typing.Optional[str] = None
|
||||
totp_verification_url: typing.Optional[str] = None
|
||||
@@ -507,6 +527,7 @@ class ForLoopBlockYamlLoopBlocksItem_HttpRequest(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
method: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
|
||||
@@ -531,6 +552,7 @@ class ForLoopBlockYamlLoopBlocksItem_Conditional(UniversalBaseModel):
|
||||
next_block_label: typing.Optional[str] = None
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
branch_conditions: typing.Optional[typing.List[BranchConditionYaml]] = None
|
||||
|
||||
if IS_PYDANTIC_V2:
|
||||
|
||||
@@ -25,6 +25,7 @@ class HttpRequestBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
method: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
|
||||
|
||||
@@ -19,6 +19,7 @@ class HttpRequestBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
method: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
|
||||
|
||||
@@ -39,6 +39,7 @@ class HumanInteractionBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -19,6 +19,7 @@ class HumanInteractionBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
instructions: typing.Optional[str] = None
|
||||
positive_descriptor: typing.Optional[str] = None
|
||||
negative_descriptor: typing.Optional[str] = None
|
||||
|
||||
@@ -27,6 +27,7 @@ class LoginBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -20,6 +20,7 @@ class LoginBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
|
||||
@@ -27,6 +27,7 @@ class NavigationBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -20,6 +20,7 @@ class NavigationBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
navigation_goal: str
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -27,6 +27,7 @@ class PdfParserBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ class PdfParserBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
file_url: str
|
||||
json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ class SendEmailBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
smtp_host: AwsSecretParameter
|
||||
smtp_port: AwsSecretParameter
|
||||
smtp_username: AwsSecretParameter
|
||||
|
||||
@@ -19,6 +19,7 @@ class SendEmailBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
smtp_host_secret_parameter_key: str
|
||||
smtp_port_secret_parameter_key: str
|
||||
smtp_username_secret_parameter_key: str
|
||||
|
||||
@@ -27,6 +27,7 @@ class TaskBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
task_type: typing.Optional[str] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
|
||||
@@ -21,6 +21,7 @@ class TaskBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
url: typing.Optional[str] = None
|
||||
title: typing.Optional[str] = None
|
||||
engine: typing.Optional[RunEngine] = None
|
||||
|
||||
@@ -22,6 +22,7 @@ class TaskV2Block(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
prompt: str
|
||||
url: typing.Optional[str] = None
|
||||
totp_verification_url: typing.Optional[str] = None
|
||||
|
||||
@@ -19,6 +19,7 @@ class TaskV2BlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
prompt: str
|
||||
url: typing.Optional[str] = None
|
||||
totp_verification_url: typing.Optional[str] = None
|
||||
|
||||
@@ -25,6 +25,7 @@ class TextPromptBlock(UniversalBaseModel):
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
disable_cache: typing.Optional[bool] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
llm_key: typing.Optional[str] = None
|
||||
prompt: str
|
||||
parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None
|
||||
|
||||
@@ -19,6 +19,7 @@ class TextPromptBlockYaml(UniversalBaseModel):
|
||||
|
||||
continue_on_failure: typing.Optional[bool] = None
|
||||
model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
||||
next_loop_on_failure: typing.Optional[bool] = None
|
||||
llm_key: typing.Optional[str] = None
|
||||
prompt: str
|
||||
parameter_keys: typing.Optional[typing.List[str]] = None
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user