.DIALOGRECORDER
Zeichnet Nutzer-/Bot-Nachrichten mehrerer unabhängiger, benannter Dialoge auf (RAGAI.DIALOGRECORDER).
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.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderIdSchema> |
Objekt-Form (validiert über dialogRecorderIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderIdSchema> |
Objekt-Form (validiert über dialogRecorderIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID des Dialog-Recorders. |
Rückgabewert: void
.stop(id?)
Beendet die Aufzeichnung, meldet die Event-Hooks ab und persistiert den finalen Nachrichtenstand.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderIdSchema> |
Objekt-Form (validiert über dialogRecorderIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID des Dialog-Recorders. |
Rückgabewert: Promise<void>
.reset(id?)
Stoppt die Aufzeichnung und löscht alle bisher aufgezeichneten Nachrichten des Recorders.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderIdSchema> |
Objekt-Form (validiert über dialogRecorderIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID 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".
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderGetDialogSchema> | |
userName | string | |
botName | string |
Objekt-Form (validiert über dialogRecorderGetDialogSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID des Dialog-Recorders. |
userName | string | – | Anzeigename des Nutzers im aufgezeichneten Dialog. |
botName | string | – | Anzeigename 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderGetDialogSchema> | |
userName | string | |
botName | string |
Objekt-Form (validiert über dialogRecorderGetDialogSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID des Dialog-Recorders. |
userName | string | – | Anzeigename des Nutzers im aufgezeichneten Dialog. |
botName | string | – | Anzeigename des Bots im aufgezeichneten Dialog. |
Rückgabewert: Promise<string>
.getDialogJson(id?)
Gibt den aufgezeichneten Dialog als strukturiertes Array von {role, text}-Nachrichten zurück.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | z.input<typeof dialogRecorderIdSchema> |
Objekt-Form (validiert über dialogRecorderIdSchema):
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
recorderId | string | ✔ | ID 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>