mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
27 lines
735 B
Python
27 lines
735 B
Python
from dataclasses import dataclass, field
|
|
from datetime import datetime, timezone
|
|
from enum import Enum
|
|
|
|
|
|
class ConversationTrigger(Enum):
|
|
RESOLVER = 'resolver'
|
|
GUI = 'gui'
|
|
|
|
|
|
@dataclass
|
|
class ConversationMetadata:
|
|
conversation_id: str
|
|
github_user_id: str | None
|
|
selected_repository: str | None
|
|
user_id: str | None = None
|
|
selected_branch: str | None = None
|
|
title: str | None = None
|
|
last_updated_at: datetime | None = None
|
|
trigger: ConversationTrigger | None = None
|
|
created_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))
|
|
# Cost and token metrics
|
|
accumulated_cost: float = 0.0
|
|
prompt_tokens: int = 0
|
|
completion_tokens: int = 0
|
|
total_tokens: int = 0
|