@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
81 lines (80 loc) • 2.49 kB
TypeScript
/**
* Context Assembly Utilities
*
* Provides utilities for assembling, formatting, and optimizing context
* from retrieved chunks for LLM consumption.
*
* Features:
* - Context window management (token-aware truncation)
* - Citation formatting
* - Context deduplication
* - Relevance-based ordering
* - Context summarization
*/
import type { Chunk, VectorQueryResult, ContextAssemblyOptions, ContextWindow } from "../../types/index.js";
/**
* Assemble context from retrieved results
*
* Combines multiple chunks into a coherent context string
* suitable for LLM consumption.
*
* @param results - Retrieved chunks or query results
* @param options - Assembly options
* @returns Assembled context string
*
* @example
* ```typescript
* const context = assembleContext(results, {
* maxTokens: 4000,
* citationFormat: 'numbered',
* deduplicate: true
* });
* ```
*/
export declare function assembleContext(results: Array<Chunk | VectorQueryResult>, options?: ContextAssemblyOptions): string;
/**
* Format context with inline citations
*
* @param results - Retrieved results
* @param options - Formatting options
* @returns Context with citations and citation list
*/
export declare function formatContextWithCitations(results: Array<Chunk | VectorQueryResult>, options?: ContextAssemblyOptions & {
returnCitations?: boolean;
}): {
context: string;
citations: string[];
};
/**
* Create a context window with detailed tracking
*
* @param results - Retrieved results
* @param options - Assembly options
* @returns Context window with metadata
*/
export declare function createContextWindow(results: Array<Chunk | VectorQueryResult>, options?: ContextAssemblyOptions): ContextWindow;
/**
* Summarize context using LLM
*
* @param context - Context to summarize
* @param maxLength - Maximum summary length
* @param provider - LLM provider instance
* @returns Summarized context
*/
export declare function summarizeContext(context: string, maxLength?: number, provider?: {
generate: (params: {
prompt: string;
maxTokens: number;
temperature: number;
}) => Promise<{
content?: string;
} | null>;
}): Promise<string>;
/**
* Order chunks by document structure (if available)
*/
export declare function orderByDocumentStructure(chunks: Chunk[]): Chunk[];
/**
* Extract key sentences from chunks for summary
*/
export declare function extractKeySentences(text: string, count?: number): string[];