Skip to main content

.BOTMANAGER

Interne API des Bots (RAGAI.BOTMANAGER): Chat, Statistiken, Feedback, Verlauf und Konfiguration.

Hintergrund

Ist eine interne API, die sich zwischen Versionen ändern kann - wo möglich sollten stattdessen die dokumentierten, stabileren RAGAI-Module verwendet werden (RAGAI.MSG, RAGAI.HELPER, RAGAI.DIALOGSTORE etc.), die intern teils selbst auf BotService aufbauen. Viele Methoden hier sind dünne HTTP-Wrapper um /api/toolbox/...-Endpunkte und lösen dabei passende botEvents-Einträge (BOTEVENT-Enum) aus, z. B. HistoryMessagesLoadStart/...LoadEnd rund um getHistoryMessages.

Events

resetBotDoneEmitter

Feuert, nachdem resetBot() vollständig abgeschlossen ist.

RAGAI.BOTMANAGER.resetBotDoneEmitter.subscribe((value) => {
console.log(value);
});

botEvents

Feuert bei jedem Lebenszyklus-Schritt der Bot-API (Start/Ende von HTTP-Aufrufen), Typ siehe BOTEVENT-Enum.

RAGAI.BOTMANAGER.botEvents.subscribe((value) => {
console.log(value);
});

Methoden

.scrollDown(scrollBehavior?)

Scrollt den Chatverlauf ans Ende und fokussiert das Eingabefeld.

ParameterTypBeschreibung
scrollBehaviorScrollBehaviorScroll-Verhalten (z. B. 'smooth' oder 'auto').

Rückgabewert: Promise<void>

.addStat(botId, stat)

Erfasst eine Statistik-Kennzahl für den Bot.

ParameterTypBeschreibung
botIdstringID des Bots.
statstringName der zu erfassenden Statistik.

Rückgabewert: Promise<&#123; status: string &#125;>

Status der Erfassung.

.chat(botId, message, history, bypass)

Sendet eine Chat-Nachricht an den Bot und löst einen Antwort-Run aus.

ParameterTypBeschreibung
botIdstringID des Bots.
messagestringDer Nachrichtentext.
historyMessageItem[]Bisheriger Nachrichtenverlauf.
bypassbooleantrue, wenn die Nachricht ohne Verarbeitung direkt in den Verlauf soll.

Rückgabewert: Promise<&#123; msg: string, threadId: string &#125; | undefined>

Die Bot-Antwort und die Thread-ID, oder undefined bei Abbruch durch einen BEFORE_SEND-Hook.

.mcpApprovalResponse(botId, message, history)

Sendet die Antwort auf eine MCP-Tool-Freigabeanfrage an den Bot.

ParameterTypBeschreibung
botIdstringID des Bots.
messageMessageItemDie Freigabe-Antwortnachricht.
historyMessageItem[]Bisheriger Nachrichtenverlauf.

Rückgabewert: Promise<any>

Die Bot-Antwort und die Thread-ID.

.deleteHistoryMessages(botId, messageIds)

Löscht einzelne Nachrichten aus dem Verlauf.

ParameterTypBeschreibung
botIdstringID des Bots.
messageIdsstring[]IDs der zu löschenden Nachrichten.

Rückgabewert: Promise<any>

Ergebnis der Löschoperation.

.getHistoryMessages(botId)

Lädt den gespeicherten Nachrichtenverlauf des Bots.

ParameterTypBeschreibung
botIdstringID des Bots.

Rückgabewert: Promise<&#123; messageHistory: HistoryItemResponse[] &#125;>

Der Nachrichtenverlauf.

.supervisorNotification(botId, historyItemId, messageName)

Benachrichtigt den Supervisor über eine Nachricht, die Hilfe benötigt.

ParameterTypBeschreibung
botIdstringID des Bots.
historyItemIdstringID der betroffenen Verlaufsnachricht.
messageNamestringName/Typ der Benachrichtigung.

Rückgabewert: Promise<void>

Nichts.

.callWebhook(botId, skillId, data?)

Ruft den konfigurierten Webhook eines Skills auf.

ParameterTypBeschreibung
botIdstringID des Bots.
skillIdstringID des Skills, dessen Webhook aufgerufen wird.
dataunknownZusätzliche Daten, die an den Webhook gesendet werden.

Rückgabewert: Promise<unknown>

Die Antwort des Webhooks als Text.

.deleteHistoryItems(botId, body)

Löscht Verlaufseinträge in einem Zeitraum.

ParameterTypBeschreibung
botIdstringID des Bots.
body&#123; fromDate?: Dayjs, toDate?: Dayjs, &#125;Zeitraum-Filter.

Rückgabewert: Promise<&#123; status: number, deletedCount: number &#125;>

Status und Anzahl gelöschter Einträge.

.askSummary(botId, body)

Fasst eine Liste von Verlaufsnachrichten per KI zusammen.

ParameterTypBeschreibung
botIdstringID des Bots.
body&#123; prompts: HistoryItemResponse[], fromDate?: Dayjs, toDate?: Dayjs, &#125;Zusammenzufassende Nachrichten und optionaler Zeitraum.

Rückgabewert: Promise<AskSummaryResponse>

Die KI-generierte Zusammenfassung.

.answerSupervisor(botId, adminMsgId, message)

Sendet die Antwort eines Admins auf eine Supervisor-Hilfeanfrage an den Bot.

ParameterTypBeschreibung
botIdstringID des Bots.
adminMsgIdstringID der Supervisor-Nachricht, auf die geantwortet wird.
messagestringDie Antwort des Admins.

Rückgabewert: Promise<string>

Die Antwort des Bots.

.getDefaultComplianceText(locale)

Lädt den Standard-Datenschutz-/Compliance-Text für eine Sprache.

ParameterTypBeschreibung
localeBotLocaleDie gewünschte Sprache.

Rückgabewert: Promise<string>

Der Compliance-Text.

.getHistoryInfo(botId)

Lädt Metadaten zum gespeicherten Verlauf des Bots (z. B. Anzahl Einträge).

ParameterTypBeschreibung
botIdstringID des Bots.

Rückgabewert: Promise<&#123; status: string, items: &#123; _id: string, count: number &#125;[] &#125;>

Status und Anzahl der Verlaufseinträge.

.countHistoryItemsByFilter(botId, body)

Zählt Verlaufseinträge in einem Zeitraum.

ParameterTypBeschreibung
botIdstringID des Bots.
body&#123; fromDate?: Dayjs, toDate?: Dayjs &#125;Zeitraum-Filter.

Rückgabewert: Promise<&#123; status: string, count: number &#125;>

Status und Anzahl der gefundenen Einträge.

.sendFeedback(feedbackId, feedback)

Sendet Feedback zu einer Bot-Nachricht.

ParameterTypBeschreibung
feedbackIdstring | undefinedID eines bestehenden Feedbacks (zum Aktualisieren), oder undefined für neues Feedback.
feedbackOmit<BotMessageFeedback, '_id' | 'created'>Der Feedback-Inhalt.

Rückgabewert: Promise<any>

Status und das gespeicherte Feedback.

.deleteFeedback(feedbackId)

Löscht ein Feedback.

ParameterTypBeschreibung
feedbackIdstringID des zu löschenden Feedbacks.

Rückgabewert: Promise<any>

Status der Löschung.

.getFeedback(botId)

Lädt alle Feedbacks eines Bots.

ParameterTypBeschreibung
botIdstringID des Bots.

Rückgabewert: Promise<any>

Status und die Feedbacks.

.getDownloadableMaterial(botId, fileId)

Lädt den Rohinhalt einer herunterladbaren Datei (Skill-Material).

ParameterTypBeschreibung
botIdstringID des Bots.
fileIdstringID der Datei.

Rückgabewert: Promise<any>

Der Dateiinhalt als ArrayBuffer.

.getMDFile(botId, skillId)

Lädt den Markdown-Inhalt eines Skill-Dokuments.

ParameterTypBeschreibung
botIdstringID des Bots.
skillIdstringID des Skills.

Rückgabewert: Promise<any>

Metadaten und Markdown-Inhalt des Dokuments.

.getFileInformation(botId, skillId)

Lädt Metadaten (Name, Typ, ID) einer Skill-Datei.

ParameterTypBeschreibung
botIdstringID des Bots.
skillIdstringID des Skills.

Rückgabewert: Promise<any>

Die Datei-Metadaten.

.getMyFeedback(botId)

Lädt die eigenen Feedbacks des aktuellen Nutzers.

ParameterTypBeschreibung
botIdstringID des Bots.

Rückgabewert: Promise<any>

Status und die eigenen Feedbacks.

.sendBotThinkingCancel(botId, threadId)

Bricht einen laufenden Denk-/Antwortvorgang des Bots ab.

ParameterTypBeschreibung
botIdstringID des Bots.
threadIdstringID des abzubrechenden Threads.

Rückgabewert: Promise<any>

Die Antwort des Servers.

.resetBot(botId)

Setzt den Bot für den aktuellen Nutzer zurück (neue Sitzung, neue Begrüßung).

ParameterTypBeschreibung
botIdstringID des Bots.

Rückgabewert: Promise<any>

Die Antwort des Servers.

.hasBotAccessByAdmin(id)

Prüft, ob der aktuelle Nutzer Admin-Zugriff auf den Bot hat.

ParameterTypBeschreibung
idstringID des Bots.

Rückgabewert: Promise<boolean>

true, wenn Admin-Zugriff besteht.

.getBotConfigAsUser(id)

Lädt die Bot-Konfiguration aus Nutzersicht und speichert sie zwischen.

ParameterTypBeschreibung
idstringID des Bots.

Rückgabewert: Promise<any>

Die Bot-Konfiguration, oder null bei Fehler.

.suggestName(botId, description)

Lässt per KI einen Bot-Namen anhand einer Beschreibung vorschlagen.

ParameterTypBeschreibung
botIdstringID des Bots.
descriptionstringBeschreibung des Bot-Zwecks.

Rückgabewert: Promise<string>

Der vorgeschlagene Name (max. 30 Zeichen).

.suggestSkill(botId, description, functionname)

Lässt per KI einen Skill-Funktionsnamen anhand einer Beschreibung vorschlagen.

ParameterTypBeschreibung
botIdstringID des Bots.
descriptionstringBeschreibung der Skill-Funktion.
functionnamestringBisheriger Funktionsname als Kontext für den Vorschlag.

Rückgabewert: Promise<string>

Der vorgeschlagene Funktionsname (max. 15 Zeichen).

.getColorFromConfig(botConfig, background?)

Ermittelt die Bot-Farbe aus der Konfiguration, optional als transparente Hintergrundvariante.

ParameterTypBeschreibung
botConfigChatbotConfigDie Bot-Konfiguration.
backgroundbooleantrue, um eine abgeschwächte Hintergrundfarbe zu liefern.

Rückgabewert: string

Der Farbwert als CSS-Farbstring.

.getBotDeeplink(bot)

Ermittelt, welche Deeplink-Ansicht (Task oder Verlauf) für den Bot standardmäßig geöffnet wird.

ParameterTypBeschreibung
botChatbotConfigDie Bot-Konfiguration.

Rückgabewert: "task" | "information"

"task" oder "information".

.exportBotConfigZIP(botConfig)

Lädt die Bot-Konfiguration als ZIP herunter.

ParameterTypBeschreibung
botConfigChatbotConfigDie zu exportierende Bot-Konfiguration.

Rückgabewert: Promise<void>

.saveAs(blob, filename)

Löst im Browser den Download einer Datei aus.

ParameterTypBeschreibung
blobBlobDer Dateiinhalt.
filenamestringDer vorgeschlagene Dateiname.

Rückgabewert: void