UNPKG

@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

138 lines (137 loc) 4.55 kB
/** * Memory retrieval tools for LLM access to conversation history. * Enables the AI to retrieve full tool outputs, review previous messages, * and search conversation memory. * * Follows the createFileTools() factory pattern from files/fileTools.ts. * @module */ import type { RedisConversationMemoryManager } from "../core/redisConversationMemoryManager.js"; import type { ArtifactStore } from "../types/index.js"; /** * Factory function that creates memory retrieval tools bound to a memory manager. * * @param memoryManager Redis conversation memory manager instance. * @param artifactStore Optional artifact store for externalized MCP outputs. * When provided, retrieve_context gains an `artifactId` * parameter that fetches the full payload written by * McpOutputNormalizer under strategy="externalize". * @returns Record of tool name to Vercel AI SDK tool definition */ export declare function createMemoryRetrievalTools(memoryManager: RedisConversationMemoryManager | undefined, artifactStore?: ArtifactStore): { retrieve_context: import("ai").Tool<{ sessionId?: string | undefined; artifactId?: string | undefined; messageId?: string | undefined; role?: "system" | "user" | "assistant" | "tool_call" | "tool_result" | undefined; lastN?: number | undefined; offset?: number | undefined; limit?: number | undefined; search?: string | undefined; }, { error: string; artifactId: string; content?: undefined; totalSize?: undefined; hasMore?: undefined; offset?: undefined; limit?: undefined; sessionId?: undefined; messageId?: undefined; messages?: undefined; totalMessages?: undefined; } | { artifactId: string; content: string; totalSize: number; hasMore: boolean; offset: number; limit: number; error?: undefined; sessionId?: undefined; messageId?: undefined; messages?: undefined; totalMessages?: undefined; } | { error: string; artifactId?: undefined; content?: undefined; totalSize?: undefined; hasMore?: undefined; offset?: undefined; limit?: undefined; sessionId?: undefined; messageId?: undefined; messages?: undefined; totalMessages?: undefined; } | { error: string; sessionId: string; artifactId?: undefined; content?: undefined; totalSize?: undefined; hasMore?: undefined; offset?: undefined; limit?: undefined; messageId?: undefined; messages?: undefined; totalMessages?: undefined; } | { error: string; messageId: string; artifactId?: undefined; content?: undefined; totalSize?: undefined; hasMore?: undefined; offset?: undefined; limit?: undefined; sessionId?: undefined; messages?: undefined; totalMessages?: undefined; } | { messages: ({ id: string; error: string; role?: undefined; tool?: undefined; matchCount?: undefined; matches?: undefined; totalSize?: undefined; content?: undefined; hasMore?: undefined; } | { id: string; role: "system" | "user" | "assistant" | "tool_call" | "tool_result"; tool: string | undefined; matchCount: number; matches: { line: number; text: string; }[]; totalSize: number; error?: undefined; content?: undefined; hasMore?: undefined; } | { id: string; role: "system" | "user" | "assistant" | "tool_call" | "tool_result"; tool: string | undefined; content: string; totalSize: number; hasMore: boolean; error?: undefined; matchCount?: undefined; matches?: undefined; })[]; totalMessages: number; error?: undefined; artifactId?: undefined; content?: undefined; totalSize?: undefined; hasMore?: undefined; offset?: undefined; limit?: undefined; sessionId?: undefined; messageId?: undefined; }>; };