Documentation

Core Enums

String enums used throughout the SDK

Single Import Pattern

All enums are available as class attributes on AionVision and SyncAionVision. Access via AionVision.DescriptionStatus, AionVision.ChatTokenType, etc.

These enums inherit from both str and Enum for JSON compatibility.

DescriptionStatus

Status of AI description generation for an image

class DescriptionStatus(str, Enum):
PENDING = "pending" # Not yet started
QUEUED = "queued" # In queue for processing
PROCESSING = "processing" # Currently being processed
COMPLETED = "completed" # Successfully completed
FAILED = "failed" # Processing failed
SKIPPED = "skipped" # Skipped (e.g., duplicate)

ChatTokenType

Type of event in streaming chat responses

class ChatTokenType(str, Enum):
TOKEN = "token" # Text token
STATUS = "status" # Status update (searching, analyzing, etc.)
IMAGE_RESULTS = "image_results" # Images found during response
COMPLETE = "complete" # Response finished
ERROR = "error" # Error occurred
RECONNECTING = "reconnecting" # SDK reconnection attempt (client-side only)
PLAN_PENDING_APPROVAL = "plan_pending_approval" # Plan requires user approval
THINKING = "thinking" # AI reasoning content
THINKING_STEP = "thinking_step" # Individual reasoning step
TOOL_INVOCATION = "tool_invocation" # Agent tool being invoked
TOOL_RESULT = "tool_result" # Result from agent tool
CONNECTION = "connection" # Connection state change
PING = "ping" # Server keep-alive
CLOSE = "close" # Server closing stream
AUTH_ERROR = "auth_error" # Authentication error

StorageTarget

Target storage location for uploads

class StorageTarget(str, Enum):
DEFAULT = "default" # Use Aionvision's managed storage
CUSTOM = "custom" # Use tenant's custom S3 bucket

MessageRole

Role of a message in a chat conversation

class MessageRole(str, Enum):
USER = "user" # Message from user
ASSISTANT = "assistant" # Response from AI
SYSTEM = "system" # System message

VerificationLevel

Verification thoroughness levels

class VerificationLevel(str, Enum):
QUICK = "quick" # Fast, single provider
STANDARD = "standard" # Balanced speed/accuracy (default)
THOROUGH = "thorough" # Multiple providers, consensus
CRITICAL = "critical" # Maximum accuracy, all providers

DescriptionErrorType

Classification of description errors

class DescriptionErrorType(str, Enum):
TIMEOUT = "timeout" # AI provider timed out (retryable)
RATE_LIMIT = "rate_limit" # 429 response (retryable)
VLM_ERROR = "vlm_error" # AI provider error (retryable)
VALIDATION_ERROR = "validation" # Invalid input (permanent)
RESOURCE_LIMIT = "resource_limit" # Quota exceeded (permanent)
UNKNOWN = "unknown" # Unclassified (not retryable)

CloudStorageProvider

Supported cloud storage providers

class CloudStorageProvider(str, Enum):
GOOGLE_DRIVE = "google_drive" # Google Drive

CloudStorageJobStatus

Status of a cloud storage import/export job

class CloudStorageJobStatus(str, Enum):
PENDING = "pending" # Job created, waiting to start
IN_PROGRESS = "in_progress" # Files are being transferred
COMPLETED = "completed" # All files transferred successfully
PARTIAL = "partial" # Some files succeeded, some failed
FAILED = "failed" # Job failed completely
CANCELLED = "cancelled" # Job was cancelled

CloudStorageJobType

Type of cloud storage job

class CloudStorageJobType(str, Enum):
IMPORT = "import" # Importing files from cloud storage
EXPORT = "export" # Exporting files to cloud storage

AgentCapability

Capability declared by an agent in its contract

class AgentCapability(str, Enum):
SEARCH = "search" # Find files by query
FILTER = "filter" # Narrow results by criteria
ANALYSIS = "analysis" # Analyze content
COMPARISON = "comparison" # Compare items
EXPORT = "export" # Export/format results
SUMMARIZATION = "summarization" # Summarize content
RECOMMENDATION = "recommendation" # Suggest items
VISUALIZATION = "visualization" # Visual output
ANALYTICS = "analytics" # Compute statistics
CROSS_REFERENCE = "cross_reference" # Link related items
SYNTHESIS = "synthesis" # Combine information
ORGANIZATION = "organization" # Categorize/organize
CONVERSATIONAL = "conversational" # Multi-turn dialogue

Used in AgentContract to declare what an agent does. See Agent Data Flow Types.