Interface MemoryProviderPayload

Memory provider payload for custom memory/storage backends. Providers handle storage and retrieval for agent memory (RAG, episodic, etc.).

interface MemoryProviderPayload {
    name: string;
    description: string;
    supportedTypes: ("vector" | "episodic" | "semantic" | "conversational")[];
    initialize: ((config) => Promise<void>);
    store: ((collectionId, data) => Promise<string>);
    query: ((collectionId, query, options?) => Promise<unknown[]>);
    delete?: ((collectionId, ids) => Promise<void>);
    getStats?: (() => Promise<{
        collections: number;
        documents: number;
        size: number;
    }>);
    shutdown?: (() => Promise<void>);
}

Properties

name: string

Provider name (e.g., 'pinecone', 'weaviate', 'qdrant', 'sql')

description: string

Provider description

supportedTypes: ("vector" | "episodic" | "semantic" | "conversational")[]

Memory types this provider supports

initialize: ((config) => Promise<void>)

Initialize the provider

Type declaration

    • (config): Promise<void>
    • Parameters

      • config: Record<string, unknown>

      Returns Promise<void>

store: ((collectionId, data) => Promise<string>)

Store data

Type declaration

    • (collectionId, data): Promise<string>
    • Parameters

      • collectionId: string
      • data: unknown

      Returns Promise<string>

query: ((collectionId, query, options?) => Promise<unknown[]>)

Query data

Type declaration

    • (collectionId, query, options?): Promise<unknown[]>
    • Parameters

      • collectionId: string
      • query: unknown
      • Optional options: Record<string, unknown>

      Returns Promise<unknown[]>

delete?: ((collectionId, ids) => Promise<void>)

Delete data

Type declaration

    • (collectionId, ids): Promise<void>
    • Parameters

      • collectionId: string
      • ids: string[]

      Returns Promise<void>

getStats?: (() => Promise<{
    collections: number;
    documents: number;
    size: number;
}>)

Get provider statistics

Type declaration

    • (): Promise<{
          collections: number;
          documents: number;
          size: number;
      }>
    • Returns Promise<{
          collections: number;
          documents: number;
          size: number;
      }>

shutdown?: (() => Promise<void>)

Cleanup/shutdown

Type declaration

    • (): Promise<void>
    • Returns Promise<void>