UNPKG

@hashgraphonline/conversational-agent

Version:

Hashgraph Online conversational AI agent implementing HCS-10 communication, HCS-2 registries, and content inscription on Hedera

77 lines (75 loc) 2.24 kB
import { ContentReference, ReferenceId } from '../types/content-reference'; import { ReferenceContextManager, ReferenceDisplayOptions } from './ReferenceContextManager'; import { Logger } from '@hashgraphonline/standards-sdk'; export interface ResponseProcessingOptions { autoDisplayReferences?: boolean; displayOptions?: ReferenceDisplayOptions; includeReferenceInstructions?: boolean; contextualizeReferences?: boolean; } export interface ProcessedResponse { content: string; hasReferences: boolean; referenceCount: number; contextIds: string[]; suggestedActions: string[]; } export interface ReferenceDetectionResult { hasReferences: boolean; references: Array<{ reference: ContentReference; position: number; originalText: string; }>; plainReferences: Array<{ referenceId: ReferenceId; position: number; originalText: string; }>; } /** * Processes agent responses to detect and display content references * Handles both structured references and plain reference IDs */ export declare class ReferenceResponseProcessor { private contextManager; private logger; constructor(contextManager: ReferenceContextManager, logger: Logger); /** * Process an agent response to handle content references */ processResponse(responseContent: string, options?: ResponseProcessingOptions): Promise<ProcessedResponse>; /** * Detect references in response content */ private detectReferences; /** * Create a preview from content buffer */ private createPreviewFromContent; /** * Validate reference ID format */ private isValidReferenceId; /** * Get reference context statistics */ getContextStats(): { activeReferences: number; conversationTurn: number; oldestReference: number | null; mostRecentReference: number | null; }; /** * Validate all references in context */ validateAllReferences(): Promise<{ valid: number; invalid: number; removed: ReferenceId[]; }>; /** * Clean up old references */ cleanupOldReferences(maxAgeMs?: number): number; }