.DIALOGSTORE
Speichert und stellt Dialogverläufe im LocalStorage wieder her (RAGAI.DIALOGSTORE).
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.
| Parameter | Typ | Beschreibung |
|---|---|---|
key | string | 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):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
key | string | ✔ | Schlü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.
| Parameter | Typ | Beschreibung |
|---|---|---|
dialogId | string | z.input<typeof dialogStoreIdSchema> | ID des gespeicherten Dialogs, oder ein Objekt gemäß dialogStoreIdSchema. |
removeExisting | boolean | true, um den aktuellen Verlauf vorher zu löschen. |
ignoreExisting | boolean | true, um bereits vorhandene Nachrichten nicht erneut hinzuzufügen. |
Objekt-Form (validiert über dialogStoreIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
dialogId | string | ✔ | ID 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
item | HistoryItemResponse | Der Verlaufseintrag. |
Rückgabewert: DialogMessage
Die Dialog-Nachricht.
.addDialogMessagesFromHistoryItems(historyItems, ignoreExisting)
Fügt mehrere Verlaufseinträge dem aktuellen Dialog hinzu.
| Parameter | Typ | Beschreibung |
|---|---|---|
historyItems | HistoryItemResponse[] | Die hinzuzufügenden Verlaufseinträge. |
ignoreExisting | boolean | true, 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
dialogId | string | ID 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).
| Parameter | Typ | Beschreibung |
|---|---|---|
dialogId | string | ID 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
dialogId | string | ID des gespeicherten Dialogs. |
Rückgabewert: Promise<unknown>
Die hinzugefügten Verlaufsnachrichten.