UpdateChatSessionUseCaseInterface.php

Code Hygiene Score: 100

Keine Issues gefunden.

Dependencies 1

Klassen 1

Funktionen 5

Verwendet von 4

Code

<?php

declare(strict_types=1);

namespace UseCases\Chat;

// @responsibility: Interface for updating chat session data

use Domain\Entity\ChatSession;

interface UpdateChatSessionUseCaseInterface
{
    /**
     * Update session title.
     */
    public function updateTitle(int $sessionId, string $title): string;

    /**
     * Update session settings.
     *
     * @param array<string> $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): ChatSessionResult;

    /**
     * Check if settings have changed.
     *
     * @param array<string> $collections
     */
    public function settingsHaveChanged(
        ChatSession $session,
        string $model,
        array $collections,
        int $contextLimit,
        int $authorProfileId,
        float $temperature,
        int $maxTokens
    ): bool;

    /**
     * Validate collection compatibility.
     *
     * @param array<string> $collectionIds
     * @return array{valid: bool, error: string|null}
     */
    public function validateCollectionCompatibility(array $collectionIds): array;
}
← Übersicht Graph