Skip to main content

.DIALOGSTORE

Speichert und stellt Dialogverläufe im LocalStorage wieder her (RAGAI.DIALOGSTORE).

Hintergrund

Anders als RAGAI.DIALOGRECORDER (Events-basiert, serverseitig via RAGAI.KEYVAL persistiert) arbeitet dieser Service rein clientseitig über localStorage und operiert auf dem kompletten aktuellen Nachrichtenverlauf (RAGAI.BOTMANAGER-Historie), nicht auf einzeln mitgeschnittenen Nachrichten. Ein gespeicherter Dialog überlebt daher einen Browser-Neustart auf demselben Gerät, ist aber nicht geräteübergreifend synchronisiert (im Gegensatz zu RAGAI.KEYVAL, das serverseitig pro Nutzer gespeichert wird). restoreDialogFromLocalStorage kann bestehende Verlaufsnachrichten optional vorher löschen (removeExisting) oder bereits vorhandene Nachrichten beim Wiederherstellen überspringen (ignoreExisting).

Methoden

.getCurrentDialog()

Lädt den aktuellen Nachrichtenverlauf des Bots.

Rückgabewert: Promise<HistoryItemResponse[]>

Der aktuelle Verlauf.

.storeDialogToLocalStorage(key)

Speichert den aktuellen Dialog im LocalStorage des Browsers.

ParameterTypBeschreibung
keystring | z.input<typeof dialogStoreKeySchema>Schlüssel/ID für die Speicherung, oder ein Objekt gemäß dialogStoreKeySchema. Ohne Angabe wird eine ID generiert.

Objekt-Form (validiert über dialogStoreKeySchema):

FeldTypPflichtBeschreibung
keystringSchlüssel/ID für die Speicherung im LocalStorage.

Rückgabewert: Promise<string>

Die verwendete Speicher-ID.

.restoreDialogFromLocalStorage(dialogId, removeExisting?, ignoreExisting?)

Stellt einen zuvor gespeicherten Dialog aus dem LocalStorage wieder her.

ParameterTypBeschreibung
dialogIdstring | z.input<typeof dialogStoreIdSchema>ID des gespeicherten Dialogs, oder ein Objekt gemäß dialogStoreIdSchema.
removeExistingbooleantrue, um den aktuellen Verlauf vorher zu löschen.
ignoreExistingbooleantrue, um bereits vorhandene Nachrichten nicht erneut hinzuzufügen.

Objekt-Form (validiert über dialogStoreIdSchema):

FeldTypPflichtBeschreibung
dialogIdstringID des gespeicherten Dialogs.

Rückgabewert: Promise<unknown>

Die hinzugefügten Verlaufsnachrichten, oder null wenn kein Dialog gefunden wurde.

.createDialogMessageFromHistoryItem(item)

Wandelt einen Verlaufseintrag in eine Dialog-Nachricht um.

ParameterTypBeschreibung
itemHistoryItemResponseDer Verlaufseintrag.

Rückgabewert: DialogMessage

Die Dialog-Nachricht.

.addDialogMessagesFromHistoryItems(historyItems, ignoreExisting)

Fügt mehrere Verlaufseinträge dem aktuellen Dialog hinzu.

ParameterTypBeschreibung
historyItemsHistoryItemResponse[]Die hinzuzufügenden Verlaufseinträge.
ignoreExistingbooleantrue, um bereits vorhandene Einträge zu überspringen.

Rückgabewert: Promise<any>

Die gespeicherten Nachrichten.

.overrideDialogFromLocalStorage(dialogId)

Ersetzt den aktuellen Dialog vollständig durch einen gespeicherten Dialog.

ParameterTypBeschreibung
dialogIdstringID des gespeicherten Dialogs.

Rückgabewert: Promise<unknown>

Die hinzugefügten Verlaufsnachrichten.

.appendDialogFromLocalStorage(dialogId)

Hängt einen gespeicherten Dialog an den aktuellen Verlauf an (bereits vorhandene Nachrichten werden ausgelassen).

ParameterTypBeschreibung
dialogIdstringID des gespeicherten Dialogs.

Rückgabewert: Promise<unknown>

Die hinzugefügten Verlaufsnachrichten.

.appendDialogFromLocalStorageIgnoreExisting(dialogId)

Hängt einen gespeicherten Dialog vollständig an, auch wenn Nachrichten bereits vorhanden sind.

ParameterTypBeschreibung
dialogIdstringID des gespeicherten Dialogs.

Rückgabewert: Promise<unknown>

Die hinzugefügten Verlaufsnachrichten.