agent-core / Exports / ConversationStore
Class: ConversationStore
Conversation store with duplicate prevention and API format conversion.
Implements
IConversationHistory
Table of contents
Constructors
Methods
- addMessage
- addUserMessage
- addAssistantMessage
- addSystemMessage
- addToolMessage
- addToolMessageWithId
- getMessages
- getMessagesByRole
- getRecentMessages
- getMessageCount
- beginAssistant
- appendStreaming
- appendToolCall
- commitAssistant
- discardPending
- hasPendingAssistant
- getPendingContent
- getMessagesForAPI
- clear
Constructors
constructor
• new ConversationStore(maxMessages?): ConversationStore
Parameters
| Name | Type | Default value |
|---|---|---|
maxMessages | number | 100 |
Returns
Defined in
packages/agent-core/src/managers/conversation-store.ts:230
Methods
addMessage
▸ addMessage(message): void
Parameters
| Name | Type |
|---|---|
message | TUniversalMessage |
Returns
void
Implementation of
IConversationHistory.addMessage
Defined in
packages/agent-core/src/managers/conversation-store.ts:234
addUserMessage
▸ addUserMessage(content, metadata?, parts?): void
Parameters
| Name | Type |
|---|---|
content | string |
metadata? | TUniversalMessageMetadata |
parts? | TUniversalMessagePart[] |
Returns
void
Implementation of
IConversationHistory.addUserMessage
Defined in
packages/agent-core/src/managers/conversation-store.ts:237
addAssistantMessage
▸ addAssistantMessage(content, toolCalls?, metadata?, parts?): void
Parameters
| Name | Type |
|---|---|
content | null | string |
toolCalls? | IToolCall[] |
metadata? | TUniversalMessageMetadata |
parts? | TUniversalMessagePart[] |
Returns
void
Implementation of
IConversationHistory.addAssistantMessage
Defined in
packages/agent-core/src/managers/conversation-store.ts:244
addSystemMessage
▸ addSystemMessage(content, metadata?, parts?): void
Parameters
| Name | Type |
|---|---|
content | string |
metadata? | TUniversalMessageMetadata |
parts? | TUniversalMessagePart[] |
Returns
void
Implementation of
IConversationHistory.addSystemMessage
Defined in
packages/agent-core/src/managers/conversation-store.ts:252
addToolMessage
▸ addToolMessage(content, toolCallId, toolName?, metadata?, parts?): void
Parameters
| Name | Type |
|---|---|
content | string |
toolCallId | string |
toolName? | string |
metadata? | TUniversalMessageMetadata |
parts? | TUniversalMessagePart[] |
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:260
addToolMessageWithId
▸ addToolMessageWithId(content, toolCallId, toolName, metadata?, parts?): void
Parameters
| Name | Type |
|---|---|
content | string |
toolCallId | string |
toolName | string |
metadata? | TUniversalMessageMetadata |
parts? | TUniversalMessagePart[] |
Returns
void
Implementation of
IConversationHistory.addToolMessageWithId
Defined in
packages/agent-core/src/managers/conversation-store.ts:270
getMessages
▸ getMessages(): TUniversalMessage[]
Returns
Implementation of
IConversationHistory.getMessages
Defined in
packages/agent-core/src/managers/conversation-store.ts:286
getMessagesByRole
▸ getMessagesByRole(role): TUniversalMessage[]
Parameters
| Name | Type |
|---|---|
role | TUniversalMessageRole |
Returns
Implementation of
IConversationHistory.getMessagesByRole
Defined in
packages/agent-core/src/managers/conversation-store.ts:289
getRecentMessages
▸ getRecentMessages(count): TUniversalMessage[]
Parameters
| Name | Type |
|---|---|
count | number |
Returns
Implementation of
IConversationHistory.getRecentMessages
Defined in
packages/agent-core/src/managers/conversation-store.ts:292
getMessageCount
▸ getMessageCount(): number
Returns
number
Implementation of
IConversationHistory.getMessageCount
Defined in
packages/agent-core/src/managers/conversation-store.ts:295
beginAssistant
▸ beginAssistant(): void
Begin a new assistant response. Must be called before provider call. Ensures pendingAssistant exists so commitAssistant always has data to save.
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:301
appendStreaming
▸ appendStreaming(delta): void
Append streaming text delta to pending assistant response
Parameters
| Name | Type |
|---|---|
delta | string |
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:312
appendToolCall
▸ appendToolCall(toolCall): void
Append a tool call to pending assistant response (deduplicates by id)
Parameters
| Name | Type |
|---|---|
toolCall | IToolCall |
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:324
commitAssistant
▸ commitAssistant(state, metadata?): void
Commit pending assistant response to history. Precondition: beginAssistant() must have been called before the provider call. History is append-only — this always adds a message.
Parameters
| Name | Type |
|---|---|
state | TMessageState |
metadata? | TUniversalMessageMetadata |
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:342
discardPending
▸ discardPending(): void
Discard pending assistant response without saving
Returns
void
Defined in
packages/agent-core/src/managers/conversation-store.ts:363
hasPendingAssistant
▸ hasPendingAssistant(): boolean
Returns true if there is accumulated pending assistant state (streaming or tool calls)
Returns
boolean
Defined in
packages/agent-core/src/managers/conversation-store.ts:368
getPendingContent
▸ getPendingContent(): string
Get pending assistant content (empty string if no content streamed yet)
Returns
string
Defined in
packages/agent-core/src/managers/conversation-store.ts:373
getMessagesForAPI
▸ getMessagesForAPI(): IProviderApiMessage[]
Returns
IProviderApiMessage[]
Defined in
packages/agent-core/src/managers/conversation-store.ts:377
clear
▸ clear(): void
Returns
void
Implementation of
IConversationHistory.clear