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

807 lines (621 loc) 61.9 kB
# NeuroLink **The pipe layer for the AI nervous system.** AI intelligence flows as streams — tokens, tool calls, memory, voice, documents. NeuroLink is the vascular layer that carries these streams from where they are generated (LLM providers: the neurons) to where they are needed (connectors: the organs). ```typescript import { NeuroLink } from "@juspay/neurolink"; const pipe = new NeuroLink(); // Everything is a stream const result = await pipe.stream({ input: { text: "Hello" } }); for await (const chunk of result.stream) { if ("content" in chunk) { process.stdout.write(chunk.content); } } ``` **[→ Docs](https://docs.neurolink.ink) · [→ Quick Start](https://docs.neurolink.ink/docs/getting-started/quick-start) · [→ npm](https://www.npmjs.com/package/@juspay/neurolink)** --- ## 🧠 What is NeuroLink? **NeuroLink is the universal AI integration platform that unifies 21+ AI providers and 100+ models under one consistent API.** Extracted from production systems at Juspay and battle-tested at enterprise scale, NeuroLink provides a production-ready solution for integrating AI into any application. Whether you're building with OpenAI, Anthropic, Google, AWS Bedrock, Azure, or any of our 21+ supported providers, NeuroLink gives you a single, consistent interface that works everywhere. **Why NeuroLink?** Switch providers with a single parameter change, leverage 64+ built-in tools and MCP servers, deploy with confidence using enterprise features like Redis memory and multi-provider failover, and optimize costs automatically with intelligent routing. Use it via our professional CLI or TypeScript SDK—whichever fits your workflow. **Where we're headed:** We're building for the future of AI—edge-first execution and continuous streaming architectures that make AI practically free and universally available. **[Read our vision →](docs/about/vision.md)** **[Get Started in <5 Minutes →](docs/getting-started/quick-start.md)** --- ## What's New (Q1 2026) | Feature | Version | Description | Guide | | -------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | **Avatar / Music Modalities + 12 Providers** | next | New `output: { mode: "avatar" \| "music" }` dispatch with handlers for D-ID, HeyGen, Replicate-MuseTalk (avatar) and Beatoven, ElevenLabs Music, Lyria, Replicate-MusicGen (music). Plus Fish Audio TTS, Kling/Runway/Replicate video, xAI/Groq/Cohere/Together/Fireworks/Perplexity/Cloudflare LLMs, Voyage/Jina embeddings, Stability/Ideogram/Recraft/Replicate image-gen. | [Provider Integration](docs/provider-integration/) | | **Multi-Provider Voice (TTS/STT)** | v9.62.0 | 4 TTS providers (OpenAI TTS, ElevenLabs, Google TTS, Azure TTS) + 4 STT providers (Whisper, Deepgram, Azure STT, Google STT) + 2 realtime APIs (OpenAI Realtime, Gemini Live). | [TTS Guide](docs/features/tts.md) \| [STT Guide](docs/features/audio-input.md) \| [Realtime Guide](docs/features/real-time-services.md) | | **4 New Providers** | v9.60.0 | DeepSeek (V3/R1), NVIDIA NIM (400+ catalog), LM Studio (local), llama.cpp (GGUF local). | [Provider Setup](docs/getting-started/provider-setup.md) | | **ModelAccessDeniedError** | v9.59.0 | Typed `ModelAccessDeniedError` + `sdk.checkCredentials()` API for proactive credential validation before first call. | [Error Reference](docs/reference/troubleshooting.md) | | **Provider Fallback Policy** | v9.58.0 | `providerFallback` callback + `modelChain` config for centralized multi-provider fallback logic. | [Advanced Guide](docs/advanced/index.md) | | **Per-Request Credentials** | v9.52.0 | Pass credentials per-call or per-instance for all providers. Per-call overrides instance; instance overrides env vars. | [Credentials Guide](docs/features/per-request-credentials.md) | | **AutoResearch** | v9.53.0 | Autonomous AI experiment engine: proposes code changes, runs experiments, evaluates metrics — unattended for hours. | [AutoResearch Guide](docs/features/autoresearch.md) | | **Gemini 3 Multi-turn Tool Fix** | v9.49.0 | Fixed multi-step agentic tool calling on Vertex AI Gemini 3. Correct `thoughtSignature` replay, `stepIndex` grouping, `executionId` session isolation, 5-min timeout. | [Vertex AI Guide](docs/getting-started/providers/google-vertex.md) | | **MCP Enhancements** | v9.16.0 | Tool routing (6 strategies), result caching (LRU/FIFO/LFU), request batching, annotations, elicitation protocol, multi-server management. | [MCP Enhancements Guide](docs/features/mcp-enhancements.md) | | **Memory** | v9.12.0 | Per-user condensed memory across conversations. LLM-powered condensation with S3, Redis, or SQLite. | [Memory Guide](docs/features/memory.md) | | **Context Window Management** | v9.2.0 | 4-stage compaction pipeline with budget gate at 80% usage, per-provider token estimation. | [Context Compaction Guide](docs/features/context-compaction.md) | | **Tool Execution Control** | v9.3.0 | `prepareStep` and `toolChoice` for per-step tool enforcement in multi-step agentic loops. | [API Reference](docs/api/type-aliases/GenerateOptions.md#preparestep) | | **File Processor System** | v9.1.0 | 17+ file type processors with ProcessorRegistry, security sanitization, SVG text injection. | [File Processors Guide](docs/features/file-processors.md) | | **RAG with generate()/stream()** | v9.2.0 | Pass `rag: { files }` for automatic document chunking, embedding, and AI-powered search. 10 chunking strategies, hybrid search, reranking. | [RAG Guide](docs/features/rag.md) | ```typescript // Multi-Provider Voice (v9.62.0) — TTS + STT // Voice is configured via the `tts` / `stt` options on generate() / stream(), // not via dedicated synthesizeSpeech / transcribeAudio methods. // Text in, audio out (TTS) const result = await neurolink.generate({ input: { text: "Hello from NeuroLink" }, provider: "vertex", tts: { enabled: true, voice: "en-US-Neural2-C", format: "mp3", output: "./output.mp3", // optional: save to disk provider: "elevenlabs", // optional override: openai-tts | elevenlabs | google-ai | vertex | azure-tts }, }); // result.audio: { buffer: Buffer, format: "mp3", ... } // Audio in (STT), text out const transcript = await neurolink.generate({ input: { text: "Transcribe and summarize" }, provider: "openai", stt: { enabled: true, audio: audioBuffer, // Buffer of the audio file provider: "whisper", // whisper | deepgram | google-stt | azure-stt language: "en-US", }, }); // Real-time bidirectional voice (OpenAI Realtime / Gemini Live) import { RealtimeProcessor } from "@juspay/neurolink"; await RealtimeProcessor.connect( "openai-realtime", { provider: "openai-realtime", model: "gpt-4o-realtime-preview" }, { onAudio, onTranscript, onError, onFunctionCall }, ); // AutoResearch — autonomous experiment loop (v9.53.0) import { resolveConfig, ResearchWorker } from "@juspay/neurolink/autoresearch"; const config = resolveConfig({ repoPath: "/path/to/repo", mutablePaths: ["train.py"], runCommand: "python3 train.py", metric: { name: "val_bpb", direction: "lower", pattern: "^val_bpb:\\s+([\\d.]+)", }, }); const worker = new ResearchWorker(config); await worker.initialize("experiment-1"); const result = await worker.runExperimentCycle("Try lower learning rate"); // Provider Fallback Policy (v9.58.0) — fires only on ModelAccessDeniedError import { NeuroLink, ModelAccessDeniedError } from "@juspay/neurolink"; const neurolink = new NeuroLink({ // Async callback. Single error arg. Return null to give up, // or { provider?, model? } to retry with a substitute. providerFallback: async (error) => { if ( error instanceof ModelAccessDeniedError && error.allowedModels?.length ) { return { model: error.allowedModels[0] }; } return null; }, // Sugar over providerFallback: if no callback is set, NeuroLink walks this list // on each access denial. modelChain is `string[]` only (model names; same provider). modelChain: ["claude-opus-4-7", "claude-sonnet-4-6", "gpt-4o"], }); ``` --- <details> <summary><strong>Previous Updates (Q3–Q4 2025)</strong></summary> - **Sharp image compression** (v9.50.0) – Automatic image compression for AI providers via the sharp library; reduces upload bandwidth and bypasses provider size limits. - **Redis URL/TLS** (v9.49.0) – Redis URL-based connections with TLS support for secure conversation memory in production. - **TaskManager** (v9.41.0) – Scheduled and self-running AI tasks; cron-style execution with state checkpointing. - **Multi-user memory retrieval** (v9.40.0) – Per-user memory storage and retrieval with customizable prompts. - **Evaluation Scoring (14 scorers)** (v9.37.0) – Modular evaluation system with 14 scorers, pipelines, and CLI for offline quality assessment. - **Browser-compatible bundle** (v9.34.0) – Client-side SDK bundle for browser use; no Node.js dependency for the core API. - **Per-call memory control** (v9.33.0) – Read/write memory control per `generate()` and `stream()` call. - **Server Adapters** (v8.43.0) – HTTP server with Hono, Express, Fastify, Koa. Foreground/background modes, route management, OpenAPI generation. → [Guide](docs/guides/server-adapters/index.md) - **External TracerProvider** (v8.43.0) – Integrate NeuroLink with existing OpenTelemetry setups. → [Guide](docs/features/observability.md) - **Title Generation Events** (v8.38.0) – `conversation:titleGenerated` event + `NEUROLINK_TITLE_PROMPT` custom titles. → [Guide](docs/conversation-memory.md) - **Video Generation with Veo** (v8.32.0) – Video generation via Google Veo 3.1 on Vertex AI. 720p/1080p, portrait/landscape. → [Guide](docs/features/video-generation.md) - **Image Generation** (v8.31.0) – Native image generation with Gemini and Imagen models. → [Guide](docs/image-generation-streaming.md) - **HTTP/Streamable HTTP Transport** (v8.29.0) – Remote MCP servers via HTTP with auth headers, retry, rate limiting. → [Guide](docs/mcp-http-transport.md) - **PPT Generation** – 35 slide types, 5 themes, optional AI-generated images. Works across all major providers. → [Guide](docs/features/ppt-generation.md) - **Structured Output with Zod** – Type-safe JSON via `schema` + `output.format: "json"`. → [Guide](docs/features/structured-output.md) - **CSV & PDF File Support** – Attach CSV/PDF with auto-detection. PDF: native visual analysis on Vertex, Anthropic, Bedrock, AI Studio. → [CSV](docs/features/multimodal-chat.md#csv-file-support) | [PDF](docs/features/pdf-support.md) - **LiteLLM, SageMaker & OpenRouter** – 100+ models via LiteLLM, custom endpoints on SageMaker, 300+ via OpenRouter. → [LiteLLM](docs/litellm-integration.md) | [SageMaker](docs/sagemaker-integration.md) - **HITL & Guardrails** – Human-in-the-loop approval workflows and content filtering. → [HITL](docs/features/hitl.md) | [Guardrails](docs/features/guardrails.md) - **Redis Conversation Export** – Export full session history as JSON for analytics and audit. → [Guide](docs/features/conversation-history.md) </details> ## Enterprise Security: Human-in-the-Loop (HITL) NeuroLink includes a **production-ready HITL system** for regulated industries and high-stakes AI operations: | Capability | Description | Use Case | | --------------------------- | --------------------------------------------------------- | ------------------------------------------ | | **Tool Approval Workflows** | Require human approval before AI executes sensitive tools | Financial transactions, data modifications | | **Output Validation** | Route AI outputs through human review pipelines | Medical diagnosis, legal documents | | **Confidence Thresholds** | Automatically trigger human review below confidence level | Critical business decisions | | **Complete Audit Trail** | Full audit logging for compliance (HIPAA, SOC2, GDPR) | Regulated industries | ```typescript import { NeuroLink } from "@juspay/neurolink"; const neurolink = new NeuroLink({ hitl: { enabled: true, requireApproval: ["writeFile", "executeCode", "sendEmail"], confidenceThreshold: 0.85, reviewCallback: async (action, context) => { // Custom review logic - integrate with your approval system return await yourApprovalSystem.requestReview(action); }, }, }); // AI pauses for human approval before executing sensitive tools const result = await neurolink.generate({ input: { text: "Send quarterly report to stakeholders" }, }); ``` **[Enterprise HITL Guide](docs/features/enterprise-hitl.md)** | **[Quick Start](docs/features/hitl.md)** ## 📚 Quick Start Guide This guide will have you generating AI responses in under 5 minutes using either the SDK or CLI. ### Installation Choose your preferred package manager: ```bash # npm npm install @juspay/neurolink # pnpm (recommended) pnpm add @juspay/neurolink # yarn yarn add @juspay/neurolink # CLI only (no installation needed) npx @juspay/neurolink --help ``` ### Configuration NeuroLink works with 21+ AI providers. You'll need at least one API key to get started: **Option 1: Interactive Setup (Recommended)** ```bash # Run the setup wizard to configure providers pnpm dlx @juspay/neurolink setup ``` The wizard will guide you through: - Selecting your preferred AI providers - Validating API keys - Setting up configuration files **Option 2: Manual Configuration** Create a `.env` file in your project root: ```bash # Choose one or more providers OPENAI_API_KEY=sk-... ANTHROPIC_API_KEY=sk-ant-... GOOGLE_AI_API_KEY=... ``` **Free Tier Options:** - **Google AI Studio**: Get a free API key at [aistudio.google.com](https://aistudio.google.com) - **Mistral AI**: Free tier available at [console.mistral.ai](https://console.mistral.ai) - **Ollama**: 100% free local models (requires [Ollama installation](https://ollama.ai)) ### Your First API Call (SDK) **Basic Text Generation:** ```typescript import { NeuroLink } from "@juspay/neurolink"; // Initialize (auto-selects best available provider from your .env) const neurolink = new NeuroLink(); // Generate a response const result = await neurolink.generate({ input: { text: "Explain quantum computing in simple terms" }, }); console.log(result.content); ``` **Streaming Responses:** ```typescript // Stream tokens in real-time const stream = await neurolink.stream({ input: { text: "Write a haiku about code" }, }); for await (const chunk of stream.stream) { if ("content" in chunk) process.stdout.write(chunk.content); } ``` **Multimodal Input (Images + Text):** ```typescript const result = await neurolink.generate({ input: { text: "What's in this image?", images: ["./photo.jpg"], }, }); ``` **Using Tools:** ```typescript // Built-in tools are automatically available const result = await neurolink.generate({ input: { text: "What time is it and what files are in the current directory?", }, // AI can call getCurrentTime and listDirectory tools }); ``` ### Your First API Call (CLI) **Basic Generation:** ```bash # Simple text generation npx @juspay/neurolink generate "Explain TypeScript generics" # Specify provider and model npx @juspay/neurolink generate "Hello!" --provider openai --model gpt-4o # Stream responses npx @juspay/neurolink stream "Write a story about AI" --provider anthropic ``` **Multimodal Input:** ```bash # Analyze images npx @juspay/neurolink generate "Describe this image" --image photo.jpg # Process PDFs npx @juspay/neurolink generate "Summarize this document" --pdf report.pdf # Combine multiple file types npx @juspay/neurolink generate "Analyze this data" --file data.xlsx --file config.json ``` **Interactive Loop Mode:** ```bash # Start an interactive session with persistent context npx @juspay/neurolink loop # Inside loop mode: > set provider anthropic > set model claude-opus-4 > generate "Hello, Claude!" > history # View conversation history > exit ``` ### Common Use Cases **RAG (Retrieval-Augmented Generation):** ```typescript // Automatically chunk, embed, and search documents const result = await neurolink.generate({ input: { text: "What are the key features mentioned in the documentation?" }, rag: { files: ["./docs/guide.md", "./docs/api.md"], chunkSize: 512, topK: 5, }, }); ``` **Structured Output with Zod:** ```typescript import { z } from "zod"; const schema = z.object({ name: z.string(), age: z.number(), email: z.string().email(), }); const result = await neurolink.generate({ input: { text: "Extract user info: John Doe, 30 years old, john@example.com", }, schema, output: { format: "json" }, }); // Parse the structured JSON from result.content const parsed = schema.parse(JSON.parse(result.content)); console.log(parsed); // { name: "John Doe", age: 30, email: "john@example.com" } ``` **External MCP Servers (GitHub, Slack, etc.):** ```typescript // Connect to GitHub MCP server await neurolink.addExternalMCPServer("github", { command: "npx", args: ["-y", "@modelcontextprotocol/server-github"], transport: "stdio", env: { GITHUB_TOKEN: process.env.GITHUB_TOKEN }, }); // AI can now interact with GitHub const result = await neurolink.generate({ input: { text: 'Create an issue titled "Bug: login fails"' }, }); ``` ### Next Steps - **[Complete Documentation](https://docs.neurolink.ink)** - Comprehensive guides and API reference - **[Provider Setup Guide](docs/getting-started/provider-setup.md)** - Configure all 33+ providers - **[SDK API Reference](docs/sdk/api-reference.md)** - Full TypeScript API documentation - **[CLI Command Reference](docs/cli/commands.md)** - Complete CLI documentation - **[Example Projects](docs/examples/index.md)** - Real-world integration examples - **[Advanced Features](docs/advanced/index.md)** - Middleware, observability, workflows ### Troubleshooting **Issue: "Provider not configured"** - Run `npx @juspay/neurolink setup` or add provider API key to `.env` **Issue: Rate limit errors** - Configure multiple providers for redundancy — NeuroLink auto-selects the best available - Use `provider: "litellm"` with LiteLLM to proxy across many providers **Issue: Large context overflows** - Enable conversation memory with compaction: `new NeuroLink({ conversationMemory: { enabled: true } })` - Use `rag` option to search documents instead of sending full content Need help? Check our [Troubleshooting Guide](docs/reference/troubleshooting.md) or [open an issue](https://github.com/juspay/neurolink/issues). --- ## 🌟 Complete Feature Set NeuroLink is a comprehensive AI development platform. Every feature below is production-ready and fully documented. ### 🤖 AI Provider Integration **33+ providers unified under one API** - Switch providers with a single parameter change. | Provider | Models | Free Tier | Tool Support | Status | Documentation | | --------------------- | -------------------------------------------------------------------------- | --------------- | ------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------- | | **OpenAI** | GPT-4o, GPT-4o-mini, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai) | | **Anthropic** | Claude 4.6 Opus/Sonnet, Claude 4.5 Opus/Sonnet/Haiku, Claude 4 Opus/Sonnet | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#anthropic) \| [Subscription Guide](docs/features/claude-subscription.md) | | **Google AI Studio** | Gemini 3 Flash/Pro, Gemini 2.5 Flash/Pro | ✅ Free Tier | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#google-ai) | | **AWS Bedrock** | Claude, Titan, Llama, Nova | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#bedrock) | | **Google Vertex** | Gemini 3/2.5 (gemini-3-\*-preview) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#vertex) | | **Azure OpenAI** | GPT-4, GPT-4o, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#azure) | | **LiteLLM** | 100+ models unified | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/litellm-integration.md) | | **AWS SageMaker** | Custom deployed models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/sagemaker-integration.md) | | **Mistral AI** | Mistral Large, Small | ✅ Free Tier | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#mistral) | | **Hugging Face** | 100,000+ models | ✅ Free | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#huggingface) | | **Ollama** | Local models (Llama, Mistral) | ✅ Free (Local) | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#ollama) | | **OpenAI Compatible** | Any OpenAI-compatible endpoint | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai-compatible) | | **OpenRouter** | 200+ Models via OpenRouter | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/providers/openrouter.md) | | **DeepSeek** | deepseek-chat (V3), deepseek-reasoner (R1) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#deepseek) | | **NVIDIA NIM** | Llama 3.3 70B, 400+ catalog models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#nvidia-nim) | | **LM Studio** | Any model loaded in LM Studio (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#lm-studio) | | **llama.cpp** | Any GGUF model served by llama-server (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#llamacpp) | | **OpenAI TTS** | TTS-1, TTS-1-HD, GPT-4o Audio | ❌ | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai-tts) | | **ElevenLabs** | Multilingual v2, Turbo v2.5, Flash v2.5 | ✅ Free Tier | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#elevenlabs) | | **Deepgram** | Nova-3, Nova-2, Enhanced, Base (STT) | ✅ Free Tier | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#deepgram) | | **Azure Speech** | Azure Cognitive Services TTS + STT | ❌ | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#azure-speech) | **[📖 Provider Comparison Guide](docs/reference/provider-comparison.md)** - Detailed feature matrix and selection criteria **[🔬 Provider Feature Compatibility](docs/reference/provider-feature-compatibility.md)** - Test-based compatibility reference for all 19 features across 21+ providers --- ### 🔧 Built-in Tools & MCP Integration **6 Core Tools** (work across all providers, zero configuration): | Tool | Purpose | Auto-Available | Documentation | | -------------------- | ------------------------ | ----------------------- | ------------------------------------------ | | `getCurrentTime` | Real-time clock access | ✅ | [Tool Reference](docs/sdk/custom-tools.md) | | `readFile` | File system reading | ✅ | [Tool Reference](docs/sdk/custom-tools.md) | | `writeFile` | File system writing | ✅ | [Tool Reference](docs/sdk/custom-tools.md) | | `listDirectory` | Directory listing | ✅ | [Tool Reference](docs/sdk/custom-tools.md) | | `calculateMath` | Mathematical operations | ✅ | [Tool Reference](docs/sdk/custom-tools.md) | | `websearchGrounding` | Google Vertex web search | ⚠️ Requires credentials | [Tool Reference](docs/sdk/custom-tools.md) | **58+ External MCP Servers** supported (GitHub, PostgreSQL, Google Drive, Slack, and more): ```typescript // stdio transport - local MCP servers via command execution await neurolink.addExternalMCPServer("github", { command: "npx", args: ["-y", "@modelcontextprotocol/server-github"], transport: "stdio", env: { GITHUB_TOKEN: process.env.GITHUB_TOKEN }, }); // HTTP transport - remote MCP servers via URL await neurolink.addExternalMCPServer("github-copilot", { transport: "http", url: "https://api.githubcopilot.com/mcp", headers: { Authorization: "Bearer YOUR_COPILOT_TOKEN" }, timeout: 15000, retries: 5, }); // Tools automatically available to AI const result = await neurolink.generate({ input: { text: 'Create a GitHub issue titled "Bug in auth flow"' }, }); ``` **MCP Transport Options:** | Transport | Use Case | Key Features | | ----------- | -------------- | ----------------------------------------------- | | `stdio` | Local servers | Command execution, environment variables | | `http` | Remote servers | URL-based, auth headers, retries, rate limiting | | `sse` | Event streams | Server-Sent Events, real-time updates | | `websocket` | Bi-directional | Full-duplex communication | **[📖 MCP Integration Guide](docs/advanced/mcp-integration.md)** - Setup external servers **[📖 HTTP Transport Guide](docs/mcp-http-transport.md)** - Remote MCP server configuration --- ### 🔌 MCP Enhancements **Production-grade MCP capabilities** for managing tool calls at scale across multi-server environments: | Module | Purpose | | ----------------------------- | ---------------------------------------------------------- | | **Tool Router** | Intelligent routing across servers with 6 strategies | | **Tool Cache** | Result caching with LRU, FIFO, and LFU eviction | | **Request Batcher** | Automatic batching of tool calls for throughput | | **Tool Annotations** | Safety metadata and behavior hints for MCP tools | | **Tool Converter** | Bidirectional conversion between NeuroLink and MCP formats | | **Elicitation Protocol** | Interactive user input during tool execution (HITL) | | **Multi-Server Manager** | Load balancing and failover across server groups | | **MCP Server Base** | Abstract base class for building custom MCP servers | | **Enhanced Tool Discovery** | Advanced search and filtering across servers | | **Agent & Workflow Exposure** | Expose agents and workflows as MCP tools | | **Server Capabilities** | Resource and prompt management per MCP spec | | **Registry Client** | Discover and connect to MCP servers from registries | | **Tool Integration** | End-to-end tool lifecycle with middleware chain | | **Elicitation Manager** | Manages elicitation flows with validation and timeouts | ```typescript import { ToolRouter, ToolCache, RequestBatcher } from "@juspay/neurolink"; // Route tool calls across multiple MCP servers const router = new ToolRouter({ strategy: "capability-based", servers: [ { name: "github", url: "https://mcp-github.example.com" }, { name: "db", url: "https://mcp-postgres.example.com" }, ], }); // Cache repeated tool results (LRU, FIFO, or LFU) const cache = new ToolCache({ strategy: "lru", maxSize: 500, ttl: 60_000 }); // Batch concurrent tool calls for throughput const batcher = new RequestBatcher({ maxBatchSize: 10, maxWaitMs: 50 }); ``` **[📖 MCP Enhancements Guide](docs/features/mcp-enhancements.md)** - Full reference for all 14 modules --- ### 💻 Developer Experience Features **SDK-First Design** with TypeScript, IntelliSense, and type safety: | Feature | Description | Documentation | | --------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------- | | **Auto Provider Selection** | Intelligent provider fallback | [SDK Guide](docs/sdk/index.md#auto-selection) | | **Streaming Responses** | Real-time token streaming | [Streaming Guide](docs/advanced/streaming.md) | | **Conversation Memory** | Automatic context management with embedded per-user memory | [Memory Guide](docs/sdk/index.md#memory) | | **Full Type Safety** | Complete TypeScript types | [Type Reference](docs/sdk/api-reference.md) | | **Error Handling** | Graceful provider fallback | [Error Guide](docs/reference/troubleshooting.md) | | **Analytics & Evaluation** | Usage tracking, quality scores | [Analytics Guide](docs/advanced/analytics.md) | | **Middleware System** | Request/response hooks | [Middleware Guide](docs/custom-middleware-guide.md) | | **Framework Integration** | Next.js, SvelteKit, Express | [Framework Guides](docs/sdk/framework-integration.md) | | **Extended Thinking** | Native thinking/reasoning mode for Gemini 3 and Claude models | [Thinking Guide](docs/features/thinking-configuration.md) | | **RAG Document Processing** | `rag: { files }` on generate/stream with 10 chunking strategies and hybrid search | [RAG Guide](docs/features/rag.md) | --- ### 📁 Multimodal & File Processing **17+ file categories supported** (50+ total file types including code languages) with intelligent content extraction and provider-agnostic processing: | Category | Supported Types | Processing | | ------------- | ---------------------------------------------------------- | ----------------------------------- | | **Documents** | Excel (`.xlsx`, `.xls`), Word (`.docx`), RTF, OpenDocument | Sheet extraction, text extraction | | **Data** | JSON, YAML, XML | Validation, syntax highlighting | | **Markup** | HTML, SVG, Markdown, Text | OWASP-compliant sanitization | | **Code** | 50+ languages (TypeScript, Python, Java, Go, etc.) | Language detection, syntax metadata | | **Config** | `.env`, `.ini`, `.toml`, `.cfg` | Secure parsing | | **Media** | Images (PNG, JPEG, WebP, GIF), PDFs, CSV | Provider-specific formatting | ```typescript // Process any supported file type const result = await neurolink.generate({ input: { text: "Analyze this data and code", files: [ "./data.xlsx", // Excel spreadsheet "./config.yaml", // YAML configuration "./diagram.svg", // SVG (injected as sanitized text) "./main.py", // Python source code ], }, }); // CLI: Use --file for any supported type // neurolink generate "Analyze this" --file ./report.xlsx --file ./config.json ``` **Key Features:** - **ProcessorRegistry** - Priority-based processor selection with fallback - **OWASP Security** - HTML/SVG sanitization prevents XSS attacks - **Auto-detection** - FileDetector identifies file types by extension and content - **Provider-agnostic** - All processors work across all 21+ AI providers **[📖 File Processors Guide](docs/features/file-processors.md)** - Complete reference for all file types --- ### 🏢 Enterprise & Production Features **Production-ready capabilities for regulated industries:** | Feature | Description | Use Case | Documentation | | --------------------------- | ------------------------------------------- | ------------------------- | ----------------------------------------------------------- | | **Enterprise Proxy** | Corporate proxy support | Behind firewalls | [Proxy Setup](docs/enterprise-proxy-setup.md) | | **Redis Memory** | Distributed conversation state | Multi-instance deployment | [Redis Guide](docs/getting-started/provider-setup.md#redis) | | **Memory** | Per-user condensed memory (S3/Redis/SQLite) | Long-term user context | [Memory Guide](docs/features/memory.md) | | **Cost Optimization** | Automatic cheapest model selection | Budget control | [Cost Guide](docs/advanced/index.md) | | **Multi-Provider Failover** | Automatic provider switching | High availability | [Failover Guide](docs/advanced/index.md) | | **Telemetry & Monitoring** | OpenTelemetry integration | Observability | [Telemetry Guide](docs/telemetry-guide.md) | | **Security Hardening** | Credential management, auditing | Compliance | [Security Guide](docs/advanced/enterprise.md) | | **Custom Model Hosting** | SageMaker integration | Private models | [SageMaker Guide](docs/sagemaker-integration.md) | | **Load Balancing** | LiteLLM proxy integration | Scale & routing | [Load Balancing](docs/litellm-integration.md) | **Security & Compliance:** - ✅ SOC2 Type II compliant deployments - ✅ ISO 27001 certified infrastructure compatible - ✅ GDPR-compliant data handling (EU providers available) - ✅ HIPAA compatible (with proper configuration) - ✅ Hardened OS verified (SELinux, AppArmor) - ✅ Zero credential logging - ✅ Encrypted configuration storage - ✅ Automatic context window management with 4-stage compaction pipeline and 80% budget gate **[📖 Enterprise Deployment Guide](docs/advanced/enterprise.md)** - Complete production checklist --- ## Enterprise Persistence: Redis Memory Production-ready distributed conversation state for multi-instance deployments: ### Capabilities | Feature | Description | Benefit | | ---------------------- | -------------------------------------------- | --------------------------- | | **Distributed Memory** | Share conversation context across instances | Horizontal scaling | | **Session Export** | Export full history as JSON | Analytics, debugging, audit | | **Auto-Detection** | Automatic Redis discovery from environment | Zero-config in containers | | **Graceful Failover** | Falls back to in-memory if Redis unavailable | High availability | | **TTL Management** | Configurable session expiration | Memory management | ### Quick Setup ```typescript import { NeuroLink } from "@juspay/neurolink"; // Auto-detect Redis from REDIS_URL environment variable const neurolink = new NeuroLink({ conversationMemory: { enabled: true, enableSummarization: true, }, }); // Or explicit Redis configuration const neurolinkExplicit = new NeuroLink({ conversationMemory: { enabled: true, redisConfig: { host: "redis.example.com", port: 6379, password: process.env.REDIS_PASSWORD, ttl: 86400, // 24-hour session expiration (seconds) }, }, }); // Retrieve conversation history for analytics const history = await neurolink.getConversationHistory("session-id"); await saveToDataWarehouse(history); ``` ### Docker Quick Start ```bash # Start Redis docker run -d --name neurolink-redis -p 6379:6379 redis:7-alpine # Configure NeuroLink export REDIS_URL=redis://localhost:6379 # Start your application node your-app.js ``` **[Redis Setup Guide](docs/getting-started/redis-quickstart.md)** | **[Production Configuration](docs/guides/redis-configuration.md)** | **[Migration Patterns](docs/guides/redis-migration.md)** --- ### 🎨 Professional CLI **15+ commands** for every workflow: | Command | Purpose | Example | Documentation | | ---------------- | ------------------------------------ | -------------------------- | ----------------------------------------- | | `setup` | Interactive provider configuration | `neurolink setup` | [Setup Guide](docs/cli/index.md) | | `generate` | Text generation | `neurolink gen "Hello"` | [Generate](docs/cli/commands.md#generate) | | `stream` | Streaming generation | `neurolink stream "Story"` | [Stream](docs/cli/commands.md#stream) | | `status` | Provider health check | `neurolink status` | [Status](docs/cli/commands.md#status) | | `loop` | Interactive session | `neurolink loop` | [Loop](docs/cli/commands.md#loop) | | `mcp` | MCP server management | `neurolink mcp discover` | [MCP CLI](docs/cli/commands.md#mcp) | | `models` | Model listing | `neurolink models` | [Models](docs/cli/commands.md#models) | | `eval` | Model evaluation | `neurolink eval` | [Eval](docs/cli/commands.md#eval) | | `serve` | Start HTTP server in foreground mode | `neurolink serve` | [Serve](docs/cli/commands.md#serve) | | `server start` | Start HTTP server in background mode | `neurolink server start` | [Server](docs/cli/commands.md#server) | | `server stop` | Stop running background server | `neurolink server stop` | [Server](docs/cli/commands.md#server) | | `server status` | Show server status information | `neurolink server status` | [Server](docs/cli/commands.md#server) | | `server routes` | List all registered API routes | `neurolink server routes` | [Server](docs/cli/commands.md#server) | | `server config` | View or modify server configuration | `neurolink server config` | [Server](docs/cli/commands.md#server) | | `server openapi` | Generate OpenAPI specification | `neurolink server openapi` | [Server](docs/cli/commands.md#server) | | `rag chunk` | Chunk documents for RAG | `neurolink rag chunk f.md` | [RAG CLI](docs/cli/commands.md#rag) | **RAG flags** are available on `generate` and `stream`: `--rag-files`, `--rag-strategy`, `--rag-chunk-size`, `--rag-chunk-overlap`, `--rag-top-k` **[📖 Complete CLI Reference](docs/cli/commands.md)** - All commands and options --- ### 🤖 GitHub Action Run AI-powered workflows directly in GitHub Actions with 21+ provider support and automatic PR/issue commenting. ```yaml - uses: juspay/neurolink@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} prompt: "Review this PR for security issues and code quality" post_comment: true ``` | Feature | Description | | ---------------------- | ----------------------------------------------------------------------------------------- | | **Multi-Provider** | 21+ providers with unified interface | | **PR/Issue Comments** | Auto-post AI responses with intelligent updates | | **Multimodal Support** | Attach images, PDFs, CSVs, Excel, Word, JSON, YAML, XML, HTML, SVG, code files to prompts | | **Cost Tracking** | Built-in analytics and quality evaluation | | **Extended Thinking** | Deep reasoning with thinking tokens | **[📖 GitHub Action Guide](docs/guides/github-action.md)** - Complete setup and examples --- ## 💰 Smart Model Selection NeuroLink features intelligent model selection and cost optimization: ### Cost Optimization Features - **💰 Automatic Cost Optimization**: Selects cheapest models for simple tasks - **🔄 LiteLLM Model Routing**: Access 100+ models with automatic load balancing - **🔍 Capability-Based Selection**: Find models with specific features (vision, function calling) - **⚡ Intelligent Fallback**: Seamless switching when providers fail ```bash # Cost optimization - automatically use cheapest model npx @juspay/neurolink generate "Hello" --optimize-cost # LiteLLM specific model selection npx @juspay/neurolink generate "Complex analysis" --provider litellm --model "anthropic/claude-sonnet-4-6" # Auto-select best available provider npx @juspay/neurolink generate "Write code" # Automatically chooses optimal provider ``` ## Revolutionary Interactive CLI NeuroLink's CLI goes beyond simple commands - it's a **full AI development environment**: ### Why Interactive Mode Changes Everything | Feature | Traditional CLI | NeuroLink Interactive | | ------------- | ----------------- | ------------------------------ | | Session State | None