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

69 lines (68 loc) 3.04 kB
import type { StreamOptions } from "../types/index.js"; /** * Builds a normalized multimodal options payload for streaming providers. * * This utility extracts and normalizes multimodal input fields from StreamOptions * into a consistent format that can be consumed by buildMultimodalMessagesArray. * * @param {StreamOptions} options - Stream options containing: * - input.text: Main text prompt * - input.images: Image files (Buffer | string paths/URLs) * - input.content: Advanced multimodal content array * - input.files: Auto-detected file types * - input.csvFiles: CSV files for tabular data * - input.pdfFiles: PDF documents (Buffer | string paths) * - csvOptions: CSV parsing options * - systemPrompt: System-level instructions * - conversationMessages: Chat history * - temperature: Model temperature (0-1) * - maxTokens: Maximum output tokens * - enableAnalytics: Enable analytics tracking * - enableEvaluation: Enable response evaluation * - context: Additional context data * @param {string} providerName - Provider identifier (e.g., "vertex", "openai", "anthropic") * @param {string} modelName - Model identifier (e.g., "gemini-2.5-flash", "gpt-4o") * @returns {object} Normalized options object with: * - input: { text, images, content, files, csvFiles, pdfFiles } * - csvOptions: CSV processing options * - systemPrompt: System prompt string * - conversationHistory: Message history array * - provider: Provider name * - model: Model name * - temperature: Temperature value * - maxTokens: Token limit * - enableAnalytics: Analytics flag * - enableEvaluation: Evaluation flag * - context: Context data * * @example * ```typescript * const opts = buildMultimodalOptions(streamOptions, "vertex", "gemini-2.5-flash"); * const messages = await buildMultimodalMessagesArray(opts, "vertex", "gemini-2.5-flash"); * ``` */ export declare function buildMultimodalOptions(options: StreamOptions, providerName: string, modelName: string): { input: { text: string; images: (string | Buffer<ArrayBufferLike> | import("../index.js").ImageWithAltText)[] | undefined; content: import("../index.js").Content[] | undefined; files: (string | Buffer<ArrayBufferLike> | import("../index.js").FileWithMetadata)[] | undefined; csvFiles: (string | Buffer<ArrayBufferLike>)[] | undefined; pdfFiles: (string | Buffer<ArrayBufferLike>)[] | undefined; }; csvOptions: { maxRows?: number; formatStyle?: "raw" | "markdown" | "json"; includeHeaders?: boolean; } | undefined; systemPrompt: string | undefined; conversationHistory: import("../index.js").ChatMessage[] | undefined; provider: string; model: string; temperature: number | undefined; maxTokens: number | undefined; enableAnalytics: boolean | undefined; enableEvaluation: boolean | undefined; context: import("../index.js").UnknownRecord | undefined; fileRegistry: unknown; };