.BOTAPI
Brückt RAGAI-Aktionen per postMessage zur einbettenden Elternseite (RAGAI.BOTAPI), z. B. für das embed.js-SDK.
Nutzt die postmessage-promise-Bibliothek für ein Request/Response-Protokoll über window.postMessage -
jede Nachricht hat einen type aus dem PostType-Enum, das gleichzeitig als Vertrag zwischen Bot-Iframe
und Elternseite dient (z. B. runComplete postet abgeschlossene Bot-Antworten nach außen, botSayLoad/
botSayLoadComplete/botSayEnded bilden den Lebenszyklus einer Sprachausgabe ab). Wird u. a. von mehreren
anderen RAGAI-Modulen intern genutzt (z. B. RAGAI.AUDIO, RAGAI.MSG), um Zustandsänderungen nach außen zu melden.
Methoden
.typePlayload(payload)
Type-Cast-Helfer für rohe postMessage-Payloads (keine Laufzeitprüfung).
| Parameter | Typ | Beschreibung |
|---|---|---|
payload | unknown |
Rückgabewert: T
.init()
Startet das postMessage-Protokoll zur Elternseite und registriert die Handler für alle PostType-Nachrichten.
Rückgabewert: Promise<void>
.postMessage(method, payload)
Sendet eine postMessage-Nachricht an die Elternseite und wartet auf die Antwort; undefined wenn noch kein Frame registriert ist.
| Parameter | Typ | Beschreibung |
|---|---|---|
method | string | |
payload | PostMessagePayload |
Rückgabewert: Promise<T | undefined>
.callExternalFunction(name, args)
Ruft eine auf der Elternseite registrierte externe Funktion anhand ihres Namens auf.
| Parameter | Typ | Beschreibung |
|---|---|---|
name | string | |
args | unknown[] |
Rückgabewert: Promise<unknown>
.getRegisteredFunctionNames()
Liefert die Namen aller auf der Elternseite registrierten externen Funktionen.
Rückgabewert: Promise<unknown>