Skip to main content

.BOTAPI

Brückt RAGAI-Aktionen per postMessage zur einbettenden Elternseite (RAGAI.BOTAPI), z. B. für das embed.js-SDK.

Hintergrund

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).

ParameterTypBeschreibung
payloadunknown

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.

ParameterTypBeschreibung
methodstring
payloadPostMessagePayload

Rückgabewert: Promise<T | undefined>

.callExternalFunction(name, args)

Ruft eine auf der Elternseite registrierte externe Funktion anhand ihres Namens auf.

ParameterTypBeschreibung
namestring
argsunknown[]

Rückgabewert: Promise<unknown>

.getRegisteredFunctionNames()

Liefert die Namen aller auf der Elternseite registrierten externen Funktionen.

Rückgabewert: Promise<unknown>