From d6e0973dda8aee1e11e4a69b703d316bd1d68167 Mon Sep 17 00:00:00 2001 From: Stanislav Novosad Date: Mon, 8 Dec 2025 17:40:21 -0700 Subject: [PATCH] Rebuild Fern SDK (#4229) --- fern/openapi/skyvern_openapi.json | 160 +++++++++++++++--- skyvern-ts/client/package-lock.json | 42 ++--- .../client/src/api/types/BranchCondition.ts | 1 + .../src/api/types/BranchConditionCriteria.ts | 8 +- .../src/api/types/BranchCriteriaYaml.ts | 10 +- .../client/src/api/types/PromptAction.ts | 13 ++ .../src/api/types/PromptBranchCriteria.ts | 9 + .../api/types/RunSdkActionRequestAction.ts | 12 +- .../client/src/api/types/ValidateAction.ts | 11 ++ .../client/src/api/types/WorkflowRunBlock.ts | 4 + skyvern-ts/client/src/api/types/index.ts | 3 + skyvern-ts/client/tests/wire/main.test.ts | 8 + skyvern/client/__init__.py | 21 ++- skyvern/client/types/__init__.py | 26 ++- skyvern/client/types/branch_condition.py | 1 + .../client/types/branch_condition_criteria.py | 17 +- skyvern/client/types/branch_criteria_yaml.py | 3 +- .../branch_criteria_yaml_criteria_type.py | 5 + skyvern/client/types/prompt_action.py | 40 +++++ .../client/types/prompt_branch_criteria.py | 24 +++ .../types/run_sdk_action_request_action.py | 20 ++- skyvern/client/types/validate_action.py | 31 ++++ skyvern/client/types/workflow_run_block.py | 4 + 23 files changed, 412 insertions(+), 61 deletions(-) create mode 100644 skyvern-ts/client/src/api/types/PromptAction.ts create mode 100644 skyvern-ts/client/src/api/types/PromptBranchCriteria.ts create mode 100644 skyvern-ts/client/src/api/types/ValidateAction.ts create mode 100644 skyvern/client/types/branch_criteria_yaml_criteria_type.py create mode 100644 skyvern/client/types/prompt_action.py create mode 100644 skyvern/client/types/prompt_branch_criteria.py create mode 100644 skyvern/client/types/validate_action.py diff --git a/fern/openapi/skyvern_openapi.json b/fern/openapi/skyvern_openapi.json index 1defdef5..558871bc 100644 --- a/fern/openapi/skyvern_openapi.json +++ b/fern/openapi/skyvern_openapi.json @@ -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": { @@ -5274,12 +5274,16 @@ "oneOf": [ { "$ref": "#/components/schemas/JinjaBranchCriteria" + }, + { + "$ref": "#/components/schemas/PromptBranchCriteria" } ], "discriminator": { "propertyName": "criteria_type", "mapping": { - "jinja2_template": "#/components/schemas/JinjaBranchCriteria" + "jinja2_template": "#/components/schemas/JinjaBranchCriteria", + "prompt": "#/components/schemas/PromptBranchCriteria" } } }, @@ -5368,7 +5372,10 @@ "properties": { "criteria_type": { "type": "string", - "const": "jinja2_template", + "enum": [ + "jinja2_template", + "prompt" + ], "title": "Criteria Type", "default": "jinja2_template" }, @@ -5703,7 +5710,7 @@ "type": "number", "title": "Timeout", "description": "Timeout in milliseconds", - "default": 10000 + "default": 5000 } }, "type": "object", @@ -6257,8 +6264,8 @@ "anyOf": [ { "type": "integer", - "maximum": 1440, - "minimum": 5 + "maximum": 1440.0, + "minimum": 5.0 }, { "type": "null" @@ -10044,7 +10051,7 @@ "type": "number", "title": "Timeout", "description": "Timeout in milliseconds", - "default": 10000 + "default": 5000 } }, "type": "object", @@ -11931,6 +11938,37 @@ "title": "PromptAction", "description": "Prompt action parameters." }, + "PromptBranchCriteria": { + "properties": { + "criteria_type": { + "type": "string", + "const": "prompt", + "title": "Criteria Type", + "default": "prompt" + }, + "expression": { + "type": "string", + "title": "Expression" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + } + }, + "type": "object", + "required": [ + "expression" + ], + "title": "PromptBranchCriteria", + "description": "Natural language branch criteria." + }, "ProxyLocation": { "type": "string", "enum": [ @@ -12039,6 +12077,9 @@ { "$ref": "#/components/schemas/LocateElementAction" }, + { + "$ref": "#/components/schemas/ValidateAction" + }, { "$ref": "#/components/schemas/PromptAction" } @@ -12055,7 +12096,8 @@ "ai_upload_file": "#/components/schemas/UploadFileAction", "extract": "#/components/schemas/ExtractAction", "locate_element": "#/components/schemas/LocateElementAction", - "prompt": "#/components/schemas/PromptAction" + "prompt": "#/components/schemas/PromptAction", + "validate": "#/components/schemas/ValidateAction" } } } @@ -12329,7 +12371,7 @@ "type": "number", "title": "Timeout", "description": "Timeout in milliseconds", - "default": 10000 + "default": 5000 } }, "type": "object", @@ -14679,7 +14721,7 @@ "type": "number", "title": "Timeout", "description": "Timeout in milliseconds", - "default": 10000 + "default": 5000 } }, "type": "object", @@ -15188,8 +15230,8 @@ }, "confidence_float": { "type": "number", - "maximum": 1, - "minimum": 0, + "maximum": 1.0, + "minimum": 0.0, "title": "Confidence Float" } }, @@ -15201,6 +15243,40 @@ ], "title": "UserDefinedError" }, + "ValidateAction": { + "properties": { + "type": { + "type": "string", + "const": "validate", + "title": "Type", + "default": "validate" + }, + "prompt": { + "type": "string", + "title": "Prompt", + "description": "Validation criteria or condition to check" + }, + "model": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Model", + "description": "Optional model configuration" + } + }, + "type": "object", + "required": [ + "prompt" + ], + "title": "ValidateAction", + "description": "Validate action parameters." + }, "ValidationBlock": { "properties": { "label": { @@ -17176,6 +17252,50 @@ } ], "title": "Negative Descriptor" + }, + "executed_branch_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Executed Branch Id" + }, + "executed_branch_expression": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Executed Branch Expression" + }, + "executed_branch_result": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Executed Branch Result" + }, + "executed_branch_next_block": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Executed Branch Next Block" } }, "type": "object", diff --git a/skyvern-ts/client/package-lock.json b/skyvern-ts/client/package-lock.json index 219774f7..0fa55b6f 100644 --- a/skyvern-ts/client/package-lock.json +++ b/skyvern-ts/client/package-lock.json @@ -1586,9 +1586,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz", - "integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==", + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz", + "integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1843,9 +1843,9 @@ } }, "node_modules/electron-to-chromium": { - "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==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, @@ -1997,9 +1997,9 @@ } }, "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -2762,9 +2762,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "version": "5.3.15", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz", + "integrity": "sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3044,9 +3044,9 @@ } }, "node_modules/vite-node/node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "version": "24.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.2.tgz", + "integrity": "sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA==", "dev": true, "license": "MIT", "optional": true, @@ -3096,9 +3096,9 @@ "peer": true }, "node_modules/vite-node/node_modules/vite": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", - "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", + "version": "7.2.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", + "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3302,9 +3302,9 @@ } }, "node_modules/vitest/node_modules/vite": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", - "integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", + "version": "7.2.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", + "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/skyvern-ts/client/src/api/types/BranchCondition.ts b/skyvern-ts/client/src/api/types/BranchCondition.ts index 98eeb5ec..28fba28d 100644 --- a/skyvern-ts/client/src/api/types/BranchCondition.ts +++ b/skyvern-ts/client/src/api/types/BranchCondition.ts @@ -6,6 +6,7 @@ import type * as Skyvern from "../index.js"; * Represents a single conditional branch edge within a ConditionalBlock. */ export interface BranchCondition { + id?: string; criteria?: Skyvern.BranchConditionCriteria; next_block_label?: string; description?: string; diff --git a/skyvern-ts/client/src/api/types/BranchConditionCriteria.ts b/skyvern-ts/client/src/api/types/BranchConditionCriteria.ts index 53cc8e08..2e0900d0 100644 --- a/skyvern-ts/client/src/api/types/BranchConditionCriteria.ts +++ b/skyvern-ts/client/src/api/types/BranchConditionCriteria.ts @@ -2,10 +2,16 @@ import type * as Skyvern from "../index.js"; -export type BranchConditionCriteria = Skyvern.BranchConditionCriteria.Jinja2Template; +export type BranchConditionCriteria = + | Skyvern.BranchConditionCriteria.Jinja2Template + | Skyvern.BranchConditionCriteria.Prompt; export namespace BranchConditionCriteria { export interface Jinja2Template extends Skyvern.JinjaBranchCriteria { criteria_type: "jinja2_template"; } + + export interface Prompt extends Skyvern.PromptBranchCriteria { + criteria_type: "prompt"; + } } diff --git a/skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts b/skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts index a5c8439e..8939be8f 100644 --- a/skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts +++ b/skyvern-ts/client/src/api/types/BranchCriteriaYaml.ts @@ -1,7 +1,15 @@ // This file was auto-generated by Fern from our API Definition. export interface BranchCriteriaYaml { - criteria_type?: "jinja2_template"; + criteria_type?: BranchCriteriaYaml.CriteriaType; expression: string; description?: string; } + +export namespace BranchCriteriaYaml { + export const CriteriaType = { + Jinja2Template: "jinja2_template", + Prompt: "prompt", + } as const; + export type CriteriaType = (typeof CriteriaType)[keyof typeof CriteriaType]; +} diff --git a/skyvern-ts/client/src/api/types/PromptAction.ts b/skyvern-ts/client/src/api/types/PromptAction.ts new file mode 100644 index 00000000..4fe303ed --- /dev/null +++ b/skyvern-ts/client/src/api/types/PromptAction.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Prompt action parameters. + */ +export interface PromptAction { + /** The prompt to send to the LLM */ + prompt: string; + /** Optional JSON schema to structure the response */ + schema?: Record; + /** Optional model configuration */ + model?: Record; +} diff --git a/skyvern-ts/client/src/api/types/PromptBranchCriteria.ts b/skyvern-ts/client/src/api/types/PromptBranchCriteria.ts new file mode 100644 index 00000000..07f43b8d --- /dev/null +++ b/skyvern-ts/client/src/api/types/PromptBranchCriteria.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Natural language branch criteria. + */ +export interface PromptBranchCriteria { + expression: string; + description?: string; +} diff --git a/skyvern-ts/client/src/api/types/RunSdkActionRequestAction.ts b/skyvern-ts/client/src/api/types/RunSdkActionRequestAction.ts index 8a3a70df..be5a9158 100644 --- a/skyvern-ts/client/src/api/types/RunSdkActionRequestAction.ts +++ b/skyvern-ts/client/src/api/types/RunSdkActionRequestAction.ts @@ -12,7 +12,9 @@ export type RunSdkActionRequestAction = | Skyvern.RunSdkActionRequestAction.AiSelectOption | Skyvern.RunSdkActionRequestAction.AiUploadFile | Skyvern.RunSdkActionRequestAction.Extract - | Skyvern.RunSdkActionRequestAction.LocateElement; + | Skyvern.RunSdkActionRequestAction.LocateElement + | Skyvern.RunSdkActionRequestAction.Prompt + | Skyvern.RunSdkActionRequestAction.Validate; export namespace RunSdkActionRequestAction { export interface AiAct extends Skyvern.ActAction { @@ -42,4 +44,12 @@ export namespace RunSdkActionRequestAction { export interface LocateElement extends Skyvern.LocateElementAction { type: "locate_element"; } + + export interface Prompt extends Skyvern.PromptAction { + type: "prompt"; + } + + export interface Validate extends Skyvern.ValidateAction { + type: "validate"; + } } diff --git a/skyvern-ts/client/src/api/types/ValidateAction.ts b/skyvern-ts/client/src/api/types/ValidateAction.ts new file mode 100644 index 00000000..7808d3de --- /dev/null +++ b/skyvern-ts/client/src/api/types/ValidateAction.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Validate action parameters. + */ +export interface ValidateAction { + /** Validation criteria or condition to check */ + prompt: string; + /** Optional model configuration */ + model?: Record; +} diff --git a/skyvern-ts/client/src/api/types/WorkflowRunBlock.ts b/skyvern-ts/client/src/api/types/WorkflowRunBlock.ts index 2608ac8e..fb01c254 100644 --- a/skyvern-ts/client/src/api/types/WorkflowRunBlock.ts +++ b/skyvern-ts/client/src/api/types/WorkflowRunBlock.ts @@ -39,6 +39,10 @@ export interface WorkflowRunBlock { instructions?: string; positive_descriptor?: string; negative_descriptor?: string; + executed_branch_id?: string; + executed_branch_expression?: string; + executed_branch_result?: boolean; + executed_branch_next_block?: string; } export namespace WorkflowRunBlock { diff --git a/skyvern-ts/client/src/api/types/index.ts b/skyvern-ts/client/src/api/types/index.ts index 125ff4ed..80ac5600 100644 --- a/skyvern-ts/client/src/api/types/index.ts +++ b/skyvern-ts/client/src/api/types/index.ts @@ -94,6 +94,8 @@ export * from "./OutputParameterYaml.js"; export * from "./PasswordCredentialResponse.js"; export * from "./PdfParserBlock.js"; export * from "./PdfParserBlockYaml.js"; +export * from "./PromptAction.js"; +export * from "./PromptBranchCriteria.js"; export * from "./ProxyLocation.js"; export * from "./RunEngine.js"; export * from "./RunSdkActionRequestAction.js"; @@ -130,6 +132,7 @@ export * from "./UrlBlock.js"; export * from "./UrlBlockParametersItem.js"; export * from "./UrlBlockYaml.js"; export * from "./UserDefinedError.js"; +export * from "./ValidateAction.js"; export * from "./ValidationBlock.js"; export * from "./ValidationBlockParametersItem.js"; export * from "./ValidationBlockYaml.js"; diff --git a/skyvern-ts/client/tests/wire/main.test.ts b/skyvern-ts/client/tests/wire/main.test.ts index f1ed1f41..6fb80f74 100644 --- a/skyvern-ts/client/tests/wire/main.test.ts +++ b/skyvern-ts/client/tests/wire/main.test.ts @@ -1244,6 +1244,10 @@ describe("SkyvernClient", () => { instructions: "instructions", positive_descriptor: "positive_descriptor", negative_descriptor: "negative_descriptor", + executed_branch_id: "executed_branch_id", + executed_branch_expression: "executed_branch_expression", + executed_branch_result: true, + executed_branch_next_block: "executed_branch_next_block", }, thought: { thought_id: "thought_id", @@ -1331,6 +1335,10 @@ describe("SkyvernClient", () => { instructions: "instructions", positive_descriptor: "positive_descriptor", negative_descriptor: "negative_descriptor", + executed_branch_id: "executed_branch_id", + executed_branch_expression: "executed_branch_expression", + executed_branch_result: true, + executed_branch_next_block: "executed_branch_next_block", }, thought: { thought_id: "thought_id", diff --git a/skyvern/client/__init__.py b/skyvern/client/__init__.py index e180b531..d06242ed 100644 --- a/skyvern/client/__init__.py +++ b/skyvern/client/__init__.py @@ -44,8 +44,10 @@ if typing.TYPE_CHECKING: BranchCondition, BranchConditionCriteria, BranchConditionCriteria_Jinja2Template, + BranchConditionCriteria_Prompt, BranchConditionYaml, BranchCriteriaYaml, + BranchCriteriaYamlCriteriaType, BrowserProfile, BrowserSessionResponse, ClickAction, @@ -279,6 +281,8 @@ if typing.TYPE_CHECKING: PasswordCredentialResponse, PdfParserBlock, PdfParserBlockYaml, + PromptAction, + PromptBranchCriteria, ProxyLocation, RunEngine, RunSdkActionRequestAction, @@ -289,8 +293,8 @@ if typing.TYPE_CHECKING: RunSdkActionRequestAction_AiUploadFile, RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_LocateElement, - RunSdkActionRequestAction_Validate, RunSdkActionRequestAction_Prompt, + RunSdkActionRequestAction_Validate, RunSdkActionResponse, RunStatus, Script, @@ -365,6 +369,7 @@ if typing.TYPE_CHECKING: UrlBlockParametersItem_Workflow, UrlBlockYaml, UserDefinedError, + ValidateAction, ValidationBlock, ValidationBlockDataSchema, ValidationBlockParametersItem, @@ -534,8 +539,10 @@ _dynamic_imports: typing.Dict[str, str] = { "BranchCondition": ".types", "BranchConditionCriteria": ".types", "BranchConditionCriteria_Jinja2Template": ".types", + "BranchConditionCriteria_Prompt": ".types", "BranchConditionYaml": ".types", "BranchCriteriaYaml": ".types", + "BranchCriteriaYamlCriteriaType": ".types", "BrowserProfile": ".types", "BrowserSessionResponse": ".types", "ClickAction": ".types", @@ -772,6 +779,8 @@ _dynamic_imports: typing.Dict[str, str] = { "PasswordCredentialResponse": ".types", "PdfParserBlock": ".types", "PdfParserBlockYaml": ".types", + "PromptAction": ".types", + "PromptBranchCriteria": ".types", "ProxyLocation": ".types", "RunEngine": ".types", "RunSdkActionRequestAction": ".types", @@ -782,8 +791,8 @@ _dynamic_imports: typing.Dict[str, str] = { "RunSdkActionRequestAction_AiUploadFile": ".types", "RunSdkActionRequestAction_Extract": ".types", "RunSdkActionRequestAction_LocateElement": ".types", - "RunSdkActionRequestAction_Validate": ".types", "RunSdkActionRequestAction_Prompt": ".types", + "RunSdkActionRequestAction_Validate": ".types", "RunSdkActionResponse": ".types", "RunStatus": ".types", "Script": ".types", @@ -861,6 +870,7 @@ _dynamic_imports: typing.Dict[str, str] = { "UrlBlockParametersItem_Workflow": ".types", "UrlBlockYaml": ".types", "UserDefinedError": ".types", + "ValidateAction": ".types", "ValidationBlock": ".types", "ValidationBlockDataSchema": ".types", "ValidationBlockParametersItem": ".types", @@ -1051,8 +1061,10 @@ __all__ = [ "BranchCondition", "BranchConditionCriteria", "BranchConditionCriteria_Jinja2Template", + "BranchConditionCriteria_Prompt", "BranchConditionYaml", "BranchCriteriaYaml", + "BranchCriteriaYamlCriteriaType", "BrowserProfile", "BrowserSessionResponse", "ClickAction", @@ -1289,6 +1301,8 @@ __all__ = [ "PasswordCredentialResponse", "PdfParserBlock", "PdfParserBlockYaml", + "PromptAction", + "PromptBranchCriteria", "ProxyLocation", "RunEngine", "RunSdkActionRequestAction", @@ -1299,8 +1313,8 @@ __all__ = [ "RunSdkActionRequestAction_AiUploadFile", "RunSdkActionRequestAction_Extract", "RunSdkActionRequestAction_LocateElement", - "RunSdkActionRequestAction_Validate", "RunSdkActionRequestAction_Prompt", + "RunSdkActionRequestAction_Validate", "RunSdkActionResponse", "RunStatus", "Script", @@ -1378,6 +1392,7 @@ __all__ = [ "UrlBlockParametersItem_Workflow", "UrlBlockYaml", "UserDefinedError", + "ValidateAction", "ValidationBlock", "ValidationBlockDataSchema", "ValidationBlockParametersItem", diff --git a/skyvern/client/types/__init__.py b/skyvern/client/types/__init__.py index d8edb390..c420eb1a 100644 --- a/skyvern/client/types/__init__.py +++ b/skyvern/client/types/__init__.py @@ -43,9 +43,14 @@ if typing.TYPE_CHECKING: from .bitwarden_sensitive_information_parameter_yaml import BitwardenSensitiveInformationParameterYaml from .block_type import BlockType from .branch_condition import BranchCondition - from .branch_condition_criteria import BranchConditionCriteria, BranchConditionCriteria_Jinja2Template + from .branch_condition_criteria import ( + BranchConditionCriteria, + BranchConditionCriteria_Jinja2Template, + BranchConditionCriteria_Prompt, + ) from .branch_condition_yaml import BranchConditionYaml from .branch_criteria_yaml import BranchCriteriaYaml + from .branch_criteria_yaml_criteria_type import BranchCriteriaYamlCriteriaType from .browser_profile import BrowserProfile from .browser_session_response import BrowserSessionResponse from .click_action import ClickAction @@ -303,6 +308,8 @@ if typing.TYPE_CHECKING: from .password_credential_response import PasswordCredentialResponse from .pdf_parser_block import PdfParserBlock from .pdf_parser_block_yaml import PdfParserBlockYaml + from .prompt_action import PromptAction + from .prompt_branch_criteria import PromptBranchCriteria from .proxy_location import ProxyLocation from .run_engine import RunEngine from .run_sdk_action_request_action import ( @@ -314,8 +321,8 @@ if typing.TYPE_CHECKING: RunSdkActionRequestAction_AiUploadFile, RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_LocateElement, - RunSdkActionRequestAction_Validate, RunSdkActionRequestAction_Prompt, + RunSdkActionRequestAction_Validate, ) from .run_sdk_action_response import RunSdkActionResponse from .run_status import RunStatus @@ -397,6 +404,7 @@ if typing.TYPE_CHECKING: ) from .url_block_yaml import UrlBlockYaml from .user_defined_error import UserDefinedError + from .validate_action import ValidateAction from .validation_block import ValidationBlock from .validation_block_data_schema import ValidationBlockDataSchema from .validation_block_parameters_item import ( @@ -570,8 +578,10 @@ _dynamic_imports: typing.Dict[str, str] = { "BranchCondition": ".branch_condition", "BranchConditionCriteria": ".branch_condition_criteria", "BranchConditionCriteria_Jinja2Template": ".branch_condition_criteria", + "BranchConditionCriteria_Prompt": ".branch_condition_criteria", "BranchConditionYaml": ".branch_condition_yaml", "BranchCriteriaYaml": ".branch_criteria_yaml", + "BranchCriteriaYamlCriteriaType": ".branch_criteria_yaml_criteria_type", "BrowserProfile": ".browser_profile", "BrowserSessionResponse": ".browser_session_response", "ClickAction": ".click_action", @@ -805,6 +815,8 @@ _dynamic_imports: typing.Dict[str, str] = { "PasswordCredentialResponse": ".password_credential_response", "PdfParserBlock": ".pdf_parser_block", "PdfParserBlockYaml": ".pdf_parser_block_yaml", + "PromptAction": ".prompt_action", + "PromptBranchCriteria": ".prompt_branch_criteria", "ProxyLocation": ".proxy_location", "RunEngine": ".run_engine", "RunSdkActionRequestAction": ".run_sdk_action_request_action", @@ -815,8 +827,8 @@ _dynamic_imports: typing.Dict[str, str] = { "RunSdkActionRequestAction_AiUploadFile": ".run_sdk_action_request_action", "RunSdkActionRequestAction_Extract": ".run_sdk_action_request_action", "RunSdkActionRequestAction_LocateElement": ".run_sdk_action_request_action", - "RunSdkActionRequestAction_Validate": ".run_sdk_action_request_action", "RunSdkActionRequestAction_Prompt": ".run_sdk_action_request_action", + "RunSdkActionRequestAction_Validate": ".run_sdk_action_request_action", "RunSdkActionResponse": ".run_sdk_action_response", "RunStatus": ".run_status", "Script": ".script", @@ -891,6 +903,7 @@ _dynamic_imports: typing.Dict[str, str] = { "UrlBlockParametersItem_Workflow": ".url_block_parameters_item", "UrlBlockYaml": ".url_block_yaml", "UserDefinedError": ".user_defined_error", + "ValidateAction": ".validate_action", "ValidationBlock": ".validation_block", "ValidationBlockDataSchema": ".validation_block_data_schema", "ValidationBlockParametersItem": ".validation_block_parameters_item", @@ -1076,8 +1089,10 @@ __all__ = [ "BranchCondition", "BranchConditionCriteria", "BranchConditionCriteria_Jinja2Template", + "BranchConditionCriteria_Prompt", "BranchConditionYaml", "BranchCriteriaYaml", + "BranchCriteriaYamlCriteriaType", "BrowserProfile", "BrowserSessionResponse", "ClickAction", @@ -1311,6 +1326,8 @@ __all__ = [ "PasswordCredentialResponse", "PdfParserBlock", "PdfParserBlockYaml", + "PromptAction", + "PromptBranchCriteria", "ProxyLocation", "RunEngine", "RunSdkActionRequestAction", @@ -1321,8 +1338,8 @@ __all__ = [ "RunSdkActionRequestAction_AiUploadFile", "RunSdkActionRequestAction_Extract", "RunSdkActionRequestAction_LocateElement", - "RunSdkActionRequestAction_Validate", "RunSdkActionRequestAction_Prompt", + "RunSdkActionRequestAction_Validate", "RunSdkActionResponse", "RunStatus", "Script", @@ -1397,6 +1414,7 @@ __all__ = [ "UrlBlockParametersItem_Workflow", "UrlBlockYaml", "UserDefinedError", + "ValidateAction", "ValidationBlock", "ValidationBlockDataSchema", "ValidationBlockParametersItem", diff --git a/skyvern/client/types/branch_condition.py b/skyvern/client/types/branch_condition.py index bb3ac3ce..8a9eff17 100644 --- a/skyvern/client/types/branch_condition.py +++ b/skyvern/client/types/branch_condition.py @@ -12,6 +12,7 @@ class BranchCondition(UniversalBaseModel): Represents a single conditional branch edge within a ConditionalBlock. """ + id: typing.Optional[str] = None criteria: typing.Optional[BranchConditionCriteria] = None next_block_label: typing.Optional[str] = None description: typing.Optional[str] = None diff --git a/skyvern/client/types/branch_condition_criteria.py b/skyvern/client/types/branch_condition_criteria.py index eca58d11..9fd6955c 100644 --- a/skyvern/client/types/branch_condition_criteria.py +++ b/skyvern/client/types/branch_condition_criteria.py @@ -23,4 +23,19 @@ class BranchConditionCriteria_Jinja2Template(UniversalBaseModel): extra = pydantic.Extra.allow -BranchConditionCriteria = BranchConditionCriteria_Jinja2Template +class BranchConditionCriteria_Prompt(UniversalBaseModel): + criteria_type: typing.Literal["prompt"] = "prompt" + expression: str + description: typing.Optional[str] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +BranchConditionCriteria = typing.Union[BranchConditionCriteria_Jinja2Template, BranchConditionCriteria_Prompt] diff --git a/skyvern/client/types/branch_criteria_yaml.py b/skyvern/client/types/branch_criteria_yaml.py index b793d545..27dbce27 100644 --- a/skyvern/client/types/branch_criteria_yaml.py +++ b/skyvern/client/types/branch_criteria_yaml.py @@ -4,10 +4,11 @@ import typing import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .branch_criteria_yaml_criteria_type import BranchCriteriaYamlCriteriaType class BranchCriteriaYaml(UniversalBaseModel): - criteria_type: typing.Optional[typing.Literal["jinja2_template", "prompt"]] = None + criteria_type: typing.Optional[BranchCriteriaYamlCriteriaType] = None expression: str description: typing.Optional[str] = None diff --git a/skyvern/client/types/branch_criteria_yaml_criteria_type.py b/skyvern/client/types/branch_criteria_yaml_criteria_type.py new file mode 100644 index 00000000..e3867fa5 --- /dev/null +++ b/skyvern/client/types/branch_criteria_yaml_criteria_type.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +BranchCriteriaYamlCriteriaType = typing.Union[typing.Literal["jinja2_template", "prompt"], typing.Any] diff --git a/skyvern/client/types/prompt_action.py b/skyvern/client/types/prompt_action.py new file mode 100644 index 00000000..c494ade5 --- /dev/null +++ b/skyvern/client/types/prompt_action.py @@ -0,0 +1,40 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ..core.serialization import FieldMetadata + + +class PromptAction(UniversalBaseModel): + """ + Prompt action parameters. + """ + + prompt: str = pydantic.Field() + """ + The prompt to send to the LLM + """ + + schema_: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="schema") + ] = pydantic.Field(default=None) + """ + Optional JSON schema to structure the response + """ + + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None) + """ + Optional model configuration + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/prompt_branch_criteria.py b/skyvern/client/types/prompt_branch_criteria.py new file mode 100644 index 00000000..b093e6f8 --- /dev/null +++ b/skyvern/client/types/prompt_branch_criteria.py @@ -0,0 +1,24 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class PromptBranchCriteria(UniversalBaseModel): + """ + Natural language branch criteria. + """ + + expression: str + description: typing.Optional[str] = None + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/run_sdk_action_request_action.py b/skyvern/client/types/run_sdk_action_request_action.py index e3b2bcbb..d591075d 100644 --- a/skyvern/client/types/run_sdk_action_request_action.py +++ b/skyvern/client/types/run_sdk_action_request_action.py @@ -5,7 +5,9 @@ from __future__ import annotations import typing import pydantic +import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ..core.serialization import FieldMetadata from .act_action_data import ActActionData from .click_action_data import ClickActionData from .extract_action_data import ExtractActionData @@ -163,14 +165,17 @@ class RunSdkActionRequestAction_LocateElement(UniversalBaseModel): extra = pydantic.Extra.allow -class RunSdkActionRequestAction_Validate(UniversalBaseModel): +class RunSdkActionRequestAction_Prompt(UniversalBaseModel): """ The action to execute with its specific parameters """ - type: typing.Literal["validate"] = "validate" + type: typing.Literal["prompt"] = "prompt" prompt: str - model: typing.Optional[typing.Dict[str, typing.Any]] = None + schema_: typing_extensions.Annotated[ + typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="schema") + ] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -182,15 +187,14 @@ class RunSdkActionRequestAction_Validate(UniversalBaseModel): extra = pydantic.Extra.allow -class RunSdkActionRequestAction_Prompt(UniversalBaseModel): +class RunSdkActionRequestAction_Validate(UniversalBaseModel): """ The action to execute with its specific parameters """ - type: typing.Literal["prompt"] = "prompt" + type: typing.Literal["validate"] = "validate" prompt: str - schema: typing.Optional[typing.Dict[str, typing.Any]] = None - model: typing.Optional[typing.Dict[str, typing.Any]] = None + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -210,6 +214,6 @@ RunSdkActionRequestAction = typing.Union[ RunSdkActionRequestAction_AiUploadFile, RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_LocateElement, - RunSdkActionRequestAction_Validate, RunSdkActionRequestAction_Prompt, + RunSdkActionRequestAction_Validate, ] diff --git a/skyvern/client/types/validate_action.py b/skyvern/client/types/validate_action.py new file mode 100644 index 00000000..8a83b419 --- /dev/null +++ b/skyvern/client/types/validate_action.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class ValidateAction(UniversalBaseModel): + """ + Validate action parameters. + """ + + prompt: str = pydantic.Field() + """ + Validation criteria or condition to check + """ + + model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None) + """ + Optional model configuration + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/skyvern/client/types/workflow_run_block.py b/skyvern/client/types/workflow_run_block.py index 30b87579..73103186 100644 --- a/skyvern/client/types/workflow_run_block.py +++ b/skyvern/client/types/workflow_run_block.py @@ -50,6 +50,10 @@ class WorkflowRunBlock(UniversalBaseModel): instructions: typing.Optional[str] = None positive_descriptor: typing.Optional[str] = None negative_descriptor: typing.Optional[str] = None + executed_branch_id: typing.Optional[str] = None + executed_branch_expression: typing.Optional[str] = None + executed_branch_result: typing.Optional[bool] = None + executed_branch_next_block: typing.Optional[str] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2