Skip to main content

Class: SessionSummarizer

Defined in: packages/agentos/src/cognition/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/cognition/memory/ingest/SessionSummarizer.ts:169

Parameters​

opts​

SessionSummarizerOptions

Returns​

SessionSummarizer

Properties​

stats​

readonly stats: SummarizerStats

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

Running stats for diagnostics.

Methods​

computeCacheKey()​

computeCacheKey(sessionText): string

Defined in: packages/agentos/src/cognition/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/cognition/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/cognition/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

— a stable identifier for the session (e.g. ${caseId}:${sessionId}). Used only for logging; the cache key is content-addressed.

sessionText​

string

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

Returns​

Promise<string>