Skip to main content

Class: SessionSummarizer

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:155

LLM-backed session summarizer with a persistent on-disk cache.

Example

const summarizer = new SessionSummarizer({
invoker: async (system, user) => {
const resp = await reader.invoke({ system, user, maxTokens: 140, temperature: 0 });
return { text: resp.text, tokensIn: resp.tokensIn, tokensOut: resp.tokensOut, model: resp.model };
},
cacheDir: '/path/to/data/.session-summary-cache',
modelId: 'gpt-5-mini',
});

const summary = await summarizer.summarize('conv-26-session-3', sessionText);
// => "User discussed adopting a new rescue dog from a Portland shelter..."

Constructors

Constructor

new SessionSummarizer(opts): SessionSummarizer

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:169

Parameters

opts

SessionSummarizerOptions

Returns

SessionSummarizer

Properties

stats

readonly stats: SummarizerStats

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:157

Running stats for diagnostics.

Methods

computeCacheKey()

computeCacheKey(sessionText): string

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:240

Build the SHA-256 cache key from session content + model + template. Exposed for tests; callers should use summarize.

Parameters

sessionText

string

Returns

string


getTemplateVersion()

getTemplateVersion(): string

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:251

Expose the resolved template version — useful for cache-key fingerprints in other layers.

Returns

string


summarize()

summarize(_sessionKey, sessionText): Promise<string>

Defined in: packages/agentos/src/memory/ingest/SessionSummarizer.ts:183

Summarize a single session. Returns cached result if available, otherwise calls the LLM and writes to cache.

Parameters

_sessionKey

string

sessionText

string

— the raw text of the session (all turns concatenated).

Returns

Promise<string>