@botonic/core
Version:
Build Chatbots using React
83 lines (70 loc) • 1.59 kB
text/typescript
export interface BaseMessage {
type: 'text' | 'textWithButtons' | 'carousel' | 'exit'
}
export interface Button {
text: string
payload?: string
url?: string
}
export interface TextMessage extends BaseMessage {
type: 'text'
content: {
text: string
}
}
export interface TextWithButtonsMessage extends BaseMessage {
type: 'textWithButtons'
content: {
text: string
buttons: Button[]
}
}
interface CarouselElement {
title: string
subtitle: string
image: string
button: Button
}
export interface CarouselMessage extends BaseMessage {
type: 'carousel'
content: {
text?: string
elements: CarouselElement[]
}
}
export interface ExitMessage extends BaseMessage {
type: 'exit'
}
export type OutputMessage =
| TextMessage
| TextWithButtonsMessage
| CarouselMessage
| ExitMessage
export type AgenticOutputMessage = Exclude<OutputMessage, ExitMessage>
export interface ToolExecution {
toolName: string
toolArguments: Record<string, any>
knowledgebaseSourcesIds?: string[]
knowledgebaseChunksIds?: string[]
}
export interface RunResult {
messages: AgenticOutputMessage[]
toolsExecuted: ToolExecution[]
memoryLength: number
exit: boolean
error: boolean
inputGuardrailsTriggered: string[]
outputGuardrailsTriggered: string[]
}
export type InferenceResponse = RunResult
export interface GuardrailRule {
name: string
description: string
}
export interface AiAgentArgs {
name: string
instructions: string
activeTools?: { name: string }[]
inputGuardrailRules?: GuardrailRule[]
sourceIds?: string[]
}