Backup #1125

ID1125
Dateipfad/var/www/dev.campus.systemische-tools.de/src/UseCases/Chat/LoadChatSessionUseCase.php
Version3
Typ modified
Größe1.4 KB
Hashf37b8de507a3b38c2d780b04d4dd5b2323ad9774d68b84cc29188ffb38611298
Datum2025-12-25 09:40:09
Geändert vonclaude-code-hook
GrundClaude Code Pre-Hook Backup vor Edit-Operation
Datei existiert Ja

Dateiinhalt

<?php

declare(strict_types=1);

namespace UseCases\Chat;

// @responsibility: Lädt Chat-Session mit allen Nachrichten

use Domain\Repository\ChatMessageRepositoryInterface;
use Domain\Repository\ChatSessionRepositoryInterface;

class LoadChatSessionUseCase
{
    public function __construct(
        private ChatSessionRepositoryInterface $sessionRepo,
        private ChatMessageRepositoryInterface $messageRepo
    ) {
    }

    /**
     * Load session by UUID with all messages
     */
    public function execute(string $uuid): ?ChatSessionDTO
    {
        $session = $this->sessionRepo->findByUuid($uuid);

        if ($session === null) {
            return null;
        }

        $messages = $this->messageRepo->findBySessionId($session['id']);

        return new ChatSessionDTO($session, $messages);
    }

    /**
     * Create a new session and return it
     */
    public function createNew(
        string $model = 'claude-opus-4-5-20251101',
        array $collections = ['documents'],
        int $contextLimit = 5
    ): ChatSessionDTO {
        $uuid = $this->sessionRepo->generateUuid();
        $collectionsJson = json_encode($collections);

        $this->sessionRepo->create($uuid, $model, $collectionsJson, $contextLimit);

        // Load the freshly created session
        $session = $this->sessionRepo->findByUuid($uuid);

        return new ChatSessionDTO($session ?? [], []);
    }
}

Vollständig herunterladen

Aktionen

Herunterladen

Andere Versionen dieser Datei

ID Version Typ Größe Datum
1469 7 modified 1.6 KB 2025-12-25 17:02
1461 6 modified 1.7 KB 2025-12-25 17:01
1457 5 modified 1.6 KB 2025-12-25 17:01
1454 4 modified 1.5 KB 2025-12-25 17:00
1125 3 modified 1.4 KB 2025-12-25 09:40
833 2 modified 1.6 KB 2025-12-23 08:16
715 1 modified 1.7 KB 2025-12-23 07:55

← Zurück zur Übersicht