@juspay/neurolink 9.61.2 → 9.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +132 -103
  3. package/dist/adapters/tts/googleTTSHandler.js +1 -1
  4. package/dist/browser/neurolink.min.js +373 -355
  5. package/dist/cli/commands/auth.d.ts +19 -0
  6. package/dist/cli/commands/auth.js +266 -0
  7. package/dist/cli/commands/proxy.js +77 -2
  8. package/dist/cli/commands/serve.js +9 -0
  9. package/dist/cli/commands/voiceServer.d.ts +7 -0
  10. package/dist/cli/commands/voiceServer.js +9 -1
  11. package/dist/cli/factories/authCommandFactory.d.ts +8 -0
  12. package/dist/cli/factories/authCommandFactory.js +41 -0
  13. package/dist/cli/factories/commandFactory.js +136 -11
  14. package/dist/cli/loop/optionsSchema.d.ts +1 -1
  15. package/dist/cli/utils/audioFileUtils.d.ts +3 -3
  16. package/dist/cli/utils/audioFileUtils.js +5 -1
  17. package/dist/core/baseProvider.js +29 -6
  18. package/dist/factories/providerRegistry.d.ts +14 -0
  19. package/dist/factories/providerRegistry.js +141 -2
  20. package/dist/lib/adapters/tts/googleTTSHandler.js +1 -1
  21. package/dist/lib/core/baseProvider.js +29 -6
  22. package/dist/lib/factories/providerRegistry.d.ts +14 -0
  23. package/dist/lib/factories/providerRegistry.js +141 -2
  24. package/dist/lib/neurolink.d.ts +19 -0
  25. package/dist/lib/neurolink.js +248 -12
  26. package/dist/lib/observability/exporters/laminarExporter.js +1 -0
  27. package/dist/lib/observability/exporters/posthogExporter.js +1 -0
  28. package/dist/lib/observability/utils/spanSerializer.js +1 -0
  29. package/dist/lib/proxy/proxyConfig.js +14 -0
  30. package/dist/lib/server/routes/claudeProxyRoutes.d.ts +24 -2
  31. package/dist/lib/server/routes/claudeProxyRoutes.js +61 -9
  32. package/dist/lib/server/voice/tokenCompare.d.ts +14 -0
  33. package/dist/lib/server/voice/tokenCompare.js +23 -0
  34. package/dist/lib/server/voice/voiceServerApp.js +62 -3
  35. package/dist/lib/server/voice/voiceWebSocketHandler.d.ts +20 -3
  36. package/dist/lib/server/voice/voiceWebSocketHandler.js +555 -435
  37. package/dist/lib/types/cli.d.ts +4 -0
  38. package/dist/lib/types/generate.d.ts +47 -0
  39. package/dist/lib/types/index.d.ts +1 -1
  40. package/dist/lib/types/index.js +1 -1
  41. package/dist/lib/types/proxy.d.ts +23 -1
  42. package/dist/lib/types/realtime.d.ts +243 -0
  43. package/dist/lib/types/realtime.js +70 -0
  44. package/dist/lib/types/server.d.ts +68 -0
  45. package/dist/lib/types/span.d.ts +2 -0
  46. package/dist/lib/types/span.js +2 -0
  47. package/dist/lib/types/stream.d.ts +36 -14
  48. package/dist/lib/types/stt.d.ts +585 -0
  49. package/dist/lib/types/stt.js +90 -0
  50. package/dist/lib/types/subscription.d.ts +5 -0
  51. package/dist/lib/types/tts.d.ts +23 -11
  52. package/dist/lib/types/tts.js +7 -0
  53. package/dist/lib/types/voice.d.ts +272 -0
  54. package/dist/lib/types/voice.js +137 -0
  55. package/dist/lib/utils/audioFormatDetector.d.ts +15 -0
  56. package/dist/lib/utils/audioFormatDetector.js +34 -0
  57. package/dist/lib/utils/sttProcessor.d.ts +115 -0
  58. package/dist/lib/utils/sttProcessor.js +295 -0
  59. package/dist/lib/voice/RealtimeVoiceAPI.d.ts +183 -0
  60. package/dist/lib/voice/RealtimeVoiceAPI.js +439 -0
  61. package/dist/lib/voice/audio-utils.d.ts +135 -0
  62. package/dist/lib/voice/audio-utils.js +435 -0
  63. package/dist/lib/voice/errors.d.ts +123 -0
  64. package/dist/lib/voice/errors.js +386 -0
  65. package/dist/lib/voice/index.d.ts +26 -0
  66. package/dist/lib/voice/index.js +55 -0
  67. package/dist/lib/voice/providers/AzureSTT.d.ts +47 -0
  68. package/dist/lib/voice/providers/AzureSTT.js +345 -0
  69. package/dist/lib/voice/providers/AzureTTS.d.ts +59 -0
  70. package/dist/lib/voice/providers/AzureTTS.js +349 -0
  71. package/dist/lib/voice/providers/DeepgramSTT.d.ts +40 -0
  72. package/dist/lib/voice/providers/DeepgramSTT.js +550 -0
  73. package/dist/lib/voice/providers/ElevenLabsTTS.d.ts +53 -0
  74. package/dist/lib/voice/providers/ElevenLabsTTS.js +311 -0
  75. package/dist/lib/voice/providers/GeminiLive.d.ts +52 -0
  76. package/dist/lib/voice/providers/GeminiLive.js +372 -0
  77. package/dist/lib/voice/providers/GoogleSTT.d.ts +60 -0
  78. package/dist/lib/voice/providers/GoogleSTT.js +454 -0
  79. package/dist/lib/voice/providers/OpenAIRealtime.d.ts +47 -0
  80. package/dist/lib/voice/providers/OpenAIRealtime.js +412 -0
  81. package/dist/lib/voice/providers/OpenAISTT.d.ts +41 -0
  82. package/dist/lib/voice/providers/OpenAISTT.js +286 -0
  83. package/dist/lib/voice/providers/OpenAITTS.d.ts +49 -0
  84. package/dist/lib/voice/providers/OpenAITTS.js +271 -0
  85. package/dist/lib/voice/stream-handler.d.ts +166 -0
  86. package/dist/lib/voice/stream-handler.js +514 -0
  87. package/dist/neurolink.d.ts +19 -0
  88. package/dist/neurolink.js +248 -12
  89. package/dist/observability/exporters/laminarExporter.js +1 -0
  90. package/dist/observability/exporters/posthogExporter.js +1 -0
  91. package/dist/observability/utils/spanSerializer.js +1 -0
  92. package/dist/proxy/proxyConfig.js +14 -0
  93. package/dist/server/routes/claudeProxyRoutes.d.ts +24 -2
  94. package/dist/server/routes/claudeProxyRoutes.js +61 -9
  95. package/dist/server/voice/tokenCompare.d.ts +14 -0
  96. package/dist/server/voice/tokenCompare.js +22 -0
  97. package/dist/server/voice/voiceServerApp.js +62 -3
  98. package/dist/server/voice/voiceWebSocketHandler.d.ts +20 -3
  99. package/dist/server/voice/voiceWebSocketHandler.js +555 -435
  100. package/dist/types/cli.d.ts +4 -0
  101. package/dist/types/generate.d.ts +47 -0
  102. package/dist/types/index.d.ts +1 -1
  103. package/dist/types/index.js +1 -1
  104. package/dist/types/proxy.d.ts +23 -1
  105. package/dist/types/realtime.d.ts +243 -0
  106. package/dist/types/realtime.js +69 -0
  107. package/dist/types/server.d.ts +68 -0
  108. package/dist/types/span.d.ts +2 -0
  109. package/dist/types/span.js +2 -0
  110. package/dist/types/stream.d.ts +36 -14
  111. package/dist/types/stt.d.ts +585 -0
  112. package/dist/types/stt.js +89 -0
  113. package/dist/types/subscription.d.ts +5 -0
  114. package/dist/types/tts.d.ts +23 -11
  115. package/dist/types/tts.js +7 -0
  116. package/dist/types/voice.d.ts +272 -0
  117. package/dist/types/voice.js +136 -0
  118. package/dist/utils/audioFormatDetector.d.ts +15 -0
  119. package/dist/utils/audioFormatDetector.js +33 -0
  120. package/dist/utils/sttProcessor.d.ts +115 -0
  121. package/dist/utils/sttProcessor.js +294 -0
  122. package/dist/voice/RealtimeVoiceAPI.d.ts +183 -0
  123. package/dist/voice/RealtimeVoiceAPI.js +438 -0
  124. package/dist/voice/audio-utils.d.ts +135 -0
  125. package/dist/voice/audio-utils.js +434 -0
  126. package/dist/voice/errors.d.ts +123 -0
  127. package/dist/voice/errors.js +385 -0
  128. package/dist/voice/index.d.ts +26 -0
  129. package/dist/voice/index.js +54 -0
  130. package/dist/voice/providers/AzureSTT.d.ts +47 -0
  131. package/dist/voice/providers/AzureSTT.js +344 -0
  132. package/dist/voice/providers/AzureTTS.d.ts +59 -0
  133. package/dist/voice/providers/AzureTTS.js +348 -0
  134. package/dist/voice/providers/DeepgramSTT.d.ts +40 -0
  135. package/dist/voice/providers/DeepgramSTT.js +549 -0
  136. package/dist/voice/providers/ElevenLabsTTS.d.ts +53 -0
  137. package/dist/voice/providers/ElevenLabsTTS.js +310 -0
  138. package/dist/voice/providers/GeminiLive.d.ts +52 -0
  139. package/dist/voice/providers/GeminiLive.js +371 -0
  140. package/dist/voice/providers/GoogleSTT.d.ts +60 -0
  141. package/dist/voice/providers/GoogleSTT.js +453 -0
  142. package/dist/voice/providers/OpenAIRealtime.d.ts +47 -0
  143. package/dist/voice/providers/OpenAIRealtime.js +411 -0
  144. package/dist/voice/providers/OpenAISTT.d.ts +41 -0
  145. package/dist/voice/providers/OpenAISTT.js +285 -0
  146. package/dist/voice/providers/OpenAITTS.d.ts +49 -0
  147. package/dist/voice/providers/OpenAITTS.js +270 -0
  148. package/dist/voice/stream-handler.d.ts +166 -0
  149. package/dist/voice/stream-handler.js +513 -0
  150. package/package.json +23 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [9.63.0](https://github.com/juspay/neurolink/compare/v9.62.0...v9.63.0) (2026-05-09)
2
+
3
+ ### Features
4
+
5
+ - **(proxy):** configurable primary (home) account via routing.primaryAccount ([c0bde2f](https://github.com/juspay/neurolink/commit/c0bde2f65b1cb8b686d3f528652122a12acb07d0))
6
+
7
+ ## [9.62.0](https://github.com/juspay/neurolink/compare/v9.61.2...v9.62.0) (2026-05-07)
8
+
9
+ ### Features
10
+
11
+ - **(voice):** add multi-provider TTS, STT, and realtime voice integration ([4b26485](https://github.com/juspay/neurolink/commit/4b26485b6408eed29b2c608afb98a131fcb4a5ba))
12
+
1
13
  ## [9.61.2](https://github.com/juspay/neurolink/compare/v9.61.1...v9.61.2) (2026-05-07)
2
14
 
3
15
  ### Bug Fixes
package/README.md CHANGED
@@ -26,9 +26,9 @@ for await (const chunk of result.stream) {
26
26
 
27
27
  ## 🧠 What is NeuroLink?
28
28
 
29
- **NeuroLink is the universal AI integration platform that unifies 17 major AI providers and 100+ models under one consistent API.**
29
+ **NeuroLink is the universal AI integration platform that unifies 21+ AI providers and 100+ models under one consistent API.**
30
30
 
31
- 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 13 supported providers, NeuroLink gives you a single, consistent interface that works everywhere.
31
+ 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.
32
32
 
33
33
  **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.
34
34
 
@@ -40,61 +40,63 @@ Extracted from production systems at Juspay and battle-tested at enterprise scal
40
40
 
41
41
  ## What's New (Q1 2026)
42
42
 
43
- | Feature | Version | Description | Guide |
44
- | ----------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
45
- | **Gemini 3 Multi-turn Tool Fix** | v9.49.0 | Fixed multi-step agentic tool calling on Vertex AI Gemini 3 models. Correct `thoughtSignature` replay, `stepIndex` parallel-call grouping, `executionId` session isolation, 5-min timeout, silent-timeout surfacing. | [Vertex AI Guide](docs/getting-started/providers/google-vertex.md) |
46
- | **AutoResearch** | v9.17.0 | Autonomous AI experiment engine: proposes code changes, runs experiments, evaluates metrics, keeps improvements — unattended for hours. | [AutoResearch Guide](docs/features/autoresearch.md) |
47
- | **MCP Enhancements** | v9.16.0 | Advanced MCP features: tool routing, result caching, request batching, annotations, elicitation, custom server base, multi-server management | [MCP Enhancements Guide](docs/features/mcp-enhancements.md) |
48
- | **Memory** | v9.12.0 | Per-user condensed memory that persists across conversations. LLM-powered condensation with S3, Redis, or SQLite backends. | [Memory Guide](docs/features/memory.md) |
49
- | **Context Window Management** | v9.2.0 | 4-stage compaction pipeline with auto-detection, budget gate at 80% usage, per-provider token estimation | [Context Compaction Guide](docs/features/context-compaction.md) |
50
- | **Tool Execution Control** | v9.3.0 | `prepareStep` and `toolChoice` support for per-step tool enforcement in multi-step agentic loops. API-level control over tool calls. | [API Reference](docs/api/type-aliases/GenerateOptions.md#preparestep) |
51
- | **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) |
52
- | **RAG with generate()/stream()** | v9.2.0 | Pass `rag: { files }` to generate/stream for automatic document chunking, embedding, and AI-powered search. 10 chunking strategies, hybrid search, reranking. | [RAG Guide](docs/features/rag.md) |
53
- | **External TracerProvider Support** | v8.43.0 | Integrate NeuroLink with existing OpenTelemetry instrumentation. Prevents duplicate registration conflicts. | [Observability Guide](docs/features/observability.md) |
54
- | **Server Adapters** | v8.43.0 | Multi-framework HTTP server with Hono, Express, Fastify, Koa support. Full CLI for server management with foreground/background modes. | [Server Adapters Guide](docs/guides/server-adapters/index.md) |
55
- | **Title Generation Events** | v8.38.0 | Emit `conversation:titleGenerated` event when conversation title is generated. Supports custom title prompts via `NEUROLINK_TITLE_PROMPT`. | [Conversation Memory Guide](docs/conversation-memory.md) |
56
- | **Video Generation with Veo** | v8.32.0 | Video generation using Veo 3.1 (`veo-3.1`). Realistic video generation with many parameter options | [Video Generation Guide](docs/features/video-generation.md) |
57
- | **Image Generation with Gemini** | v8.31.0 | Native image generation using Gemini 2.0 Flash Experimental (`imagen-3.0-generate-002`). High-quality image synthesis directly from Google AI. | [Image Generation Guide](docs/image-generation-streaming.md) |
58
- | **HTTP/Streamable HTTP Transport** | v8.29.0 | Connect to remote MCP servers via HTTP with authentication headers, automatic retry with exponential backoff, and configurable rate limiting. | [HTTP Transport Guide](docs/mcp-http-transport.md) |
59
-
60
- - **AutoResearch** – Autonomous AI experiment engine inspired by Karpathy's autoresearch. Phase-gated tool access, git-backed safety, deterministic metric evaluation, and TaskManager integration for continuous unattended research. 12 research tools, 10 typed events, 9 CLI subcommands. → [AutoResearch Guide](docs/features/autoresearch.md)
61
- - **Memory** – Per-user condensed memory that persists across all conversations. Automatically retrieves and stores memory on each `generate()`/`stream()` call. Supports S3, Redis, and SQLite storage with LLM-powered condensation. → [Memory Guide](docs/features/memory.md)
62
- - **External TracerProvider Support** – Integrate NeuroLink with applications that already have OpenTelemetry instrumentation. Supports auto-detection and manual configuration. → [Observability Guide](docs/features/observability.md)
63
- - **Claude Proxy Telemetry** – Bootstrap a local OpenObserve + OTEL collector stack with `neurolink proxy telemetry setup`, import the maintained NeuroLink Proxy Observability dashboard, and inspect proxy logs, traces, metrics, cache reuse, and routing behavior. → [Claude Proxy Guide](docs/features/claude-proxy.md) | [Proxy Observability Guide](docs/features/claude-proxy-observability.md)
64
- - **Server Adapters** – Deploy NeuroLink as an HTTP API server with your framework of choice (Hono, Express, Fastify, Koa). Full CLI support with `serve` and `server` commands for foreground/background modes, route management, and OpenAPI generation. → [Server Adapters Guide](docs/guides/server-adapters/index.md)
65
- - **Title Generation Events** – Emit real-time events when conversation titles are auto-generated. Listen to `conversation:titleGenerated` for session tracking. → [Conversation Memory Guide](docs/conversation-memory.md#title-generation-events)
66
- - **Custom Title Prompts** – Customize conversation title generation with `NEUROLINK_TITLE_PROMPT` environment variable. Use `${userMessage}` placeholder for dynamic prompts. → [Conversation Memory Guide](docs/conversation-memory.md#customizing-the-title-prompt)
67
- - **Video Generation** – Transform images into 8-second videos with synchronized audio using Google Veo 3.1 via Vertex AI. Supports 720p/1080p resolutions, portrait/landscape aspect ratios. → [Video Generation Guide](docs/features/video-generation.md)
68
- - **PPT Generation** – Create professional PowerPoint presentations from text prompts with 35 slide types (title, content, charts, timelines, dashboards, composite layouts), 5 themes, and optional AI-generated images. Works with Vertex AI, OpenAI, Anthropic, Google AI, Azure, and Bedrock. → [PPT Generation Guide](docs/features/ppt-generation.md)
69
- - **Image Generation** – Generate images from text prompts using Gemini models via Vertex AI or Google AI Studio. Supports streaming mode with automatic file saving. → [Image Generation Guide](docs/image-generation-streaming.md)
70
- - **RAG with generate()/stream()** – Just pass `rag: { files: ["./docs/guide.md"] }` to `generate()` or `stream()`. NeuroLink auto-chunks, embeds, and creates a search tool the AI can invoke. 10 chunking strategies, hybrid search, 5 reranker types. → [RAG Guide](docs/features/rag.md)
71
- - **HTTP/Streamable HTTP Transport for MCP** – Connect to remote MCP servers via HTTP with authentication headers, retry logic, and rate limiting. → [HTTP Transport Guide](docs/mcp-http-transport.md)
72
- - 🧠 **Gemini 3 Native Multi-turn Tool Calling** — Fixed multi-step agentic tool calling for Gemini 3 models on Vertex AI. The native `@google/genai` path now correctly replays `thoughtSignature` as a sibling field on each `functionCall` part, groups parallel tool calls by `stepIndex`, enforces a 5-minute default timeout on the generate path, and surfaces silent timeouts as proper `TimeoutError` instead of empty responses. Multi-execution session overlap (where `continueOrchestratorWorkflow` restarts the loop on the same `sessionId`) is addressed by an `executionId` per invocation as a composite grouping key — this prevents tool calls from two different executions colliding into the same Gemini model turn and causing the model to return 0 function calls.
73
- - 🧠 **Gemini 3 Preview Support** - Full support for gemini-3-flash-preview and gemini-3-pro-preview with extended thinking capabilities
74
- - 🎯 **Tool Execution Control** – Use `prepareStep` to enforce specific tool calls, change the LLM models per step in multi-step agentic executions. Prevents LLMs from skipping required tools. Use `toolChoice` for static control, or `prepareStep` for dynamic per-step logic. → [GenerateOptions Reference](docs/api/type-aliases/GenerateOptions.md#preparestep)
75
- - **Structured Output with Zod Schemas** – Type-safe JSON generation with automatic validation using `schema` + `output.format: "json"` in `generate()`. → [Structured Output Guide](docs/features/structured-output.md)
76
- - **CSV File Support** – Attach CSV files to prompts for AI-powered data analysis with auto-detection. → [CSV Guide](docs/features/multimodal-chat.md#csv-file-support)
77
- - **PDF File Support** – Process PDF documents with native visual analysis for Vertex AI, Anthropic, Bedrock, AI Studio. → [PDF Guide](docs/features/pdf-support.md)
78
- - **50+ File Types** – Process Excel, Word, RTF, JSON, YAML, XML, HTML, SVG, Markdown, and 50+ code languages with intelligent content extraction. → [File Processors Guide](docs/features/file-processors.md)
79
- - **LiteLLM Integration** – Access 100+ AI models from all major providers through unified interface. → [Setup Guide](docs/litellm-integration.md)
80
- - **SageMaker Integration** – Deploy and use custom trained models on AWS infrastructure. → [Setup Guide](docs/sagemaker-integration.md)
81
- - **OpenRouter Integration** – Access 300+ models from OpenAI, Anthropic, Google, Meta, and more through a single unified API. → [Setup Guide](docs/getting-started/providers/openrouter.md)
82
- - **Human-in-the-loop workflows** – Pause generation for user approval/input before tool execution. → [HITL Guide](docs/features/hitl.md)
83
- - **Guardrails middleware** – Block PII, profanity, and unsafe content with built-in filtering. → [Guardrails Guide](docs/features/guardrails.md)
84
- - **Context summarization** – Automatic conversation compression for long-running sessions. → [Summarization Guide](docs/context-summarization.md)
85
- - **MCP Enhancements** – 14 production-grade modules: tool routing (6 strategies), result caching (LRU/FIFO/LFU), request batching, tool annotations with auto-inference, middleware chain, elicitation protocol, multi-server management, and more. → [MCP Enhancements Guide](docs/features/mcp-enhancements.md)
86
- - **Redis conversation export** – Export full session history as JSON for analytics and debugging. → [History Guide](docs/features/conversation-history.md)
43
+ | Feature | Version | Description | Guide |
44
+ | ---------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
45
+ | **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) |
46
+ | **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) |
47
+ | **ModelAccessDeniedError** | v9.59.0 | Typed `ModelAccessDeniedError` + `sdk.checkCredentials()` API for proactive credential validation before first call. | [Error Reference](docs/reference/troubleshooting.md) |
48
+ | **Provider Fallback Policy** | v9.58.0 | `providerFallback` callback + `modelChain` config for centralized multi-provider fallback logic. | [Advanced Guide](docs/advanced/index.md) |
49
+ | **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) |
50
+ | **AutoResearch** | v9.53.0 | Autonomous AI experiment engine: proposes code changes, runs experiments, evaluates metrics unattended for hours. | [AutoResearch Guide](docs/features/autoresearch.md) |
51
+ | **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) |
52
+ | **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) |
53
+ | **Memory** | v9.12.0 | Per-user condensed memory across conversations. LLM-powered condensation with S3, Redis, or SQLite. | [Memory Guide](docs/features/memory.md) |
54
+ | **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) |
55
+ | **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) |
56
+ | **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) |
57
+ | **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) |
87
58
 
88
59
  ```typescript
89
- // Image Generation with Gemini (v8.31.0)
90
- const image = await neurolink.generate({
91
- input: { text: "A futuristic cityscape" },
92
- provider: "google-ai",
93
- model: "imagen-3.0-generate-002",
60
+ // Multi-Provider Voice (v9.62.0) — TTS + STT
61
+ // Voice is configured via the `tts` / `stt` options on generate() / stream(),
62
+ // not via dedicated synthesizeSpeech / transcribeAudio methods.
63
+
64
+ // Text in, audio out (TTS)
65
+ const result = await neurolink.generate({
66
+ input: { text: "Hello from NeuroLink" },
67
+ provider: "vertex",
68
+ tts: {
69
+ enabled: true,
70
+ voice: "en-US-Neural2-C",
71
+ format: "mp3",
72
+ output: "./output.mp3", // optional: save to disk
73
+ provider: "elevenlabs", // optional override: openai-tts | elevenlabs | google-ai | vertex | azure-tts
74
+ },
75
+ });
76
+ // result.audio: { buffer: Buffer, format: "mp3", ... }
77
+
78
+ // Audio in (STT), text out
79
+ const transcript = await neurolink.generate({
80
+ input: { text: "Transcribe and summarize" },
81
+ provider: "openai",
82
+ stt: {
83
+ enabled: true,
84
+ audio: audioBuffer, // Buffer of the audio file
85
+ provider: "whisper", // whisper | deepgram | google-stt | azure-stt
86
+ language: "en-US",
87
+ },
94
88
  });
95
- console.log(image.imageOutput?.base64); // Base64-encoded image
96
89
 
97
- // AutoResearch autonomous experiment loop (v9.17.0)
90
+ // Real-time bidirectional voice (OpenAI Realtime / Gemini Live)
91
+ import { RealtimeProcessor } from "@juspay/neurolink";
92
+
93
+ await RealtimeProcessor.connect(
94
+ "openai-realtime",
95
+ { provider: "openai-realtime", model: "gpt-4o-realtime-preview" },
96
+ { onAudio, onTranscript, onError, onFunctionCall },
97
+ );
98
+
99
+ // AutoResearch — autonomous experiment loop (v9.53.0)
98
100
  import { resolveConfig, ResearchWorker } from "@juspay/neurolink/autoresearch";
99
101
 
100
102
  const config = resolveConfig({
@@ -111,29 +113,51 @@ const worker = new ResearchWorker(config);
111
113
  await worker.initialize("experiment-1");
112
114
  const result = await worker.runExperimentCycle("Try lower learning rate");
113
115
 
114
- // HTTP Transport for Remote MCP (v8.29.0)
115
- await neurolink.addExternalMCPServer("remote-tools", {
116
- transport: "http",
117
- url: "https://mcp.example.com/v1",
118
- headers: { Authorization: "Bearer token" },
119
- retries: 3,
120
- timeout: 15000,
116
+ // Provider Fallback Policy (v9.58.0) — fires only on ModelAccessDeniedError
117
+ import { NeuroLink, ModelAccessDeniedError } from "@juspay/neurolink";
118
+
119
+ const neurolink = new NeuroLink({
120
+ // Async callback. Single error arg. Return null to give up,
121
+ // or { provider?, model? } to retry with a substitute.
122
+ providerFallback: async (error) => {
123
+ if (
124
+ error instanceof ModelAccessDeniedError &&
125
+ error.allowedModels?.length
126
+ ) {
127
+ return { model: error.allowedModels[0] };
128
+ }
129
+ return null;
130
+ },
131
+ // Sugar over providerFallback: if no callback is set, NeuroLink walks this list
132
+ // on each access denial. modelChain is `string[]` only (model names; same provider).
133
+ modelChain: ["claude-opus-4-7", "claude-sonnet-4-6", "gpt-4o"],
121
134
  });
122
135
  ```
123
136
 
124
137
  ---
125
138
 
126
139
  <details>
127
- <summary><strong>Previous Updates (Q4 2025)</strong></summary>
128
-
129
- - **Image Generation** – Generate images from text prompts using Gemini models via Vertex AI or Google AI Studio. [Guide](docs/image-generation-streaming.md)
130
- - **Gemini 3 Preview Support** - Full support for `gemini-3-flash-preview` and `gemini-3-pro-preview` with extended thinking
131
- - **Structured Output with Zod Schemas** – Type-safe JSON generation with automatic validation. [Guide](docs/features/structured-output.md)
132
- - **CSV & PDF File Support** Attach CSV/PDF files to prompts with auto-detection. → [CSV](docs/features/multimodal-chat.md#csv-file-support) | [PDF](docs/features/pdf-support.md)
133
- - **LiteLLM & SageMaker** – Access 100+ models via LiteLLM, deploy custom models on SageMaker. [LiteLLM](docs/litellm-integration.md) | [SageMaker](docs/sagemaker-integration.md)
134
- - **OpenRouter Integration** – Access 300+ models through a single unified API. [Guide](docs/getting-started/providers/openrouter.md)
135
- - **HITL & Guardrails** – Human-in-the-loop approval workflows and content filtering middleware. → [HITL](docs/features/hitl.md) | [Guardrails](docs/features/guardrails.md)
136
- - **Redis & Context Management** Session export, conversation history, and automatic summarization. → [History](docs/features/conversation-history.md)
140
+ <summary><strong>Previous Updates (Q3–Q4 2025)</strong></summary>
141
+
142
+ - **Sharp image compression** (v9.50.0) Automatic image compression for AI providers via the sharp library; reduces upload bandwidth and bypasses provider size limits.
143
+ - **Redis URL/TLS** (v9.49.0) Redis URL-based connections with TLS support for secure conversation memory in production.
144
+ - **TaskManager** (v9.41.0) Scheduled and self-running AI tasks; cron-style execution with state checkpointing.
145
+ - **Multi-user memory retrieval** (v9.40.0)Per-user memory storage and retrieval with customizable prompts.
146
+ - **Evaluation Scoring (14 scorers)** (v9.37.0) Modular evaluation system with 14 scorers, pipelines, and CLI for offline quality assessment.
147
+ - **Browser-compatible bundle** (v9.34.0) Client-side SDK bundle for browser use; no Node.js dependency for the core API.
148
+ - **Per-call memory control** (v9.33.0) Read/write memory control per `generate()` and `stream()` call.
149
+ - **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)
150
+ - **External TracerProvider** (v8.43.0) – Integrate NeuroLink with existing OpenTelemetry setups. → [Guide](docs/features/observability.md)
151
+ - **Title Generation Events** (v8.38.0) – `conversation:titleGenerated` event + `NEUROLINK_TITLE_PROMPT` custom titles. → [Guide](docs/conversation-memory.md)
152
+ - **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)
153
+ - **Image Generation** (v8.31.0) – Native image generation with Gemini and Imagen models. → [Guide](docs/image-generation-streaming.md)
154
+ - **HTTP/Streamable HTTP Transport** (v8.29.0) – Remote MCP servers via HTTP with auth headers, retry, rate limiting. → [Guide](docs/mcp-http-transport.md)
155
+ - **PPT Generation** – 35 slide types, 5 themes, optional AI-generated images. Works across all major providers. → [Guide](docs/features/ppt-generation.md)
156
+ - **Structured Output with Zod** – Type-safe JSON via `schema` + `output.format: "json"`. → [Guide](docs/features/structured-output.md)
157
+ - **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)
158
+ - **LiteLLM, SageMaker & OpenRouter** – 100+ models via LiteLLM, custom endpoints on SageMaker, 300+ via OpenRouter. → [LiteLLM](docs/litellm-integration.md) | [SageMaker](docs/sagemaker-integration.md)
159
+ - **HITL & Guardrails** – Human-in-the-loop approval workflows and content filtering. → [HITL](docs/features/hitl.md) | [Guardrails](docs/features/guardrails.md)
160
+ - **Redis Conversation Export** – Export full session history as JSON for analytics and audit. → [Guide](docs/features/conversation-history.md)
137
161
 
138
162
  </details>
139
163
 
@@ -195,7 +219,7 @@ npx @juspay/neurolink --help
195
219
 
196
220
  ### Configuration
197
221
 
198
- NeuroLink works with 17+ AI providers. You'll need at least one API key to get started:
222
+ NeuroLink works with 21+ AI providers. You'll need at least one API key to get started:
199
223
 
200
224
  **Option 1: Interactive Setup (Recommended)**
201
225
 
@@ -382,7 +406,7 @@ const result = await neurolink.generate({
382
406
  ### Next Steps
383
407
 
384
408
  - **[Complete Documentation](https://docs.neurolink.ink)** - Comprehensive guides and API reference
385
- - **[Provider Setup Guide](docs/getting-started/provider-setup.md)** - Configure all 17 providers
409
+ - **[Provider Setup Guide](docs/getting-started/provider-setup.md)** - Configure all 21+ providers
386
410
  - **[SDK API Reference](docs/sdk/api-reference.md)** - Full TypeScript API documentation
387
411
  - **[CLI Command Reference](docs/cli/commands.md)** - Complete CLI documentation
388
412
  - **[Example Projects](docs/examples/index.md)** - Real-world integration examples
@@ -414,30 +438,34 @@ NeuroLink is a comprehensive AI development platform. Every feature below is pro
414
438
 
415
439
  ### 🤖 AI Provider Integration
416
440
 
417
- **17 providers unified under one API** - Switch providers with a single parameter change.
418
-
419
- | Provider | Models | Free Tier | Tool Support | Status | Documentation |
420
- | --------------------- | -------------------------------------------------- | --------------- | ------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------- |
421
- | **OpenAI** | GPT-4o, GPT-4o-mini, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai) |
422
- | **Anthropic** | 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) |
423
- | **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) |
424
- | **AWS Bedrock** | Claude, Titan, Llama, Nova | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#bedrock) |
425
- | **Google Vertex** | Gemini 3/2.5 (gemini-3-\*-preview) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#vertex) |
426
- | **Azure OpenAI** | GPT-4, GPT-4o, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#azure) |
427
- | **LiteLLM** | 100+ models unified | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/litellm-integration.md) |
428
- | **AWS SageMaker** | Custom deployed models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/sagemaker-integration.md) |
429
- | **Mistral AI** | Mistral Large, Small | ✅ Free Tier | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#mistral) |
430
- | **Hugging Face** | 100,000+ models | ✅ Free | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#huggingface) |
431
- | **Ollama** | Local models (Llama, Mistral) | ✅ Free (Local) | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#ollama) |
432
- | **OpenAI Compatible** | Any OpenAI-compatible endpoint | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai-compatible) |
433
- | **OpenRouter** | 200+ Models via OpenRouter | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/providers/openrouter.md) |
434
- | **DeepSeek** | deepseek-chat (V3), deepseek-reasoner (R1) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#deepseek) |
435
- | **NVIDIA NIM** | Llama 3.3 70B, 400+ catalog models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#nvidia-nim) |
436
- | **LM Studio** | Any model loaded in LM Studio (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#lm-studio) |
437
- | **llama.cpp** | Any GGUF model served by llama-server (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#llamacpp) |
441
+ **21+ providers unified under one API** - Switch providers with a single parameter change.
442
+
443
+ | Provider | Models | Free Tier | Tool Support | Status | Documentation |
444
+ | --------------------- | -------------------------------------------------------------------------- | --------------- | ------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------- |
445
+ | **OpenAI** | GPT-4o, GPT-4o-mini, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai) |
446
+ | **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) |
447
+ | **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) |
448
+ | **AWS Bedrock** | Claude, Titan, Llama, Nova | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#bedrock) |
449
+ | **Google Vertex** | Gemini 3/2.5 (gemini-3-\*-preview) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#vertex) |
450
+ | **Azure OpenAI** | GPT-4, GPT-4o, o1 | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#azure) |
451
+ | **LiteLLM** | 100+ models unified | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/litellm-integration.md) |
452
+ | **AWS SageMaker** | Custom deployed models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/sagemaker-integration.md) |
453
+ | **Mistral AI** | Mistral Large, Small | ✅ Free Tier | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#mistral) |
454
+ | **Hugging Face** | 100,000+ models | ✅ Free | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#huggingface) |
455
+ | **Ollama** | Local models (Llama, Mistral) | ✅ Free (Local) | ⚠️ Partial | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#ollama) |
456
+ | **OpenAI Compatible** | Any OpenAI-compatible endpoint | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai-compatible) |
457
+ | **OpenRouter** | 200+ Models via OpenRouter | Varies | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/providers/openrouter.md) |
458
+ | **DeepSeek** | deepseek-chat (V3), deepseek-reasoner (R1) | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#deepseek) |
459
+ | **NVIDIA NIM** | Llama 3.3 70B, 400+ catalog models | ❌ | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#nvidia-nim) |
460
+ | **LM Studio** | Any model loaded in LM Studio (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#lm-studio) |
461
+ | **llama.cpp** | Any GGUF model served by llama-server (local) | ✅ Free (Local) | ✅ Full | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#llamacpp) |
462
+ | **OpenAI TTS** | TTS-1, TTS-1-HD, GPT-4o Audio | ❌ | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#openai-tts) |
463
+ | **ElevenLabs** | Multilingual v2, Turbo v2.5, Flash v2.5 | ✅ Free Tier | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#elevenlabs) |
464
+ | **Deepgram** | Nova-3, Nova-2, Enhanced, Base (STT) | ✅ Free Tier | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#deepgram) |
465
+ | **Azure Speech** | Azure Cognitive Services TTS + STT | ❌ | N/A | ✅ Production | [Setup Guide](docs/getting-started/provider-setup.md#azure-speech) |
438
466
 
439
467
  **[📖 Provider Comparison Guide](docs/reference/provider-comparison.md)** - Detailed feature matrix and selection criteria
440
- **[🔬 Provider Feature Compatibility](docs/reference/provider-feature-compatibility.md)** - Test-based compatibility reference for all 19 features across 13 providers
468
+ **[🔬 Provider Feature Compatibility](docs/reference/provider-feature-compatibility.md)** - Test-based compatibility reference for all 19 features across 21+ providers
441
469
 
442
470
  ---
443
471
 
@@ -593,7 +621,7 @@ const result = await neurolink.generate({
593
621
  - **ProcessorRegistry** - Priority-based processor selection with fallback
594
622
  - **OWASP Security** - HTML/SVG sanitization prevents XSS attacks
595
623
  - **Auto-detection** - FileDetector identifies file types by extension and content
596
- - **Provider-agnostic** - All processors work across all 17 AI providers
624
+ - **Provider-agnostic** - All processors work across all 21+ AI providers
597
625
 
598
626
  **[📖 File Processors Guide](docs/features/file-processors.md)** - Complete reference for all file types
599
627
 
@@ -723,7 +751,7 @@ node your-app.js
723
751
 
724
752
  ### 🤖 GitHub Action
725
753
 
726
- Run AI-powered workflows directly in GitHub Actions with 13 provider support and automatic PR/issue commenting.
754
+ Run AI-powered workflows directly in GitHub Actions with 21+ provider support and automatic PR/issue commenting.
727
755
 
728
756
  ```yaml
729
757
  - uses: juspay/neurolink@v1
@@ -735,7 +763,7 @@ Run AI-powered workflows directly in GitHub Actions with 13 provider support and
735
763
 
736
764
  | Feature | Description |
737
765
  | ---------------------- | ----------------------------------------------------------------------------------------- |
738
- | **Multi-Provider** | 17 providers with unified interface |
766
+ | **Multi-Provider** | 21+ providers with unified interface |
739
767
  | **PR/Issue Comments** | Auto-post AI responses with intelligent updates |
740
768
  | **Multimodal Support** | Attach images, PDFs, CSVs, Excel, Word, JSON, YAML, XML, HTML, SVG, code files to prompts |
741
769
  | **Cost Tracking** | Built-in analytics and quality evaluation |
@@ -761,7 +789,7 @@ NeuroLink features intelligent model selection and cost optimization:
761
789
  npx @juspay/neurolink generate "Hello" --optimize-cost
762
790
 
763
791
  # LiteLLM specific model selection
764
- npx @juspay/neurolink generate "Complex analysis" --provider litellm --model "anthropic/claude-3-5-sonnet"
792
+ npx @juspay/neurolink generate "Complex analysis" --provider litellm --model "anthropic/claude-sonnet-4-6"
765
793
 
766
794
  # Auto-select best available provider
767
795
  npx @juspay/neurolink generate "Write code" # Automatically chooses optimal provider
@@ -928,12 +956,13 @@ Full command and API breakdown lives in [`docs/cli/commands.md`](docs/cli/comman
928
956
 
929
957
  | Capability | Highlights |
930
958
  | ------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
931
- | **Provider unification** | 17+ providers with automatic fallback, cost-aware routing, provider orchestration (Q3). |
959
+ | **Provider unification** | 21+ providers with automatic fallback, cost-aware routing, `providerFallback` policy, `modelChain` config. |
932
960
  | **Multimodal pipeline** | Stream images + CSV data + PDF documents across providers with local/remote assets. Auto-detection for mixed file types. |
933
- | **Quality & governance** | Auto-evaluation engine (Q3), guardrails middleware (Q4), HITL workflows (Q4), audit logging. |
934
- | **Memory & context** | Conversation memory, Redis history export (Q4), context summarization (Q4). |
935
- | **CLI tooling** | Loop sessions (Q3), setup wizard, config validation, Redis auto-detect, JSON output. |
936
- | **Enterprise ops** | Proxy support, regional routing (Q3), telemetry hooks, local OpenObserve dashboard setup, configuration management. |
961
+ | **Voice pipeline** | TTS (4 providers) + STT (4 providers) + realtime voice APIs (OpenAI Realtime, Gemini Live). |
962
+ | **Quality & governance** | Auto-evaluation engine (14 scorers), guardrails middleware, HITL workflows, audit logging. |
963
+ | **Memory & context** | Per-user condensed memory (S3/Redis/SQLite), Redis session export, 4-stage context compaction. |
964
+ | **CLI tooling** | Loop sessions, setup wizard, config validation, Redis auto-detect, JSON output, TTS/STT flags. |
965
+ | **Enterprise ops** | Claude proxy, OTLP observability, OpenObserve dashboard, regional routing, credential management. |
937
966
  | **Tool ecosystem** | MCP auto discovery, HTTP/stdio/SSE/WebSocket transports, LiteLLM hub access, SageMaker custom deployment, web search. |
938
967
 
939
968
  ## Documentation Map
@@ -107,7 +107,7 @@ export class GoogleTTSHandler {
107
107
  const languageCodes = voice.languageCodes;
108
108
  const primaryLanguageCode = languageCodes[0];
109
109
  const voiceType = this.detectVoiceType(voiceName);
110
- // Map Google's ssmlGender → internal Gender
110
+ // Map Google's ssmlGender → internal TTSGender
111
111
  const gender = voice.ssmlGender === "MALE"
112
112
  ? "male"
113
113
  : voice.ssmlGender === "FEMALE"