Rebuild Fern SDK (#4229)

This commit is contained in:
Stanislav Novosad
2025-12-08 17:40:21 -07:00
committed by GitHub
parent 4b99cd3f45
commit d6e0973dda
23 changed files with 412 additions and 61 deletions

View File

@@ -1310,12 +1310,12 @@
} }
} }
}, },
"400": {
"description": "Folder not found"
},
"404": { "404": {
"description": "Workflow not found" "description": "Workflow not found"
}, },
"400": {
"description": "Folder not found"
},
"422": { "422": {
"description": "Validation Error", "description": "Validation Error",
"content": { "content": {
@@ -1620,12 +1620,12 @@
} }
} }
}, },
"400": {
"description": "Timeline not available for this run type"
},
"404": { "404": {
"description": "Run not found" "description": "Run not found"
}, },
"400": {
"description": "Timeline not available for this run type"
},
"422": { "422": {
"description": "Validation Error", "description": "Validation Error",
"content": { "content": {
@@ -2266,12 +2266,12 @@
} }
} }
}, },
"403": {
"description": "Unauthorized - Invalid or missing authentication"
},
"404": { "404": {
"description": "Browser session not found" "description": "Browser session not found"
}, },
"403": {
"description": "Unauthorized - Invalid or missing authentication"
},
"422": { "422": {
"description": "Validation Error", "description": "Validation Error",
"content": { "content": {
@@ -5274,12 +5274,16 @@
"oneOf": [ "oneOf": [
{ {
"$ref": "#/components/schemas/JinjaBranchCriteria" "$ref": "#/components/schemas/JinjaBranchCriteria"
},
{
"$ref": "#/components/schemas/PromptBranchCriteria"
} }
], ],
"discriminator": { "discriminator": {
"propertyName": "criteria_type", "propertyName": "criteria_type",
"mapping": { "mapping": {
"jinja2_template": "#/components/schemas/JinjaBranchCriteria" "jinja2_template": "#/components/schemas/JinjaBranchCriteria",
"prompt": "#/components/schemas/PromptBranchCriteria"
} }
} }
}, },
@@ -5368,7 +5372,10 @@
"properties": { "properties": {
"criteria_type": { "criteria_type": {
"type": "string", "type": "string",
"const": "jinja2_template", "enum": [
"jinja2_template",
"prompt"
],
"title": "Criteria Type", "title": "Criteria Type",
"default": "jinja2_template" "default": "jinja2_template"
}, },
@@ -5703,7 +5710,7 @@
"type": "number", "type": "number",
"title": "Timeout", "title": "Timeout",
"description": "Timeout in milliseconds", "description": "Timeout in milliseconds",
"default": 10000 "default": 5000
} }
}, },
"type": "object", "type": "object",
@@ -6257,8 +6264,8 @@
"anyOf": [ "anyOf": [
{ {
"type": "integer", "type": "integer",
"maximum": 1440, "maximum": 1440.0,
"minimum": 5 "minimum": 5.0
}, },
{ {
"type": "null" "type": "null"
@@ -10044,7 +10051,7 @@
"type": "number", "type": "number",
"title": "Timeout", "title": "Timeout",
"description": "Timeout in milliseconds", "description": "Timeout in milliseconds",
"default": 10000 "default": 5000
} }
}, },
"type": "object", "type": "object",
@@ -11931,6 +11938,37 @@
"title": "PromptAction", "title": "PromptAction",
"description": "Prompt action parameters." "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": { "ProxyLocation": {
"type": "string", "type": "string",
"enum": [ "enum": [
@@ -12039,6 +12077,9 @@
{ {
"$ref": "#/components/schemas/LocateElementAction" "$ref": "#/components/schemas/LocateElementAction"
}, },
{
"$ref": "#/components/schemas/ValidateAction"
},
{ {
"$ref": "#/components/schemas/PromptAction" "$ref": "#/components/schemas/PromptAction"
} }
@@ -12055,7 +12096,8 @@
"ai_upload_file": "#/components/schemas/UploadFileAction", "ai_upload_file": "#/components/schemas/UploadFileAction",
"extract": "#/components/schemas/ExtractAction", "extract": "#/components/schemas/ExtractAction",
"locate_element": "#/components/schemas/LocateElementAction", "locate_element": "#/components/schemas/LocateElementAction",
"prompt": "#/components/schemas/PromptAction" "prompt": "#/components/schemas/PromptAction",
"validate": "#/components/schemas/ValidateAction"
} }
} }
} }
@@ -12329,7 +12371,7 @@
"type": "number", "type": "number",
"title": "Timeout", "title": "Timeout",
"description": "Timeout in milliseconds", "description": "Timeout in milliseconds",
"default": 10000 "default": 5000
} }
}, },
"type": "object", "type": "object",
@@ -14679,7 +14721,7 @@
"type": "number", "type": "number",
"title": "Timeout", "title": "Timeout",
"description": "Timeout in milliseconds", "description": "Timeout in milliseconds",
"default": 10000 "default": 5000
} }
}, },
"type": "object", "type": "object",
@@ -15188,8 +15230,8 @@
}, },
"confidence_float": { "confidence_float": {
"type": "number", "type": "number",
"maximum": 1, "maximum": 1.0,
"minimum": 0, "minimum": 0.0,
"title": "Confidence Float" "title": "Confidence Float"
} }
}, },
@@ -15201,6 +15243,40 @@
], ],
"title": "UserDefinedError" "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": { "ValidationBlock": {
"properties": { "properties": {
"label": { "label": {
@@ -17176,6 +17252,50 @@
} }
], ],
"title": "Negative Descriptor" "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", "type": "object",

View File

@@ -1586,9 +1586,9 @@
} }
}, },
"node_modules/baseline-browser-mapping": { "node_modules/baseline-browser-mapping": {
"version": "2.9.2", "version": "2.9.5",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz",
"integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==", "integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
@@ -1843,9 +1843,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.265", "version": "1.5.267",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.265.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
"integrity": "sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==", "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
@@ -1997,9 +1997,9 @@
} }
}, },
"node_modules/expect-type": { "node_modules/expect-type": {
"version": "1.2.2", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz",
"integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"engines": { "engines": {
@@ -2762,9 +2762,9 @@
} }
}, },
"node_modules/terser-webpack-plugin": { "node_modules/terser-webpack-plugin": {
"version": "5.3.14", "version": "5.3.15",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz",
"integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", "integrity": "sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3044,9 +3044,9 @@
} }
}, },
"node_modules/vite-node/node_modules/@types/node": { "node_modules/vite-node/node_modules/@types/node": {
"version": "24.10.1", "version": "24.10.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.2.tgz",
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "integrity": "sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
@@ -3096,9 +3096,9 @@
"peer": true "peer": true
}, },
"node_modules/vite-node/node_modules/vite": { "node_modules/vite-node/node_modules/vite": {
"version": "7.2.6", "version": "7.2.7",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz",
"integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3302,9 +3302,9 @@
} }
}, },
"node_modules/vitest/node_modules/vite": { "node_modules/vitest/node_modules/vite": {
"version": "7.2.6", "version": "7.2.7",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz",
"integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==", "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@@ -6,6 +6,7 @@ import type * as Skyvern from "../index.js";
* Represents a single conditional branch edge within a ConditionalBlock. * Represents a single conditional branch edge within a ConditionalBlock.
*/ */
export interface BranchCondition { export interface BranchCondition {
id?: string;
criteria?: Skyvern.BranchConditionCriteria; criteria?: Skyvern.BranchConditionCriteria;
next_block_label?: string; next_block_label?: string;
description?: string; description?: string;

View File

@@ -2,10 +2,16 @@
import type * as Skyvern from "../index.js"; 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 namespace BranchConditionCriteria {
export interface Jinja2Template extends Skyvern.JinjaBranchCriteria { export interface Jinja2Template extends Skyvern.JinjaBranchCriteria {
criteria_type: "jinja2_template"; criteria_type: "jinja2_template";
} }
export interface Prompt extends Skyvern.PromptBranchCriteria {
criteria_type: "prompt";
}
} }

View File

@@ -1,7 +1,15 @@
// This file was auto-generated by Fern from our API Definition. // This file was auto-generated by Fern from our API Definition.
export interface BranchCriteriaYaml { export interface BranchCriteriaYaml {
criteria_type?: "jinja2_template"; criteria_type?: BranchCriteriaYaml.CriteriaType;
expression: string; expression: string;
description?: string; description?: string;
} }
export namespace BranchCriteriaYaml {
export const CriteriaType = {
Jinja2Template: "jinja2_template",
Prompt: "prompt",
} as const;
export type CriteriaType = (typeof CriteriaType)[keyof typeof CriteriaType];
}

View File

@@ -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<string, unknown>;
/** Optional model configuration */
model?: Record<string, unknown>;
}

View File

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

View File

@@ -12,7 +12,9 @@ export type RunSdkActionRequestAction =
| Skyvern.RunSdkActionRequestAction.AiSelectOption | Skyvern.RunSdkActionRequestAction.AiSelectOption
| Skyvern.RunSdkActionRequestAction.AiUploadFile | Skyvern.RunSdkActionRequestAction.AiUploadFile
| Skyvern.RunSdkActionRequestAction.Extract | Skyvern.RunSdkActionRequestAction.Extract
| Skyvern.RunSdkActionRequestAction.LocateElement; | Skyvern.RunSdkActionRequestAction.LocateElement
| Skyvern.RunSdkActionRequestAction.Prompt
| Skyvern.RunSdkActionRequestAction.Validate;
export namespace RunSdkActionRequestAction { export namespace RunSdkActionRequestAction {
export interface AiAct extends Skyvern.ActAction { export interface AiAct extends Skyvern.ActAction {
@@ -42,4 +44,12 @@ export namespace RunSdkActionRequestAction {
export interface LocateElement extends Skyvern.LocateElementAction { export interface LocateElement extends Skyvern.LocateElementAction {
type: "locate_element"; type: "locate_element";
} }
export interface Prompt extends Skyvern.PromptAction {
type: "prompt";
}
export interface Validate extends Skyvern.ValidateAction {
type: "validate";
}
} }

View File

@@ -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<string, unknown>;
}

View File

@@ -39,6 +39,10 @@ export interface WorkflowRunBlock {
instructions?: string; instructions?: string;
positive_descriptor?: string; positive_descriptor?: string;
negative_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 { export namespace WorkflowRunBlock {

View File

@@ -94,6 +94,8 @@ export * from "./OutputParameterYaml.js";
export * from "./PasswordCredentialResponse.js"; export * from "./PasswordCredentialResponse.js";
export * from "./PdfParserBlock.js"; export * from "./PdfParserBlock.js";
export * from "./PdfParserBlockYaml.js"; export * from "./PdfParserBlockYaml.js";
export * from "./PromptAction.js";
export * from "./PromptBranchCriteria.js";
export * from "./ProxyLocation.js"; export * from "./ProxyLocation.js";
export * from "./RunEngine.js"; export * from "./RunEngine.js";
export * from "./RunSdkActionRequestAction.js"; export * from "./RunSdkActionRequestAction.js";
@@ -130,6 +132,7 @@ export * from "./UrlBlock.js";
export * from "./UrlBlockParametersItem.js"; export * from "./UrlBlockParametersItem.js";
export * from "./UrlBlockYaml.js"; export * from "./UrlBlockYaml.js";
export * from "./UserDefinedError.js"; export * from "./UserDefinedError.js";
export * from "./ValidateAction.js";
export * from "./ValidationBlock.js"; export * from "./ValidationBlock.js";
export * from "./ValidationBlockParametersItem.js"; export * from "./ValidationBlockParametersItem.js";
export * from "./ValidationBlockYaml.js"; export * from "./ValidationBlockYaml.js";

View File

@@ -1244,6 +1244,10 @@ describe("SkyvernClient", () => {
instructions: "instructions", instructions: "instructions",
positive_descriptor: "positive_descriptor", positive_descriptor: "positive_descriptor",
negative_descriptor: "negative_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: {
thought_id: "thought_id", thought_id: "thought_id",
@@ -1331,6 +1335,10 @@ describe("SkyvernClient", () => {
instructions: "instructions", instructions: "instructions",
positive_descriptor: "positive_descriptor", positive_descriptor: "positive_descriptor",
negative_descriptor: "negative_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: {
thought_id: "thought_id", thought_id: "thought_id",

View File

@@ -44,8 +44,10 @@ if typing.TYPE_CHECKING:
BranchCondition, BranchCondition,
BranchConditionCriteria, BranchConditionCriteria,
BranchConditionCriteria_Jinja2Template, BranchConditionCriteria_Jinja2Template,
BranchConditionCriteria_Prompt,
BranchConditionYaml, BranchConditionYaml,
BranchCriteriaYaml, BranchCriteriaYaml,
BranchCriteriaYamlCriteriaType,
BrowserProfile, BrowserProfile,
BrowserSessionResponse, BrowserSessionResponse,
ClickAction, ClickAction,
@@ -279,6 +281,8 @@ if typing.TYPE_CHECKING:
PasswordCredentialResponse, PasswordCredentialResponse,
PdfParserBlock, PdfParserBlock,
PdfParserBlockYaml, PdfParserBlockYaml,
PromptAction,
PromptBranchCriteria,
ProxyLocation, ProxyLocation,
RunEngine, RunEngine,
RunSdkActionRequestAction, RunSdkActionRequestAction,
@@ -289,8 +293,8 @@ if typing.TYPE_CHECKING:
RunSdkActionRequestAction_AiUploadFile, RunSdkActionRequestAction_AiUploadFile,
RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_Extract,
RunSdkActionRequestAction_LocateElement, RunSdkActionRequestAction_LocateElement,
RunSdkActionRequestAction_Validate,
RunSdkActionRequestAction_Prompt, RunSdkActionRequestAction_Prompt,
RunSdkActionRequestAction_Validate,
RunSdkActionResponse, RunSdkActionResponse,
RunStatus, RunStatus,
Script, Script,
@@ -365,6 +369,7 @@ if typing.TYPE_CHECKING:
UrlBlockParametersItem_Workflow, UrlBlockParametersItem_Workflow,
UrlBlockYaml, UrlBlockYaml,
UserDefinedError, UserDefinedError,
ValidateAction,
ValidationBlock, ValidationBlock,
ValidationBlockDataSchema, ValidationBlockDataSchema,
ValidationBlockParametersItem, ValidationBlockParametersItem,
@@ -534,8 +539,10 @@ _dynamic_imports: typing.Dict[str, str] = {
"BranchCondition": ".types", "BranchCondition": ".types",
"BranchConditionCriteria": ".types", "BranchConditionCriteria": ".types",
"BranchConditionCriteria_Jinja2Template": ".types", "BranchConditionCriteria_Jinja2Template": ".types",
"BranchConditionCriteria_Prompt": ".types",
"BranchConditionYaml": ".types", "BranchConditionYaml": ".types",
"BranchCriteriaYaml": ".types", "BranchCriteriaYaml": ".types",
"BranchCriteriaYamlCriteriaType": ".types",
"BrowserProfile": ".types", "BrowserProfile": ".types",
"BrowserSessionResponse": ".types", "BrowserSessionResponse": ".types",
"ClickAction": ".types", "ClickAction": ".types",
@@ -772,6 +779,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"PasswordCredentialResponse": ".types", "PasswordCredentialResponse": ".types",
"PdfParserBlock": ".types", "PdfParserBlock": ".types",
"PdfParserBlockYaml": ".types", "PdfParserBlockYaml": ".types",
"PromptAction": ".types",
"PromptBranchCriteria": ".types",
"ProxyLocation": ".types", "ProxyLocation": ".types",
"RunEngine": ".types", "RunEngine": ".types",
"RunSdkActionRequestAction": ".types", "RunSdkActionRequestAction": ".types",
@@ -782,8 +791,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"RunSdkActionRequestAction_AiUploadFile": ".types", "RunSdkActionRequestAction_AiUploadFile": ".types",
"RunSdkActionRequestAction_Extract": ".types", "RunSdkActionRequestAction_Extract": ".types",
"RunSdkActionRequestAction_LocateElement": ".types", "RunSdkActionRequestAction_LocateElement": ".types",
"RunSdkActionRequestAction_Validate": ".types",
"RunSdkActionRequestAction_Prompt": ".types", "RunSdkActionRequestAction_Prompt": ".types",
"RunSdkActionRequestAction_Validate": ".types",
"RunSdkActionResponse": ".types", "RunSdkActionResponse": ".types",
"RunStatus": ".types", "RunStatus": ".types",
"Script": ".types", "Script": ".types",
@@ -861,6 +870,7 @@ _dynamic_imports: typing.Dict[str, str] = {
"UrlBlockParametersItem_Workflow": ".types", "UrlBlockParametersItem_Workflow": ".types",
"UrlBlockYaml": ".types", "UrlBlockYaml": ".types",
"UserDefinedError": ".types", "UserDefinedError": ".types",
"ValidateAction": ".types",
"ValidationBlock": ".types", "ValidationBlock": ".types",
"ValidationBlockDataSchema": ".types", "ValidationBlockDataSchema": ".types",
"ValidationBlockParametersItem": ".types", "ValidationBlockParametersItem": ".types",
@@ -1051,8 +1061,10 @@ __all__ = [
"BranchCondition", "BranchCondition",
"BranchConditionCriteria", "BranchConditionCriteria",
"BranchConditionCriteria_Jinja2Template", "BranchConditionCriteria_Jinja2Template",
"BranchConditionCriteria_Prompt",
"BranchConditionYaml", "BranchConditionYaml",
"BranchCriteriaYaml", "BranchCriteriaYaml",
"BranchCriteriaYamlCriteriaType",
"BrowserProfile", "BrowserProfile",
"BrowserSessionResponse", "BrowserSessionResponse",
"ClickAction", "ClickAction",
@@ -1289,6 +1301,8 @@ __all__ = [
"PasswordCredentialResponse", "PasswordCredentialResponse",
"PdfParserBlock", "PdfParserBlock",
"PdfParserBlockYaml", "PdfParserBlockYaml",
"PromptAction",
"PromptBranchCriteria",
"ProxyLocation", "ProxyLocation",
"RunEngine", "RunEngine",
"RunSdkActionRequestAction", "RunSdkActionRequestAction",
@@ -1299,8 +1313,8 @@ __all__ = [
"RunSdkActionRequestAction_AiUploadFile", "RunSdkActionRequestAction_AiUploadFile",
"RunSdkActionRequestAction_Extract", "RunSdkActionRequestAction_Extract",
"RunSdkActionRequestAction_LocateElement", "RunSdkActionRequestAction_LocateElement",
"RunSdkActionRequestAction_Validate",
"RunSdkActionRequestAction_Prompt", "RunSdkActionRequestAction_Prompt",
"RunSdkActionRequestAction_Validate",
"RunSdkActionResponse", "RunSdkActionResponse",
"RunStatus", "RunStatus",
"Script", "Script",
@@ -1378,6 +1392,7 @@ __all__ = [
"UrlBlockParametersItem_Workflow", "UrlBlockParametersItem_Workflow",
"UrlBlockYaml", "UrlBlockYaml",
"UserDefinedError", "UserDefinedError",
"ValidateAction",
"ValidationBlock", "ValidationBlock",
"ValidationBlockDataSchema", "ValidationBlockDataSchema",
"ValidationBlockParametersItem", "ValidationBlockParametersItem",

View File

@@ -43,9 +43,14 @@ if typing.TYPE_CHECKING:
from .bitwarden_sensitive_information_parameter_yaml import BitwardenSensitiveInformationParameterYaml from .bitwarden_sensitive_information_parameter_yaml import BitwardenSensitiveInformationParameterYaml
from .block_type import BlockType from .block_type import BlockType
from .branch_condition import BranchCondition 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_condition_yaml import BranchConditionYaml
from .branch_criteria_yaml import BranchCriteriaYaml from .branch_criteria_yaml import BranchCriteriaYaml
from .branch_criteria_yaml_criteria_type import BranchCriteriaYamlCriteriaType
from .browser_profile import BrowserProfile from .browser_profile import BrowserProfile
from .browser_session_response import BrowserSessionResponse from .browser_session_response import BrowserSessionResponse
from .click_action import ClickAction from .click_action import ClickAction
@@ -303,6 +308,8 @@ if typing.TYPE_CHECKING:
from .password_credential_response import PasswordCredentialResponse from .password_credential_response import PasswordCredentialResponse
from .pdf_parser_block import PdfParserBlock from .pdf_parser_block import PdfParserBlock
from .pdf_parser_block_yaml import PdfParserBlockYaml from .pdf_parser_block_yaml import PdfParserBlockYaml
from .prompt_action import PromptAction
from .prompt_branch_criteria import PromptBranchCriteria
from .proxy_location import ProxyLocation from .proxy_location import ProxyLocation
from .run_engine import RunEngine from .run_engine import RunEngine
from .run_sdk_action_request_action import ( from .run_sdk_action_request_action import (
@@ -314,8 +321,8 @@ if typing.TYPE_CHECKING:
RunSdkActionRequestAction_AiUploadFile, RunSdkActionRequestAction_AiUploadFile,
RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_Extract,
RunSdkActionRequestAction_LocateElement, RunSdkActionRequestAction_LocateElement,
RunSdkActionRequestAction_Validate,
RunSdkActionRequestAction_Prompt, RunSdkActionRequestAction_Prompt,
RunSdkActionRequestAction_Validate,
) )
from .run_sdk_action_response import RunSdkActionResponse from .run_sdk_action_response import RunSdkActionResponse
from .run_status import RunStatus from .run_status import RunStatus
@@ -397,6 +404,7 @@ if typing.TYPE_CHECKING:
) )
from .url_block_yaml import UrlBlockYaml from .url_block_yaml import UrlBlockYaml
from .user_defined_error import UserDefinedError from .user_defined_error import UserDefinedError
from .validate_action import ValidateAction
from .validation_block import ValidationBlock from .validation_block import ValidationBlock
from .validation_block_data_schema import ValidationBlockDataSchema from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import ( from .validation_block_parameters_item import (
@@ -570,8 +578,10 @@ _dynamic_imports: typing.Dict[str, str] = {
"BranchCondition": ".branch_condition", "BranchCondition": ".branch_condition",
"BranchConditionCriteria": ".branch_condition_criteria", "BranchConditionCriteria": ".branch_condition_criteria",
"BranchConditionCriteria_Jinja2Template": ".branch_condition_criteria", "BranchConditionCriteria_Jinja2Template": ".branch_condition_criteria",
"BranchConditionCriteria_Prompt": ".branch_condition_criteria",
"BranchConditionYaml": ".branch_condition_yaml", "BranchConditionYaml": ".branch_condition_yaml",
"BranchCriteriaYaml": ".branch_criteria_yaml", "BranchCriteriaYaml": ".branch_criteria_yaml",
"BranchCriteriaYamlCriteriaType": ".branch_criteria_yaml_criteria_type",
"BrowserProfile": ".browser_profile", "BrowserProfile": ".browser_profile",
"BrowserSessionResponse": ".browser_session_response", "BrowserSessionResponse": ".browser_session_response",
"ClickAction": ".click_action", "ClickAction": ".click_action",
@@ -805,6 +815,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"PasswordCredentialResponse": ".password_credential_response", "PasswordCredentialResponse": ".password_credential_response",
"PdfParserBlock": ".pdf_parser_block", "PdfParserBlock": ".pdf_parser_block",
"PdfParserBlockYaml": ".pdf_parser_block_yaml", "PdfParserBlockYaml": ".pdf_parser_block_yaml",
"PromptAction": ".prompt_action",
"PromptBranchCriteria": ".prompt_branch_criteria",
"ProxyLocation": ".proxy_location", "ProxyLocation": ".proxy_location",
"RunEngine": ".run_engine", "RunEngine": ".run_engine",
"RunSdkActionRequestAction": ".run_sdk_action_request_action", "RunSdkActionRequestAction": ".run_sdk_action_request_action",
@@ -815,8 +827,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"RunSdkActionRequestAction_AiUploadFile": ".run_sdk_action_request_action", "RunSdkActionRequestAction_AiUploadFile": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_Extract": ".run_sdk_action_request_action", "RunSdkActionRequestAction_Extract": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_LocateElement": ".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_Prompt": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_Validate": ".run_sdk_action_request_action",
"RunSdkActionResponse": ".run_sdk_action_response", "RunSdkActionResponse": ".run_sdk_action_response",
"RunStatus": ".run_status", "RunStatus": ".run_status",
"Script": ".script", "Script": ".script",
@@ -891,6 +903,7 @@ _dynamic_imports: typing.Dict[str, str] = {
"UrlBlockParametersItem_Workflow": ".url_block_parameters_item", "UrlBlockParametersItem_Workflow": ".url_block_parameters_item",
"UrlBlockYaml": ".url_block_yaml", "UrlBlockYaml": ".url_block_yaml",
"UserDefinedError": ".user_defined_error", "UserDefinedError": ".user_defined_error",
"ValidateAction": ".validate_action",
"ValidationBlock": ".validation_block", "ValidationBlock": ".validation_block",
"ValidationBlockDataSchema": ".validation_block_data_schema", "ValidationBlockDataSchema": ".validation_block_data_schema",
"ValidationBlockParametersItem": ".validation_block_parameters_item", "ValidationBlockParametersItem": ".validation_block_parameters_item",
@@ -1076,8 +1089,10 @@ __all__ = [
"BranchCondition", "BranchCondition",
"BranchConditionCriteria", "BranchConditionCriteria",
"BranchConditionCriteria_Jinja2Template", "BranchConditionCriteria_Jinja2Template",
"BranchConditionCriteria_Prompt",
"BranchConditionYaml", "BranchConditionYaml",
"BranchCriteriaYaml", "BranchCriteriaYaml",
"BranchCriteriaYamlCriteriaType",
"BrowserProfile", "BrowserProfile",
"BrowserSessionResponse", "BrowserSessionResponse",
"ClickAction", "ClickAction",
@@ -1311,6 +1326,8 @@ __all__ = [
"PasswordCredentialResponse", "PasswordCredentialResponse",
"PdfParserBlock", "PdfParserBlock",
"PdfParserBlockYaml", "PdfParserBlockYaml",
"PromptAction",
"PromptBranchCriteria",
"ProxyLocation", "ProxyLocation",
"RunEngine", "RunEngine",
"RunSdkActionRequestAction", "RunSdkActionRequestAction",
@@ -1321,8 +1338,8 @@ __all__ = [
"RunSdkActionRequestAction_AiUploadFile", "RunSdkActionRequestAction_AiUploadFile",
"RunSdkActionRequestAction_Extract", "RunSdkActionRequestAction_Extract",
"RunSdkActionRequestAction_LocateElement", "RunSdkActionRequestAction_LocateElement",
"RunSdkActionRequestAction_Validate",
"RunSdkActionRequestAction_Prompt", "RunSdkActionRequestAction_Prompt",
"RunSdkActionRequestAction_Validate",
"RunSdkActionResponse", "RunSdkActionResponse",
"RunStatus", "RunStatus",
"Script", "Script",
@@ -1397,6 +1414,7 @@ __all__ = [
"UrlBlockParametersItem_Workflow", "UrlBlockParametersItem_Workflow",
"UrlBlockYaml", "UrlBlockYaml",
"UserDefinedError", "UserDefinedError",
"ValidateAction",
"ValidationBlock", "ValidationBlock",
"ValidationBlockDataSchema", "ValidationBlockDataSchema",
"ValidationBlockParametersItem", "ValidationBlockParametersItem",

View File

@@ -12,6 +12,7 @@ class BranchCondition(UniversalBaseModel):
Represents a single conditional branch edge within a ConditionalBlock. Represents a single conditional branch edge within a ConditionalBlock.
""" """
id: typing.Optional[str] = None
criteria: typing.Optional[BranchConditionCriteria] = None criteria: typing.Optional[BranchConditionCriteria] = None
next_block_label: typing.Optional[str] = None next_block_label: typing.Optional[str] = None
description: typing.Optional[str] = None description: typing.Optional[str] = None

View File

@@ -23,4 +23,19 @@ class BranchConditionCriteria_Jinja2Template(UniversalBaseModel):
extra = pydantic.Extra.allow 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]

View File

@@ -4,10 +4,11 @@ import typing
import pydantic import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .branch_criteria_yaml_criteria_type import BranchCriteriaYamlCriteriaType
class BranchCriteriaYaml(UniversalBaseModel): class BranchCriteriaYaml(UniversalBaseModel):
criteria_type: typing.Optional[typing.Literal["jinja2_template", "prompt"]] = None criteria_type: typing.Optional[BranchCriteriaYamlCriteriaType] = None
expression: str expression: str
description: typing.Optional[str] = None description: typing.Optional[str] = None

View File

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

View File

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

View File

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

View File

@@ -5,7 +5,9 @@ from __future__ import annotations
import typing import typing
import pydantic import pydantic
import typing_extensions
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from ..core.serialization import FieldMetadata
from .act_action_data import ActActionData from .act_action_data import ActActionData
from .click_action_data import ClickActionData from .click_action_data import ClickActionData
from .extract_action_data import ExtractActionData from .extract_action_data import ExtractActionData
@@ -163,14 +165,17 @@ class RunSdkActionRequestAction_LocateElement(UniversalBaseModel):
extra = pydantic.Extra.allow extra = pydantic.Extra.allow
class RunSdkActionRequestAction_Validate(UniversalBaseModel): class RunSdkActionRequestAction_Prompt(UniversalBaseModel):
""" """
The action to execute with its specific parameters The action to execute with its specific parameters
""" """
type: typing.Literal["validate"] = "validate" type: typing.Literal["prompt"] = "prompt"
prompt: str 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: if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # 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 extra = pydantic.Extra.allow
class RunSdkActionRequestAction_Prompt(UniversalBaseModel): class RunSdkActionRequestAction_Validate(UniversalBaseModel):
""" """
The action to execute with its specific parameters The action to execute with its specific parameters
""" """
type: typing.Literal["prompt"] = "prompt" type: typing.Literal["validate"] = "validate"
prompt: str prompt: str
schema: typing.Optional[typing.Dict[str, typing.Any]] = None model: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
model: typing.Optional[typing.Dict[str, typing.Any]] = None
if IS_PYDANTIC_V2: if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # 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_AiUploadFile,
RunSdkActionRequestAction_Extract, RunSdkActionRequestAction_Extract,
RunSdkActionRequestAction_LocateElement, RunSdkActionRequestAction_LocateElement,
RunSdkActionRequestAction_Validate,
RunSdkActionRequestAction_Prompt, RunSdkActionRequestAction_Prompt,
RunSdkActionRequestAction_Validate,
] ]

View File

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

View File

@@ -50,6 +50,10 @@ class WorkflowRunBlock(UniversalBaseModel):
instructions: typing.Optional[str] = None instructions: typing.Optional[str] = None
positive_descriptor: typing.Optional[str] = None positive_descriptor: typing.Optional[str] = None
negative_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: if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2