Skip to main content

Class: History

Defined in: packages/core/src/history/history.ts:118

Unified History class - segment-based storage (V2)

Constructors

Constructor

new History(storage): History

Defined in: packages/core/src/history/history.ts:122

Parameters

storage

HistoryStorage

Returns

History

Methods

addAssistantResponse()

addAssistantResponse(content): Promise<void>

Defined in: packages/core/src/history/history.ts:315

Add a complete assistant response (for non-streaming use cases like spawn-agent)

Parameters

content

string

Returns

Promise<void>


addMessage()

addMessage(message): Promise<void>

Defined in: packages/core/src/history/history.ts:337

Add a message (backward-compatible API)

Parameters

message

ChatMessage

Returns

Promise<void>


addUserMessage()

addUserMessage(content): Promise<void>

Defined in: packages/core/src/history/history.ts:306

Add a user message directly

Parameters

content

string

Returns

Promise<void>


append()

append(event): Promise<void>

Defined in: packages/core/src/history/history.ts:205

Append a streaming event or user message to the history

Parameters

event

BaleybotStreamEvent | { content: string; type: "user_message"; }

Returns

Promise<void>


clear()

clear(): Promise<void>

Defined in: packages/core/src/history/history.ts:390

Clear all segments

Returns

Promise<void>


getFinalizedSegments()

getFinalizedSegments(): StreamSegment[]

Defined in: packages/core/src/history/history.ts:221

Get finalized segments (streaming flags set to false)

Returns

StreamSegment[]


getMessageCount()

getMessageCount(): number

Defined in: packages/core/src/history/history.ts:330

Get total count of segments (for metrics)

Returns

number


getMessagesForAPI()

getMessagesForAPI(limit?, options?): Promise<ChatMessage[]>

Defined in: packages/core/src/history/history.ts:255

Get messages in API-compatible format. Derives ChatMessage[] from segments (which now include UserSegments).

Parameters

limit?

number

options?

GetMessagesForAPIOptions

Returns

Promise<ChatMessage[]>


getSegments()

getSegments(): StreamSegment[]

Defined in: packages/core/src/history/history.ts:214

Get segments directly (canonical UI representation)

Returns

StreamSegment[]


getSegmentState()

getSegmentState(): StreamSegmentState

Defined in: packages/core/src/history/history.ts:228

Get full segment state (for advanced usage)

Returns

StreamSegmentState


getSummary()

getSummary(): Promise<string>

Defined in: packages/core/src/history/history.ts:398

Get a text summary of the conversation history

Returns

Promise<string>


getUserMessages()

getUserMessages(): UserMessage[]

Defined in: packages/core/src/history/history.ts:235

Get user messages (derived from segments)

Returns

UserMessage[]


isDone()

isDone(): boolean

Defined in: packages/core/src/history/history.ts:247

Check if streaming is complete

Returns

boolean


load()

load(): Promise<void>

Defined in: packages/core/src/history/history.ts:165

Load history from storage. Safe to call multiple times (no-op after first load).

Returns

Promise<void>


reset()

reset(): void

Defined in: packages/core/src/history/history.ts:442

Reset the builder (start fresh for new conversation)

Returns

void


save()

save(): Promise<void>

Defined in: packages/core/src/history/history.ts:379

Save the current state to storage (V2 format)

Returns

Promise<void>


serialize()

serialize(): Promise<string>

Defined in: packages/core/src/history/history.ts:428

Serialize history to JSON string

Returns

Promise<string>


file()

static file(filepath): History

Defined in: packages/core/src/history/history.ts:134

Create a file-based history

Parameters

filepath

string

Returns

History


fromData()

static fromData(stored): Promise<History>

Defined in: packages/core/src/history/history.ts:152

Create a History instance pre-loaded with serialized data.

Useful for restoring agent state from a database or API response — e.g., resuming a paused agent with its full conversation context.

Parameters

stored

StoredHistoryV2

Returns

Promise<History>

Example

const serialized = await originalBot.getHistory().serialize();
const stored = JSON.parse(serialized);
const history = await History.fromData(stored);
const resumedBot = Baleybot.create({ ..., keepHistory: history });

inMemory()

static inMemory(maxMessages?): History

Defined in: packages/core/src/history/history.ts:127

Create an in-memory history

Parameters

maxMessages?

number

Returns

History