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
Returns
SessionSummarizer
Properties
stats
readonlystats: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>