diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/shared/api/models/management | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
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__.py | 0 | ||||
-rw-r--r-- | .venv/lib/python3.12/site-packages/shared/api/models/management/responses.py | 168 |
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] |