Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 112 additions & 6 deletions src/uipath/agent/models/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ class AgentInternalToolType(str, Enum):
"""Agent internal tool type enumeration."""

ANALYZE_FILES = "analyze-attachments"
DEEP_RAG = "deep-rag"
BATCH_TRANSFORM = "batch-transform"


class AgentEscalationRecipientType(str, Enum):
Expand Down Expand Up @@ -119,6 +121,33 @@ class TextTokenType(str, Enum):
EXPRESSION = "expression"


class CitationMode(str, Enum):
"""Citation mode enumeration."""

INLINE = "Inline"
SKIP = "Skip"


class DeepRagFileExtension(str, Enum):
"""File extension enumeration for DeepRAG."""

PDF = "pdf"
TXT = "txt"


class BatchTransformFileExtension(str, Enum):
"""File extension enumeration for Batch Transform."""

CSV = "csv"


class BatchTransformWebSearchGrounding(str, Enum):
"""Batch Transform web search grounding enumeration."""

ENABLED = "Enabled"
DISABLED = "Disabled"


class BaseCfg(BaseModel):
"""Base configuration model with common settings."""

Expand Down Expand Up @@ -234,9 +263,9 @@ class AgentUnknownResourceConfig(BaseAgentResourceConfig):
class AgentContextQuerySetting(BaseCfg):
"""Agent context query setting model."""

value: str | None = Field(None)
description: str | None = Field(None)
variant: str | None = Field(None)
value: str | None = Field(default=None)
description: str | None = Field(default=None)
variant: str | None = Field(default=None)


class AgentContextValueSetting(BaseCfg):
Expand All @@ -245,6 +274,30 @@ class AgentContextValueSetting(BaseCfg):
value: Any = Field(...)


class DeepRagCitationModeSetting(BaseCfg):
"""DeepRAG citation mode setting model."""

value: CitationMode = Field(...)


class DeepRagFileExtensionSetting(BaseCfg):
"""DeepRAG file extension setting model."""

value: DeepRagFileExtension = Field(...)


class BatchTransformFileExtensionSetting(BaseCfg):
"""Batch Transform file extension setting model."""

value: BatchTransformFileExtension = Field(...)


class BatchTransformWebSearchGroundingSetting(BaseCfg):
"""DeepRAG file extension setting model."""

value: BatchTransformWebSearchGrounding = Field(...)


class AgentContextOutputColumn(BaseCfg):
"""Agent context output column model."""

Expand Down Expand Up @@ -605,11 +658,64 @@ class AgentIntegrationToolProperties(BaseResourceProperties):
)


class AgentInternalToolProperties(BaseResourceProperties):
"""Agent internal tool properties model."""
class AgentInternalAnalyzeFilesToolProperties(BaseResourceProperties):
"""Agent internal analyze files tool properties model."""

tool_type: Literal[AgentInternalToolType.ANALYZE_FILES] = Field(
..., alias="toolType"
alias="toolType", default=AgentInternalToolType.ANALYZE_FILES, frozen=True
)


class AgentInternalDeepRagToolProperties(BaseResourceProperties):
"""Agent internal DeepRAG tool properties model."""

tool_type: Literal[AgentInternalToolType.DEEP_RAG] = Field(
alias="toolType", default=AgentInternalToolType.DEEP_RAG, frozen=True
)
settings: AgentInternalDeepRagSettings = Field(..., alias="settings")


class AgentInternalBatchTransformToolProperties(BaseResourceProperties):
"""Agent internal Batch Tranform tool properties model."""

tool_type: Literal[AgentInternalToolType.BATCH_TRANSFORM] = Field(
alias="toolType", default=AgentInternalToolType.BATCH_TRANSFORM, frozen=True
)
settings: AgentInternalBatchTransformSettings = Field(..., alias="settings")


AgentInternalToolProperties = Annotated[
Union[
AgentInternalAnalyzeFilesToolProperties,
AgentInternalDeepRagToolProperties,
AgentInternalBatchTransformToolProperties,
],
Field(discriminator="tool_type"),
]


class AgentInternalDeepRagSettings(BaseCfg):
"""Agent internal DeepRAG tool settings model."""

context_type: str = Field(..., alias="contextType")
query: AgentContextQuerySetting = Field(...)
folder_path_prefix: AgentContextQuerySetting = Field(None, alias="folderPathPrefix")
citation_mode: DeepRagCitationModeSetting = Field(..., alias="citationMode")
file_extension: DeepRagFileExtensionSetting = Field(..., alias="fileExtension")


class AgentInternalBatchTransformSettings(BaseCfg):
"""Agent internal Batch Transform tool settings model."""

context_type: str = Field(..., alias="contextType")
query: AgentContextQuerySetting = Field(...)
folder_path_prefix: AgentContextQuerySetting = Field(default=None, alias="folderPathPrefix")
file_extension: BatchTransformFileExtensionSetting = Field(
..., alias="fileExtension"
)
output_columns: List[AgentContextOutputColumn] = Field(..., alias="outputColumns")
web_search_grounding: BatchTransformWebSearchGroundingSetting = Field(
..., alias="webSearchGrounding"
)


Expand Down
4 changes: 4 additions & 0 deletions src/uipath/platform/common/interrupt_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,13 @@ class CreateDeepRag(BaseModel):

name: str
index_name: Annotated[str, Field(max_length=512)]
index_id: Annotated[str, Field(max_length=512)] | None = None
prompt: Annotated[str, Field(max_length=250000)]
glob_pattern: Annotated[str, Field(max_length=512, default="*")] = "**"
citation_mode: CitationMode = CitationMode.SKIP
index_folder_key: str | None = None
index_folder_path: str | None = None
is_ephemeral: bool | None = None


class WaitDeepRag(BaseModel):
Expand Down Expand Up @@ -118,6 +120,7 @@ class CreateBatchTransform(BaseModel):

name: str
index_name: str
index_id: Annotated[str, Field(max_length=512)] | None = None
prompt: Annotated[str, Field(max_length=250000)]
output_columns: list[BatchTransformOutputColumn]
storage_bucket_folder_path_prefix: Annotated[str | None, Field(max_length=512)] = (
Expand All @@ -127,6 +130,7 @@ class CreateBatchTransform(BaseModel):
destination_path: str
index_folder_key: str | None = None
index_folder_path: str | None = None
is_ephemeral: bool | None = None
Copy link
Collaborator

@radu-mocanu radu-mocanu Jan 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: as BatchTransform itself is not ephemeral, the index is

Suggested change
is_ephemeral: bool | None = None
is_ephemeral_index: bool | None = None



class WaitBatchTransform(BaseModel):
Expand Down
Loading
Loading