Skip to main content

.DIALOGRECORDER

Zeichnet Nutzer-/Bot-Nachrichten mehrerer unabhängiger, benannter Dialoge auf (RAGAI.DIALOGRECORDER).

Hintergrund

Ein Recorder hängt sich nicht in RAGAI.MSG-Methodenaufrufe ein, sondern abonniert die Events RAGAI.MSG.prompt und RAGAI.MSG.runComplete über RAGAI.EVENTS - er zeichnet also nur Nachrichten auf, die über den normalen Prompt-Flow laufen, keine Bypass-Nachrichten (userBypass/botBypass). Mehrere Recorder können parallel unter verschiedenen ids laufen (intern eine Map); jeder persistiert seinen Zustand fortlaufend unter RAGAI.KEYVAL-Key dialogrecorder_<id> (Typ DIALOGRECORDER) und stellt ihn beim nächsten init nach einem Seiten-Reload automatisch wieder her.

Methoden

.init(id)

Legt einen neuen Recorder an, ohne die Aufzeichnung zu starten.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderIdSchema>

Objekt-Form (validiert über dialogRecorderIdSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.

Rückgabewert: Promise<void>

.record(id?)

Startet die Aufzeichnung: abonniert RAGAI.MSG.prompt/RAGAI.MSG.runComplete und persistiert neue Nachrichten fortlaufend in KEYVAL.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderIdSchema>

Objekt-Form (validiert über dialogRecorderIdSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.

Rückgabewert: void

.stop(id?)

Beendet die Aufzeichnung, meldet die Event-Hooks ab und persistiert den finalen Nachrichtenstand.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderIdSchema>

Objekt-Form (validiert über dialogRecorderIdSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.

Rückgabewert: Promise<void>

.reset(id?)

Stoppt die Aufzeichnung und löscht alle bisher aufgezeichneten Nachrichten des Recorders.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderIdSchema>

Objekt-Form (validiert über dialogRecorderIdSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.

Rückgabewert: Promise<void>

.getDialogText(id?, userName?, botName?)

Gibt den aufgezeichneten Dialog als Klartext zurück, eine Zeile je Nachricht im Format "Name: Text".

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderGetDialogSchema>
userNamestring
botNamestring

Objekt-Form (validiert über dialogRecorderGetDialogSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.
userNamestringAnzeigename des Nutzers im aufgezeichneten Dialog.
botNamestringAnzeigename des Bots im aufgezeichneten Dialog.

Rückgabewert: Promise<string>

.getDialogHtml(id?, userName?, botName?)

Wie getDialogText(), aber mit <br /> statt Zeilenumbrüchen - direkt als HTML einbettbar.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderGetDialogSchema>
userNamestring
botNamestring

Objekt-Form (validiert über dialogRecorderGetDialogSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.
userNamestringAnzeigename des Nutzers im aufgezeichneten Dialog.
botNamestringAnzeigename des Bots im aufgezeichneten Dialog.

Rückgabewert: Promise<string>

.getDialogJson(id?)

Gibt den aufgezeichneten Dialog als strukturiertes Array von &#123;role, text&#125;-Nachrichten zurück.

ParameterTypBeschreibung
idstring | z.input<typeof dialogRecorderIdSchema>

Objekt-Form (validiert über dialogRecorderIdSchema):

FeldTypPflichtBeschreibung
recorderIdstringID des Dialog-Recorders.

Rückgabewert: Promise<SimpleDialogMessage[]>

.getDialog()

Legacy-Variante von getDialogText() für den Recorder "default" mit festen Sprecher-Namen.

Rückgabewert: Promise<string>