conversationSummarizer
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?
optionalconfirmedAt: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?
optionalrecentTurnsToKeep:number
Defined in: services/conversationSummarizer.ts:89
Number of recent turns to keep verbatim (default: 5)
maxSummaryTokens?
optionalmaxSummaryTokens:number
Defined in: services/conversationSummarizer.ts:91
Maximum tokens for summary (default: 1000)
contextWindowSize?
optionalcontextWindowSize:number
Defined in: services/conversationSummarizer.ts:93
Context window size for percentage calculations (default: 128000)
Variables
SUMMARIZATION_THRESHOLD
constSUMMARIZATION_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?
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?
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