Backup #2098

ID2098
Dateipfad/var/www/dev.campus.systemische-tools.de/src/Domain/Repository/ChatMessageRepositoryInterface.php
Version4
Typ modified
Größe1.6 KB
Hash5f7c1b9593deea15c7070351053985a0b5de73321ee7422c8b8571fb617bbc28
Datum2025-12-29 08:44:21
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php

declare(strict_types=1);

namespace Domain\Repository;

// @responsibility: Vertrag für Chat-Nachrichten-Persistenz

use Domain\Entity\ChatMessage;

interface ChatMessageRepositoryInterface
{
    /**
     * Find messages by session ID as entities.
     *
     * @return array<int, ChatMessage>
     */
    public function findBySessionId(int $sessionId): array;

    /**
     * Save a message entity.
     */
    public function saveEntity(ChatMessage $message): int;

    /**
     * Save a message (legacy - use saveEntity() instead).
     *
     * @param array<string>|null $sources
     * @deprecated Use saveEntity() with ChatMessage entity instead
     * @see self::saveEntity()
     */
    public function save(
        int $sessionId,
        string $role,
        string $content,
        string $model,
        ?int $tokensInput = null,
        ?int $tokensOutput = null,
        ?array $sources = null,
        ?float $startMicrotime = null,
        ?float $endMicrotime = null,
        ?int $authorProfileId = null,
        ?int $systemPromptId = null,
        ?string $collectionsJson = null,
        ?int $contextLimit = null
    ): int;

    /**
     * Delete message by ID.
     */
    public function delete(int $id): void;

    /**
     * Delete all messages for a session.
     */
    public function deleteBySessionId(int $sessionId): void;

    /**
     * Get message statistics for a session.
     *
     * @return array{message_count: int, total_input_tokens: int, total_output_tokens: int, total_duration: float}
     */
    public function getSessionStats(int $sessionId): array;
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
2098 4 modified 1.6 KB 2025-12-29 08:44
2022 3 modified 1.5 KB 2025-12-28 23:20
1121 2 modified 1.3 KB 2025-12-25 09:36
800 1 modified 1.3 KB 2025-12-23 08:07

← Zurück zur Übersicht