hashbrown

Hashbrown

Represents a Hashbrown chat instance, providing methods to send and observe messages, track state, and handle errors.

API

Hashbrown
@typeOutput
@typeTools
Chat.AnyTool
error
StateSignal<Error | undefined>
exhaustedRetries
StateSignal<boolean>
generatingError
StateSignal<Error | undefined>
isGenerating
StateSignal<boolean>
isLoading
StateSignal<boolean>
isLoadingThread
StateSignal<boolean>
isReceiving
StateSignal<boolean>
isRunningToolCalls
StateSignal<boolean>
isSavingThread
StateSignal<boolean>
isSending
StateSignal<boolean>
lastAssistantMessage
StateSignal<Chat.AssistantMessage<Output, Tools> | undefined>
messages
StateSignal<Chat.Message<Output, Tools>[]>
resendMessages
() => void

Resend messages and update state. Often used manually after an error.

sendingError
StateSignal<Error | undefined>
sendMessage
(message: Chat.Message<Output, Tools>) => void

Send a new message to the LLM and update state.

setMessages
(messages: Chat.Message<Output, Tools>[]) => void

Replace the current set of messages in the chat state.

sizzle
() => () => void

Start the Hashbrown effect loop.

stop
(clearStreamingMessage?: boolean) => void

Stop the current LLM interaction.

threadId
StateSignal<string | undefined>
threadLoadError
StateSignal<{
        error: string;
        stacktrace?: string;
    } | undefined>
threadSaveError
StateSignal<{
        error: string;
        stacktrace?: string;
    } | undefined>
updateOptions
(options: Partial<{
        debugName?: string;
        apiUrl?: string;
        model: ModelInput;
        system: string;
        tools: Tools[];
        responseSchema: s.SchemaOutput;
        structuredOutput: Chat.Api.StructuredOutputOptions;
        middleware: Chat.Middleware[];
        emulateStructuredOutput: boolean;
        debounce: number;
        retries: number;
        transport: TransportOrFactory;
        ui?: boolean;
        threadId: string;
    }>) => void

Update the chat options after initialization