update auto generated code (#2068)

This commit is contained in:
Shuchang Zheng
2025-04-02 11:07:14 -04:00
committed by GitHub
parent c664cfb5a9
commit 22558e07e0
71 changed files with 13252 additions and 55 deletions

View File

@@ -1,19 +1,229 @@
# This file was auto-generated by Fern from our API Definition.
from .types import (
ActionBlock,
ActionBlockDataSchema,
ActionBlockParametersItem,
ActionBlockParametersItem_AwsSecret,
ActionBlockParametersItem_BitwardenCreditCardData,
ActionBlockParametersItem_BitwardenLoginCredential,
ActionBlockParametersItem_BitwardenSensitiveInformation,
ActionBlockParametersItem_Context,
ActionBlockParametersItem_Credential,
ActionBlockParametersItem_Output,
ActionBlockParametersItem_Workflow,
AwsSecretParameter,
BitwardenCreditCardDataParameter,
BitwardenLoginCredentialParameter,
BitwardenSensitiveInformationParameter,
BrowserSessionResponse,
CodeBlock,
CodeBlockParametersItem,
CodeBlockParametersItem_AwsSecret,
CodeBlockParametersItem_BitwardenCreditCardData,
CodeBlockParametersItem_BitwardenLoginCredential,
CodeBlockParametersItem_BitwardenSensitiveInformation,
CodeBlockParametersItem_Context,
CodeBlockParametersItem_Credential,
CodeBlockParametersItem_Output,
CodeBlockParametersItem_Workflow,
ContextParameter,
CredentialParameter,
DownloadToS3Block,
ExtractionBlock,
ExtractionBlockDataSchema,
ExtractionBlockParametersItem,
ExtractionBlockParametersItem_AwsSecret,
ExtractionBlockParametersItem_BitwardenCreditCardData,
ExtractionBlockParametersItem_BitwardenLoginCredential,
ExtractionBlockParametersItem_BitwardenSensitiveInformation,
ExtractionBlockParametersItem_Context,
ExtractionBlockParametersItem_Credential,
ExtractionBlockParametersItem_Output,
ExtractionBlockParametersItem_Workflow,
FileDownloadBlock,
FileDownloadBlockDataSchema,
FileDownloadBlockParametersItem,
FileDownloadBlockParametersItem_AwsSecret,
FileDownloadBlockParametersItem_BitwardenCreditCardData,
FileDownloadBlockParametersItem_BitwardenLoginCredential,
FileDownloadBlockParametersItem_BitwardenSensitiveInformation,
FileDownloadBlockParametersItem_Context,
FileDownloadBlockParametersItem_Credential,
FileDownloadBlockParametersItem_Output,
FileDownloadBlockParametersItem_Workflow,
FileInfo,
FileParserBlock,
FileStorageType,
FileType,
FileUploadBlock,
ForLoopBlock,
ForLoopBlockLoopBlocksItem,
ForLoopBlockLoopBlocksItem_Action,
ForLoopBlockLoopBlocksItem_Code,
ForLoopBlockLoopBlocksItem_DownloadToS3,
ForLoopBlockLoopBlocksItem_Extraction,
ForLoopBlockLoopBlocksItem_FileDownload,
ForLoopBlockLoopBlocksItem_FileUpload,
ForLoopBlockLoopBlocksItem_FileUrlParser,
ForLoopBlockLoopBlocksItem_ForLoop,
ForLoopBlockLoopBlocksItem_GotoUrl,
ForLoopBlockLoopBlocksItem_Login,
ForLoopBlockLoopBlocksItem_Navigation,
ForLoopBlockLoopBlocksItem_PdfParser,
ForLoopBlockLoopBlocksItem_SendEmail,
ForLoopBlockLoopBlocksItem_Task,
ForLoopBlockLoopBlocksItem_TaskV2,
ForLoopBlockLoopBlocksItem_TextPrompt,
ForLoopBlockLoopBlocksItem_UploadToS3,
ForLoopBlockLoopBlocksItem_Validation,
ForLoopBlockLoopBlocksItem_Wait,
ForLoopBlockLoopOver,
ForLoopBlockLoopOver_AwsSecret,
ForLoopBlockLoopOver_BitwardenCreditCardData,
ForLoopBlockLoopOver_BitwardenLoginCredential,
ForLoopBlockLoopOver_BitwardenSensitiveInformation,
ForLoopBlockLoopOver_Context,
ForLoopBlockLoopOver_Credential,
ForLoopBlockLoopOver_Output,
ForLoopBlockLoopOver_Workflow,
HttpValidationError,
LoginBlock,
LoginBlockDataSchema,
LoginBlockParametersItem,
LoginBlockParametersItem_AwsSecret,
LoginBlockParametersItem_BitwardenCreditCardData,
LoginBlockParametersItem_BitwardenLoginCredential,
LoginBlockParametersItem_BitwardenSensitiveInformation,
LoginBlockParametersItem_Context,
LoginBlockParametersItem_Credential,
LoginBlockParametersItem_Output,
LoginBlockParametersItem_Workflow,
NavigationBlock,
NavigationBlockDataSchema,
NavigationBlockParametersItem,
NavigationBlockParametersItem_AwsSecret,
NavigationBlockParametersItem_BitwardenCreditCardData,
NavigationBlockParametersItem_BitwardenLoginCredential,
NavigationBlockParametersItem_BitwardenSensitiveInformation,
NavigationBlockParametersItem_Context,
NavigationBlockParametersItem_Credential,
NavigationBlockParametersItem_Output,
NavigationBlockParametersItem_Workflow,
Output,
OutputParameter,
PdfParserBlock,
ProxyLocation,
RunEngine,
RunStatus,
SendEmailBlock,
Source,
Source_AwsSecret,
Source_BitwardenCreditCardData,
Source_BitwardenLoginCredential,
Source_BitwardenSensitiveInformation,
Source_Context,
Source_Credential,
Source_Output,
Source_Workflow,
TaskBlock,
TaskBlockDataSchema,
TaskBlockParametersItem,
TaskBlockParametersItem_AwsSecret,
TaskBlockParametersItem_BitwardenCreditCardData,
TaskBlockParametersItem_BitwardenLoginCredential,
TaskBlockParametersItem_BitwardenSensitiveInformation,
TaskBlockParametersItem_Context,
TaskBlockParametersItem_Credential,
TaskBlockParametersItem_Output,
TaskBlockParametersItem_Workflow,
TaskRunRequest,
TaskRunRequestDataExtractionSchema,
TaskRunResponse,
TaskV2Block,
TextPromptBlock,
TextPromptBlockParametersItem,
TextPromptBlockParametersItem_AwsSecret,
TextPromptBlockParametersItem_BitwardenCreditCardData,
TextPromptBlockParametersItem_BitwardenLoginCredential,
TextPromptBlockParametersItem_BitwardenSensitiveInformation,
TextPromptBlockParametersItem_Context,
TextPromptBlockParametersItem_Credential,
TextPromptBlockParametersItem_Output,
TextPromptBlockParametersItem_Workflow,
UploadToS3Block,
UrlBlock,
UrlBlockDataSchema,
UrlBlockParametersItem,
UrlBlockParametersItem_AwsSecret,
UrlBlockParametersItem_BitwardenCreditCardData,
UrlBlockParametersItem_BitwardenLoginCredential,
UrlBlockParametersItem_BitwardenSensitiveInformation,
UrlBlockParametersItem_Context,
UrlBlockParametersItem_Credential,
UrlBlockParametersItem_Output,
UrlBlockParametersItem_Workflow,
ValidationBlock,
ValidationBlockDataSchema,
ValidationBlockParametersItem,
ValidationBlockParametersItem_AwsSecret,
ValidationBlockParametersItem_BitwardenCreditCardData,
ValidationBlockParametersItem_BitwardenLoginCredential,
ValidationBlockParametersItem_BitwardenSensitiveInformation,
ValidationBlockParametersItem_Context,
ValidationBlockParametersItem_Credential,
ValidationBlockParametersItem_Output,
ValidationBlockParametersItem_Workflow,
ValidationError,
ValidationErrorLocItem,
Value,
WaitBlock,
WaitBlockParametersItem,
WaitBlockParametersItem_AwsSecret,
WaitBlockParametersItem_BitwardenCreditCardData,
WaitBlockParametersItem_BitwardenLoginCredential,
WaitBlockParametersItem_BitwardenSensitiveInformation,
WaitBlockParametersItem_Context,
WaitBlockParametersItem_Credential,
WaitBlockParametersItem_Output,
WaitBlockParametersItem_Workflow,
Workflow,
WorkflowDefinition,
WorkflowDefinitionBlocksItem,
WorkflowDefinitionBlocksItem_Action,
WorkflowDefinitionBlocksItem_Code,
WorkflowDefinitionBlocksItem_DownloadToS3,
WorkflowDefinitionBlocksItem_Extraction,
WorkflowDefinitionBlocksItem_FileDownload,
WorkflowDefinitionBlocksItem_FileUpload,
WorkflowDefinitionBlocksItem_FileUrlParser,
WorkflowDefinitionBlocksItem_ForLoop,
WorkflowDefinitionBlocksItem_GotoUrl,
WorkflowDefinitionBlocksItem_Login,
WorkflowDefinitionBlocksItem_Navigation,
WorkflowDefinitionBlocksItem_PdfParser,
WorkflowDefinitionBlocksItem_SendEmail,
WorkflowDefinitionBlocksItem_Task,
WorkflowDefinitionBlocksItem_TaskV2,
WorkflowDefinitionBlocksItem_TextPrompt,
WorkflowDefinitionBlocksItem_UploadToS3,
WorkflowDefinitionBlocksItem_Validation,
WorkflowDefinitionBlocksItem_Wait,
WorkflowDefinitionParametersItem,
WorkflowDefinitionParametersItem_AwsSecret,
WorkflowDefinitionParametersItem_BitwardenCreditCardData,
WorkflowDefinitionParametersItem_BitwardenLoginCredential,
WorkflowDefinitionParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionParametersItem_Context,
WorkflowDefinitionParametersItem_Credential,
WorkflowDefinitionParametersItem_Output,
WorkflowDefinitionParametersItem_Workflow,
WorkflowParameter,
WorkflowParameterDefaultValue,
WorkflowParameterType,
WorkflowRunRequest,
WorkflowRunResponse,
WorkflowStatus,
)
from .errors import BadRequestError, NotFoundError, UnauthorizedError, UnprocessableEntityError
from . import agent, browser_session
@@ -28,30 +238,240 @@ from .environment import SkyvernEnvironment
from .version import __version__
__all__ = [
"ActionBlock",
"ActionBlockDataSchema",
"ActionBlockParametersItem",
"ActionBlockParametersItem_AwsSecret",
"ActionBlockParametersItem_BitwardenCreditCardData",
"ActionBlockParametersItem_BitwardenLoginCredential",
"ActionBlockParametersItem_BitwardenSensitiveInformation",
"ActionBlockParametersItem_Context",
"ActionBlockParametersItem_Credential",
"ActionBlockParametersItem_Output",
"ActionBlockParametersItem_Workflow",
"AgentGetRunResponse",
"AgentGetRunResponse_TaskV1",
"AgentGetRunResponse_TaskV2",
"AgentGetRunResponse_WorkflowRun",
"AsyncSkyvern",
"AwsSecretParameter",
"BadRequestError",
"BitwardenCreditCardDataParameter",
"BitwardenLoginCredentialParameter",
"BitwardenSensitiveInformationParameter",
"BrowserSessionResponse",
"CodeBlock",
"CodeBlockParametersItem",
"CodeBlockParametersItem_AwsSecret",
"CodeBlockParametersItem_BitwardenCreditCardData",
"CodeBlockParametersItem_BitwardenLoginCredential",
"CodeBlockParametersItem_BitwardenSensitiveInformation",
"CodeBlockParametersItem_Context",
"CodeBlockParametersItem_Credential",
"CodeBlockParametersItem_Output",
"CodeBlockParametersItem_Workflow",
"ContextParameter",
"CredentialParameter",
"DownloadToS3Block",
"ExtractionBlock",
"ExtractionBlockDataSchema",
"ExtractionBlockParametersItem",
"ExtractionBlockParametersItem_AwsSecret",
"ExtractionBlockParametersItem_BitwardenCreditCardData",
"ExtractionBlockParametersItem_BitwardenLoginCredential",
"ExtractionBlockParametersItem_BitwardenSensitiveInformation",
"ExtractionBlockParametersItem_Context",
"ExtractionBlockParametersItem_Credential",
"ExtractionBlockParametersItem_Output",
"ExtractionBlockParametersItem_Workflow",
"FileDownloadBlock",
"FileDownloadBlockDataSchema",
"FileDownloadBlockParametersItem",
"FileDownloadBlockParametersItem_AwsSecret",
"FileDownloadBlockParametersItem_BitwardenCreditCardData",
"FileDownloadBlockParametersItem_BitwardenLoginCredential",
"FileDownloadBlockParametersItem_BitwardenSensitiveInformation",
"FileDownloadBlockParametersItem_Context",
"FileDownloadBlockParametersItem_Credential",
"FileDownloadBlockParametersItem_Output",
"FileDownloadBlockParametersItem_Workflow",
"FileInfo",
"FileParserBlock",
"FileStorageType",
"FileType",
"FileUploadBlock",
"ForLoopBlock",
"ForLoopBlockLoopBlocksItem",
"ForLoopBlockLoopBlocksItem_Action",
"ForLoopBlockLoopBlocksItem_Code",
"ForLoopBlockLoopBlocksItem_DownloadToS3",
"ForLoopBlockLoopBlocksItem_Extraction",
"ForLoopBlockLoopBlocksItem_FileDownload",
"ForLoopBlockLoopBlocksItem_FileUpload",
"ForLoopBlockLoopBlocksItem_FileUrlParser",
"ForLoopBlockLoopBlocksItem_ForLoop",
"ForLoopBlockLoopBlocksItem_GotoUrl",
"ForLoopBlockLoopBlocksItem_Login",
"ForLoopBlockLoopBlocksItem_Navigation",
"ForLoopBlockLoopBlocksItem_PdfParser",
"ForLoopBlockLoopBlocksItem_SendEmail",
"ForLoopBlockLoopBlocksItem_Task",
"ForLoopBlockLoopBlocksItem_TaskV2",
"ForLoopBlockLoopBlocksItem_TextPrompt",
"ForLoopBlockLoopBlocksItem_UploadToS3",
"ForLoopBlockLoopBlocksItem_Validation",
"ForLoopBlockLoopBlocksItem_Wait",
"ForLoopBlockLoopOver",
"ForLoopBlockLoopOver_AwsSecret",
"ForLoopBlockLoopOver_BitwardenCreditCardData",
"ForLoopBlockLoopOver_BitwardenLoginCredential",
"ForLoopBlockLoopOver_BitwardenSensitiveInformation",
"ForLoopBlockLoopOver_Context",
"ForLoopBlockLoopOver_Credential",
"ForLoopBlockLoopOver_Output",
"ForLoopBlockLoopOver_Workflow",
"HttpValidationError",
"LoginBlock",
"LoginBlockDataSchema",
"LoginBlockParametersItem",
"LoginBlockParametersItem_AwsSecret",
"LoginBlockParametersItem_BitwardenCreditCardData",
"LoginBlockParametersItem_BitwardenLoginCredential",
"LoginBlockParametersItem_BitwardenSensitiveInformation",
"LoginBlockParametersItem_Context",
"LoginBlockParametersItem_Credential",
"LoginBlockParametersItem_Output",
"LoginBlockParametersItem_Workflow",
"NavigationBlock",
"NavigationBlockDataSchema",
"NavigationBlockParametersItem",
"NavigationBlockParametersItem_AwsSecret",
"NavigationBlockParametersItem_BitwardenCreditCardData",
"NavigationBlockParametersItem_BitwardenLoginCredential",
"NavigationBlockParametersItem_BitwardenSensitiveInformation",
"NavigationBlockParametersItem_Context",
"NavigationBlockParametersItem_Credential",
"NavigationBlockParametersItem_Output",
"NavigationBlockParametersItem_Workflow",
"NotFoundError",
"Output",
"OutputParameter",
"PdfParserBlock",
"ProxyLocation",
"RunEngine",
"RunStatus",
"SendEmailBlock",
"Skyvern",
"SkyvernEnvironment",
"Source",
"Source_AwsSecret",
"Source_BitwardenCreditCardData",
"Source_BitwardenLoginCredential",
"Source_BitwardenSensitiveInformation",
"Source_Context",
"Source_Credential",
"Source_Output",
"Source_Workflow",
"TaskBlock",
"TaskBlockDataSchema",
"TaskBlockParametersItem",
"TaskBlockParametersItem_AwsSecret",
"TaskBlockParametersItem_BitwardenCreditCardData",
"TaskBlockParametersItem_BitwardenLoginCredential",
"TaskBlockParametersItem_BitwardenSensitiveInformation",
"TaskBlockParametersItem_Context",
"TaskBlockParametersItem_Credential",
"TaskBlockParametersItem_Output",
"TaskBlockParametersItem_Workflow",
"TaskRunRequest",
"TaskRunRequestDataExtractionSchema",
"TaskRunResponse",
"TaskV2Block",
"TextPromptBlock",
"TextPromptBlockParametersItem",
"TextPromptBlockParametersItem_AwsSecret",
"TextPromptBlockParametersItem_BitwardenCreditCardData",
"TextPromptBlockParametersItem_BitwardenLoginCredential",
"TextPromptBlockParametersItem_BitwardenSensitiveInformation",
"TextPromptBlockParametersItem_Context",
"TextPromptBlockParametersItem_Credential",
"TextPromptBlockParametersItem_Output",
"TextPromptBlockParametersItem_Workflow",
"UnauthorizedError",
"UnprocessableEntityError",
"UploadToS3Block",
"UrlBlock",
"UrlBlockDataSchema",
"UrlBlockParametersItem",
"UrlBlockParametersItem_AwsSecret",
"UrlBlockParametersItem_BitwardenCreditCardData",
"UrlBlockParametersItem_BitwardenLoginCredential",
"UrlBlockParametersItem_BitwardenSensitiveInformation",
"UrlBlockParametersItem_Context",
"UrlBlockParametersItem_Credential",
"UrlBlockParametersItem_Output",
"UrlBlockParametersItem_Workflow",
"ValidationBlock",
"ValidationBlockDataSchema",
"ValidationBlockParametersItem",
"ValidationBlockParametersItem_AwsSecret",
"ValidationBlockParametersItem_BitwardenCreditCardData",
"ValidationBlockParametersItem_BitwardenLoginCredential",
"ValidationBlockParametersItem_BitwardenSensitiveInformation",
"ValidationBlockParametersItem_Context",
"ValidationBlockParametersItem_Credential",
"ValidationBlockParametersItem_Output",
"ValidationBlockParametersItem_Workflow",
"ValidationError",
"ValidationErrorLocItem",
"Value",
"WaitBlock",
"WaitBlockParametersItem",
"WaitBlockParametersItem_AwsSecret",
"WaitBlockParametersItem_BitwardenCreditCardData",
"WaitBlockParametersItem_BitwardenLoginCredential",
"WaitBlockParametersItem_BitwardenSensitiveInformation",
"WaitBlockParametersItem_Context",
"WaitBlockParametersItem_Credential",
"WaitBlockParametersItem_Output",
"WaitBlockParametersItem_Workflow",
"Workflow",
"WorkflowDefinition",
"WorkflowDefinitionBlocksItem",
"WorkflowDefinitionBlocksItem_Action",
"WorkflowDefinitionBlocksItem_Code",
"WorkflowDefinitionBlocksItem_DownloadToS3",
"WorkflowDefinitionBlocksItem_Extraction",
"WorkflowDefinitionBlocksItem_FileDownload",
"WorkflowDefinitionBlocksItem_FileUpload",
"WorkflowDefinitionBlocksItem_FileUrlParser",
"WorkflowDefinitionBlocksItem_ForLoop",
"WorkflowDefinitionBlocksItem_GotoUrl",
"WorkflowDefinitionBlocksItem_Login",
"WorkflowDefinitionBlocksItem_Navigation",
"WorkflowDefinitionBlocksItem_PdfParser",
"WorkflowDefinitionBlocksItem_SendEmail",
"WorkflowDefinitionBlocksItem_Task",
"WorkflowDefinitionBlocksItem_TaskV2",
"WorkflowDefinitionBlocksItem_TextPrompt",
"WorkflowDefinitionBlocksItem_UploadToS3",
"WorkflowDefinitionBlocksItem_Validation",
"WorkflowDefinitionBlocksItem_Wait",
"WorkflowDefinitionParametersItem",
"WorkflowDefinitionParametersItem_AwsSecret",
"WorkflowDefinitionParametersItem_BitwardenCreditCardData",
"WorkflowDefinitionParametersItem_BitwardenLoginCredential",
"WorkflowDefinitionParametersItem_BitwardenSensitiveInformation",
"WorkflowDefinitionParametersItem_Context",
"WorkflowDefinitionParametersItem_Credential",
"WorkflowDefinitionParametersItem_Output",
"WorkflowDefinitionParametersItem_Workflow",
"WorkflowParameter",
"WorkflowParameterDefaultValue",
"WorkflowParameterType",
"WorkflowRunRequest",
"WorkflowRunResponse",
"WorkflowStatus",
"__version__",
"agent",
"browser_session",

View File

@@ -6,16 +6,18 @@ from ..core.request_options import RequestOptions
from .types.agent_get_run_response import AgentGetRunResponse
from ..core.jsonable_encoder import jsonable_encoder
from ..core.pydantic_utilities import parse_obj_as
from ..errors.not_found_error import NotFoundError
from ..errors.unprocessable_entity_error import UnprocessableEntityError
from ..types.http_validation_error import HttpValidationError
from json.decoder import JSONDecodeError
from ..core.api_error import ApiError
from ..types.workflow import Workflow
from ..types.run_engine import RunEngine
from ..types.proxy_location import ProxyLocation
from ..types.task_run_request_data_extraction_schema import TaskRunRequestDataExtractionSchema
from ..types.task_run_response import TaskRunResponse
from ..core.serialization import convert_and_respect_annotation_metadata
from ..errors.bad_request_error import BadRequestError
from ..types.workflow_run_response import WorkflowRunResponse
from ..core.client_wrapper import AsyncClientWrapper
# this is used as the default value for optional parameters
@@ -28,9 +30,12 @@ class AgentClient:
def get_run(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> AgentGetRunResponse:
"""
Get a task or a workflow run by id
Parameters
----------
run_id : str
The id of the task run or the workflow run.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -38,7 +43,7 @@ class AgentClient:
Returns
-------
AgentGetRunResponse
Successful Response
Successfully got run
Examples
--------
@@ -66,12 +71,191 @@ class AgentClient:
object_=_response.json(),
),
)
if _response.status_code == 404:
raise NotFoundError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
def create_workflow(self, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow:
"""
Create a new workflow
Parameters
----------
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully created workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.create_workflow()
"""
_response = self._client_wrapper.httpx_client.request(
"v1/workflows",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
def update_workflow(self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.update_workflow(
workflow_id="workflow_id",
)
"""
_response = self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
def delete_workflow(
self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.Optional[typing.Any]:
"""
Delete a workflow
Parameters
----------
workflow_id : str
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.Optional[typing.Any]
Successfully deleted workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.delete_workflow(
workflow_id="workflow_id",
)
"""
_response = self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}/delete",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -164,7 +348,7 @@ class AgentClient:
)
"""
_response = self._client_wrapper.httpx_client.request(
"v1/tasks",
"v1/run/tasks",
method="POST",
json={
"prompt": prompt,
@@ -208,9 +392,193 @@ class AgentClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
def run_workflow(
self,
*,
workflow_id: str,
template: typing.Optional[bool] = None,
max_steps_override: typing.Optional[int] = None,
title: typing.Optional[str] = OMIT,
parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
proxy_location: typing.Optional[ProxyLocation] = OMIT,
webhook_url: typing.Optional[str] = OMIT,
totp_url: typing.Optional[str] = OMIT,
totp_identifier: typing.Optional[str] = OMIT,
browser_session_id: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> WorkflowRunResponse:
"""
Run a workflow
Parameters
----------
workflow_id : str
ID of the workflow to run
template : typing.Optional[bool]
max_steps_override : typing.Optional[int]
title : typing.Optional[str]
Optional title for this workflow run
parameters : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
Parameters to pass to the workflow
proxy_location : typing.Optional[ProxyLocation]
Location of proxy to use for this workflow run
webhook_url : typing.Optional[str]
URL to send workflow status updates to after a run is finished
totp_url : typing.Optional[str]
URL for TOTP authentication setup if Skyvern should be polling endpoint for 2FA codes
totp_identifier : typing.Optional[str]
Identifier for TOTP (Time-based One-Time Password) authentication if codes are being pushed to Skyvern
browser_session_id : typing.Optional[str]
ID of an existing browser session to reuse, having it continue from the current screen state
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
WorkflowRunResponse
Successfully run workflow
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.run_workflow(
workflow_id="workflow_id",
)
"""
_response = self._client_wrapper.httpx_client.request(
"v1/run/workflows",
method="POST",
params={
"template": template,
},
json={
"workflow_id": workflow_id,
"title": title,
"parameters": parameters,
"proxy_location": proxy_location,
"webhook_url": webhook_url,
"totp_url": totp_url,
"totp_identifier": totp_identifier,
"browser_session_id": browser_session_id,
},
headers={
"x-max-steps-override": str(max_steps_override) if max_steps_override is not None else None,
},
request_options=request_options,
omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
WorkflowRunResponse,
parse_obj_as(
type_=WorkflowRunResponse, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 400:
raise BadRequestError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
def cancel_run(
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.Optional[typing.Any]:
"""
Cancel a task or workflow run
Parameters
----------
run_id : str
The id of the task run or the workflow run to cancel.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.Optional[typing.Any]
Successful Response
Examples
--------
from skyvern import Skyvern
client = Skyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
client.agent.cancel_run(
run_id="run_id",
)
"""
_response = self._client_wrapper.httpx_client.request(
f"v1/runs/{jsonable_encoder(run_id)}/cancel",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -229,9 +597,12 @@ class AsyncAgentClient:
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> AgentGetRunResponse:
"""
Get a task or a workflow run by id
Parameters
----------
run_id : str
The id of the task run or the workflow run.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
@@ -239,7 +610,7 @@ class AsyncAgentClient:
Returns
-------
AgentGetRunResponse
Successful Response
Successfully got run
Examples
--------
@@ -275,12 +646,217 @@ class AsyncAgentClient:
object_=_response.json(),
),
)
if _response.status_code == 404:
raise NotFoundError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
async def create_workflow(self, *, request_options: typing.Optional[RequestOptions] = None) -> Workflow:
"""
Create a new workflow
Parameters
----------
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully created workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.create_workflow()
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
"v1/workflows",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
async def update_workflow(
self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> Workflow:
"""
Update a workflow definition
Parameters
----------
workflow_id : str
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
Workflow
Successfully updated workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.update_workflow(
workflow_id="workflow_id",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
Workflow,
parse_obj_as(
type_=Workflow, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
async def delete_workflow(
self, workflow_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.Optional[typing.Any]:
"""
Delete a workflow
Parameters
----------
workflow_id : str
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.Optional[typing.Any]
Successfully deleted workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.delete_workflow(
workflow_id="workflow_id",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
f"v1/workflows/{jsonable_encoder(workflow_id)}/delete",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -381,7 +957,7 @@ class AsyncAgentClient:
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
"v1/tasks",
"v1/run/tasks",
method="POST",
json={
"prompt": prompt,
@@ -425,9 +1001,209 @@ class AsyncAgentClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
async def run_workflow(
self,
*,
workflow_id: str,
template: typing.Optional[bool] = None,
max_steps_override: typing.Optional[int] = None,
title: typing.Optional[str] = OMIT,
parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
proxy_location: typing.Optional[ProxyLocation] = OMIT,
webhook_url: typing.Optional[str] = OMIT,
totp_url: typing.Optional[str] = OMIT,
totp_identifier: typing.Optional[str] = OMIT,
browser_session_id: typing.Optional[str] = OMIT,
request_options: typing.Optional[RequestOptions] = None,
) -> WorkflowRunResponse:
"""
Run a workflow
Parameters
----------
workflow_id : str
ID of the workflow to run
template : typing.Optional[bool]
max_steps_override : typing.Optional[int]
title : typing.Optional[str]
Optional title for this workflow run
parameters : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
Parameters to pass to the workflow
proxy_location : typing.Optional[ProxyLocation]
Location of proxy to use for this workflow run
webhook_url : typing.Optional[str]
URL to send workflow status updates to after a run is finished
totp_url : typing.Optional[str]
URL for TOTP authentication setup if Skyvern should be polling endpoint for 2FA codes
totp_identifier : typing.Optional[str]
Identifier for TOTP (Time-based One-Time Password) authentication if codes are being pushed to Skyvern
browser_session_id : typing.Optional[str]
ID of an existing browser session to reuse, having it continue from the current screen state
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
WorkflowRunResponse
Successfully run workflow
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.run_workflow(
workflow_id="workflow_id",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
"v1/run/workflows",
method="POST",
params={
"template": template,
},
json={
"workflow_id": workflow_id,
"title": title,
"parameters": parameters,
"proxy_location": proxy_location,
"webhook_url": webhook_url,
"totp_url": totp_url,
"totp_identifier": totp_identifier,
"browser_session_id": browser_session_id,
},
headers={
"x-max-steps-override": str(max_steps_override) if max_steps_override is not None else None,
},
request_options=request_options,
omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
WorkflowRunResponse,
parse_obj_as(
type_=WorkflowRunResponse, # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 400:
raise BadRequestError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
)
_response_json = _response.json()
except JSONDecodeError:
raise ApiError(status_code=_response.status_code, body=_response.text)
raise ApiError(status_code=_response.status_code, body=_response_json)
async def cancel_run(
self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
) -> typing.Optional[typing.Any]:
"""
Cancel a task or workflow run
Parameters
----------
run_id : str
The id of the task run or the workflow run to cancel.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
typing.Optional[typing.Any]
Successful Response
Examples
--------
import asyncio
from skyvern import AsyncSkyvern
client = AsyncSkyvern(
api_key="YOUR_API_KEY",
authorization="YOUR_AUTHORIZATION",
)
async def main() -> None:
await client.agent.cancel_run(
run_id="run_id",
)
asyncio.run(main())
"""
_response = await self._client_wrapper.httpx_client.request(
f"v1/runs/{jsonable_encoder(run_id)}/cancel",
method="POST",
request_options=request_options,
)
try:
if 200 <= _response.status_code < 300:
return typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
typing.Optional[typing.Any],
parse_obj_as(
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)

View File

@@ -5,6 +5,7 @@ from ...core.pydantic_utilities import UniversalBaseModel
import typing
from ...types.run_status import RunStatus
from ...types.output import Output
from ...types.file_info import FileInfo
import datetime as dt
from ...types.task_run_request import TaskRunRequest
from ...core.pydantic_utilities import IS_PYDANTIC_V2
@@ -17,6 +18,8 @@ class AgentGetRunResponse_TaskV1(UniversalBaseModel):
run_id: str
status: RunStatus
output: typing.Optional[Output] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None
failure_reason: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
@@ -37,6 +40,8 @@ class AgentGetRunResponse_TaskV2(UniversalBaseModel):
run_id: str
status: RunStatus
output: typing.Optional[Output] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None
failure_reason: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
@@ -57,6 +62,8 @@ class AgentGetRunResponse_WorkflowRun(UniversalBaseModel):
run_id: str
status: RunStatus
output: typing.Optional[Output] = None
downloaded_files: typing.Optional[typing.List[FileInfo]] = None
recording_url: typing.Optional[str] = None
failure_reason: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime

View File

@@ -9,7 +9,6 @@ from ..core.pydantic_utilities import parse_obj_as
from ..errors.unauthorized_error import UnauthorizedError
from ..errors.not_found_error import NotFoundError
from ..errors.unprocessable_entity_error import UnprocessableEntityError
from ..types.http_validation_error import HttpValidationError
from json.decoder import JSONDecodeError
from ..core.api_error import ApiError
from ..core.client_wrapper import AsyncClientWrapper
@@ -86,9 +85,9 @@ class BrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -151,9 +150,9 @@ class BrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -216,9 +215,9 @@ class BrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -285,9 +284,9 @@ class BrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -377,9 +376,9 @@ class AsyncBrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -450,9 +449,9 @@ class AsyncBrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -523,9 +522,9 @@ class AsyncBrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)
@@ -600,9 +599,9 @@ class AsyncBrowserSessionClient:
if _response.status_code == 422:
raise UnprocessableEntityError(
typing.cast(
HttpValidationError,
typing.Optional[typing.Any],
parse_obj_as(
type_=HttpValidationError, # type: ignore
type_=typing.Optional[typing.Any], # type: ignore
object_=_response.json(),
),
)

View File

@@ -24,7 +24,7 @@ class BaseClientWrapper:
headers: typing.Dict[str, str] = {
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "skyvern",
"X-Fern-SDK-Version": "0.1.65",
"X-Fern-SDK-Version": "0.1.69",
}
if self._api_key is not None:
headers["x-api-key"] = self._api_key

View File

@@ -1,9 +1,9 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.api_error import ApiError
from ..types.http_validation_error import HttpValidationError
import typing
class UnprocessableEntityError(ApiError):
def __init__(self, body: HttpValidationError):
def __init__(self, body: typing.Optional[typing.Any]):
super().__init__(status_code=422, body=body)

View File

@@ -1,31 +1,483 @@
# This file was auto-generated by Fern from our API Definition.
from .action_block import ActionBlock
from .action_block_data_schema import ActionBlockDataSchema
from .action_block_parameters_item import (
ActionBlockParametersItem,
ActionBlockParametersItem_AwsSecret,
ActionBlockParametersItem_BitwardenCreditCardData,
ActionBlockParametersItem_BitwardenLoginCredential,
ActionBlockParametersItem_BitwardenSensitiveInformation,
ActionBlockParametersItem_Context,
ActionBlockParametersItem_Credential,
ActionBlockParametersItem_Output,
ActionBlockParametersItem_Workflow,
)
from .aws_secret_parameter import AwsSecretParameter
from .bitwarden_credit_card_data_parameter import BitwardenCreditCardDataParameter
from .bitwarden_login_credential_parameter import BitwardenLoginCredentialParameter
from .bitwarden_sensitive_information_parameter import BitwardenSensitiveInformationParameter
from .browser_session_response import BrowserSessionResponse
from .code_block import CodeBlock
from .code_block_parameters_item import (
CodeBlockParametersItem,
CodeBlockParametersItem_AwsSecret,
CodeBlockParametersItem_BitwardenCreditCardData,
CodeBlockParametersItem_BitwardenLoginCredential,
CodeBlockParametersItem_BitwardenSensitiveInformation,
CodeBlockParametersItem_Context,
CodeBlockParametersItem_Credential,
CodeBlockParametersItem_Output,
CodeBlockParametersItem_Workflow,
)
from .context_parameter import ContextParameter
from .credential_parameter import CredentialParameter
from .download_to_s3block import DownloadToS3Block
from .extraction_block import ExtractionBlock
from .extraction_block_data_schema import ExtractionBlockDataSchema
from .extraction_block_parameters_item import (
ExtractionBlockParametersItem,
ExtractionBlockParametersItem_AwsSecret,
ExtractionBlockParametersItem_BitwardenCreditCardData,
ExtractionBlockParametersItem_BitwardenLoginCredential,
ExtractionBlockParametersItem_BitwardenSensitiveInformation,
ExtractionBlockParametersItem_Context,
ExtractionBlockParametersItem_Credential,
ExtractionBlockParametersItem_Output,
ExtractionBlockParametersItem_Workflow,
)
from .file_download_block import FileDownloadBlock
from .file_download_block_data_schema import FileDownloadBlockDataSchema
from .file_download_block_parameters_item import (
FileDownloadBlockParametersItem,
FileDownloadBlockParametersItem_AwsSecret,
FileDownloadBlockParametersItem_BitwardenCreditCardData,
FileDownloadBlockParametersItem_BitwardenLoginCredential,
FileDownloadBlockParametersItem_BitwardenSensitiveInformation,
FileDownloadBlockParametersItem_Context,
FileDownloadBlockParametersItem_Credential,
FileDownloadBlockParametersItem_Output,
FileDownloadBlockParametersItem_Workflow,
)
from .file_info import FileInfo
from .file_parser_block import FileParserBlock
from .file_storage_type import FileStorageType
from .file_type import FileType
from .file_upload_block import FileUploadBlock
from .for_loop_block import ForLoopBlock
from .for_loop_block_loop_blocks_item import (
ForLoopBlockLoopBlocksItem,
ForLoopBlockLoopBlocksItem_Action,
ForLoopBlockLoopBlocksItem_Code,
ForLoopBlockLoopBlocksItem_DownloadToS3,
ForLoopBlockLoopBlocksItem_Extraction,
ForLoopBlockLoopBlocksItem_FileDownload,
ForLoopBlockLoopBlocksItem_FileUpload,
ForLoopBlockLoopBlocksItem_FileUrlParser,
ForLoopBlockLoopBlocksItem_ForLoop,
ForLoopBlockLoopBlocksItem_GotoUrl,
ForLoopBlockLoopBlocksItem_Login,
ForLoopBlockLoopBlocksItem_Navigation,
ForLoopBlockLoopBlocksItem_PdfParser,
ForLoopBlockLoopBlocksItem_SendEmail,
ForLoopBlockLoopBlocksItem_Task,
ForLoopBlockLoopBlocksItem_TaskV2,
ForLoopBlockLoopBlocksItem_TextPrompt,
ForLoopBlockLoopBlocksItem_UploadToS3,
ForLoopBlockLoopBlocksItem_Validation,
ForLoopBlockLoopBlocksItem_Wait,
)
from .for_loop_block_loop_over import (
ForLoopBlockLoopOver,
ForLoopBlockLoopOver_AwsSecret,
ForLoopBlockLoopOver_BitwardenCreditCardData,
ForLoopBlockLoopOver_BitwardenLoginCredential,
ForLoopBlockLoopOver_BitwardenSensitiveInformation,
ForLoopBlockLoopOver_Context,
ForLoopBlockLoopOver_Credential,
ForLoopBlockLoopOver_Output,
ForLoopBlockLoopOver_Workflow,
)
from .http_validation_error import HttpValidationError
from .login_block import LoginBlock
from .login_block_data_schema import LoginBlockDataSchema
from .login_block_parameters_item import (
LoginBlockParametersItem,
LoginBlockParametersItem_AwsSecret,
LoginBlockParametersItem_BitwardenCreditCardData,
LoginBlockParametersItem_BitwardenLoginCredential,
LoginBlockParametersItem_BitwardenSensitiveInformation,
LoginBlockParametersItem_Context,
LoginBlockParametersItem_Credential,
LoginBlockParametersItem_Output,
LoginBlockParametersItem_Workflow,
)
from .navigation_block import NavigationBlock
from .navigation_block_data_schema import NavigationBlockDataSchema
from .navigation_block_parameters_item import (
NavigationBlockParametersItem,
NavigationBlockParametersItem_AwsSecret,
NavigationBlockParametersItem_BitwardenCreditCardData,
NavigationBlockParametersItem_BitwardenLoginCredential,
NavigationBlockParametersItem_BitwardenSensitiveInformation,
NavigationBlockParametersItem_Context,
NavigationBlockParametersItem_Credential,
NavigationBlockParametersItem_Output,
NavigationBlockParametersItem_Workflow,
)
from .output import Output
from .output_parameter import OutputParameter
from .pdf_parser_block import PdfParserBlock
from .proxy_location import ProxyLocation
from .run_engine import RunEngine
from .run_status import RunStatus
from .send_email_block import SendEmailBlock
from .source import (
Source,
Source_AwsSecret,
Source_BitwardenCreditCardData,
Source_BitwardenLoginCredential,
Source_BitwardenSensitiveInformation,
Source_Context,
Source_Credential,
Source_Output,
Source_Workflow,
)
from .task_block import TaskBlock
from .task_block_data_schema import TaskBlockDataSchema
from .task_block_parameters_item import (
TaskBlockParametersItem,
TaskBlockParametersItem_AwsSecret,
TaskBlockParametersItem_BitwardenCreditCardData,
TaskBlockParametersItem_BitwardenLoginCredential,
TaskBlockParametersItem_BitwardenSensitiveInformation,
TaskBlockParametersItem_Context,
TaskBlockParametersItem_Credential,
TaskBlockParametersItem_Output,
TaskBlockParametersItem_Workflow,
)
from .task_run_request import TaskRunRequest
from .task_run_request_data_extraction_schema import TaskRunRequestDataExtractionSchema
from .task_run_response import TaskRunResponse
from .task_v2block import TaskV2Block
from .text_prompt_block import TextPromptBlock
from .text_prompt_block_parameters_item import (
TextPromptBlockParametersItem,
TextPromptBlockParametersItem_AwsSecret,
TextPromptBlockParametersItem_BitwardenCreditCardData,
TextPromptBlockParametersItem_BitwardenLoginCredential,
TextPromptBlockParametersItem_BitwardenSensitiveInformation,
TextPromptBlockParametersItem_Context,
TextPromptBlockParametersItem_Credential,
TextPromptBlockParametersItem_Output,
TextPromptBlockParametersItem_Workflow,
)
from .upload_to_s3block import UploadToS3Block
from .url_block import UrlBlock
from .url_block_data_schema import UrlBlockDataSchema
from .url_block_parameters_item import (
UrlBlockParametersItem,
UrlBlockParametersItem_AwsSecret,
UrlBlockParametersItem_BitwardenCreditCardData,
UrlBlockParametersItem_BitwardenLoginCredential,
UrlBlockParametersItem_BitwardenSensitiveInformation,
UrlBlockParametersItem_Context,
UrlBlockParametersItem_Credential,
UrlBlockParametersItem_Output,
UrlBlockParametersItem_Workflow,
)
from .validation_block import ValidationBlock
from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import (
ValidationBlockParametersItem,
ValidationBlockParametersItem_AwsSecret,
ValidationBlockParametersItem_BitwardenCreditCardData,
ValidationBlockParametersItem_BitwardenLoginCredential,
ValidationBlockParametersItem_BitwardenSensitiveInformation,
ValidationBlockParametersItem_Context,
ValidationBlockParametersItem_Credential,
ValidationBlockParametersItem_Output,
ValidationBlockParametersItem_Workflow,
)
from .validation_error import ValidationError
from .validation_error_loc_item import ValidationErrorLocItem
from .value import Value
from .wait_block import WaitBlock
from .wait_block_parameters_item import (
WaitBlockParametersItem,
WaitBlockParametersItem_AwsSecret,
WaitBlockParametersItem_BitwardenCreditCardData,
WaitBlockParametersItem_BitwardenLoginCredential,
WaitBlockParametersItem_BitwardenSensitiveInformation,
WaitBlockParametersItem_Context,
WaitBlockParametersItem_Credential,
WaitBlockParametersItem_Output,
WaitBlockParametersItem_Workflow,
)
from .workflow import Workflow
from .workflow_definition import WorkflowDefinition
from .workflow_definition_blocks_item import (
WorkflowDefinitionBlocksItem,
WorkflowDefinitionBlocksItem_Action,
WorkflowDefinitionBlocksItem_Code,
WorkflowDefinitionBlocksItem_DownloadToS3,
WorkflowDefinitionBlocksItem_Extraction,
WorkflowDefinitionBlocksItem_FileDownload,
WorkflowDefinitionBlocksItem_FileUpload,
WorkflowDefinitionBlocksItem_FileUrlParser,
WorkflowDefinitionBlocksItem_ForLoop,
WorkflowDefinitionBlocksItem_GotoUrl,
WorkflowDefinitionBlocksItem_Login,
WorkflowDefinitionBlocksItem_Navigation,
WorkflowDefinitionBlocksItem_PdfParser,
WorkflowDefinitionBlocksItem_SendEmail,
WorkflowDefinitionBlocksItem_Task,
WorkflowDefinitionBlocksItem_TaskV2,
WorkflowDefinitionBlocksItem_TextPrompt,
WorkflowDefinitionBlocksItem_UploadToS3,
WorkflowDefinitionBlocksItem_Validation,
WorkflowDefinitionBlocksItem_Wait,
)
from .workflow_definition_parameters_item import (
WorkflowDefinitionParametersItem,
WorkflowDefinitionParametersItem_AwsSecret,
WorkflowDefinitionParametersItem_BitwardenCreditCardData,
WorkflowDefinitionParametersItem_BitwardenLoginCredential,
WorkflowDefinitionParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionParametersItem_Context,
WorkflowDefinitionParametersItem_Credential,
WorkflowDefinitionParametersItem_Output,
WorkflowDefinitionParametersItem_Workflow,
)
from .workflow_parameter import WorkflowParameter
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from .workflow_parameter_type import WorkflowParameterType
from .workflow_run_request import WorkflowRunRequest
from .workflow_run_response import WorkflowRunResponse
from .workflow_status import WorkflowStatus
__all__ = [
"ActionBlock",
"ActionBlockDataSchema",
"ActionBlockParametersItem",
"ActionBlockParametersItem_AwsSecret",
"ActionBlockParametersItem_BitwardenCreditCardData",
"ActionBlockParametersItem_BitwardenLoginCredential",
"ActionBlockParametersItem_BitwardenSensitiveInformation",
"ActionBlockParametersItem_Context",
"ActionBlockParametersItem_Credential",
"ActionBlockParametersItem_Output",
"ActionBlockParametersItem_Workflow",
"AwsSecretParameter",
"BitwardenCreditCardDataParameter",
"BitwardenLoginCredentialParameter",
"BitwardenSensitiveInformationParameter",
"BrowserSessionResponse",
"CodeBlock",
"CodeBlockParametersItem",
"CodeBlockParametersItem_AwsSecret",
"CodeBlockParametersItem_BitwardenCreditCardData",
"CodeBlockParametersItem_BitwardenLoginCredential",
"CodeBlockParametersItem_BitwardenSensitiveInformation",
"CodeBlockParametersItem_Context",
"CodeBlockParametersItem_Credential",
"CodeBlockParametersItem_Output",
"CodeBlockParametersItem_Workflow",
"ContextParameter",
"CredentialParameter",
"DownloadToS3Block",
"ExtractionBlock",
"ExtractionBlockDataSchema",
"ExtractionBlockParametersItem",
"ExtractionBlockParametersItem_AwsSecret",
"ExtractionBlockParametersItem_BitwardenCreditCardData",
"ExtractionBlockParametersItem_BitwardenLoginCredential",
"ExtractionBlockParametersItem_BitwardenSensitiveInformation",
"ExtractionBlockParametersItem_Context",
"ExtractionBlockParametersItem_Credential",
"ExtractionBlockParametersItem_Output",
"ExtractionBlockParametersItem_Workflow",
"FileDownloadBlock",
"FileDownloadBlockDataSchema",
"FileDownloadBlockParametersItem",
"FileDownloadBlockParametersItem_AwsSecret",
"FileDownloadBlockParametersItem_BitwardenCreditCardData",
"FileDownloadBlockParametersItem_BitwardenLoginCredential",
"FileDownloadBlockParametersItem_BitwardenSensitiveInformation",
"FileDownloadBlockParametersItem_Context",
"FileDownloadBlockParametersItem_Credential",
"FileDownloadBlockParametersItem_Output",
"FileDownloadBlockParametersItem_Workflow",
"FileInfo",
"FileParserBlock",
"FileStorageType",
"FileType",
"FileUploadBlock",
"ForLoopBlock",
"ForLoopBlockLoopBlocksItem",
"ForLoopBlockLoopBlocksItem_Action",
"ForLoopBlockLoopBlocksItem_Code",
"ForLoopBlockLoopBlocksItem_DownloadToS3",
"ForLoopBlockLoopBlocksItem_Extraction",
"ForLoopBlockLoopBlocksItem_FileDownload",
"ForLoopBlockLoopBlocksItem_FileUpload",
"ForLoopBlockLoopBlocksItem_FileUrlParser",
"ForLoopBlockLoopBlocksItem_ForLoop",
"ForLoopBlockLoopBlocksItem_GotoUrl",
"ForLoopBlockLoopBlocksItem_Login",
"ForLoopBlockLoopBlocksItem_Navigation",
"ForLoopBlockLoopBlocksItem_PdfParser",
"ForLoopBlockLoopBlocksItem_SendEmail",
"ForLoopBlockLoopBlocksItem_Task",
"ForLoopBlockLoopBlocksItem_TaskV2",
"ForLoopBlockLoopBlocksItem_TextPrompt",
"ForLoopBlockLoopBlocksItem_UploadToS3",
"ForLoopBlockLoopBlocksItem_Validation",
"ForLoopBlockLoopBlocksItem_Wait",
"ForLoopBlockLoopOver",
"ForLoopBlockLoopOver_AwsSecret",
"ForLoopBlockLoopOver_BitwardenCreditCardData",
"ForLoopBlockLoopOver_BitwardenLoginCredential",
"ForLoopBlockLoopOver_BitwardenSensitiveInformation",
"ForLoopBlockLoopOver_Context",
"ForLoopBlockLoopOver_Credential",
"ForLoopBlockLoopOver_Output",
"ForLoopBlockLoopOver_Workflow",
"HttpValidationError",
"LoginBlock",
"LoginBlockDataSchema",
"LoginBlockParametersItem",
"LoginBlockParametersItem_AwsSecret",
"LoginBlockParametersItem_BitwardenCreditCardData",
"LoginBlockParametersItem_BitwardenLoginCredential",
"LoginBlockParametersItem_BitwardenSensitiveInformation",
"LoginBlockParametersItem_Context",
"LoginBlockParametersItem_Credential",
"LoginBlockParametersItem_Output",
"LoginBlockParametersItem_Workflow",
"NavigationBlock",
"NavigationBlockDataSchema",
"NavigationBlockParametersItem",
"NavigationBlockParametersItem_AwsSecret",
"NavigationBlockParametersItem_BitwardenCreditCardData",
"NavigationBlockParametersItem_BitwardenLoginCredential",
"NavigationBlockParametersItem_BitwardenSensitiveInformation",
"NavigationBlockParametersItem_Context",
"NavigationBlockParametersItem_Credential",
"NavigationBlockParametersItem_Output",
"NavigationBlockParametersItem_Workflow",
"Output",
"OutputParameter",
"PdfParserBlock",
"ProxyLocation",
"RunEngine",
"RunStatus",
"SendEmailBlock",
"Source",
"Source_AwsSecret",
"Source_BitwardenCreditCardData",
"Source_BitwardenLoginCredential",
"Source_BitwardenSensitiveInformation",
"Source_Context",
"Source_Credential",
"Source_Output",
"Source_Workflow",
"TaskBlock",
"TaskBlockDataSchema",
"TaskBlockParametersItem",
"TaskBlockParametersItem_AwsSecret",
"TaskBlockParametersItem_BitwardenCreditCardData",
"TaskBlockParametersItem_BitwardenLoginCredential",
"TaskBlockParametersItem_BitwardenSensitiveInformation",
"TaskBlockParametersItem_Context",
"TaskBlockParametersItem_Credential",
"TaskBlockParametersItem_Output",
"TaskBlockParametersItem_Workflow",
"TaskRunRequest",
"TaskRunRequestDataExtractionSchema",
"TaskRunResponse",
"TaskV2Block",
"TextPromptBlock",
"TextPromptBlockParametersItem",
"TextPromptBlockParametersItem_AwsSecret",
"TextPromptBlockParametersItem_BitwardenCreditCardData",
"TextPromptBlockParametersItem_BitwardenLoginCredential",
"TextPromptBlockParametersItem_BitwardenSensitiveInformation",
"TextPromptBlockParametersItem_Context",
"TextPromptBlockParametersItem_Credential",
"TextPromptBlockParametersItem_Output",
"TextPromptBlockParametersItem_Workflow",
"UploadToS3Block",
"UrlBlock",
"UrlBlockDataSchema",
"UrlBlockParametersItem",
"UrlBlockParametersItem_AwsSecret",
"UrlBlockParametersItem_BitwardenCreditCardData",
"UrlBlockParametersItem_BitwardenLoginCredential",
"UrlBlockParametersItem_BitwardenSensitiveInformation",
"UrlBlockParametersItem_Context",
"UrlBlockParametersItem_Credential",
"UrlBlockParametersItem_Output",
"UrlBlockParametersItem_Workflow",
"ValidationBlock",
"ValidationBlockDataSchema",
"ValidationBlockParametersItem",
"ValidationBlockParametersItem_AwsSecret",
"ValidationBlockParametersItem_BitwardenCreditCardData",
"ValidationBlockParametersItem_BitwardenLoginCredential",
"ValidationBlockParametersItem_BitwardenSensitiveInformation",
"ValidationBlockParametersItem_Context",
"ValidationBlockParametersItem_Credential",
"ValidationBlockParametersItem_Output",
"ValidationBlockParametersItem_Workflow",
"ValidationError",
"ValidationErrorLocItem",
"Value",
"WaitBlock",
"WaitBlockParametersItem",
"WaitBlockParametersItem_AwsSecret",
"WaitBlockParametersItem_BitwardenCreditCardData",
"WaitBlockParametersItem_BitwardenLoginCredential",
"WaitBlockParametersItem_BitwardenSensitiveInformation",
"WaitBlockParametersItem_Context",
"WaitBlockParametersItem_Credential",
"WaitBlockParametersItem_Output",
"WaitBlockParametersItem_Workflow",
"Workflow",
"WorkflowDefinition",
"WorkflowDefinitionBlocksItem",
"WorkflowDefinitionBlocksItem_Action",
"WorkflowDefinitionBlocksItem_Code",
"WorkflowDefinitionBlocksItem_DownloadToS3",
"WorkflowDefinitionBlocksItem_Extraction",
"WorkflowDefinitionBlocksItem_FileDownload",
"WorkflowDefinitionBlocksItem_FileUpload",
"WorkflowDefinitionBlocksItem_FileUrlParser",
"WorkflowDefinitionBlocksItem_ForLoop",
"WorkflowDefinitionBlocksItem_GotoUrl",
"WorkflowDefinitionBlocksItem_Login",
"WorkflowDefinitionBlocksItem_Navigation",
"WorkflowDefinitionBlocksItem_PdfParser",
"WorkflowDefinitionBlocksItem_SendEmail",
"WorkflowDefinitionBlocksItem_Task",
"WorkflowDefinitionBlocksItem_TaskV2",
"WorkflowDefinitionBlocksItem_TextPrompt",
"WorkflowDefinitionBlocksItem_UploadToS3",
"WorkflowDefinitionBlocksItem_Validation",
"WorkflowDefinitionBlocksItem_Wait",
"WorkflowDefinitionParametersItem",
"WorkflowDefinitionParametersItem_AwsSecret",
"WorkflowDefinitionParametersItem_BitwardenCreditCardData",
"WorkflowDefinitionParametersItem_BitwardenLoginCredential",
"WorkflowDefinitionParametersItem_BitwardenSensitiveInformation",
"WorkflowDefinitionParametersItem_Context",
"WorkflowDefinitionParametersItem_Credential",
"WorkflowDefinitionParametersItem_Output",
"WorkflowDefinitionParametersItem_Workflow",
"WorkflowParameter",
"WorkflowParameterDefaultValue",
"WorkflowParameterType",
"WorkflowRunRequest",
"WorkflowRunResponse",
"WorkflowStatus",
]

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .action_block_data_schema import ActionBlockDataSchema
from .action_block_parameters_item import ActionBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class ActionBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ActionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ActionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
ActionBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class ActionBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class ActionBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ActionBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
ActionBlockParametersItem = typing.Union[
ActionBlockParametersItem_AwsSecret,
ActionBlockParametersItem_BitwardenCreditCardData,
ActionBlockParametersItem_BitwardenLoginCredential,
ActionBlockParametersItem_BitwardenSensitiveInformation,
ActionBlockParametersItem_Context,
ActionBlockParametersItem_Credential,
ActionBlockParametersItem_Output,
ActionBlockParametersItem_Workflow,
]
update_forward_refs(ActionBlockParametersItem_Context)

View File

@@ -0,0 +1,27 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class AwsSecretParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,31 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class BitwardenCreditCardDataParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,32 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class BitwardenLoginCredentialParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,32 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class BitwardenSensitiveInformationParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,26 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .code_block_parameters_item import CodeBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class CodeBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
code: str
parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = 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

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class CodeBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class CodeBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 CodeBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
CodeBlockParametersItem = typing.Union[
CodeBlockParametersItem_AwsSecret,
CodeBlockParametersItem_BitwardenCreditCardData,
CodeBlockParametersItem_BitwardenLoginCredential,
CodeBlockParametersItem_BitwardenSensitiveInformation,
CodeBlockParametersItem_Context,
CodeBlockParametersItem_Credential,
CodeBlockParametersItem_Output,
CodeBlockParametersItem_Workflow,
]
update_forward_refs(CodeBlockParametersItem_Context)

View File

@@ -0,0 +1,30 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .value import Value
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from ..core.pydantic_utilities import update_forward_refs
class ContextParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .source import Source # noqa: E402
update_forward_refs(ContextParameter)

View File

@@ -0,0 +1,27 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class CredentialParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,23 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class DownloadToS3Block(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
url: str
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,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .extraction_block_data_schema import ExtractionBlockDataSchema
from .extraction_block_parameters_item import ExtractionBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class ExtractionBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: str
data_schema: typing.Optional[ExtractionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ExtractionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
ExtractionBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class ExtractionBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class ExtractionBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ExtractionBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
ExtractionBlockParametersItem = typing.Union[
ExtractionBlockParametersItem_AwsSecret,
ExtractionBlockParametersItem_BitwardenCreditCardData,
ExtractionBlockParametersItem_BitwardenLoginCredential,
ExtractionBlockParametersItem_BitwardenSensitiveInformation,
ExtractionBlockParametersItem_Context,
ExtractionBlockParametersItem_Credential,
ExtractionBlockParametersItem_Output,
ExtractionBlockParametersItem_Workflow,
]
update_forward_refs(ExtractionBlockParametersItem_Context)

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .file_download_block_data_schema import FileDownloadBlockDataSchema
from .file_download_block_parameters_item import FileDownloadBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class FileDownloadBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[FileDownloadBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[FileDownloadBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
FileDownloadBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class FileDownloadBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class FileDownloadBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 FileDownloadBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
FileDownloadBlockParametersItem = typing.Union[
FileDownloadBlockParametersItem_AwsSecret,
FileDownloadBlockParametersItem_BitwardenCreditCardData,
FileDownloadBlockParametersItem_BitwardenLoginCredential,
FileDownloadBlockParametersItem_BitwardenSensitiveInformation,
FileDownloadBlockParametersItem_Context,
FileDownloadBlockParametersItem_Credential,
FileDownloadBlockParametersItem_Output,
FileDownloadBlockParametersItem_Workflow,
]
update_forward_refs(FileDownloadBlockParametersItem_Context)

View File

@@ -0,0 +1,36 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import pydantic
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
class FileInfo(UniversalBaseModel):
"""
Information about a downloaded file, including URL and checksum.
"""
url: str = pydantic.Field()
"""
URL to access the file
"""
checksum: typing.Optional[str] = pydantic.Field(default=None)
"""
SHA-256 checksum of the file
"""
filename: typing.Optional[str] = pydantic.Field(default=None)
"""
Original filename
"""
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,25 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from .file_type import FileType
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class FileParserBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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
FileStorageType = typing.Literal["s3"]

View File

@@ -0,0 +1,5 @@
# This file was auto-generated by Fern from our API Definition.
import typing
FileType = typing.Literal["csv"]

View File

@@ -0,0 +1,31 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class FileUploadBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
storage_type: typing.Optional[FileStorageType] = None
s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None
aws_access_key_id: typing.Optional[str] = None
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: 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

@@ -0,0 +1,35 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .for_loop_block_loop_over import ForLoopBlockLoopOver
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from ..core.pydantic_utilities import update_forward_refs
class ForLoopBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"]
loop_over: typing.Optional[ForLoopBlockLoopOver] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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
from .for_loop_block_loop_blocks_item import ForLoopBlockLoopBlocksItem # noqa: E402
update_forward_refs(ForLoopBlock)

View File

@@ -0,0 +1,549 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
import typing
from .output_parameter import OutputParameter
from .action_block_data_schema import ActionBlockDataSchema
from .action_block_parameters_item import ActionBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .code_block_parameters_item import CodeBlockParametersItem
from .extraction_block_data_schema import ExtractionBlockDataSchema
from .extraction_block_parameters_item import ExtractionBlockParametersItem
from .file_download_block_data_schema import FileDownloadBlockDataSchema
from .file_download_block_parameters_item import FileDownloadBlockParametersItem
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from .file_type import FileType
from .for_loop_block_loop_over import ForLoopBlockLoopOver
from .url_block_data_schema import UrlBlockDataSchema
from .url_block_parameters_item import UrlBlockParametersItem
from .login_block_data_schema import LoginBlockDataSchema
from .login_block_parameters_item import LoginBlockParametersItem
from .navigation_block_data_schema import NavigationBlockDataSchema
from .navigation_block_parameters_item import NavigationBlockParametersItem
from .aws_secret_parameter import AwsSecretParameter
from .task_block_data_schema import TaskBlockDataSchema
from .task_block_parameters_item import TaskBlockParametersItem
from .text_prompt_block_parameters_item import TextPromptBlockParametersItem
from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import ValidationBlockParametersItem
from .wait_block_parameters_item import WaitBlockParametersItem
from ..core.pydantic_utilities import update_forward_refs
class ForLoopBlockLoopBlocksItem_Action(UniversalBaseModel):
block_type: typing.Literal["action"] = "action"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ActionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ActionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_Code(UniversalBaseModel):
block_type: typing.Literal["code"] = "code"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
code: str
parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = 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 ForLoopBlockLoopBlocksItem_DownloadToS3(UniversalBaseModel):
block_type: typing.Literal["download_to_s3"] = "download_to_s3"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
url: str
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 ForLoopBlockLoopBlocksItem_Extraction(UniversalBaseModel):
block_type: typing.Literal["extraction"] = "extraction"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: str
data_schema: typing.Optional[ExtractionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ExtractionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_FileDownload(UniversalBaseModel):
block_type: typing.Literal["file_download"] = "file_download"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[FileDownloadBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[FileDownloadBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_FileUpload(UniversalBaseModel):
block_type: typing.Literal["file_upload"] = "file_upload"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
storage_type: typing.Optional[FileStorageType] = None
s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None
aws_access_key_id: typing.Optional[str] = None
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: 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
class ForLoopBlockLoopBlocksItem_FileUrlParser(UniversalBaseModel):
block_type: typing.Literal["file_url_parser"] = "file_url_parser"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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 ForLoopBlockLoopBlocksItem_ForLoop(UniversalBaseModel):
block_type: typing.Literal["for_loop"] = "for_loop"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"]
loop_over: typing.Optional[ForLoopBlockLoopOver] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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
from .for_loop_block import ForLoopBlock # noqa: E402
class ForLoopBlockLoopBlocksItem_GotoUrl(UniversalBaseModel):
block_type: typing.Literal["goto_url"] = "goto_url"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: str
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[UrlBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[UrlBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_Login(UniversalBaseModel):
block_type: typing.Literal["login"] = "login"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[LoginBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[LoginBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_Navigation(UniversalBaseModel):
block_type: typing.Literal["navigation"] = "navigation"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: str
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[NavigationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[NavigationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_PdfParser(UniversalBaseModel):
block_type: typing.Literal["pdf_parser"] = "pdf_parser"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class ForLoopBlockLoopBlocksItem_SendEmail(UniversalBaseModel):
block_type: typing.Literal["send_email"] = "send_email"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
smtp_host: AwsSecretParameter
smtp_port: AwsSecretParameter
smtp_username: AwsSecretParameter
smtp_password: AwsSecretParameter
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: typing.Optional[typing.List[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
class ForLoopBlockLoopBlocksItem_Task(UniversalBaseModel):
block_type: typing.Literal["task"] = "task"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[TaskBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_TaskV2(UniversalBaseModel):
block_type: typing.Literal["task_v2"] = "task_v2"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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 ForLoopBlockLoopBlocksItem_TextPrompt(UniversalBaseModel):
block_type: typing.Literal["text_prompt"] = "text_prompt"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class ForLoopBlockLoopBlocksItem_UploadToS3(UniversalBaseModel):
block_type: typing.Literal["upload_to_s3"] = "upload_to_s3"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
path: 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
class ForLoopBlockLoopBlocksItem_Validation(UniversalBaseModel):
block_type: typing.Literal["validation"] = "validation"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ValidationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ValidationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 ForLoopBlockLoopBlocksItem_Wait(UniversalBaseModel):
block_type: typing.Literal["wait"] = "wait"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
wait_sec: int
parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = 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
ForLoopBlockLoopBlocksItem = typing.Union[
ForLoopBlockLoopBlocksItem_Action,
ForLoopBlockLoopBlocksItem_Code,
ForLoopBlockLoopBlocksItem_DownloadToS3,
ForLoopBlockLoopBlocksItem_Extraction,
ForLoopBlockLoopBlocksItem_FileDownload,
ForLoopBlockLoopBlocksItem_FileUpload,
ForLoopBlockLoopBlocksItem_FileUrlParser,
ForLoopBlockLoopBlocksItem_ForLoop,
ForLoopBlockLoopBlocksItem_GotoUrl,
ForLoopBlockLoopBlocksItem_Login,
ForLoopBlockLoopBlocksItem_Navigation,
ForLoopBlockLoopBlocksItem_PdfParser,
ForLoopBlockLoopBlocksItem_SendEmail,
ForLoopBlockLoopBlocksItem_Task,
ForLoopBlockLoopBlocksItem_TaskV2,
ForLoopBlockLoopBlocksItem_TextPrompt,
ForLoopBlockLoopBlocksItem_UploadToS3,
ForLoopBlockLoopBlocksItem_Validation,
ForLoopBlockLoopBlocksItem_Wait,
]
update_forward_refs(ForLoopBlockLoopBlocksItem_ForLoop)

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class ForLoopBlockLoopOver_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class ForLoopBlockLoopOver_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ForLoopBlockLoopOver_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
ForLoopBlockLoopOver = typing.Union[
ForLoopBlockLoopOver_AwsSecret,
ForLoopBlockLoopOver_BitwardenCreditCardData,
ForLoopBlockLoopOver_BitwardenLoginCredential,
ForLoopBlockLoopOver_BitwardenSensitiveInformation,
ForLoopBlockLoopOver_Context,
ForLoopBlockLoopOver_Credential,
ForLoopBlockLoopOver_Output,
ForLoopBlockLoopOver_Workflow,
]
update_forward_refs(ForLoopBlockLoopOver_Context)

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .login_block_data_schema import LoginBlockDataSchema
from .login_block_parameters_item import LoginBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class LoginBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[LoginBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[LoginBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
LoginBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class LoginBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class LoginBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 LoginBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
LoginBlockParametersItem = typing.Union[
LoginBlockParametersItem_AwsSecret,
LoginBlockParametersItem_BitwardenCreditCardData,
LoginBlockParametersItem_BitwardenLoginCredential,
LoginBlockParametersItem_BitwardenSensitiveInformation,
LoginBlockParametersItem_Context,
LoginBlockParametersItem_Credential,
LoginBlockParametersItem_Output,
LoginBlockParametersItem_Workflow,
]
update_forward_refs(LoginBlockParametersItem_Context)

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .navigation_block_data_schema import NavigationBlockDataSchema
from .navigation_block_parameters_item import NavigationBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class NavigationBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: str
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[NavigationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[NavigationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
NavigationBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class NavigationBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class NavigationBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 NavigationBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
NavigationBlockParametersItem = typing.Union[
NavigationBlockParametersItem_AwsSecret,
NavigationBlockParametersItem_BitwardenCreditCardData,
NavigationBlockParametersItem_BitwardenLoginCredential,
NavigationBlockParametersItem_BitwardenSensitiveInformation,
NavigationBlockParametersItem_Context,
NavigationBlockParametersItem_Credential,
NavigationBlockParametersItem_Output,
NavigationBlockParametersItem_Workflow,
]
update_forward_refs(NavigationBlockParametersItem_Context)

View File

@@ -0,0 +1,26 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class OutputParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,24 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class PdfParserBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow

View File

@@ -0,0 +1,32 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from .aws_secret_parameter import AwsSecretParameter
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class SendEmailBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
smtp_host: AwsSecretParameter
smtp_port: AwsSecretParameter
smtp_username: AwsSecretParameter
smtp_password: AwsSecretParameter
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: typing.Optional[typing.List[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

@@ -0,0 +1,206 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from ..core.pydantic_utilities import update_forward_refs
class Source_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
class Source_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 Source_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
Source = typing.Union[
Source_Workflow,
Source_Context,
Source_AwsSecret,
Source_BitwardenLoginCredential,
Source_BitwardenSensitiveInformation,
Source_BitwardenCreditCardData,
Source_Output,
Source_Credential,
]
update_forward_refs(Source_Context)

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .task_block_data_schema import TaskBlockDataSchema
from .task_block_parameters_item import TaskBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class TaskBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[TaskBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
TaskBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class TaskBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class TaskBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TaskBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
TaskBlockParametersItem = typing.Union[
TaskBlockParametersItem_AwsSecret,
TaskBlockParametersItem_BitwardenCreditCardData,
TaskBlockParametersItem_BitwardenLoginCredential,
TaskBlockParametersItem_BitwardenSensitiveInformation,
TaskBlockParametersItem_Context,
TaskBlockParametersItem_Credential,
TaskBlockParametersItem_Output,
TaskBlockParametersItem_Workflow,
]
update_forward_refs(TaskBlockParametersItem_Context)

View File

@@ -5,6 +5,7 @@ import pydantic
from .run_status import RunStatus
import typing
from .output import Output
from .file_info import FileInfo
import datetime as dt
from .task_run_request import TaskRunRequest
from ..core.pydantic_utilities import IS_PYDANTIC_V2
@@ -26,6 +27,16 @@ class TaskRunResponse(UniversalBaseModel):
Output data from the run, if any. Format depends on the schema in the input
"""
downloaded_files: typing.Optional[typing.List[FileInfo]] = pydantic.Field(default=None)
"""
List of files downloaded during the run
"""
recording_url: typing.Optional[str] = pydantic.Field(default=None)
"""
URL to the recording of the run
"""
failure_reason: typing.Optional[str] = pydantic.Field(default=None)
"""
Reason for failure if the run failed

View File

@@ -0,0 +1,28 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class TaskV2Block(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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

@@ -0,0 +1,28 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .text_prompt_block_parameters_item import TextPromptBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class TextPromptBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class TextPromptBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class TextPromptBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 TextPromptBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
TextPromptBlockParametersItem = typing.Union[
TextPromptBlockParametersItem_AwsSecret,
TextPromptBlockParametersItem_BitwardenCreditCardData,
TextPromptBlockParametersItem_BitwardenLoginCredential,
TextPromptBlockParametersItem_BitwardenSensitiveInformation,
TextPromptBlockParametersItem_Context,
TextPromptBlockParametersItem_Credential,
TextPromptBlockParametersItem_Output,
TextPromptBlockParametersItem_Workflow,
]
update_forward_refs(TextPromptBlockParametersItem_Context)

View File

@@ -0,0 +1,23 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .output_parameter import OutputParameter
import typing
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class UploadToS3Block(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
path: 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

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .url_block_data_schema import UrlBlockDataSchema
from .url_block_parameters_item import UrlBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class UrlBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: str
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[UrlBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[UrlBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
UrlBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class UrlBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class UrlBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 UrlBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
UrlBlockParametersItem = typing.Union[
UrlBlockParametersItem_AwsSecret,
UrlBlockParametersItem_BitwardenCreditCardData,
UrlBlockParametersItem_BitwardenLoginCredential,
UrlBlockParametersItem_BitwardenSensitiveInformation,
UrlBlockParametersItem_Context,
UrlBlockParametersItem_Credential,
UrlBlockParametersItem_Output,
UrlBlockParametersItem_Workflow,
]
update_forward_refs(UrlBlockParametersItem_Context)

View File

@@ -0,0 +1,43 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import ValidationBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class ValidationBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ValidationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ValidationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
ValidationBlockDataSchema = typing.Union[
typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class ValidationBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class ValidationBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 ValidationBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
ValidationBlockParametersItem = typing.Union[
ValidationBlockParametersItem_AwsSecret,
ValidationBlockParametersItem_BitwardenCreditCardData,
ValidationBlockParametersItem_BitwardenLoginCredential,
ValidationBlockParametersItem_BitwardenSensitiveInformation,
ValidationBlockParametersItem_Context,
ValidationBlockParametersItem_Credential,
ValidationBlockParametersItem_Output,
ValidationBlockParametersItem_Workflow,
]
update_forward_refs(ValidationBlockParametersItem_Context)

View File

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
Value = typing.Union[
str, int, float, bool, typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,26 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .output_parameter import OutputParameter
import typing
from .wait_block_parameters_item import WaitBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WaitBlock(UniversalBaseModel):
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
wait_sec: int
parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = 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

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class WaitBlockParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class WaitBlockParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WaitBlockParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
WaitBlockParametersItem = typing.Union[
WaitBlockParametersItem_AwsSecret,
WaitBlockParametersItem_BitwardenCreditCardData,
WaitBlockParametersItem_BitwardenLoginCredential,
WaitBlockParametersItem_BitwardenSensitiveInformation,
WaitBlockParametersItem_Context,
WaitBlockParametersItem_Credential,
WaitBlockParametersItem_Output,
WaitBlockParametersItem_Workflow,
]
update_forward_refs(WaitBlockParametersItem_Context)

View File

@@ -0,0 +1,41 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .for_loop_block import ForLoopBlock
import typing
from .workflow_definition import WorkflowDefinition
from .proxy_location import ProxyLocation
from .workflow_status import WorkflowStatus
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class Workflow(UniversalBaseModel):
workflow_id: str
organization_id: str
title: str
workflow_permanent_id: str
version: int
is_saved_task: bool
description: typing.Optional[str] = None
workflow_definition: WorkflowDefinition
proxy_location: typing.Optional[ProxyLocation] = None
webhook_callback_url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
persist_browser_session: typing.Optional[bool] = None
status: typing.Optional[WorkflowStatus] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,24 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
from .for_loop_block import ForLoopBlock
import typing
from .workflow_definition_parameters_item import WorkflowDefinitionParametersItem
from .workflow_definition_blocks_item import WorkflowDefinitionBlocksItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WorkflowDefinition(UniversalBaseModel):
parameters: typing.List[WorkflowDefinitionParametersItem]
blocks: typing.List[WorkflowDefinitionBlocksItem]
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,550 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
from .context_parameter import ContextParameter
import typing
from .output_parameter import OutputParameter
from .action_block_data_schema import ActionBlockDataSchema
from .action_block_parameters_item import ActionBlockParametersItem
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .code_block_parameters_item import CodeBlockParametersItem
from .extraction_block_data_schema import ExtractionBlockDataSchema
from .extraction_block_parameters_item import ExtractionBlockParametersItem
from .file_download_block_data_schema import FileDownloadBlockDataSchema
from .file_download_block_parameters_item import FileDownloadBlockParametersItem
from .file_storage_type import FileStorageType
import typing_extensions
from ..core.serialization import FieldMetadata
from .file_type import FileType
from .for_loop_block_loop_over import ForLoopBlockLoopOver
from .url_block_data_schema import UrlBlockDataSchema
from .url_block_parameters_item import UrlBlockParametersItem
from .login_block_data_schema import LoginBlockDataSchema
from .login_block_parameters_item import LoginBlockParametersItem
from .navigation_block_data_schema import NavigationBlockDataSchema
from .navigation_block_parameters_item import NavigationBlockParametersItem
from .aws_secret_parameter import AwsSecretParameter
from .task_block_data_schema import TaskBlockDataSchema
from .task_block_parameters_item import TaskBlockParametersItem
from .text_prompt_block_parameters_item import TextPromptBlockParametersItem
from .validation_block_data_schema import ValidationBlockDataSchema
from .validation_block_parameters_item import ValidationBlockParametersItem
from .wait_block_parameters_item import WaitBlockParametersItem
from ..core.pydantic_utilities import update_forward_refs
class WorkflowDefinitionBlocksItem_Action(UniversalBaseModel):
block_type: typing.Literal["action"] = "action"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ActionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ActionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_Code(UniversalBaseModel):
block_type: typing.Literal["code"] = "code"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
code: str
parameters: typing.Optional[typing.List[CodeBlockParametersItem]] = 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 WorkflowDefinitionBlocksItem_DownloadToS3(UniversalBaseModel):
block_type: typing.Literal["download_to_s3"] = "download_to_s3"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
url: str
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 WorkflowDefinitionBlocksItem_Extraction(UniversalBaseModel):
block_type: typing.Literal["extraction"] = "extraction"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: str
data_schema: typing.Optional[ExtractionBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ExtractionBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_FileDownload(UniversalBaseModel):
block_type: typing.Literal["file_download"] = "file_download"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[FileDownloadBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[FileDownloadBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_FileUpload(UniversalBaseModel):
block_type: typing.Literal["file_upload"] = "file_upload"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
storage_type: typing.Optional[FileStorageType] = None
s3bucket: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="s3_bucket")] = None
aws_access_key_id: typing.Optional[str] = None
aws_secret_access_key: typing.Optional[str] = None
region_name: typing.Optional[str] = None
path: 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
class WorkflowDefinitionBlocksItem_FileUrlParser(UniversalBaseModel):
block_type: typing.Literal["file_url_parser"] = "file_url_parser"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
file_type: FileType = "csv"
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 WorkflowDefinitionBlocksItem_ForLoop(UniversalBaseModel):
block_type: typing.Literal["for_loop"] = "for_loop"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
loop_blocks: typing.List["ForLoopBlockLoopBlocksItem"]
loop_over: typing.Optional[ForLoopBlockLoopOver] = None
loop_variable_reference: typing.Optional[str] = None
complete_if_empty: typing.Optional[bool] = 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
from .for_loop_block import ForLoopBlock # noqa: E402
from .for_loop_block_loop_blocks_item import ForLoopBlockLoopBlocksItem # noqa: E402
class WorkflowDefinitionBlocksItem_GotoUrl(UniversalBaseModel):
block_type: typing.Literal["goto_url"] = "goto_url"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: str
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[UrlBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[UrlBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_Login(UniversalBaseModel):
block_type: typing.Literal["login"] = "login"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[LoginBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[LoginBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_Navigation(UniversalBaseModel):
block_type: typing.Literal["navigation"] = "navigation"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: str
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[NavigationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[NavigationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_PdfParser(UniversalBaseModel):
block_type: typing.Literal["pdf_parser"] = "pdf_parser"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
file_url: str
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class WorkflowDefinitionBlocksItem_SendEmail(UniversalBaseModel):
block_type: typing.Literal["send_email"] = "send_email"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
smtp_host: AwsSecretParameter
smtp_port: AwsSecretParameter
smtp_username: AwsSecretParameter
smtp_password: AwsSecretParameter
sender: str
recipients: typing.List[str]
subject: str
body: str
file_attachments: typing.Optional[typing.List[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
class WorkflowDefinitionBlocksItem_Task(UniversalBaseModel):
block_type: typing.Literal["task"] = "task"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[TaskBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[TaskBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_TaskV2(UniversalBaseModel):
block_type: typing.Literal["task_v2"] = "task_v2"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
prompt: str
url: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
max_iterations: typing.Optional[int] = None
max_steps: typing.Optional[int] = 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 WorkflowDefinitionBlocksItem_TextPrompt(UniversalBaseModel):
block_type: typing.Literal["text_prompt"] = "text_prompt"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
llm_key: typing.Optional[str] = None
prompt: str
parameters: typing.Optional[typing.List[TextPromptBlockParametersItem]] = None
json_schema: 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
else:
class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
class WorkflowDefinitionBlocksItem_UploadToS3(UniversalBaseModel):
block_type: typing.Literal["upload_to_s3"] = "upload_to_s3"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
path: 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
class WorkflowDefinitionBlocksItem_Validation(UniversalBaseModel):
block_type: typing.Literal["validation"] = "validation"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
task_type: typing.Optional[str] = None
url: typing.Optional[str] = None
title: typing.Optional[str] = None
complete_criterion: typing.Optional[str] = None
terminate_criterion: typing.Optional[str] = None
navigation_goal: typing.Optional[str] = None
data_extraction_goal: typing.Optional[str] = None
data_schema: typing.Optional[ValidationBlockDataSchema] = None
error_code_mapping: typing.Optional[typing.Dict[str, typing.Optional[str]]] = None
max_retries: typing.Optional[int] = None
max_steps_per_run: typing.Optional[int] = None
parameters: typing.Optional[typing.List[ValidationBlockParametersItem]] = None
complete_on_download: typing.Optional[bool] = None
download_suffix: typing.Optional[str] = None
totp_verification_url: typing.Optional[str] = None
totp_identifier: typing.Optional[str] = None
cache_actions: typing.Optional[bool] = None
complete_verification: typing.Optional[bool] = 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 WorkflowDefinitionBlocksItem_Wait(UniversalBaseModel):
block_type: typing.Literal["wait"] = "wait"
label: str
output_parameter: OutputParameter
continue_on_failure: typing.Optional[bool] = None
wait_sec: int
parameters: typing.Optional[typing.List[WaitBlockParametersItem]] = 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
WorkflowDefinitionBlocksItem = typing.Union[
WorkflowDefinitionBlocksItem_Action,
WorkflowDefinitionBlocksItem_Code,
WorkflowDefinitionBlocksItem_DownloadToS3,
WorkflowDefinitionBlocksItem_Extraction,
WorkflowDefinitionBlocksItem_FileDownload,
WorkflowDefinitionBlocksItem_FileUpload,
WorkflowDefinitionBlocksItem_FileUrlParser,
WorkflowDefinitionBlocksItem_ForLoop,
WorkflowDefinitionBlocksItem_GotoUrl,
WorkflowDefinitionBlocksItem_Login,
WorkflowDefinitionBlocksItem_Navigation,
WorkflowDefinitionBlocksItem_PdfParser,
WorkflowDefinitionBlocksItem_SendEmail,
WorkflowDefinitionBlocksItem_Task,
WorkflowDefinitionBlocksItem_TaskV2,
WorkflowDefinitionBlocksItem_TextPrompt,
WorkflowDefinitionBlocksItem_UploadToS3,
WorkflowDefinitionBlocksItem_Validation,
WorkflowDefinitionBlocksItem_Wait,
]
update_forward_refs(WorkflowDefinitionBlocksItem_ForLoop)

View File

@@ -0,0 +1,207 @@
# This file was auto-generated by Fern from our API Definition.
from __future__ import annotations
from ..core.pydantic_utilities import UniversalBaseModel
import typing
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
from .value import Value
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
from ..core.pydantic_utilities import update_forward_refs
class WorkflowDefinitionParametersItem_AwsSecret(UniversalBaseModel):
parameter_type: typing.Literal["aws_secret"] = "aws_secret"
key: str
description: typing.Optional[str] = None
aws_secret_parameter_id: str
workflow_id: str
aws_key: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_BitwardenCreditCardData(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_credit_card_data"] = "bitwarden_credit_card_data"
key: str
description: typing.Optional[str] = None
bitwarden_credit_card_data_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_item_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_BitwardenLoginCredential(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_login_credential"] = "bitwarden_login_credential"
key: str
description: typing.Optional[str] = None
bitwarden_login_credential_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
url_parameter_key: typing.Optional[str] = None
bitwarden_collection_id: typing.Optional[str] = None
bitwarden_item_id: typing.Optional[str] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_BitwardenSensitiveInformation(UniversalBaseModel):
parameter_type: typing.Literal["bitwarden_sensitive_information"] = "bitwarden_sensitive_information"
key: str
description: typing.Optional[str] = None
bitwarden_sensitive_information_parameter_id: str
workflow_id: str
bitwarden_client_id_aws_secret_key: str
bitwarden_client_secret_aws_secret_key: str
bitwarden_master_password_aws_secret_key: str
bitwarden_collection_id: str
bitwarden_identity_key: str
bitwarden_identity_fields: typing.List[str]
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_Context(UniversalBaseModel):
parameter_type: typing.Literal["context"] = "context"
key: str
description: typing.Optional[str] = None
source: "Source"
value: typing.Optional[Value] = 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
from .context_parameter import ContextParameter # noqa: E402
from .source import Source # noqa: E402
class WorkflowDefinitionParametersItem_Credential(UniversalBaseModel):
parameter_type: typing.Literal["credential"] = "credential"
key: str
description: typing.Optional[str] = None
credential_parameter_id: str
workflow_id: str
credential_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_Output(UniversalBaseModel):
parameter_type: typing.Literal["output"] = "output"
key: str
description: typing.Optional[str] = None
output_parameter_id: str
workflow_id: str
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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 WorkflowDefinitionParametersItem_Workflow(UniversalBaseModel):
parameter_type: typing.Literal["workflow"] = "workflow"
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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
WorkflowDefinitionParametersItem = typing.Union[
WorkflowDefinitionParametersItem_AwsSecret,
WorkflowDefinitionParametersItem_BitwardenCreditCardData,
WorkflowDefinitionParametersItem_BitwardenLoginCredential,
WorkflowDefinitionParametersItem_BitwardenSensitiveInformation,
WorkflowDefinitionParametersItem_Context,
WorkflowDefinitionParametersItem_Credential,
WorkflowDefinitionParametersItem_Output,
WorkflowDefinitionParametersItem_Workflow,
]
update_forward_refs(WorkflowDefinitionParametersItem_Context)

View File

@@ -0,0 +1,30 @@
# This file was auto-generated by Fern from our API Definition.
from ..core.pydantic_utilities import UniversalBaseModel
import typing
from .workflow_parameter_type import WorkflowParameterType
from .workflow_parameter_default_value import WorkflowParameterDefaultValue
import datetime as dt
from ..core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic
class WorkflowParameter(UniversalBaseModel):
key: str
description: typing.Optional[str] = None
workflow_parameter_id: str
workflow_parameter_type: WorkflowParameterType
workflow_id: str
default_value: typing.Optional[WorkflowParameterDefaultValue] = None
created_at: dt.datetime
modified_at: dt.datetime
deleted_at: typing.Optional[dt.datetime] = 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

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
WorkflowParameterDefaultValue = typing.Union[
str, int, float, bool, typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
]

View File

@@ -0,0 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
import typing
WorkflowParameterType = typing.Union[
typing.Literal["string", "integer", "float", "boolean", "json", "file_url", "credential_id"], typing.Any
]

View File

@@ -5,6 +5,7 @@ import pydantic
from .run_status import RunStatus
import typing
from .output import Output
from .file_info import FileInfo
import datetime as dt
from .workflow_run_request import WorkflowRunRequest
from ..core.pydantic_utilities import IS_PYDANTIC_V2
@@ -26,6 +27,16 @@ class WorkflowRunResponse(UniversalBaseModel):
Output data from the run, if any. Format depends on the schema in the input
"""
downloaded_files: typing.Optional[typing.List[FileInfo]] = pydantic.Field(default=None)
"""
List of files downloaded during the run
"""
recording_url: typing.Optional[str] = pydantic.Field(default=None)
"""
URL to the recording of the run
"""
failure_reason: typing.Optional[str] = pydantic.Field(default=None)
"""
Reason for failure if the run failed

View File

@@ -0,0 +1,5 @@
# This file was auto-generated by Fern from our API Definition.
import typing
WorkflowStatus = typing.Union[typing.Literal["published", "draft", "auto_generated"], typing.Any]