Backup #2024

ID2024
Dateipfad/var/www/dev.campus.systemische-tools.de/src/Domain/Repository/ChatSessionRepositoryInterface.php
Version5
Typ modified
Größe1.9 KB
Hashfd75e216f32e74ed58f7e7f0fdb78bfed31e07433263ab6df876b19ed9d066e2
Datum2025-12-28 23:21:15
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-Session-Persistenz

use Domain\Entity\ChatSession;

interface ChatSessionRepositoryInterface
{
    /**
     * Find session by UUID.
     */
    public function findByUuid(string $uuid): ?ChatSession;

    /**
     * Get all sessions with statistics.
     *
     * @return array<int, ChatSession>
     */
    public function findAll(int $limit = 50): array;

    /**
     * Get all sessions as arrays (for list views with aggregated data).
     *
     * @return array<int, array<string, mixed>>
     */
    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<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): void;

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

    /**
     * Delete all sessions.
     */
    public function deleteAll(): int;

    /**
     * Touch session (update last_activity timestamp).
     */
    public function touch(int $sessionId): void;

    /**
     * Generate UUID v4.
     */
    public function generateUuid(): string;
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
2024 5 modified 1.9 KB 2025-12-28 23:21
1540 4 modified 1.9 KB 2025-12-26 20:05
1120 3 modified 1.7 KB 2025-12-25 09:36
1119 2 modified 1.5 KB 2025-12-25 09:36
801 1 modified 1.4 KB 2025-12-23 08:07

← Zurück zur Übersicht