Skip to main content

ragHistoryService

Workspace API


Workspace API / services/ragHistoryService

services/ragHistoryService

Interfaces

HistoryMessage

Defined in: services/ragHistoryService.ts:24

Simplified history message for context building

Properties

role

role: "user" | "assistant"

Defined in: services/ragHistoryService.ts:25

content

content: string

Defined in: services/ragHistoryService.ts:26

chunks?

optional chunks: RAGChunk[]

Defined in: services/ragHistoryService.ts:27

timestamp?

optional timestamp: Date

Defined in: services/ragHistoryService.ts:28


HistoryContext

Defined in: services/ragHistoryService.ts:34

Complete history context with tiered memory

Properties

recentMessages

recentMessages: HistoryMessage[]

Defined in: services/ragHistoryService.ts:36

Tier 1: Recent turns (verbatim)

summary

summary: string | null

Defined in: services/ragHistoryService.ts:38

Tier 2: User-confirmed summary of older turns

keyFacts

keyFacts: ConversationKeyFacts | null

Defined in: services/ragHistoryService.ts:40

Tier 3: User-confirmed key facts

summaryConfirmed

summaryConfirmed: boolean

Defined in: services/ragHistoryService.ts:42

Whether summary was user-confirmed

tokenCounts

tokenCounts: object

Defined in: services/ragHistoryService.ts:44

Token counts by tier

recentMessages

recentMessages: number

summary

summary: number

keyFacts

keyFacts: number

total

total: number

truncated

truncated: boolean

Defined in: services/ragHistoryService.ts:51

Whether any tier was truncated

originalTurnCount

originalTurnCount: number

Defined in: services/ragHistoryService.ts:53

Total turns in original conversation


BuildHistoryOptions

Defined in: services/ragHistoryService.ts:59

Options for building history context

Properties

recentTurnCount?

optional recentTurnCount: number

Defined in: services/ragHistoryService.ts:61

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

prioritizeKeyFacts?

optional prioritizeKeyFacts: boolean

Defined in: services/ragHistoryService.ts:63

Whether to prioritize key facts (default: true)

Functions

messagesToHistory()

messagesToHistory(messages): HistoryMessage[]

Defined in: services/ragHistoryService.ts:182

Convert database messages to history format

Parameters

messages

Message[]

Returns

HistoryMessage[]


buildHistoryContext()

buildHistoryContext(messages, confirmedSummary, maxTokens, options?): HistoryContext

Defined in: services/ragHistoryService.ts:209

Build history context using tiered memory approach

Priority order:

  1. Key facts (always included if available, ~200-500 tokens)
  2. Recent turns (last 3-5 pairs, ~2-4K tokens)
  3. Summary (fills remaining budget, ~500-1K tokens)

Parameters

messages

HistoryMessage[]

All conversation messages

confirmedSummary

User-confirmed summary (from DB)

ConversationSummary | null

maxTokens

number

Total token budget for history

options?

BuildHistoryOptions

Build options

Returns

HistoryContext

History context for RAG prompt


formatHistoryForPrompt()

formatHistoryForPrompt(context): string

Defined in: services/ragHistoryService.ts:327

Format history context for inclusion in RAG prompt

Parameters

context

HistoryContext

History context from buildHistoryContext

Returns

string

Formatted string for prompt


getHistoryTokenCount()

getHistoryTokenCount(context): number

Defined in: services/ragHistoryService.ts:370

Calculate token count for history context

Parameters

context

HistoryContext

Returns

number


hasHistoryContent()

hasHistoryContent(context): boolean

Defined in: services/ragHistoryService.ts:377

Check if history context has any content

Parameters

context

HistoryContext

Returns

boolean