Documentation
Agent Operation Types
Types for AI agent operations (synthesis, document analysis, file organization)
SynthesizeResult
Result from AI-powered report synthesis
@dataclass(frozen=True)class SynthesizeResult: success: bool # Whether synthesis succeeded report: str # Generated report content summary: str # Brief summary image_count: int # Images included document_count: int # Documents included saved_document_id: Optional[str] # Document ID if auto_save=True execution_time_ms: int # Processing time iterations: int # ReAct reasoning iterations token_usage: Optional[dict[str, int]] = None # Token usage statsDocumentAnalysisResult
Result from AI-powered document analysis
@dataclass(frozen=True)class DocumentAnalysisResult: success: bool # Whether analysis succeeded analysis: str # Full analysis content summary: str # Brief summary document_count: int # Documents analyzed categorization: Optional[dict[str, Any]] # Document categorization chunk_references: list[ChunkReference] # Cited document chunks execution_time_ms: int # Processing time iterations: int # ReAct reasoning iterations token_usage: Optional[dict[str, int]] = None # Token usage statsOrganizeResult
Result from AI-driven file organization
@dataclass(frozen=True)class OrganizeResult: success: bool # Whether organization succeeded summary: str # Summary of actions taken actions: list[FolderActionDetail] # Individual folder operations folders_created: int # New folders created files_moved: int # Files moved to folders execution_time_ms: int # Processing time iterations: int # ReAct reasoning iterations token_usage: Optional[dict[str, int]] = None # Token usage statsChunkReference
Reference to a document chunk cited in an analysis
@dataclass(frozen=True)class ChunkReference: chunk_id: str # Chunk identifier document_id: str # Parent document ID document_filename: Optional[str] = None # Source filename page_numbers: Optional[list[int]] = None # Pages referencedFolderActionDetail
Detail of a single folder operation performed during organization
@dataclass(frozen=True)class FolderActionDetail: action: str # Type of action performed folder_id: Optional[str] = None # Affected folder ID folder_name: Optional[str] = None # Folder name file_count: Optional[int] = None # Files affected