Skip to content

agent-plugin-conversation-history / Exports / ConversationHistoryPlugin

Class: ConversationHistoryPlugin

Persists conversation history using configurable storage backends.

Supports memory, file, and database storage strategies. Messages are automatically trimmed to maxMessagesPerConversation. When autoSave is disabled, changes are batched and flushed on a timer.

See

  • IHistoryStorage - storage backend contract
  • IConversationHistoryPluginOptions - configuration options

Example

ts
const plugin = new ConversationHistoryPlugin({
  storage: 'memory',
  maxMessagesPerConversation: 500,
});
await plugin.startConversation('conv-1');
await plugin.addMessage({ role: 'user', content: 'Hello' });

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new ConversationHistoryPlugin(options): ConversationHistoryPlugin

Parameters

NameType
optionsIConversationHistoryPluginOptions

Returns

ConversationHistoryPlugin

Overrides

AbstractPlugin< IConversationHistoryPluginOptions, IConversationHistoryPluginStats >.constructor

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:62

Properties

enabled

enabled: boolean

Inherited from

AbstractPlugin.enabled

Defined in

agent-core/dist/node/index.d.ts:1049


category

category: PluginCategory

Inherited from

AbstractPlugin.category

Defined in

agent-core/dist/node/index.d.ts:1050


priority

priority: number

Inherited from

AbstractPlugin.priority

Defined in

agent-core/dist/node/index.d.ts:1051


name

name: string = 'ConversationHistoryPlugin'

Overrides

AbstractPlugin.name

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:52


version

version: string = '1.0.0'

Overrides

AbstractPlugin.version

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:53

Methods

initialize

initialize(options?): Promise<void>

Parameters

NameType
options?IConversationHistoryPluginOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.initialize

Defined in

agent-core/dist/node/index.d.ts:1063


subscribeToModuleEvents

subscribeToModuleEvents(eventEmitter): Promise<void>

Parameters

NameType
eventEmitterIEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.subscribeToModuleEvents

Defined in

agent-core/dist/node/index.d.ts:1064


unsubscribeFromModuleEvents

unsubscribeFromModuleEvents(eventEmitter): Promise<void>

Parameters

NameType
eventEmitterIEventEmitterPlugin

Returns

Promise<void>

Inherited from

AbstractPlugin.unsubscribeFromModuleEvents

Defined in

agent-core/dist/node/index.d.ts:1065


dispose

dispose(): Promise<void>

Returns

Promise<void>

Inherited from

AbstractPlugin.dispose

Defined in

agent-core/dist/node/index.d.ts:1066


enable

enable(): void

Returns

void

Inherited from

AbstractPlugin.enable

Defined in

agent-core/dist/node/index.d.ts:1067


disable

disable(): void

Returns

void

Inherited from

AbstractPlugin.disable

Defined in

agent-core/dist/node/index.d.ts:1068


isEnabled

isEnabled(): boolean

Returns

boolean

Inherited from

AbstractPlugin.isEnabled

Defined in

agent-core/dist/node/index.d.ts:1069


getConfig

getConfig(): IPluginConfig

Returns

IPluginConfig

Inherited from

AbstractPlugin.getConfig

Defined in

agent-core/dist/node/index.d.ts:1070


updateConfig

updateConfig(_config): void

Parameters

NameType
_configIPluginConfig

Returns

void

Inherited from

AbstractPlugin.updateConfig

Defined in

agent-core/dist/node/index.d.ts:1071


getData

getData(): IPluginData

Returns

IPluginData

Inherited from

AbstractPlugin.getData

Defined in

agent-core/dist/node/index.d.ts:1072


clearData

clearData(): void

Returns

void

Inherited from

AbstractPlugin.clearData

Defined in

agent-core/dist/node/index.d.ts:1073


getStatus

getStatus(): Object

Returns

Object

NameType
namestring
versionstring
enabledboolean
initializedboolean
categoryPluginCategory
prioritynumber
subscribedEventsCountnumber
hasEventEmitterboolean

Inherited from

AbstractPlugin.getStatus

Defined in

agent-core/dist/node/index.d.ts:1074


getStats

getStats(): IConversationHistoryPluginStats

Returns

IConversationHistoryPluginStats

Inherited from

AbstractPlugin.getStats

Defined in

agent-core/dist/node/index.d.ts:1084


beforeRun

beforeRun(input, options?): Promise<void>

Parameters

NameType
inputstring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeRun

Defined in

agent-core/dist/node/index.d.ts:1087


afterRun

afterRun(input, response, options?): Promise<void>

Parameters

NameType
inputstring
responsestring
options?IRunOptions

Returns

Promise<void>

Inherited from

AbstractPlugin.afterRun

Defined in

agent-core/dist/node/index.d.ts:1088


beforeExecution

beforeExecution(context): Promise<void>

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeExecution

Defined in

agent-core/dist/node/index.d.ts:1089


afterExecution

afterExecution(context, result): Promise<void>

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterExecution

Defined in

agent-core/dist/node/index.d.ts:1090


beforeConversation

beforeConversation(context): Promise<void>

Parameters

NameType
contextIPluginExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeConversation

Defined in

agent-core/dist/node/index.d.ts:1091


afterConversation

afterConversation(context, result): Promise<void>

Parameters

NameType
contextIPluginExecutionContext
resultIPluginExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterConversation

Defined in

agent-core/dist/node/index.d.ts:1092


beforeToolCall

beforeToolCall(toolName, parameters): Promise<void>

Parameters

NameType
toolNamestring
parametersTToolParameters

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeToolCall

Defined in

agent-core/dist/node/index.d.ts:1093


beforeToolExecution

beforeToolExecution(context, toolData): Promise<void>

Parameters

NameType
contextIPluginExecutionContext
toolDataIToolExecutionContext

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeToolExecution

Defined in

agent-core/dist/node/index.d.ts:1094


afterToolCall

afterToolCall(toolName, parameters, result): Promise<void>

Parameters

NameType
toolNamestring
parametersTToolParameters
resultIToolExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterToolCall

Defined in

agent-core/dist/node/index.d.ts:1095


afterToolExecution

afterToolExecution(context, toolResults): Promise<void>

Parameters

NameType
contextIPluginExecutionContext
toolResultsIPluginExecutionResult

Returns

Promise<void>

Inherited from

AbstractPlugin.afterToolExecution

Defined in

agent-core/dist/node/index.d.ts:1096


beforeProviderCall

beforeProviderCall(messages): Promise<void>

Parameters

NameType
messagesTUniversalMessage[]

Returns

Promise<void>

Inherited from

AbstractPlugin.beforeProviderCall

Defined in

agent-core/dist/node/index.d.ts:1097


afterProviderCall

afterProviderCall(messages, response): Promise<void>

Parameters

NameType
messagesTUniversalMessage[]
responseTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.afterProviderCall

Defined in

agent-core/dist/node/index.d.ts:1098


onStreamingChunk

onStreamingChunk(chunk): Promise<void>

Parameters

NameType
chunkTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onStreamingChunk

Defined in

agent-core/dist/node/index.d.ts:1099


onError

onError(error, context?): Promise<void>

Parameters

NameType
errorError
context?IPluginErrorContext

Returns

Promise<void>

Inherited from

AbstractPlugin.onError

Defined in

agent-core/dist/node/index.d.ts:1100


onMessageAdded

onMessageAdded(message): Promise<void>

Parameters

NameType
messageTUniversalMessage

Returns

Promise<void>

Inherited from

AbstractPlugin.onMessageAdded

Defined in

agent-core/dist/node/index.d.ts:1101


onModuleEvent

onModuleEvent(eventName, eventData): Promise<void>

Parameters

NameType
eventNameTEventName
eventDataIEventEmitterEventData

Returns

Promise<void>

Inherited from

AbstractPlugin.onModuleEvent

Defined in

agent-core/dist/node/index.d.ts:1102


startConversation

startConversation(conversationId): Promise<void>

Creates a new conversation entry and persists it (or queues for batch save).

Parameters

NameType
conversationIdstring

Returns

Promise<void>

Throws

PluginError if the storage write fails

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:109


addMessage

addMessage(message): Promise<void>

Appends a message to the active conversation, trimming to the maximum message limit if exceeded.

Parameters

NameType
messageTUniversalMessage

Returns

Promise<void>

Throws

PluginError if no conversation is active or the storage write fails

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:141


loadConversation

loadConversation(conversationId): Promise<undefined | IConversationHistoryEntry>

Load conversation history

Parameters

NameType
conversationIdstring

Returns

Promise<undefined | IConversationHistoryEntry>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:184


getHistory

getHistory(conversationId): Promise<TUniversalMessage[]>

Get conversation history as messages

Parameters

NameType
conversationIdstring

Returns

Promise<TUniversalMessage[]>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:204


listConversations

listConversations(): Promise<string[]>

List all conversation IDs

Returns

Promise<string[]>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:212


deleteConversation

deleteConversation(conversationId): Promise<boolean>

Delete a conversation

Parameters

NameType
conversationIdstring

Returns

Promise<boolean>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:225


clearAllConversations

clearAllConversations(): Promise<void>

Clear all conversations

Returns

Promise<void>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:242


savePending

savePending(): Promise<void>

Persists all conversations queued since the last save (batch mode only). Individual save failures are logged but do not abort the remaining saves.

Returns

Promise<void>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:258


destroy

destroy(): Promise<void>

Stops the batch-save timer and flushes any pending conversation saves.

Returns

Promise<void>

Defined in

agent-plugin-conversation-history/src/conversation-history-plugin.ts:283

Released under the MIT License.