Skip to main content

.CARDS

Zeigt Bot-Cards (Buttons, Bilder, iFrames, HTML, Videos, Lade-Indikator) im Chat an (RAGAI.CARDS).

Hintergrund

Cards werden - anders als RAGAI.OVERLAY - direkt in den Chatverlauf eingefügt und persistiert (als Verlaufsnachricht mit role: 'botcard'); Overlays sind modale, nicht-persistente UI-Elemente über dem Chat. Jede Card löst RAGAI.CARDS.ADD sowie RAGAI.CARDS.ADD.<type> Events aus (außer debugEvent, das bewusst keine Events feuert, um Debug-Ausgaben nicht in den regulären Event-Strom zu mischen). Für Diagramme siehe stattdessen RAGAI.CHARTS.

Methoden

.buttons(buttons, cssClass?)

Zeigt eine Button-Card mit anklickbaren Optionen an.

ParameterTypBeschreibung
buttonsBUTTONCARDBUTTON[]Die anzuzeigenden Buttons.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: Promise<void>

.iframe(url, cssClass?)

Zeigt eine iFrame-Card an.

ParameterTypBeschreibung
urlstring | z.input<typeof cardsIframeSchema>URL der einzubettenden Seite, oder ein Objekt gemäß cardsIframeSchema.
cssClassstringOptionale CSS-Klasse für die Card.

Objekt-Form (validiert über cardsIframeSchema):

FeldTypPflichtBeschreibung
urlstringURL der in der Card einzubettenden Seite.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: Promise<void>

Nichts.

.html(html, cssClass?, id?)

Zeigt eine HTML-Card an.

ParameterTypBeschreibung
htmlstring | z.input<typeof cardsHtmlSchema>Der anzuzeigende HTML-Inhalt, oder ein Objekt gemäß cardsHtmlSchema.
cssClassstringOptionale CSS-Klasse für die Card.
idstringOptionale Element-ID für die Card.

Objekt-Form (validiert über cardsHtmlSchema):

FeldTypPflichtBeschreibung
htmlstringDer anzuzeigende HTML-Inhalt.
cssClassstringOptionale CSS-Klasse für die Card.
idstringOptionale Element-ID für die Card.

Rückgabewert: Promise<void>

Nichts.

.debugEvent(html, cssClass?, id?)

Wie html, löst aber keine RAGAI.CARDS.ADD-Events aus. Wird für interne Debug-Ausgaben verwendet.

ParameterTypBeschreibung
htmlstringDer anzuzeigende HTML-Inhalt.
cssClassstringOptionale CSS-Klasse für die Card.
idstringOptionale Element-ID für die Card.

Rückgabewert: Promise<void>

.loading(text?, icon?, cssClass?)

Zeigt einen Lade-Indikator im Chat an.

ParameterTypBeschreibung
textstring | z.input<typeof cardsLoadingSchema>Optionaler Ladetext, oder ein Objekt gemäß cardsLoadingSchema.
iconstringOptionales Icon für den Indikator.
cssClassstringOptionale CSS-Klasse für die Card.

Objekt-Form (validiert über cardsLoadingSchema):

FeldTypPflichtBeschreibung
textstringOptionaler Ladetext.
iconstringOptionales Icon für den Lade-Indikator.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: void

.removeLoading()

Entfernt den aktuell angezeigten Lade-Indikator.

Rückgabewert: void

.youtube(id, cssClass?)

Zeigt eine YouTube-Video-Card an.

ParameterTypBeschreibung
idstring | z.input<typeof cardsYoutubeSchema>Die YouTube-Video-ID, oder ein Objekt gemäß cardsYoutubeSchema.
cssClassstringOptionale CSS-Klasse für die Card.

Objekt-Form (validiert über cardsYoutubeSchema):

FeldTypPflichtBeschreibung
idstringDie YouTube-Video-ID.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: Promise<void>

Nichts.

.vimeo(id, hash?, cssClass?)

Zeigt eine Vimeo-Video-Card an.

ParameterTypBeschreibung
idstring | z.input<typeof cardsVimeoSchema>Die Vimeo-Video-ID, oder ein Objekt gemäß cardsVimeoSchema.
hashstringPrivater Vimeo-Hash für geschickte Videos.
cssClassstringOptionale CSS-Klasse für die Card.

Objekt-Form (validiert über cardsVimeoSchema):

FeldTypPflichtBeschreibung
idstringDie Vimeo-Video-ID.
hashstringPrivater Vimeo-Hash für geschützte Videos.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: Promise<void>

Nichts.

.image(src, altText?, cssClass?)

Zeigt eine Bild-Card an. Lädt die URL bei Bedarf aus einem Skill auf.

ParameterTypBeschreibung
srcstring | z.input<typeof cardsImageSchema>Bild-URL, Skill-ID, oder ein Objekt gemäß cardsImageSchema.
altTextstringAlternativtext für das Bild.
cssClassstringOptionale CSS-Klasse für die Card.

Objekt-Form (validiert über cardsImageSchema):

FeldTypPflichtBeschreibung
srcstringBild-URL oder Skill-ID des anzuzeigenden Bilds.
altTextstringAlternativtext für das Bild.
cssClassstringOptionale CSS-Klasse für die Card.

Rückgabewert: Promise<void>

Nichts.

.stageListButtons()

Zeigt Navigations-Buttons für alle sichtbaren Stages an.

Rückgabewert: Promise<void>

.addBotCard(payload, triggerEvent?)

Fügt eine beliebige Bot-Card zum Chatverlauf hinzu.

ParameterTypBeschreibung
payload&#123; type: string, data: unknown &#125;Card-Payload.
triggerEventbooleanfalse, um die zugehörigen RAGAI.CARDS.ADD-Events zu unterdrücken.

Rückgabewert: Promise<any>

Die gespeicherte Verlaufsnachricht.