OpenHands/openhands/storage/data_models/conversation_metadata.py
Rohit Malhotra 0491357fef
[Refactor]: Collapse initial user message for cloud resolver (#7871)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-04-17 15:09:28 -04:00

28 lines
801 B
Python

from dataclasses import dataclass, field
from datetime import datetime, timezone
from enum import Enum
from openhands.integrations.service_types import ProviderType
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