Skip to main content

conversationSummarizer

Workspace API


Workspace API / services/conversationSummarizer

services/conversationSummarizer

Interfaces

ConversationKeyFacts

Defined in: services/conversationSummarizer.ts:26

Key facts extracted from conversation Structured data that survives aggressive summarization

Properties

keyDocuments

keyDocuments: KeyDocumentReference[]

Defined in: services/conversationSummarizer.ts:28

Documents referenced with key findings

userContext

userContext: string[]

Defined in: services/conversationSummarizer.ts:30

User's stated goals/constraints

conclusions

conclusions: string[]

Defined in: services/conversationSummarizer.ts:32

Conclusions reached in conversation

openQuestions

openQuestions: string[]

Defined in: services/conversationSummarizer.ts:34

Questions still being explored


KeyDocumentReference

Defined in: services/conversationSummarizer.ts:40

Reference to an important document in the conversation

Properties

filename

filename: string

Defined in: services/conversationSummarizer.ts:41

relevantSections

relevantSections: string[]

Defined in: services/conversationSummarizer.ts:42

keyFindings

keyFindings: string[]

Defined in: services/conversationSummarizer.ts:43


ConversationSummary

Defined in: services/conversationSummarizer.ts:49

Confirmed conversation summary (stored in database)

Properties

summaryText

summaryText: string

Defined in: services/conversationSummarizer.ts:51

Rolling summary of older turns

summaryUpdatedAt

summaryUpdatedAt: Date

Defined in: services/conversationSummarizer.ts:53

When summary was last updated

keyFacts

keyFacts: ConversationKeyFacts

Defined in: services/conversationSummarizer.ts:55

Structured key facts extracted from entire conversation

summarizedTurnCount

summarizedTurnCount: number

Defined in: services/conversationSummarizer.ts:57

Number of turns incorporated into summary

userConfirmed

userConfirmed: boolean

Defined in: services/conversationSummarizer.ts:59

Whether user confirmed this summary

userEdited

userEdited: boolean

Defined in: services/conversationSummarizer.ts:61

Whether user made edits before confirming

confirmedAt?

optional confirmedAt: Date

Defined in: services/conversationSummarizer.ts:63

When user confirmed


SummaryDraft

Defined in: services/conversationSummarizer.ts:69

Draft summary for user review

Properties

summaryText

summaryText: string

Defined in: services/conversationSummarizer.ts:71

Generated summary text

keyFacts

keyFacts: ConversationKeyFacts

Defined in: services/conversationSummarizer.ts:73

Extracted key facts

turnsToSummarize

turnsToSummarize: number

Defined in: services/conversationSummarizer.ts:75

Number of turns that will be summarized

estimatedTokenSavings

estimatedTokenSavings: number

Defined in: services/conversationSummarizer.ts:77

Estimated token savings from summarization

currentContextPercent

currentContextPercent: number

Defined in: services/conversationSummarizer.ts:79

Current context usage percentage

projectedContextPercent

projectedContextPercent: number

Defined in: services/conversationSummarizer.ts:81

Projected context usage after summarization


GenerateDraftOptions

Defined in: services/conversationSummarizer.ts:87

Options for generating summary draft

Properties

recentTurnsToKeep?

optional recentTurnsToKeep: number

Defined in: services/conversationSummarizer.ts:89

Number of recent turns to keep verbatim (default: 5)

maxSummaryTokens?

optional maxSummaryTokens: number

Defined in: services/conversationSummarizer.ts:91

Maximum tokens for summary (default: 1000)

contextWindowSize?

optional contextWindowSize: number

Defined in: services/conversationSummarizer.ts:93

Context window size for percentage calculations (default: 128000)

Variables

SUMMARIZATION_THRESHOLD

const SUMMARIZATION_THRESHOLD: 8 = 8

Defined in: services/conversationSummarizer.ts:110

Summarization threshold (number of turns before suggesting summarization)

Functions

generateSummaryDraft()

generateSummaryDraft(messages, existingSummary?, options?): Promise<SummaryDraft>

Defined in: services/conversationSummarizer.ts:290

Generate a summary draft for user review

Parameters

messages

Message[]

All conversation messages

existingSummary?

Current summary if any

ConversationSummary | null

options?

GenerateDraftOptions

Generation options

Returns

Promise<SummaryDraft>

Draft summary for user review


updateSummary()

updateSummary(existingSummary, newTurns): Promise<string>

Defined in: services/conversationSummarizer.ts:416

Update an existing summary incrementally Called when new turns need to be incorporated into an existing summary

Parameters

existingSummary

string

Current summary

newTurns

Message[]

New messages to incorporate

Returns

Promise<string>

Updated summary text


extractKeyFacts()

extractKeyFacts(messages, existingFacts?): Promise<ConversationKeyFacts>

Defined in: services/conversationSummarizer.ts:448

Extract key facts from messages

Parameters

messages

Message[]

Conversation messages

existingFacts?

ConversationKeyFacts

Optional existing facts to merge with

Returns

Promise<ConversationKeyFacts>

Extracted key facts


getSummarizationTrigger()

getSummarizationTrigger(contextPercent): "warning" | "suggest" | "require" | null

Defined in: services/conversationSummarizer.ts:501

Check if summarization should be triggered based on context usage

Parameters

contextPercent

number

Current context usage percentage

Returns

"warning" | "suggest" | "require" | null

Trigger level or null if no action needed


createEmptyKeyFacts()

createEmptyKeyFacts(): ConversationKeyFacts

Defined in: services/conversationSummarizer.ts:513

Create empty key facts structure

Returns

ConversationKeyFacts