.BOTMANAGER
Interne API des Bots (RAGAI.BOTMANAGER): Chat, Statistiken, Feedback, Verlauf und Konfiguration.
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.
| Parameter | Typ | Beschreibung |
|---|---|---|
scrollBehavior | ScrollBehavior | Scroll-Verhalten (z. B. 'smooth' oder 'auto'). |
Rückgabewert: Promise<void>
.addStat(botId, stat)
Erfasst eine Statistik-Kennzahl für den Bot.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
stat | string | Name der zu erfassenden Statistik. |
Rückgabewert: Promise<{ status: string }>
Status der Erfassung.
.chat(botId, message, history, bypass)
Sendet eine Chat-Nachricht an den Bot und löst einen Antwort-Run aus.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
message | string | Der Nachrichtentext. |
history | MessageItem[] | Bisheriger Nachrichtenverlauf. |
bypass | boolean | true, wenn die Nachricht ohne Verarbeitung direkt in den Verlauf soll. |
Rückgabewert: Promise<{ msg: string, threadId: string } | 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
message | MessageItem | Die Freigabe-Antwortnachricht. |
history | MessageItem[] | Bisheriger Nachrichtenverlauf. |
Rückgabewert: Promise<any>
Die Bot-Antwort und die Thread-ID.
.deleteHistoryMessages(botId, messageIds)
Löscht einzelne Nachrichten aus dem Verlauf.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
messageIds | string[] | IDs der zu löschenden Nachrichten. |
Rückgabewert: Promise<any>
Ergebnis der Löschoperation.
.getHistoryMessages(botId)
Lädt den gespeicherten Nachrichtenverlauf des Bots.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
Rückgabewert: Promise<{ messageHistory: HistoryItemResponse[] }>
Der Nachrichtenverlauf.
.supervisorNotification(botId, historyItemId, messageName)
Benachrichtigt den Supervisor über eine Nachricht, die Hilfe benötigt.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
historyItemId | string | ID der betroffenen Verlaufsnachricht. |
messageName | string | Name/Typ der Benachrichtigung. |
Rückgabewert: Promise<void>
Nichts.
.callWebhook(botId, skillId, data?)
Ruft den konfigurierten Webhook eines Skills auf.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
skillId | string | ID des Skills, dessen Webhook aufgerufen wird. |
data | unknown | Zusä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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
body | { fromDate?: Dayjs, toDate?: Dayjs, } | Zeitraum-Filter. |
Rückgabewert: Promise<{ status: number, deletedCount: number }>
Status und Anzahl gelöschter Einträge.
.askSummary(botId, body)
Fasst eine Liste von Verlaufsnachrichten per KI zusammen.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
body | { prompts: HistoryItemResponse[], fromDate?: Dayjs, toDate?: Dayjs, } | 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
adminMsgId | string | ID der Supervisor-Nachricht, auf die geantwortet wird. |
message | string | Die Antwort des Admins. |
Rückgabewert: Promise<string>
Die Antwort des Bots.
.getDefaultComplianceText(locale)
Lädt den Standard-Datenschutz-/Compliance-Text für eine Sprache.
| Parameter | Typ | Beschreibung |
|---|---|---|
locale | BotLocale | Die 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).
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
Rückgabewert: Promise<{ status: string, items: { _id: string, count: number }[] }>
Status und Anzahl der Verlaufseinträge.
.countHistoryItemsByFilter(botId, body)
Zählt Verlaufseinträge in einem Zeitraum.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
body | { fromDate?: Dayjs, toDate?: Dayjs } | Zeitraum-Filter. |
Rückgabewert: Promise<{ status: string, count: number }>
Status und Anzahl der gefundenen Einträge.
.sendFeedback(feedbackId, feedback)
Sendet Feedback zu einer Bot-Nachricht.
| Parameter | Typ | Beschreibung |
|---|---|---|
feedbackId | string | undefined | ID eines bestehenden Feedbacks (zum Aktualisieren), oder undefined für neues Feedback. |
feedback | Omit<BotMessageFeedback, '_id' | 'created'> | Der Feedback-Inhalt. |
Rückgabewert: Promise<any>
Status und das gespeicherte Feedback.
.deleteFeedback(feedbackId)
Löscht ein Feedback.
| Parameter | Typ | Beschreibung |
|---|---|---|
feedbackId | string | ID des zu löschenden Feedbacks. |
Rückgabewert: Promise<any>
Status der Löschung.
.getFeedback(botId)
Lädt alle Feedbacks eines Bots.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
Rückgabewert: Promise<any>
Status und die Feedbacks.
.getDownloadableMaterial(botId, fileId)
Lädt den Rohinhalt einer herunterladbaren Datei (Skill-Material).
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
fileId | string | ID der Datei. |
Rückgabewert: Promise<any>
Der Dateiinhalt als ArrayBuffer.
.getMDFile(botId, skillId)
Lädt den Markdown-Inhalt eines Skill-Dokuments.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
skillId | string | ID des Skills. |
Rückgabewert: Promise<any>
Metadaten und Markdown-Inhalt des Dokuments.
.getFileInformation(botId, skillId)
Lädt Metadaten (Name, Typ, ID) einer Skill-Datei.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
skillId | string | ID des Skills. |
Rückgabewert: Promise<any>
Die Datei-Metadaten.
.getMyFeedback(botId)
Lädt die eigenen Feedbacks des aktuellen Nutzers.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
Rückgabewert: Promise<any>
Status und die eigenen Feedbacks.
.sendBotThinkingCancel(botId, threadId)
Bricht einen laufenden Denk-/Antwortvorgang des Bots ab.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
threadId | string | ID 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).
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
Rückgabewert: Promise<any>
Die Antwort des Servers.
.hasBotAccessByAdmin(id)
Prüft, ob der aktuelle Nutzer Admin-Zugriff auf den Bot hat.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | ID des Bots. |
Rückgabewert: Promise<boolean>
true, wenn Admin-Zugriff besteht.
.getBotConfigAsUser(id)
Lädt die Bot-Konfiguration aus Nutzersicht und speichert sie zwischen.
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | ID 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
description | string | Beschreibung 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botId | string | ID des Bots. |
description | string | Beschreibung der Skill-Funktion. |
functionname | string | Bisheriger 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
botConfig | ChatbotConfig | Die Bot-Konfiguration. |
background | boolean | true, 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
bot | ChatbotConfig | Die Bot-Konfiguration. |
Rückgabewert: "task" | "information"
"task" oder "information".
.exportBotConfigZIP(botConfig)
Lädt die Bot-Konfiguration als ZIP herunter.
| Parameter | Typ | Beschreibung |
|---|---|---|
botConfig | ChatbotConfig | Die zu exportierende Bot-Konfiguration. |
Rückgabewert: Promise<void>
.saveAs(blob, filename)
Löst im Browser den Download einer Datei aus.
| Parameter | Typ | Beschreibung |
|---|---|---|
blob | Blob | Der Dateiinhalt. |
filename | string | Der vorgeschlagene Dateiname. |
Rückgabewert: void