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

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

View File

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

View File

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

View File

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

View File

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

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

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