SDK: file uploading (public url only) (#3867)

This commit is contained in:
Stanislav Novosad
2025-11-07 15:21:40 -07:00
committed by GitHub
parent 581d6e5332
commit d1d0c9414b
14 changed files with 379 additions and 12 deletions

View File

@@ -273,6 +273,7 @@ if typing.TYPE_CHECKING:
RunSdkActionRequestAction_AiClick,
RunSdkActionRequestAction_AiInputText,
RunSdkActionRequestAction_AiSelectOption,
RunSdkActionRequestAction_AiUploadFile,
RunSdkActionRequestAction_Extract,
RunSdkActionResponse,
RunStatus,
@@ -327,6 +328,8 @@ if typing.TYPE_CHECKING:
ThoughtType,
TotpCode,
TotpType,
UploadFileAction,
UploadFileActionData,
UploadToS3Block,
UploadToS3BlockYaml,
UrlBlock,
@@ -740,6 +743,7 @@ _dynamic_imports: typing.Dict[str, str] = {
"RunSdkActionRequestAction_AiClick": ".types",
"RunSdkActionRequestAction_AiInputText": ".types",
"RunSdkActionRequestAction_AiSelectOption": ".types",
"RunSdkActionRequestAction_AiUploadFile": ".types",
"RunSdkActionRequestAction_Extract": ".types",
"RunSdkActionResponse": ".types",
"RunStatus": ".types",
@@ -797,6 +801,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"TotpCode": ".types",
"TotpType": ".types",
"UnprocessableEntityError": ".errors",
"UploadFileAction": ".types",
"UploadFileActionData": ".types",
"UploadToS3Block": ".types",
"UploadToS3BlockYaml": ".types",
"UrlBlock": ".types",
@@ -1231,6 +1237,7 @@ __all__ = [
"RunSdkActionRequestAction_AiClick",
"RunSdkActionRequestAction_AiInputText",
"RunSdkActionRequestAction_AiSelectOption",
"RunSdkActionRequestAction_AiUploadFile",
"RunSdkActionRequestAction_Extract",
"RunSdkActionResponse",
"RunStatus",
@@ -1288,6 +1295,8 @@ __all__ = [
"TotpCode",
"TotpType",
"UnprocessableEntityError",
"UploadFileAction",
"UploadFileActionData",
"UploadToS3Block",
"UploadToS3BlockYaml",
"UrlBlock",

View File

@@ -299,6 +299,7 @@ if typing.TYPE_CHECKING:
RunSdkActionRequestAction_AiClick,
RunSdkActionRequestAction_AiInputText,
RunSdkActionRequestAction_AiSelectOption,
RunSdkActionRequestAction_AiUploadFile,
RunSdkActionRequestAction_Extract,
)
from .run_sdk_action_response import RunSdkActionResponse
@@ -358,6 +359,8 @@ if typing.TYPE_CHECKING:
from .thought_type import ThoughtType
from .totp_code import TotpCode
from .totp_type import TotpType
from .upload_file_action import UploadFileAction
from .upload_file_action_data import UploadFileActionData
from .upload_to_s3block import UploadToS3Block
from .upload_to_s3block_yaml import UploadToS3BlockYaml
from .url_block import UrlBlock
@@ -775,6 +778,7 @@ _dynamic_imports: typing.Dict[str, str] = {
"RunSdkActionRequestAction_AiClick": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_AiInputText": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_AiSelectOption": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_AiUploadFile": ".run_sdk_action_request_action",
"RunSdkActionRequestAction_Extract": ".run_sdk_action_request_action",
"RunSdkActionResponse": ".run_sdk_action_response",
"RunStatus": ".run_status",
@@ -829,6 +833,8 @@ _dynamic_imports: typing.Dict[str, str] = {
"ThoughtType": ".thought_type",
"TotpCode": ".totp_code",
"TotpType": ".totp_type",
"UploadFileAction": ".upload_file_action",
"UploadFileActionData": ".upload_file_action_data",
"UploadToS3Block": ".upload_to_s3block",
"UploadToS3BlockYaml": ".upload_to_s3block_yaml",
"UrlBlock": ".url_block",
@@ -1256,6 +1262,7 @@ __all__ = [
"RunSdkActionRequestAction_AiClick",
"RunSdkActionRequestAction_AiInputText",
"RunSdkActionRequestAction_AiSelectOption",
"RunSdkActionRequestAction_AiUploadFile",
"RunSdkActionRequestAction_Extract",
"RunSdkActionResponse",
"RunStatus",
@@ -1310,6 +1317,8 @@ __all__ = [
"ThoughtType",
"TotpCode",
"TotpType",
"UploadFileAction",
"UploadFileActionData",
"UploadToS3Block",
"UploadToS3BlockYaml",
"UrlBlock",

View File

@@ -12,6 +12,7 @@ from .extract_action_data import ExtractActionData
from .extract_action_extract_schema import ExtractActionExtractSchema
from .input_text_action_data import InputTextActionData
from .select_option_action_data import SelectOptionActionData
from .upload_file_action_data import UploadFileActionData
class RunSdkActionRequestAction_AiAct(UniversalBaseModel):
@@ -100,6 +101,28 @@ class RunSdkActionRequestAction_AiSelectOption(UniversalBaseModel):
extra = pydantic.Extra.allow
class RunSdkActionRequestAction_AiUploadFile(UniversalBaseModel):
"""
The action to execute with its specific parameters
"""
type: typing.Literal["ai_upload_file"] = "ai_upload_file"
selector: typing.Optional[str] = None
file_url: typing.Optional[str] = None
intention: typing.Optional[str] = None
data: typing.Optional[UploadFileActionData] = None
timeout: typing.Optional[float] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class RunSdkActionRequestAction_Extract(UniversalBaseModel):
"""
The action to execute with its specific parameters
@@ -127,5 +150,6 @@ RunSdkActionRequestAction = typing.Union[
RunSdkActionRequestAction_AiClick,
RunSdkActionRequestAction_AiInputText,
RunSdkActionRequestAction_AiSelectOption,
RunSdkActionRequestAction_AiUploadFile,
RunSdkActionRequestAction_Extract,
]

View File

@@ -11,6 +11,7 @@ from .extract_action_data import ExtractActionData
from .extract_action_extract_schema import ExtractActionExtractSchema
from .input_text_action_data import InputTextActionData
from .select_option_action_data import SelectOptionActionData
from .upload_file_action_data import UploadFileActionData
class SdkAction_AiClick(UniversalBaseModel):
@@ -68,6 +69,24 @@ class SdkAction_AiSelectOption(UniversalBaseModel):
extra = pydantic.Extra.allow
class SdkAction_AiUploadFile(UniversalBaseModel):
type: typing.Literal["ai_upload_file"] = "ai_upload_file"
selector: typing.Optional[str] = None
file_url: typing.Optional[str] = None
intention: typing.Optional[str] = None
data: typing.Optional[UploadFileActionData] = None
timeout: typing.Optional[float] = None
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class SdkAction_AiAct(UniversalBaseModel):
type: typing.Literal["ai_act"] = "ai_act"
intention: typing.Optional[str] = None
@@ -101,5 +120,10 @@ class SdkAction_Extract(UniversalBaseModel):
SdkAction = typing.Union[
SdkAction_AiClick, SdkAction_AiInputText, SdkAction_AiSelectOption, SdkAction_AiAct, SdkAction_Extract
SdkAction_AiClick,
SdkAction_AiInputText,
SdkAction_AiSelectOption,
SdkAction_AiUploadFile,
SdkAction_AiAct,
SdkAction_Extract,
]

View File

@@ -0,0 +1,47 @@
# This file was auto-generated by Fern from our API Definition.
import typing
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from .upload_file_action_data import UploadFileActionData
class UploadFileAction(UniversalBaseModel):
"""
Upload file action parameters.
"""
selector: typing.Optional[str] = pydantic.Field(default=None)
"""
CSS selector for the element
"""
file_url: typing.Optional[str] = pydantic.Field(default=None)
"""
File URL for upload
"""
intention: typing.Optional[str] = pydantic.Field(default=None)
"""
The intention or goal of the upload
"""
data: typing.Optional[UploadFileActionData] = pydantic.Field(default=None)
"""
Additional context data
"""
timeout: typing.Optional[float] = pydantic.Field(default=None)
"""
Timeout in milliseconds
"""
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,5 @@
# This file was auto-generated by Fern from our API Definition.
import typing
UploadFileActionData = typing.Union[str, typing.Dict[str, typing.Optional[typing.Any]]]