*/ public function findAll(int $limit = 50): array; /** * Get all sessions as arrays (for list views with aggregated data). * * @return array> */ public function findAllWithStats(int $limit = 50): array; /** * Save a session (create or update). */ public function save(ChatSession $session): int; /** * Create a new session (legacy - use save() instead). * * @deprecated Use save() with ChatSession entity */ public function create(string $uuid, string $model, string $collections, int $contextLimit): int; /** * Update session title. */ public function updateTitle(int $sessionId, string $title): void; /** * Update session settings. * * @param array $collections */ public function updateSettings( int $sessionId, string $model, array $collections, int $contextLimit, ?int $authorProfileId, float $temperature, int $maxTokens ): void; /** * Update system prompt. */ public function updateSystemPrompt(int $sessionId, ?string $systemPrompt): void; /** * Delete session by ID. */ public function delete(int $sessionId): void; /** * Touch session (update last_activity timestamp). */ public function touch(int $sessionId): void; /** * Generate UUID v4. */ public function generateUuid(): string; }