aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/shared/api/models/management
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/shared/api/models/management')
-rw-r--r--.venv/lib/python3.12/site-packages/shared/api/models/management/__init__.py0
-rw-r--r--.venv/lib/python3.12/site-packages/shared/api/models/management/responses.py168
2 files changed, 168 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/shared/api/models/management/__init__.py b/.venv/lib/python3.12/site-packages/shared/api/models/management/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/shared/api/models/management/__init__.py
diff --git a/.venv/lib/python3.12/site-packages/shared/api/models/management/responses.py b/.venv/lib/python3.12/site-packages/shared/api/models/management/responses.py
new file mode 100644
index 00000000..5e8b67a2
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/shared/api/models/management/responses.py
@@ -0,0 +1,168 @@
+from datetime import datetime
+from typing import Any, Optional
+from uuid import UUID
+
+from pydantic import BaseModel
+
+from shared.abstractions.document import DocumentResponse
+from shared.abstractions.llm import Message
+from shared.abstractions.user import Token, User
+from shared.api.models.base import PaginatedR2RResult, R2RResults
+
+
+class PromptResponse(BaseModel):
+ id: UUID
+ name: str
+ template: str
+ created_at: datetime
+ updated_at: datetime
+ input_types: dict[str, str]
+
+
+class ServerStats(BaseModel):
+ start_time: datetime
+ uptime_seconds: float
+ cpu_usage: float
+ memory_usage: float
+
+
+class SettingsResponse(BaseModel):
+ config: dict[str, Any]
+ prompts: dict[str, Any]
+ r2r_project_name: str
+ # r2r_version: str
+
+
+class ChunkResponse(BaseModel):
+ id: UUID
+ document_id: UUID
+ owner_id: UUID
+ collection_ids: list[UUID]
+ text: str
+ metadata: dict[str, Any]
+ vector: Optional[list[float]] = None
+
+
+class CollectionResponse(BaseModel):
+ id: UUID
+ owner_id: Optional[UUID]
+ name: str
+ description: Optional[str]
+ graph_cluster_status: str
+ graph_sync_status: str
+ created_at: datetime
+ updated_at: datetime
+ user_count: int
+ document_count: int
+
+
+class ConversationResponse(BaseModel):
+ id: UUID
+ created_at: datetime
+ user_id: Optional[UUID] = None
+ name: Optional[str] = None
+
+
+class MessageResponse(BaseModel):
+ id: UUID
+ message: Message
+ metadata: dict[str, Any] = {}
+
+
+class ApiKey(BaseModel):
+ public_key: str
+ api_key: str
+ key_id: str
+ name: Optional[str] = None
+
+
+class ApiKeyNoPriv(BaseModel):
+ public_key: str
+ key_id: str
+ name: Optional[str] = None
+ updated_at: datetime
+ description: Optional[str] = None
+
+
+class LoginResponse(BaseModel):
+ access_token: Token
+ refresh_token: Token
+
+
+class UsageLimit(BaseModel):
+ used: int
+ limit: int
+ remaining: int
+
+
+class StorageTypeLimit(BaseModel):
+ limit: int
+ used: int
+ remaining: int
+
+
+class StorageLimits(BaseModel):
+ chunks: StorageTypeLimit
+ documents: StorageTypeLimit
+ collections: StorageTypeLimit
+
+
+class RouteUsage(BaseModel):
+ route_per_min: UsageLimit
+ monthly_limit: UsageLimit
+
+
+class Usage(BaseModel):
+ global_per_min: UsageLimit
+ monthly_limit: UsageLimit
+ routes: dict[str, RouteUsage]
+
+
+class SystemDefaults(BaseModel):
+ global_per_min: int
+ route_per_min: Optional[int]
+ monthly_limit: int
+
+
+class LimitsResponse(BaseModel):
+ storage_limits: StorageLimits
+ system_defaults: SystemDefaults
+ user_overrides: dict
+ effective_limits: SystemDefaults
+ usage: Usage
+
+
+# Chunk Responses
+WrappedChunkResponse = R2RResults[ChunkResponse]
+WrappedChunksResponse = PaginatedR2RResult[list[ChunkResponse]]
+
+# Collection Responses
+WrappedCollectionResponse = R2RResults[CollectionResponse]
+WrappedCollectionsResponse = PaginatedR2RResult[list[CollectionResponse]]
+
+# Conversation Responses
+WrappedConversationMessagesResponse = R2RResults[list[MessageResponse]]
+WrappedConversationResponse = R2RResults[ConversationResponse]
+WrappedConversationsResponse = PaginatedR2RResult[list[ConversationResponse]]
+WrappedMessageResponse = R2RResults[MessageResponse]
+WrappedMessagesResponse = PaginatedR2RResult[list[MessageResponse]]
+
+# Document Responses
+WrappedDocumentResponse = R2RResults[DocumentResponse]
+WrappedDocumentsResponse = PaginatedR2RResult[list[DocumentResponse]]
+
+# Prompt Responses
+WrappedPromptResponse = R2RResults[PromptResponse]
+WrappedPromptsResponse = PaginatedR2RResult[list[PromptResponse]]
+
+# System Responses
+WrappedSettingsResponse = R2RResults[SettingsResponse]
+WrappedServerStatsResponse = R2RResults[ServerStats]
+
+# User Responses
+WrappedUserResponse = R2RResults[User]
+WrappedUsersResponse = PaginatedR2RResult[list[User]]
+WrappedAPIKeyResponse = R2RResults[ApiKey]
+WrappedAPIKeysResponse = PaginatedR2RResult[list[ApiKeyNoPriv]]
+WrappedLoginResponse = R2RResults[LoginResponse]
+WrappedLimitsResponse = R2RResults[LimitsResponse]