@juspay/neurolink 9.30.0 → 9.31.1

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 (977) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +2 -3
  3. package/dist/adapters/providerImageAdapter.js +13 -22
  4. package/dist/adapters/video/videoAnalyzer.d.ts +4 -4
  5. package/dist/adapters/video/videoAnalyzer.js +3 -3
  6. package/dist/agent/directTools.d.ts +20 -289
  7. package/dist/agent/directTools.js +11 -10
  8. package/dist/auth/accountPool.d.ts +68 -0
  9. package/dist/auth/accountPool.js +178 -0
  10. package/dist/auth/anthropicOAuth.d.ts +15 -5
  11. package/dist/auth/anthropicOAuth.js +117 -57
  12. package/dist/auth/index.d.ts +7 -5
  13. package/dist/auth/index.js +6 -2
  14. package/dist/auth/tokenStore.d.ts +71 -27
  15. package/dist/auth/tokenStore.js +342 -64
  16. package/dist/cli/commands/auth.d.ts +39 -2
  17. package/dist/cli/commands/auth.js +585 -36
  18. package/dist/cli/commands/config.d.ts +47 -574
  19. package/dist/cli/commands/config.js +142 -24
  20. package/dist/cli/commands/docs.d.ts +1 -5
  21. package/dist/cli/commands/observability.d.ts +1 -17
  22. package/dist/cli/commands/ollama.js +1 -1
  23. package/dist/cli/commands/proxy.d.ts +20 -0
  24. package/dist/cli/commands/proxy.js +1254 -0
  25. package/dist/cli/commands/setup-anthropic.js +1 -1
  26. package/dist/cli/commands/setup-azure.js +1 -1
  27. package/dist/cli/commands/setup-bedrock.js +2 -2
  28. package/dist/cli/commands/setup-gcp.js +1 -1
  29. package/dist/cli/commands/setup-google-ai.js +1 -1
  30. package/dist/cli/commands/setup-huggingface.js +2 -2
  31. package/dist/cli/commands/setup-mistral.js +1 -1
  32. package/dist/cli/commands/setup-openai.js +1 -1
  33. package/dist/cli/commands/setup.js +3 -3
  34. package/dist/cli/commands/telemetry.d.ts +1 -22
  35. package/dist/cli/factories/authCommandFactory.d.ts +16 -11
  36. package/dist/cli/factories/authCommandFactory.js +96 -1
  37. package/dist/cli/factories/ollamaCommandFactory.js +1 -1
  38. package/dist/cli/factories/sagemakerCommandFactory.js +25 -6
  39. package/dist/cli/index.d.ts +0 -6
  40. package/dist/cli/index.js +5 -2
  41. package/dist/cli/loop/conversationSelector.js +7 -2
  42. package/dist/cli/parser.js +19 -1
  43. package/dist/cli/utils/envManager.js +2 -2
  44. package/dist/cli/utils/ollamaUtils.d.ts +1 -2
  45. package/dist/client/adapters/providerImageAdapter.js +588 -0
  46. package/dist/client/adapters/tts/googleTTSHandler.js +344 -0
  47. package/dist/client/adapters/video/directorPipeline.js +516 -0
  48. package/dist/client/adapters/video/ffmpegAdapter.js +206 -0
  49. package/dist/client/adapters/video/frameExtractor.js +143 -0
  50. package/dist/client/adapters/video/vertexVideoHandler.js +763 -0
  51. package/dist/client/adapters/video/videoAnalyzer.js +238 -0
  52. package/dist/client/adapters/video/videoMerger.js +171 -0
  53. package/dist/client/agent/directTools.js +840 -0
  54. package/dist/client/aiSdkAdapter.d.ts +196 -0
  55. package/dist/client/aiSdkAdapter.js +487 -0
  56. package/dist/client/auth/anthropicOAuth.js +974 -0
  57. package/dist/client/auth/tokenStore.js +799 -0
  58. package/dist/client/auth.d.ts +248 -0
  59. package/dist/client/auth.js +473 -0
  60. package/dist/client/client/aiSdkAdapter.js +487 -0
  61. package/dist/client/client/auth.js +473 -0
  62. package/dist/client/client/errors.js +552 -0
  63. package/dist/client/client/httpClient.js +837 -0
  64. package/dist/client/client/index.js +172 -0
  65. package/dist/client/client/interceptors.js +601 -0
  66. package/dist/client/client/reactHooks.js +1159 -0
  67. package/dist/client/client/sseClient.js +545 -0
  68. package/dist/client/client/streamingClient.js +917 -0
  69. package/dist/client/client/wsClient.js +369 -0
  70. package/dist/client/config/configManager.js +303 -0
  71. package/dist/client/config/conversationMemory.js +86 -0
  72. package/dist/client/config/taskClassificationConfig.js +148 -0
  73. package/dist/client/constants/contextWindows.js +295 -0
  74. package/dist/client/constants/enums.js +853 -0
  75. package/dist/client/constants/index.js +207 -0
  76. package/dist/client/constants/performance.js +389 -0
  77. package/dist/client/constants/retry.js +266 -0
  78. package/dist/client/constants/timeouts.js +182 -0
  79. package/dist/client/constants/tokens.js +380 -0
  80. package/dist/client/constants/videoErrors.js +46 -0
  81. package/dist/client/context/budgetChecker.js +98 -0
  82. package/dist/client/context/contextCompactor.js +205 -0
  83. package/dist/client/context/emergencyTruncation.js +88 -0
  84. package/dist/client/context/errorDetection.js +171 -0
  85. package/dist/client/context/errors.js +21 -0
  86. package/dist/client/context/fileTokenBudget.js +127 -0
  87. package/dist/client/context/prompts/summarizationPrompt.js +117 -0
  88. package/dist/client/context/stages/fileReadDeduplicator.js +66 -0
  89. package/dist/client/context/stages/slidingWindowTruncator.js +190 -0
  90. package/dist/client/context/stages/structuredSummarizer.js +99 -0
  91. package/dist/client/context/stages/toolOutputPruner.js +52 -0
  92. package/dist/client/context/summarizationEngine.js +136 -0
  93. package/dist/client/context/toolOutputLimits.js +78 -0
  94. package/dist/client/context/toolPairRepair.js +66 -0
  95. package/dist/client/core/analytics.js +88 -0
  96. package/dist/client/core/baseProvider.js +1385 -0
  97. package/dist/client/core/constants.js +140 -0
  98. package/dist/client/core/conversationMemoryFactory.js +141 -0
  99. package/dist/client/core/conversationMemoryInitializer.js +128 -0
  100. package/dist/client/core/conversationMemoryManager.js +344 -0
  101. package/dist/client/core/dynamicModels.js +358 -0
  102. package/dist/client/core/evaluation.js +309 -0
  103. package/dist/client/core/evaluationProviders.js +248 -0
  104. package/dist/client/core/factory.js +412 -0
  105. package/dist/client/core/infrastructure/baseError.js +22 -0
  106. package/dist/client/core/infrastructure/baseFactory.js +54 -0
  107. package/dist/client/core/infrastructure/baseRegistry.js +49 -0
  108. package/dist/client/core/infrastructure/index.js +5 -0
  109. package/dist/client/core/infrastructure/retry.js +20 -0
  110. package/dist/client/core/infrastructure/typedEventEmitter.js +23 -0
  111. package/dist/client/core/modelConfiguration.js +851 -0
  112. package/dist/client/core/modules/GenerationHandler.js +588 -0
  113. package/dist/client/core/modules/MessageBuilder.js +273 -0
  114. package/dist/client/core/modules/StreamHandler.js +185 -0
  115. package/dist/client/core/modules/TelemetryHandler.js +203 -0
  116. package/dist/client/core/modules/ToolsManager.js +499 -0
  117. package/dist/client/core/modules/Utilities.js +331 -0
  118. package/dist/client/core/redisConversationMemoryManager.js +1435 -0
  119. package/dist/client/core/streamAnalytics.js +131 -0
  120. package/dist/client/errors.d.ts +299 -0
  121. package/dist/client/errors.js +552 -0
  122. package/dist/client/evaluation/contextBuilder.js +134 -0
  123. package/dist/client/evaluation/index.js +61 -0
  124. package/dist/client/evaluation/prompts.js +73 -0
  125. package/dist/client/evaluation/ragasEvaluator.js +110 -0
  126. package/dist/client/evaluation/retryManager.js +78 -0
  127. package/dist/client/evaluation/scoring.js +61 -0
  128. package/dist/client/factories/providerFactory.js +166 -0
  129. package/dist/client/factories/providerRegistry.js +166 -0
  130. package/dist/client/features/ppt/constants.js +896 -0
  131. package/dist/client/features/ppt/contentPlanner.js +529 -0
  132. package/dist/client/features/ppt/presentationOrchestrator.js +236 -0
  133. package/dist/client/features/ppt/slideGenerator.js +532 -0
  134. package/dist/client/features/ppt/slideRenderers.js +2383 -0
  135. package/dist/client/features/ppt/slideTypeInference.js +405 -0
  136. package/dist/client/features/ppt/types.js +13 -0
  137. package/dist/client/features/ppt/utils.js +443 -0
  138. package/dist/client/files/fileReferenceRegistry.js +1543 -0
  139. package/dist/client/files/fileTools.js +450 -0
  140. package/dist/client/files/streamingReader.js +321 -0
  141. package/dist/client/files/types.js +23 -0
  142. package/dist/client/hitl/hitlErrors.js +54 -0
  143. package/dist/client/hitl/hitlManager.js +460 -0
  144. package/dist/client/httpClient.d.ts +297 -0
  145. package/dist/client/httpClient.js +837 -0
  146. package/dist/client/index.d.ts +111 -0
  147. package/dist/client/index.js +511 -0
  148. package/dist/client/interceptors.d.ts +283 -0
  149. package/dist/client/interceptors.js +601 -0
  150. package/dist/client/mcp/agentExposure.js +356 -0
  151. package/dist/client/mcp/auth/index.js +11 -0
  152. package/dist/client/mcp/auth/oauthClientProvider.js +325 -0
  153. package/dist/client/mcp/auth/tokenStorage.js +134 -0
  154. package/dist/client/mcp/batching/index.js +10 -0
  155. package/dist/client/mcp/batching/requestBatcher.js +441 -0
  156. package/dist/client/mcp/caching/index.js +10 -0
  157. package/dist/client/mcp/caching/toolCache.js +433 -0
  158. package/dist/client/mcp/elicitation/elicitationManager.js +376 -0
  159. package/dist/client/mcp/elicitation/index.js +11 -0
  160. package/dist/client/mcp/elicitation/types.js +10 -0
  161. package/dist/client/mcp/elicitationProtocol.js +375 -0
  162. package/dist/client/mcp/enhancedToolDiscovery.js +481 -0
  163. package/dist/client/mcp/externalServerManager.js +1478 -0
  164. package/dist/client/mcp/factory.js +161 -0
  165. package/dist/client/mcp/flexibleToolValidator.js +161 -0
  166. package/dist/client/mcp/httpRateLimiter.js +391 -0
  167. package/dist/client/mcp/httpRetryHandler.js +178 -0
  168. package/dist/client/mcp/index.js +74 -0
  169. package/dist/client/mcp/mcpCircuitBreaker.js +427 -0
  170. package/dist/client/mcp/mcpClientFactory.js +708 -0
  171. package/dist/client/mcp/mcpRegistryClient.js +488 -0
  172. package/dist/client/mcp/mcpServerBase.js +373 -0
  173. package/dist/client/mcp/multiServerManager.js +579 -0
  174. package/dist/client/mcp/registry.js +158 -0
  175. package/dist/client/mcp/routing/index.js +10 -0
  176. package/dist/client/mcp/routing/toolRouter.js +416 -0
  177. package/dist/client/mcp/serverCapabilities.js +502 -0
  178. package/dist/client/mcp/servers/agent/directToolsServer.js +150 -0
  179. package/dist/client/mcp/toolAnnotations.js +239 -0
  180. package/dist/client/mcp/toolConverter.js +258 -0
  181. package/dist/client/mcp/toolDiscoveryService.js +798 -0
  182. package/dist/client/mcp/toolIntegration.js +334 -0
  183. package/dist/client/mcp/toolRegistry.js +719 -0
  184. package/dist/client/memory/hippocampusInitializer.js +19 -0
  185. package/dist/client/memory/memoryRetrievalTools.js +166 -0
  186. package/dist/client/middleware/builtin/analytics.js +132 -0
  187. package/dist/client/middleware/builtin/autoEvaluation.js +203 -0
  188. package/dist/client/middleware/builtin/guardrails.js +109 -0
  189. package/dist/client/middleware/builtin/lifecycle.js +168 -0
  190. package/dist/client/middleware/factory.js +327 -0
  191. package/dist/client/middleware/registry.js +295 -0
  192. package/dist/client/middleware/utils/guardrailsUtils.js +396 -0
  193. package/dist/client/models/anthropicModels.js +527 -0
  194. package/dist/client/neurolink.js +8015 -0
  195. package/dist/client/observability/exporterRegistry.js +413 -0
  196. package/dist/client/observability/exporters/arizeExporter.js +138 -0
  197. package/dist/client/observability/exporters/baseExporter.js +190 -0
  198. package/dist/client/observability/exporters/braintrustExporter.js +154 -0
  199. package/dist/client/observability/exporters/datadogExporter.js +196 -0
  200. package/dist/client/observability/exporters/laminarExporter.js +302 -0
  201. package/dist/client/observability/exporters/langfuseExporter.js +209 -0
  202. package/dist/client/observability/exporters/langsmithExporter.js +143 -0
  203. package/dist/client/observability/exporters/otelExporter.js +164 -0
  204. package/dist/client/observability/exporters/posthogExporter.js +287 -0
  205. package/dist/client/observability/exporters/sentryExporter.js +165 -0
  206. package/dist/client/observability/index.js +31 -0
  207. package/dist/client/observability/metricsAggregator.js +556 -0
  208. package/dist/client/observability/otelBridge.js +131 -0
  209. package/dist/client/observability/retryPolicy.js +383 -0
  210. package/dist/client/observability/sampling/samplers.js +216 -0
  211. package/dist/client/observability/spanProcessor.js +303 -0
  212. package/dist/client/observability/tokenTracker.js +413 -0
  213. package/dist/client/observability/types/exporterTypes.js +5 -0
  214. package/dist/client/observability/types/index.js +4 -0
  215. package/dist/client/observability/types/spanTypes.js +92 -0
  216. package/dist/client/observability/utils/safeMetadata.js +25 -0
  217. package/dist/client/observability/utils/spanSerializer.js +292 -0
  218. package/dist/client/processors/archive/ArchiveProcessor.js +1308 -0
  219. package/dist/client/processors/base/BaseFileProcessor.js +614 -0
  220. package/dist/client/processors/base/types.js +82 -0
  221. package/dist/client/processors/config/fileTypes.js +520 -0
  222. package/dist/client/processors/config/index.js +92 -0
  223. package/dist/client/processors/config/languageMap.js +410 -0
  224. package/dist/client/processors/config/mimeTypes.js +363 -0
  225. package/dist/client/processors/config/sizeLimits.js +258 -0
  226. package/dist/client/processors/document/ExcelProcessor.js +590 -0
  227. package/dist/client/processors/document/OpenDocumentProcessor.js +212 -0
  228. package/dist/client/processors/document/PptxProcessor.js +157 -0
  229. package/dist/client/processors/document/RtfProcessor.js +361 -0
  230. package/dist/client/processors/document/WordProcessor.js +353 -0
  231. package/dist/client/processors/errors/FileErrorCode.js +255 -0
  232. package/dist/client/processors/errors/errorHelpers.js +386 -0
  233. package/dist/client/processors/errors/errorSerializer.js +507 -0
  234. package/dist/client/processors/errors/index.js +49 -0
  235. package/dist/client/processors/markup/SvgProcessor.js +240 -0
  236. package/dist/client/processors/media/AudioProcessor.js +707 -0
  237. package/dist/client/processors/media/VideoProcessor.js +1045 -0
  238. package/dist/client/providers/amazonBedrock.js +1512 -0
  239. package/dist/client/providers/amazonSagemaker.js +162 -0
  240. package/dist/client/providers/anthropic.js +831 -0
  241. package/dist/client/providers/azureOpenai.js +143 -0
  242. package/dist/client/providers/googleAiStudio.js +1200 -0
  243. package/dist/client/providers/googleNativeGemini3.js +543 -0
  244. package/dist/client/providers/googleVertex.js +2936 -0
  245. package/dist/client/providers/huggingFace.js +315 -0
  246. package/dist/client/providers/litellm.js +488 -0
  247. package/dist/client/providers/mistral.js +157 -0
  248. package/dist/client/providers/ollama.js +1579 -0
  249. package/dist/client/providers/openAI.js +627 -0
  250. package/dist/client/providers/openRouter.js +543 -0
  251. package/dist/client/providers/openaiCompatible.js +290 -0
  252. package/dist/client/providers/providerTypeUtils.js +46 -0
  253. package/dist/client/providers/sagemaker/adaptive-semaphore.js +215 -0
  254. package/dist/client/providers/sagemaker/client.js +472 -0
  255. package/dist/client/providers/sagemaker/config.js +317 -0
  256. package/dist/client/providers/sagemaker/detection.js +606 -0
  257. package/dist/client/providers/sagemaker/error-constants.js +227 -0
  258. package/dist/client/providers/sagemaker/errors.js +299 -0
  259. package/dist/client/providers/sagemaker/language-model.js +775 -0
  260. package/dist/client/providers/sagemaker/parsers.js +634 -0
  261. package/dist/client/providers/sagemaker/streaming.js +331 -0
  262. package/dist/client/providers/sagemaker/structured-parser.js +625 -0
  263. package/dist/client/proxy/accountQuota.js +162 -0
  264. package/dist/client/proxy/claudeFormat.js +595 -0
  265. package/dist/client/proxy/modelRouter.js +29 -0
  266. package/dist/client/proxy/oauthFetch.js +367 -0
  267. package/dist/client/proxy/proxyFetch.js +586 -0
  268. package/dist/client/proxy/requestLogger.js +207 -0
  269. package/dist/client/proxy/tokenRefresh.js +124 -0
  270. package/dist/client/proxy/usageStats.js +74 -0
  271. package/dist/client/proxy/utils/noProxyUtils.js +149 -0
  272. package/dist/client/rag/ChunkerFactory.js +320 -0
  273. package/dist/client/rag/ChunkerRegistry.js +421 -0
  274. package/dist/client/rag/chunkers/BaseChunker.js +143 -0
  275. package/dist/client/rag/chunkers/CharacterChunker.js +28 -0
  276. package/dist/client/rag/chunkers/HTMLChunker.js +38 -0
  277. package/dist/client/rag/chunkers/JSONChunker.js +68 -0
  278. package/dist/client/rag/chunkers/LaTeXChunker.js +63 -0
  279. package/dist/client/rag/chunkers/MarkdownChunker.js +306 -0
  280. package/dist/client/rag/chunkers/RecursiveChunker.js +139 -0
  281. package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +138 -0
  282. package/dist/client/rag/chunkers/SentenceChunker.js +66 -0
  283. package/dist/client/rag/chunkers/TokenChunker.js +61 -0
  284. package/dist/client/rag/chunkers/index.js +15 -0
  285. package/dist/client/rag/chunking/characterChunker.js +142 -0
  286. package/dist/client/rag/chunking/chunkerRegistry.js +194 -0
  287. package/dist/client/rag/chunking/htmlChunker.js +247 -0
  288. package/dist/client/rag/chunking/index.js +17 -0
  289. package/dist/client/rag/chunking/jsonChunker.js +281 -0
  290. package/dist/client/rag/chunking/latexChunker.js +251 -0
  291. package/dist/client/rag/chunking/markdownChunker.js +373 -0
  292. package/dist/client/rag/chunking/recursiveChunker.js +148 -0
  293. package/dist/client/rag/chunking/semanticChunker.js +306 -0
  294. package/dist/client/rag/chunking/sentenceChunker.js +230 -0
  295. package/dist/client/rag/chunking/tokenChunker.js +183 -0
  296. package/dist/client/rag/document/MDocument.js +392 -0
  297. package/dist/client/rag/document/index.js +5 -0
  298. package/dist/client/rag/document/loaders.js +500 -0
  299. package/dist/client/rag/errors/RAGError.js +274 -0
  300. package/dist/client/rag/errors/index.js +6 -0
  301. package/dist/client/rag/graphRag/graphRAG.js +401 -0
  302. package/dist/client/rag/graphRag/index.js +4 -0
  303. package/dist/client/rag/index.js +141 -0
  304. package/dist/client/rag/metadata/MetadataExtractorFactory.js +418 -0
  305. package/dist/client/rag/metadata/MetadataExtractorRegistry.js +362 -0
  306. package/dist/client/rag/metadata/index.js +9 -0
  307. package/dist/client/rag/metadata/metadataExtractor.js +280 -0
  308. package/dist/client/rag/pipeline/RAGPipeline.js +436 -0
  309. package/dist/client/rag/pipeline/contextAssembly.js +341 -0
  310. package/dist/client/rag/pipeline/index.js +5 -0
  311. package/dist/client/rag/ragIntegration.js +321 -0
  312. package/dist/client/rag/reranker/RerankerFactory.js +430 -0
  313. package/dist/client/rag/reranker/RerankerRegistry.js +402 -0
  314. package/dist/client/rag/reranker/index.js +9 -0
  315. package/dist/client/rag/reranker/reranker.js +277 -0
  316. package/dist/client/rag/resilience/CircuitBreaker.js +431 -0
  317. package/dist/client/rag/resilience/RetryHandler.js +304 -0
  318. package/dist/client/rag/resilience/index.js +7 -0
  319. package/dist/client/rag/retrieval/hybridSearch.js +335 -0
  320. package/dist/client/rag/retrieval/index.js +5 -0
  321. package/dist/client/rag/retrieval/vectorQueryTool.js +307 -0
  322. package/dist/client/rag/types.js +8 -0
  323. package/dist/client/reactHooks.d.ts +239 -0
  324. package/dist/client/reactHooks.tsx +1483 -0
  325. package/dist/client/sdk/toolRegistration.js +377 -0
  326. package/dist/client/server/abstract/baseServerAdapter.js +575 -0
  327. package/dist/client/server/adapters/expressAdapter.js +486 -0
  328. package/dist/client/server/adapters/fastifyAdapter.js +472 -0
  329. package/dist/client/server/adapters/honoAdapter.js +632 -0
  330. package/dist/client/server/adapters/koaAdapter.js +510 -0
  331. package/dist/client/server/errors.js +486 -0
  332. package/dist/client/server/factory/serverAdapterFactory.js +160 -0
  333. package/dist/client/server/index.js +108 -0
  334. package/dist/client/server/middleware/abortSignal.js +111 -0
  335. package/dist/client/server/middleware/auth.js +388 -0
  336. package/dist/client/server/middleware/cache.js +359 -0
  337. package/dist/client/server/middleware/common.js +281 -0
  338. package/dist/client/server/middleware/deprecation.js +190 -0
  339. package/dist/client/server/middleware/mcpBodyAttachment.js +63 -0
  340. package/dist/client/server/middleware/rateLimit.js +227 -0
  341. package/dist/client/server/middleware/validation.js +388 -0
  342. package/dist/client/server/openapi/generator.js +398 -0
  343. package/dist/client/server/openapi/index.js +36 -0
  344. package/dist/client/server/openapi/schemas.js +695 -0
  345. package/dist/client/server/openapi/templates.js +374 -0
  346. package/dist/client/server/routes/agentRoutes.js +171 -0
  347. package/dist/client/server/routes/claudeProxyRoutes.js +1600 -0
  348. package/dist/client/server/routes/healthRoutes.js +187 -0
  349. package/dist/client/server/routes/index.js +57 -0
  350. package/dist/client/server/routes/mcpRoutes.js +342 -0
  351. package/dist/client/server/routes/memoryRoutes.js +350 -0
  352. package/dist/client/server/routes/openApiRoutes.js +126 -0
  353. package/dist/client/server/routes/toolRoutes.js +199 -0
  354. package/dist/client/server/streaming/dataStream.js +486 -0
  355. package/dist/client/server/streaming/index.js +11 -0
  356. package/dist/client/server/types.js +67 -0
  357. package/dist/client/server/utils/redaction.js +334 -0
  358. package/dist/client/server/utils/validation.js +243 -0
  359. package/dist/client/server/websocket/WebSocketHandler.js +383 -0
  360. package/dist/client/server/websocket/index.js +4 -0
  361. package/dist/client/services/server/ai/observability/instrumentation.js +808 -0
  362. package/dist/client/sseClient.d.ts +156 -0
  363. package/dist/client/sseClient.js +545 -0
  364. package/dist/client/streamingClient.d.ts +327 -0
  365. package/dist/client/streamingClient.js +917 -0
  366. package/dist/client/telemetry/attributes.js +100 -0
  367. package/dist/client/telemetry/index.js +26 -0
  368. package/dist/client/telemetry/telemetryService.js +308 -0
  369. package/dist/client/telemetry/tracers.js +17 -0
  370. package/dist/client/telemetry/withSpan.js +34 -0
  371. package/dist/client/types/actionTypes.js +6 -0
  372. package/dist/client/types/analytics.js +5 -0
  373. package/dist/client/types/authTypes.js +8 -0
  374. package/dist/client/types/circuitBreakerErrors.js +34 -0
  375. package/dist/client/types/cli.js +21 -0
  376. package/dist/client/types/clientTypes.js +10 -0
  377. package/dist/client/types/common.js +51 -0
  378. package/dist/client/types/configTypes.js +49 -0
  379. package/dist/client/types/content.js +19 -0
  380. package/dist/client/types/contextTypes.js +400 -0
  381. package/dist/client/types/conversation.js +47 -0
  382. package/dist/client/types/conversationMemoryInterface.js +6 -0
  383. package/dist/client/types/domainTypes.js +5 -0
  384. package/dist/client/types/errors.js +167 -0
  385. package/dist/client/types/evaluation.js +5 -0
  386. package/dist/client/types/evaluationProviders.js +5 -0
  387. package/dist/client/types/evaluationTypes.js +1 -0
  388. package/dist/client/types/externalMcp.js +6 -0
  389. package/dist/client/types/fileReferenceTypes.js +8 -0
  390. package/dist/client/types/fileTypes.js +4 -0
  391. package/dist/client/types/generateTypes.js +1 -0
  392. package/dist/client/types/guardrails.js +1 -0
  393. package/dist/client/types/hitlTypes.js +8 -0
  394. package/dist/client/types/index.js +57 -0
  395. package/dist/client/types/mcpTypes.js +5 -0
  396. package/dist/client/types/middlewareTypes.js +1 -0
  397. package/dist/client/types/modelTypes.js +30 -0
  398. package/dist/client/types/multimodal.js +135 -0
  399. package/dist/client/types/observability.js +6 -0
  400. package/dist/client/types/pptTypes.js +82 -0
  401. package/dist/client/types/providers.js +111 -0
  402. package/dist/client/types/proxyTypes.js +16 -0
  403. package/dist/client/types/ragTypes.js +7 -0
  404. package/dist/client/types/sdkTypes.js +8 -0
  405. package/dist/client/types/serviceTypes.js +5 -0
  406. package/dist/client/types/streamTypes.js +1 -0
  407. package/dist/client/types/subscriptionTypes.js +9 -0
  408. package/dist/client/types/taskClassificationTypes.js +5 -0
  409. package/dist/client/types/tools.js +24 -0
  410. package/dist/client/types/ttsTypes.js +57 -0
  411. package/dist/client/types/typeAliases.js +48 -0
  412. package/dist/client/types/utilities.js +4 -0
  413. package/dist/client/types/workflowTypes.js +30 -0
  414. package/dist/client/utils/async/withTimeout.js +98 -0
  415. package/dist/client/utils/asyncMutex.js +60 -0
  416. package/dist/client/utils/conversationMemory.js +431 -0
  417. package/dist/client/utils/csvProcessor.js +846 -0
  418. package/dist/client/utils/errorHandling.js +936 -0
  419. package/dist/client/utils/evaluationUtils.js +131 -0
  420. package/dist/client/utils/factoryProcessing.js +589 -0
  421. package/dist/client/utils/fileDetector.js +2161 -0
  422. package/dist/client/utils/imageCache.js +376 -0
  423. package/dist/client/utils/imageProcessor.js +704 -0
  424. package/dist/client/utils/logger.js +491 -0
  425. package/dist/client/utils/mcpDefaults.js +134 -0
  426. package/dist/client/utils/messageBuilder.js +1653 -0
  427. package/dist/client/utils/modelAliasResolver.js +54 -0
  428. package/dist/client/utils/modelDetection.js +80 -0
  429. package/dist/client/utils/modelRouter.js +292 -0
  430. package/dist/client/utils/multimodalOptionsBuilder.js +65 -0
  431. package/dist/client/utils/observabilityHelpers.js +47 -0
  432. package/dist/client/utils/parameterValidation.js +966 -0
  433. package/dist/client/utils/pdfProcessor.js +410 -0
  434. package/dist/client/utils/performance.js +222 -0
  435. package/dist/client/utils/pricing.js +340 -0
  436. package/dist/client/utils/promptRedaction.js +62 -0
  437. package/dist/client/utils/providerConfig.js +1009 -0
  438. package/dist/client/utils/providerHealth.js +1237 -0
  439. package/dist/client/utils/providerRetry.js +112 -0
  440. package/dist/client/utils/providerUtils.js +434 -0
  441. package/dist/client/utils/rateLimiter.js +200 -0
  442. package/dist/client/utils/redis.js +368 -0
  443. package/dist/client/utils/retryHandler.js +269 -0
  444. package/dist/client/utils/retryability.js +22 -0
  445. package/dist/client/utils/sanitizers/svg.js +481 -0
  446. package/dist/client/utils/schemaConversion.js +255 -0
  447. package/dist/client/utils/taskClassificationUtils.js +149 -0
  448. package/dist/client/utils/taskClassifier.js +94 -0
  449. package/dist/client/utils/thinkingConfig.js +104 -0
  450. package/dist/client/utils/timeout.js +359 -0
  451. package/dist/client/utils/tokenEstimation.js +142 -0
  452. package/dist/client/utils/tokenLimits.js +125 -0
  453. package/dist/client/utils/tokenUtils.js +239 -0
  454. package/dist/client/utils/toolUtils.js +75 -0
  455. package/dist/client/utils/transformationUtils.js +554 -0
  456. package/dist/client/utils/ttsProcessor.js +286 -0
  457. package/dist/client/utils/typeUtils.js +97 -0
  458. package/dist/client/utils/videoAnalysisProcessor.js +67 -0
  459. package/dist/client/workflow/config.js +398 -0
  460. package/dist/client/workflow/core/ensembleExecutor.js +407 -0
  461. package/dist/client/workflow/core/judgeScorer.js +544 -0
  462. package/dist/client/workflow/core/responseConditioner.js +225 -0
  463. package/dist/client/workflow/core/types/conditionerTypes.js +7 -0
  464. package/dist/client/workflow/core/types/ensembleTypes.js +7 -0
  465. package/dist/client/workflow/core/types/index.js +7 -0
  466. package/dist/client/workflow/core/types/judgeTypes.js +7 -0
  467. package/dist/client/workflow/core/types/layerTypes.js +7 -0
  468. package/dist/client/workflow/core/types/registryTypes.js +7 -0
  469. package/dist/client/workflow/core/workflowRegistry.js +304 -0
  470. package/dist/client/workflow/core/workflowRunner.js +586 -0
  471. package/dist/client/workflow/index.js +50 -0
  472. package/dist/client/workflow/types.js +9 -0
  473. package/dist/client/workflow/utils/types/index.js +7 -0
  474. package/dist/client/workflow/utils/workflowMetrics.js +311 -0
  475. package/dist/client/workflow/utils/workflowValidation.js +420 -0
  476. package/dist/client/workflow/workflows/adaptiveWorkflow.js +366 -0
  477. package/dist/client/workflow/workflows/consensusWorkflow.js +192 -0
  478. package/dist/client/workflow/workflows/fallbackWorkflow.js +225 -0
  479. package/dist/client/workflow/workflows/multiJudgeWorkflow.js +351 -0
  480. package/dist/client/wsClient.d.ts +130 -0
  481. package/dist/client/wsClient.js +369 -0
  482. package/dist/config/configManager.js +2 -2
  483. package/dist/constants/contextWindows.js +15 -13
  484. package/dist/constants/enums.d.ts +10 -16
  485. package/dist/constants/enums.js +12 -18
  486. package/dist/constants/index.d.ts +0 -10
  487. package/dist/constants/index.js +1 -1
  488. package/dist/constants/tokens.d.ts +29 -16
  489. package/dist/constants/tokens.js +23 -16
  490. package/dist/core/baseProvider.d.ts +5 -5
  491. package/dist/core/baseProvider.js +6 -6
  492. package/dist/core/constants.js +6 -1
  493. package/dist/core/dynamicModels.js +10 -6
  494. package/dist/core/evaluationProviders.js +1 -1
  495. package/dist/core/infrastructure/baseError.d.ts +1 -1
  496. package/dist/core/infrastructure/baseFactory.d.ts +1 -6
  497. package/dist/core/infrastructure/baseRegistry.d.ts +6 -5
  498. package/dist/core/infrastructure/index.d.ts +6 -4
  499. package/dist/core/infrastructure/index.js +2 -2
  500. package/dist/core/modelConfiguration.js +3 -1
  501. package/dist/core/modules/GenerationHandler.d.ts +3 -3
  502. package/dist/core/modules/GenerationHandler.js +49 -41
  503. package/dist/core/modules/MessageBuilder.d.ts +5 -5
  504. package/dist/core/modules/MessageBuilder.js +4 -6
  505. package/dist/core/modules/StreamHandler.js +26 -12
  506. package/dist/core/modules/TelemetryHandler.d.ts +4 -6
  507. package/dist/core/modules/TelemetryHandler.js +7 -6
  508. package/dist/core/modules/ToolsManager.d.ts +2 -12
  509. package/dist/core/modules/ToolsManager.js +20 -4
  510. package/dist/core/modules/Utilities.js +3 -1
  511. package/dist/core/redisConversationMemoryManager.js +3 -3
  512. package/dist/core/streamAnalytics.js +23 -9
  513. package/dist/evaluation/contextBuilder.d.ts +2 -2
  514. package/dist/evaluation/contextBuilder.js +2 -2
  515. package/dist/evaluation/index.d.ts +2 -2
  516. package/dist/evaluation/retryManager.js +1 -1
  517. package/dist/factories/providerFactory.js +2 -2
  518. package/dist/features/ppt/constants.js +1 -1
  519. package/dist/features/ppt/presentationOrchestrator.js +7 -3
  520. package/dist/features/ppt/slideGenerator.d.ts +2 -1
  521. package/dist/features/ppt/slideGenerator.js +6 -1
  522. package/dist/files/fileTools.d.ts +16 -247
  523. package/dist/files/fileTools.js +16 -15
  524. package/dist/index.d.ts +5 -3
  525. package/dist/index.js +20 -3
  526. package/dist/lib/adapters/providerImageAdapter.js +13 -22
  527. package/dist/lib/adapters/video/videoAnalyzer.d.ts +4 -4
  528. package/dist/lib/adapters/video/videoAnalyzer.js +3 -3
  529. package/dist/lib/agent/directTools.d.ts +20 -289
  530. package/dist/lib/agent/directTools.js +11 -10
  531. package/dist/lib/auth/accountPool.d.ts +68 -0
  532. package/dist/lib/auth/accountPool.js +179 -0
  533. package/dist/lib/auth/anthropicOAuth.d.ts +15 -5
  534. package/dist/lib/auth/anthropicOAuth.js +117 -57
  535. package/dist/lib/auth/index.d.ts +7 -5
  536. package/dist/lib/auth/index.js +6 -2
  537. package/dist/lib/auth/tokenStore.d.ts +71 -27
  538. package/dist/lib/auth/tokenStore.js +342 -64
  539. package/dist/lib/client/aiSdkAdapter.d.ts +196 -0
  540. package/dist/lib/client/aiSdkAdapter.js +488 -0
  541. package/dist/lib/client/auth.d.ts +248 -0
  542. package/dist/lib/client/auth.js +474 -0
  543. package/dist/lib/client/errors.d.ts +299 -0
  544. package/dist/lib/client/errors.js +553 -0
  545. package/dist/lib/client/httpClient.d.ts +297 -0
  546. package/dist/lib/client/httpClient.js +838 -0
  547. package/dist/lib/client/index.d.ts +111 -0
  548. package/dist/lib/client/index.js +173 -0
  549. package/dist/lib/client/interceptors.d.ts +283 -0
  550. package/dist/lib/client/interceptors.js +602 -0
  551. package/dist/lib/client/reactHooks.d.ts +239 -0
  552. package/dist/lib/client/reactHooks.js +1160 -0
  553. package/dist/lib/client/sseClient.d.ts +156 -0
  554. package/dist/lib/client/sseClient.js +546 -0
  555. package/dist/lib/client/streamingClient.d.ts +327 -0
  556. package/dist/lib/client/streamingClient.js +918 -0
  557. package/dist/lib/client/wsClient.d.ts +130 -0
  558. package/dist/lib/client/wsClient.js +370 -0
  559. package/dist/lib/config/configManager.js +2 -2
  560. package/dist/lib/constants/contextWindows.js +15 -13
  561. package/dist/lib/constants/enums.d.ts +10 -16
  562. package/dist/lib/constants/enums.js +12 -18
  563. package/dist/lib/constants/index.d.ts +0 -10
  564. package/dist/lib/constants/index.js +1 -1
  565. package/dist/lib/constants/tokens.d.ts +29 -16
  566. package/dist/lib/constants/tokens.js +23 -16
  567. package/dist/lib/core/baseProvider.d.ts +5 -5
  568. package/dist/lib/core/baseProvider.js +6 -6
  569. package/dist/lib/core/constants.js +6 -1
  570. package/dist/lib/core/dynamicModels.js +10 -6
  571. package/dist/lib/core/evaluationProviders.js +1 -1
  572. package/dist/lib/core/infrastructure/baseError.d.ts +1 -1
  573. package/dist/lib/core/infrastructure/baseFactory.d.ts +1 -6
  574. package/dist/lib/core/infrastructure/baseRegistry.d.ts +6 -5
  575. package/dist/lib/core/infrastructure/index.d.ts +6 -4
  576. package/dist/lib/core/infrastructure/index.js +2 -2
  577. package/dist/lib/core/modelConfiguration.js +3 -1
  578. package/dist/lib/core/modules/GenerationHandler.d.ts +3 -3
  579. package/dist/lib/core/modules/GenerationHandler.js +49 -41
  580. package/dist/lib/core/modules/MessageBuilder.d.ts +5 -5
  581. package/dist/lib/core/modules/MessageBuilder.js +4 -6
  582. package/dist/lib/core/modules/StreamHandler.js +26 -12
  583. package/dist/lib/core/modules/TelemetryHandler.d.ts +4 -6
  584. package/dist/lib/core/modules/TelemetryHandler.js +7 -6
  585. package/dist/lib/core/modules/ToolsManager.d.ts +2 -12
  586. package/dist/lib/core/modules/ToolsManager.js +20 -4
  587. package/dist/lib/core/modules/Utilities.js +3 -1
  588. package/dist/lib/core/redisConversationMemoryManager.js +3 -3
  589. package/dist/lib/core/streamAnalytics.js +23 -9
  590. package/dist/lib/evaluation/contextBuilder.d.ts +2 -2
  591. package/dist/lib/evaluation/contextBuilder.js +2 -2
  592. package/dist/lib/evaluation/index.d.ts +2 -2
  593. package/dist/lib/evaluation/retryManager.js +1 -1
  594. package/dist/lib/factories/providerFactory.js +2 -2
  595. package/dist/lib/features/ppt/constants.js +1 -1
  596. package/dist/lib/features/ppt/presentationOrchestrator.js +7 -3
  597. package/dist/lib/features/ppt/slideGenerator.d.ts +2 -1
  598. package/dist/lib/features/ppt/slideGenerator.js +6 -1
  599. package/dist/lib/files/fileTools.d.ts +16 -247
  600. package/dist/lib/files/fileTools.js +16 -15
  601. package/dist/lib/index.d.ts +5 -3
  602. package/dist/lib/index.js +20 -3
  603. package/dist/lib/mcp/batching/requestBatcher.js +1 -1
  604. package/dist/lib/mcp/externalServerManager.js +5 -2
  605. package/dist/lib/mcp/factory.js +1 -1
  606. package/dist/lib/mcp/index.d.ts +1 -1
  607. package/dist/lib/mcp/index.js +1 -1
  608. package/dist/lib/mcp/mcpCircuitBreaker.d.ts +1 -0
  609. package/dist/lib/mcp/mcpCircuitBreaker.js +30 -4
  610. package/dist/lib/mcp/mcpClientFactory.js +33 -4
  611. package/dist/lib/mcp/toolDiscoveryService.js +52 -5
  612. package/dist/lib/mcp/toolRegistry.js +7 -1
  613. package/dist/lib/memory/memoryRetrievalTools.d.ts +5 -89
  614. package/dist/lib/memory/memoryRetrievalTools.js +1 -1
  615. package/dist/lib/middleware/builtin/analytics.js +3 -0
  616. package/dist/lib/middleware/builtin/autoEvaluation.js +46 -24
  617. package/dist/lib/middleware/builtin/guardrails.js +4 -0
  618. package/dist/lib/middleware/builtin/lifecycle.js +10 -6
  619. package/dist/lib/middleware/factory.d.ts +3 -3
  620. package/dist/lib/middleware/factory.js +3 -2
  621. package/dist/lib/middleware/index.d.ts +1 -1
  622. package/dist/lib/middleware/registry.d.ts +2 -2
  623. package/dist/lib/middleware/registry.js +1 -0
  624. package/dist/lib/middleware/utils/guardrailsUtils.d.ts +5 -6
  625. package/dist/lib/middleware/utils/guardrailsUtils.js +15 -6
  626. package/dist/lib/neurolink.d.ts +9 -20
  627. package/dist/lib/neurolink.js +278 -186
  628. package/dist/lib/observability/retryPolicy.d.ts +2 -13
  629. package/dist/lib/observability/sampling/samplers.d.ts +2 -11
  630. package/dist/lib/observability/spanProcessor.d.ts +2 -14
  631. package/dist/lib/processors/base/BaseFileProcessor.js +1 -1
  632. package/dist/lib/processors/document/OpenDocumentProcessor.js +5 -3
  633. package/dist/lib/processors/media/VideoProcessor.js +157 -101
  634. package/dist/lib/providers/amazonBedrock.js +12 -5
  635. package/dist/lib/providers/amazonSagemaker.d.ts +5 -5
  636. package/dist/lib/providers/amazonSagemaker.js +6 -2
  637. package/dist/lib/providers/anthropic.d.ts +3 -3
  638. package/dist/lib/providers/anthropic.js +23 -192
  639. package/dist/lib/providers/anthropicBaseProvider.d.ts +4 -4
  640. package/dist/lib/providers/anthropicBaseProvider.js +24 -13
  641. package/dist/lib/providers/azureOpenai.d.ts +2 -2
  642. package/dist/lib/providers/azureOpenai.js +6 -6
  643. package/dist/lib/providers/googleAiStudio.d.ts +2 -2
  644. package/dist/lib/providers/googleAiStudio.js +15 -7
  645. package/dist/lib/providers/googleNativeGemini3.d.ts +3 -54
  646. package/dist/lib/providers/googleNativeGemini3.js +14 -10
  647. package/dist/lib/providers/googleVertex.d.ts +6 -6
  648. package/dist/lib/providers/googleVertex.js +32 -26
  649. package/dist/lib/providers/huggingFace.d.ts +4 -4
  650. package/dist/lib/providers/huggingFace.js +15 -5
  651. package/dist/lib/providers/litellm.d.ts +4 -4
  652. package/dist/lib/providers/litellm.js +54 -42
  653. package/dist/lib/providers/mistral.d.ts +2 -2
  654. package/dist/lib/providers/mistral.js +5 -4
  655. package/dist/lib/providers/ollama.d.ts +7 -4
  656. package/dist/lib/providers/ollama.js +30 -8
  657. package/dist/lib/providers/openAI.d.ts +2 -2
  658. package/dist/lib/providers/openAI.js +46 -21
  659. package/dist/lib/providers/openRouter.d.ts +4 -4
  660. package/dist/lib/providers/openRouter.js +63 -35
  661. package/dist/lib/providers/openaiCompatible.d.ts +2 -2
  662. package/dist/lib/providers/openaiCompatible.js +18 -9
  663. package/dist/lib/providers/providerTypeUtils.d.ts +28 -0
  664. package/dist/lib/providers/providerTypeUtils.js +47 -0
  665. package/dist/lib/providers/sagemaker/config.js +5 -5
  666. package/dist/lib/providers/sagemaker/language-model.d.ts +23 -13
  667. package/dist/lib/providers/sagemaker/language-model.js +20 -8
  668. package/dist/lib/proxy/accountQuota.d.ts +33 -0
  669. package/dist/lib/proxy/accountQuota.js +163 -0
  670. package/dist/lib/proxy/claudeFormat.d.ts +143 -0
  671. package/dist/lib/proxy/claudeFormat.js +596 -0
  672. package/dist/lib/proxy/cloaking/index.d.ts +44 -0
  673. package/dist/lib/proxy/cloaking/index.js +87 -0
  674. package/dist/lib/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
  675. package/dist/lib/proxy/cloaking/plugins/headerScrubber.js +87 -0
  676. package/dist/lib/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
  677. package/dist/lib/proxy/cloaking/plugins/sessionIdentity.js +66 -0
  678. package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
  679. package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.js +84 -0
  680. package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
  681. package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.js +39 -0
  682. package/dist/lib/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
  683. package/dist/lib/proxy/cloaking/plugins/wordObfuscator.js +122 -0
  684. package/dist/lib/proxy/cloaking/types.d.ts +1 -0
  685. package/dist/lib/proxy/cloaking/types.js +2 -0
  686. package/dist/lib/proxy/modelRouter.d.ts +10 -0
  687. package/dist/lib/proxy/modelRouter.js +30 -0
  688. package/dist/lib/proxy/oauthFetch.d.ts +36 -0
  689. package/dist/lib/proxy/oauthFetch.js +368 -0
  690. package/dist/lib/proxy/proxyConfig.d.ts +42 -0
  691. package/dist/lib/proxy/proxyConfig.js +500 -0
  692. package/dist/lib/proxy/proxyFetch.js +2 -1
  693. package/dist/lib/proxy/requestLogger.d.ts +50 -0
  694. package/dist/lib/proxy/requestLogger.js +208 -0
  695. package/dist/lib/proxy/tokenRefresh.d.ts +4 -0
  696. package/dist/lib/proxy/tokenRefresh.js +125 -0
  697. package/dist/lib/proxy/usageStats.d.ts +13 -0
  698. package/dist/lib/proxy/usageStats.js +75 -0
  699. package/dist/lib/rag/document/loaders.js +1 -1
  700. package/dist/lib/rag/pipeline/contextAssembly.d.ts +4 -7
  701. package/dist/lib/rag/ragIntegration.d.ts +2 -14
  702. package/dist/lib/rag/ragIntegration.js +1 -1
  703. package/dist/lib/rag/resilience/CircuitBreaker.d.ts +5 -44
  704. package/dist/lib/rag/resilience/RetryHandler.js +1 -1
  705. package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +1 -9
  706. package/dist/lib/rag/retrieval/vectorQueryTool.js +1 -1
  707. package/dist/lib/sdk/toolRegistration.js +12 -1
  708. package/dist/lib/server/abstract/baseServerAdapter.js +2 -2
  709. package/dist/lib/server/adapters/honoAdapter.d.ts +6 -0
  710. package/dist/lib/server/adapters/honoAdapter.js +76 -10
  711. package/dist/lib/server/middleware/cache.js +3 -0
  712. package/dist/lib/server/routes/claudeProxyRoutes.d.ts +44 -0
  713. package/dist/lib/server/routes/claudeProxyRoutes.js +1601 -0
  714. package/dist/lib/server/routes/healthRoutes.js +18 -1
  715. package/dist/lib/server/routes/index.d.ts +7 -0
  716. package/dist/lib/server/routes/index.js +8 -0
  717. package/dist/lib/server/streaming/dataStream.d.ts +1 -5
  718. package/dist/lib/server/streaming/dataStream.js +3 -0
  719. package/dist/lib/server/utils/validation.d.ts +24 -124
  720. package/dist/lib/server/utils/validation.js +2 -2
  721. package/dist/lib/services/server/ai/observability/instrumentation.js +4 -0
  722. package/dist/lib/telemetry/attributes.d.ts +38 -0
  723. package/dist/lib/telemetry/attributes.js +40 -0
  724. package/dist/lib/telemetry/tracers.d.ts +1 -0
  725. package/dist/lib/telemetry/tracers.js +1 -0
  726. package/dist/lib/types/authTypes.d.ts +56 -0
  727. package/dist/lib/types/authTypes.js +9 -0
  728. package/dist/lib/types/circuitBreakerErrors.d.ts +30 -0
  729. package/dist/lib/types/circuitBreakerErrors.js +35 -0
  730. package/dist/lib/types/cli.d.ts +258 -0
  731. package/dist/lib/types/clientTypes.d.ts +1050 -0
  732. package/dist/lib/types/clientTypes.js +11 -0
  733. package/dist/lib/types/common.d.ts +123 -0
  734. package/dist/lib/types/configTypes.d.ts +49 -0
  735. package/dist/lib/types/configTypes.js +4 -0
  736. package/dist/lib/types/conversation.d.ts +0 -5
  737. package/dist/lib/types/evaluationTypes.d.ts +2 -2
  738. package/dist/lib/types/fileTypes.d.ts +47 -0
  739. package/dist/lib/types/generateTypes.d.ts +7 -3
  740. package/dist/lib/types/guardrails.d.ts +2 -2
  741. package/dist/lib/types/index.d.ts +4 -1
  742. package/dist/lib/types/index.js +5 -0
  743. package/dist/lib/types/middlewareTypes.d.ts +3 -3
  744. package/dist/lib/types/modelTypes.d.ts +7 -97
  745. package/dist/lib/types/modelTypes.js +3 -3
  746. package/dist/lib/types/observability.d.ts +37 -0
  747. package/dist/lib/types/providers.d.ts +107 -0
  748. package/dist/lib/types/proxyTypes.d.ts +536 -0
  749. package/dist/lib/types/proxyTypes.js +17 -0
  750. package/dist/lib/types/ragTypes.d.ts +49 -1
  751. package/dist/lib/types/streamTypes.d.ts +37 -13
  752. package/dist/lib/types/subscriptionTypes.d.ts +77 -0
  753. package/dist/lib/types/subscriptionTypes.js +2 -0
  754. package/dist/lib/types/tools.d.ts +45 -1
  755. package/dist/lib/types/typeAliases.d.ts +8 -0
  756. package/dist/lib/types/typeAliases.js +1 -0
  757. package/dist/lib/utils/async/retry.d.ts +4 -33
  758. package/dist/lib/utils/asyncMutex.d.ts +14 -0
  759. package/dist/lib/utils/asyncMutex.js +61 -0
  760. package/dist/lib/utils/errorHandling.d.ts +2 -1
  761. package/dist/lib/utils/errorHandling.js +14 -6
  762. package/dist/lib/utils/fileDetector.d.ts +13 -1
  763. package/dist/lib/utils/fileDetector.js +114 -32
  764. package/dist/lib/utils/imageProcessor.js +7 -7
  765. package/dist/lib/utils/json/safeParse.d.ts +1 -8
  766. package/dist/lib/utils/mcpDefaults.d.ts +1 -1
  767. package/dist/lib/utils/mcpDefaults.js +11 -2
  768. package/dist/lib/utils/messageBuilder.d.ts +5 -5
  769. package/dist/lib/utils/messageBuilder.js +106 -80
  770. package/dist/lib/utils/modelChoices.d.ts +1 -8
  771. package/dist/lib/utils/pdfProcessor.d.ts +1 -25
  772. package/dist/lib/utils/pdfProcessor.js +5 -4
  773. package/dist/lib/utils/pricing.js +28 -5
  774. package/dist/lib/utils/providerHealth.d.ts +1 -1
  775. package/dist/lib/utils/rateLimiter.d.ts +1 -15
  776. package/dist/lib/utils/redis.d.ts +1 -1
  777. package/dist/lib/utils/redis.js +3 -3
  778. package/dist/lib/utils/sanitizers/filename.d.ts +2 -22
  779. package/dist/lib/utils/sanitizers/index.d.ts +4 -2
  780. package/dist/lib/utils/sanitizers/svg.d.ts +1 -11
  781. package/dist/lib/utils/schemaConversion.js +4 -1
  782. package/dist/lib/utils/thinkingConfig.d.ts +1 -33
  783. package/dist/lib/utils/tokenUtils.d.ts +1 -39
  784. package/dist/lib/utils/videoAnalysisProcessor.d.ts +5 -5
  785. package/dist/lib/utils/videoAnalysisProcessor.js +2 -2
  786. package/dist/lib/workflow/config.d.ts +89 -1257
  787. package/dist/lib/workflow/utils/workflowValidation.js +1 -1
  788. package/dist/mcp/batching/requestBatcher.js +1 -1
  789. package/dist/mcp/externalServerManager.js +5 -2
  790. package/dist/mcp/factory.js +1 -1
  791. package/dist/mcp/index.d.ts +1 -1
  792. package/dist/mcp/index.js +1 -1
  793. package/dist/mcp/mcpCircuitBreaker.d.ts +1 -0
  794. package/dist/mcp/mcpCircuitBreaker.js +30 -4
  795. package/dist/mcp/mcpClientFactory.js +33 -4
  796. package/dist/mcp/toolDiscoveryService.js +52 -5
  797. package/dist/mcp/toolRegistry.js +7 -1
  798. package/dist/memory/memoryRetrievalTools.d.ts +5 -89
  799. package/dist/memory/memoryRetrievalTools.js +1 -1
  800. package/dist/middleware/builtin/analytics.js +3 -0
  801. package/dist/middleware/builtin/autoEvaluation.js +46 -24
  802. package/dist/middleware/builtin/guardrails.js +4 -0
  803. package/dist/middleware/builtin/lifecycle.js +10 -6
  804. package/dist/middleware/factory.d.ts +3 -3
  805. package/dist/middleware/factory.js +3 -2
  806. package/dist/middleware/index.d.ts +1 -1
  807. package/dist/middleware/registry.d.ts +2 -2
  808. package/dist/middleware/registry.js +1 -0
  809. package/dist/middleware/utils/guardrailsUtils.d.ts +5 -6
  810. package/dist/middleware/utils/guardrailsUtils.js +15 -6
  811. package/dist/neurolink.d.ts +9 -20
  812. package/dist/neurolink.js +278 -186
  813. package/dist/observability/retryPolicy.d.ts +2 -13
  814. package/dist/observability/sampling/samplers.d.ts +2 -11
  815. package/dist/observability/spanProcessor.d.ts +2 -14
  816. package/dist/processors/base/BaseFileProcessor.js +1 -1
  817. package/dist/processors/document/OpenDocumentProcessor.js +5 -3
  818. package/dist/processors/media/VideoProcessor.js +157 -101
  819. package/dist/providers/amazonBedrock.js +12 -5
  820. package/dist/providers/amazonSagemaker.d.ts +5 -5
  821. package/dist/providers/amazonSagemaker.js +6 -2
  822. package/dist/providers/anthropic.d.ts +3 -3
  823. package/dist/providers/anthropic.js +23 -192
  824. package/dist/providers/anthropicBaseProvider.d.ts +4 -4
  825. package/dist/providers/anthropicBaseProvider.js +24 -13
  826. package/dist/providers/azureOpenai.d.ts +2 -2
  827. package/dist/providers/azureOpenai.js +6 -6
  828. package/dist/providers/googleAiStudio.d.ts +2 -2
  829. package/dist/providers/googleAiStudio.js +15 -7
  830. package/dist/providers/googleNativeGemini3.d.ts +3 -54
  831. package/dist/providers/googleNativeGemini3.js +14 -10
  832. package/dist/providers/googleVertex.d.ts +6 -6
  833. package/dist/providers/googleVertex.js +32 -26
  834. package/dist/providers/huggingFace.d.ts +4 -4
  835. package/dist/providers/huggingFace.js +15 -5
  836. package/dist/providers/litellm.d.ts +4 -4
  837. package/dist/providers/litellm.js +54 -42
  838. package/dist/providers/mistral.d.ts +2 -2
  839. package/dist/providers/mistral.js +5 -4
  840. package/dist/providers/ollama.d.ts +7 -4
  841. package/dist/providers/ollama.js +30 -8
  842. package/dist/providers/openAI.d.ts +2 -2
  843. package/dist/providers/openAI.js +46 -21
  844. package/dist/providers/openRouter.d.ts +4 -4
  845. package/dist/providers/openRouter.js +63 -35
  846. package/dist/providers/openaiCompatible.d.ts +2 -2
  847. package/dist/providers/openaiCompatible.js +18 -9
  848. package/dist/providers/providerTypeUtils.d.ts +28 -0
  849. package/dist/providers/providerTypeUtils.js +46 -0
  850. package/dist/providers/sagemaker/config.js +5 -5
  851. package/dist/providers/sagemaker/language-model.d.ts +23 -13
  852. package/dist/providers/sagemaker/language-model.js +20 -8
  853. package/dist/proxy/accountQuota.d.ts +33 -0
  854. package/dist/proxy/accountQuota.js +162 -0
  855. package/dist/proxy/claudeFormat.d.ts +143 -0
  856. package/dist/proxy/claudeFormat.js +595 -0
  857. package/dist/proxy/cloaking/index.d.ts +44 -0
  858. package/dist/proxy/cloaking/index.js +86 -0
  859. package/dist/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
  860. package/dist/proxy/cloaking/plugins/headerScrubber.js +86 -0
  861. package/dist/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
  862. package/dist/proxy/cloaking/plugins/sessionIdentity.js +65 -0
  863. package/dist/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
  864. package/dist/proxy/cloaking/plugins/systemPromptInjector.js +83 -0
  865. package/dist/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
  866. package/dist/proxy/cloaking/plugins/tlsFingerprint.js +38 -0
  867. package/dist/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
  868. package/dist/proxy/cloaking/plugins/wordObfuscator.js +121 -0
  869. package/dist/proxy/cloaking/types.d.ts +1 -0
  870. package/dist/proxy/cloaking/types.js +1 -0
  871. package/dist/proxy/modelRouter.d.ts +10 -0
  872. package/dist/proxy/modelRouter.js +29 -0
  873. package/dist/proxy/oauthFetch.d.ts +36 -0
  874. package/dist/proxy/oauthFetch.js +367 -0
  875. package/dist/proxy/proxyConfig.d.ts +42 -0
  876. package/dist/proxy/proxyConfig.js +499 -0
  877. package/dist/proxy/proxyFetch.js +2 -1
  878. package/dist/proxy/requestLogger.d.ts +50 -0
  879. package/dist/proxy/requestLogger.js +207 -0
  880. package/dist/proxy/tokenRefresh.d.ts +4 -0
  881. package/dist/proxy/tokenRefresh.js +124 -0
  882. package/dist/proxy/usageStats.d.ts +13 -0
  883. package/dist/proxy/usageStats.js +74 -0
  884. package/dist/rag/document/loaders.js +1 -1
  885. package/dist/rag/pipeline/contextAssembly.d.ts +4 -7
  886. package/dist/rag/ragIntegration.d.ts +2 -14
  887. package/dist/rag/ragIntegration.js +1 -1
  888. package/dist/rag/resilience/CircuitBreaker.d.ts +5 -44
  889. package/dist/rag/resilience/RetryHandler.js +1 -1
  890. package/dist/rag/retrieval/vectorQueryTool.d.ts +1 -9
  891. package/dist/rag/retrieval/vectorQueryTool.js +1 -1
  892. package/dist/sdk/toolRegistration.js +12 -1
  893. package/dist/server/abstract/baseServerAdapter.js +2 -2
  894. package/dist/server/adapters/honoAdapter.d.ts +6 -0
  895. package/dist/server/adapters/honoAdapter.js +76 -10
  896. package/dist/server/middleware/cache.js +3 -0
  897. package/dist/server/routes/claudeProxyRoutes.d.ts +44 -0
  898. package/dist/server/routes/claudeProxyRoutes.js +1600 -0
  899. package/dist/server/routes/healthRoutes.js +18 -1
  900. package/dist/server/routes/index.d.ts +7 -0
  901. package/dist/server/routes/index.js +8 -0
  902. package/dist/server/streaming/dataStream.d.ts +1 -5
  903. package/dist/server/streaming/dataStream.js +3 -0
  904. package/dist/server/utils/validation.d.ts +24 -124
  905. package/dist/server/utils/validation.js +2 -2
  906. package/dist/services/server/ai/observability/instrumentation.js +4 -0
  907. package/dist/telemetry/attributes.d.ts +38 -0
  908. package/dist/telemetry/attributes.js +40 -0
  909. package/dist/telemetry/tracers.d.ts +1 -0
  910. package/dist/telemetry/tracers.js +1 -0
  911. package/dist/types/authTypes.d.ts +56 -0
  912. package/dist/types/authTypes.js +8 -0
  913. package/dist/types/circuitBreakerErrors.d.ts +30 -0
  914. package/dist/types/circuitBreakerErrors.js +34 -0
  915. package/dist/types/cli.d.ts +258 -0
  916. package/dist/types/clientTypes.d.ts +1050 -0
  917. package/dist/types/clientTypes.js +10 -0
  918. package/dist/types/common.d.ts +123 -0
  919. package/dist/types/configTypes.d.ts +49 -0
  920. package/dist/types/configTypes.js +4 -0
  921. package/dist/types/conversation.d.ts +0 -5
  922. package/dist/types/evaluationTypes.d.ts +2 -2
  923. package/dist/types/fileTypes.d.ts +47 -0
  924. package/dist/types/generateTypes.d.ts +7 -3
  925. package/dist/types/guardrails.d.ts +2 -2
  926. package/dist/types/index.d.ts +4 -1
  927. package/dist/types/index.js +5 -0
  928. package/dist/types/middlewareTypes.d.ts +3 -3
  929. package/dist/types/modelTypes.d.ts +7 -97
  930. package/dist/types/modelTypes.js +3 -3
  931. package/dist/types/observability.d.ts +37 -0
  932. package/dist/types/providers.d.ts +107 -0
  933. package/dist/types/proxyTypes.d.ts +536 -0
  934. package/dist/types/proxyTypes.js +16 -0
  935. package/dist/types/ragTypes.d.ts +49 -1
  936. package/dist/types/streamTypes.d.ts +37 -13
  937. package/dist/types/subscriptionTypes.d.ts +77 -0
  938. package/dist/types/subscriptionTypes.js +2 -0
  939. package/dist/types/tools.d.ts +45 -1
  940. package/dist/types/typeAliases.d.ts +8 -0
  941. package/dist/types/typeAliases.js +1 -0
  942. package/dist/utils/async/retry.d.ts +4 -33
  943. package/dist/utils/asyncMutex.d.ts +14 -0
  944. package/dist/utils/asyncMutex.js +60 -0
  945. package/dist/utils/errorHandling.d.ts +2 -1
  946. package/dist/utils/errorHandling.js +14 -6
  947. package/dist/utils/fileDetector.d.ts +13 -1
  948. package/dist/utils/fileDetector.js +114 -32
  949. package/dist/utils/imageProcessor.js +7 -7
  950. package/dist/utils/json/safeParse.d.ts +1 -8
  951. package/dist/utils/mcpDefaults.d.ts +1 -1
  952. package/dist/utils/mcpDefaults.js +11 -2
  953. package/dist/utils/messageBuilder.d.ts +5 -5
  954. package/dist/utils/messageBuilder.js +106 -80
  955. package/dist/utils/modelChoices.d.ts +1 -8
  956. package/dist/utils/pdfProcessor.d.ts +1 -25
  957. package/dist/utils/pdfProcessor.js +5 -4
  958. package/dist/utils/pricing.js +28 -5
  959. package/dist/utils/rateLimiter.d.ts +1 -15
  960. package/dist/utils/redis.d.ts +1 -1
  961. package/dist/utils/redis.js +3 -3
  962. package/dist/utils/sanitizers/filename.d.ts +2 -22
  963. package/dist/utils/sanitizers/index.d.ts +4 -2
  964. package/dist/utils/sanitizers/svg.d.ts +1 -11
  965. package/dist/utils/schemaConversion.js +4 -1
  966. package/dist/utils/thinkingConfig.d.ts +1 -33
  967. package/dist/utils/tokenUtils.d.ts +1 -39
  968. package/dist/utils/videoAnalysisProcessor.d.ts +5 -5
  969. package/dist/utils/videoAnalysisProcessor.js +2 -2
  970. package/dist/workflow/config.d.ts +89 -1257
  971. package/dist/workflow/utils/workflowValidation.js +1 -1
  972. package/docs-site/mcp-server/index.js +2 -3
  973. package/package.json +138 -105
  974. package/dist/lib/memory/mem0Initializer.d.ts +0 -46
  975. package/dist/lib/memory/mem0Initializer.js +0 -85
  976. package/dist/memory/mem0Initializer.d.ts +0 -46
  977. package/dist/memory/mem0Initializer.js +0 -84
@@ -89,14 +89,16 @@ export const PROVIDER_TOKEN_LIMITS = {
89
89
  },
90
90
  /** Google AI model limits */
91
91
  GOOGLE_AI: {
92
- // Gemini 3 Series (Preview - November 2025)
93
- "gemini-3-pro-preview": 8192,
94
- "gemini-3-pro-preview-11-2025": 8192,
95
- "gemini-3-pro-latest": 8192,
96
- // Gemini 3 Flash Series
97
- "gemini-3-flash": 65536,
92
+ // Gemini 3.1 Series (all require -preview suffix)
93
+ "gemini-3.1-pro-preview": 8192,
94
+ "gemini-3.1-flash-lite-preview": 65536,
95
+ "gemini-3.1-flash-image-preview": 8192,
96
+ "gemini-3.1-pro-preview-customtools": 8192,
97
+ // Gemini 3 Series
98
98
  "gemini-3-flash-preview": 65536,
99
- "gemini-3-flash-latest": 65536,
99
+ "gemini-3-pro-image-preview": 8192,
100
+ /** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
101
+ "gemini-3-pro-preview": 8192,
100
102
  // Gemini 2.5 Series
101
103
  "gemini-2.5-pro": 8192,
102
104
  "gemini-2.5-flash": 8192,
@@ -112,14 +114,16 @@ export const PROVIDER_TOKEN_LIMITS = {
112
114
  },
113
115
  /** Google Vertex AI model limits */
114
116
  VERTEX: {
115
- // Gemini 3 Series (Preview - November 2025)
116
- "gemini-3-pro-preview": 8192,
117
- "gemini-3-pro-preview-11-2025": 8192,
118
- "gemini-3-pro-latest": 8192,
119
- // Gemini 3 Flash Series
120
- "gemini-3-flash": 65536,
117
+ // Gemini 3.1 Series (all require -preview suffix)
118
+ "gemini-3.1-pro-preview": 8192,
119
+ "gemini-3.1-flash-lite-preview": 65536,
120
+ "gemini-3.1-flash-image-preview": 8192,
121
+ "gemini-3.1-pro-preview-customtools": 8192,
122
+ // Gemini 3 Series
121
123
  "gemini-3-flash-preview": 65536,
122
- "gemini-3-flash-latest": 65536,
124
+ "gemini-3-pro-image-preview": 8192,
125
+ /** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
126
+ "gemini-3-pro-preview": 8192,
123
127
  // Gemini 2.5 Series
124
128
  "gemini-2.5-pro": 8192,
125
129
  "gemini-2.5-flash": 8192,
@@ -218,10 +222,13 @@ export const CONTEXT_WINDOWS = {
218
222
  * For models that require explicit input and output token limits
219
223
  */
220
224
  export const MODEL_TOKEN_LIMITS = {
225
+ /** Gemini 3.1 Series */
226
+ "gemini-3.1-pro-preview": { input: 1048576, output: 65536 },
227
+ "gemini-3.1-flash-lite-preview": { input: 1048576, output: 65536 },
228
+ "gemini-3.1-flash-image-preview": { input: 1048576, output: 8192 },
229
+ "gemini-3.1-pro-preview-customtools": { input: 1048576, output: 65536 },
221
230
  /** Gemini 3 Flash Series */
222
- "gemini-3-flash": { input: 1000000, output: 65536 },
223
231
  "gemini-3-flash-preview": { input: 1000000, output: 65536 },
224
- "gemini-3-flash-latest": { input: 1000000, output: 65536 },
225
232
  };
226
233
  /**
227
234
  * Token estimation utilities
@@ -1,4 +1,4 @@
1
- import type { CoreMessage, LanguageModelV1, Tool } from "ai";
1
+ import type { ModelMessage, LanguageModel, Tool } from "ai";
2
2
  import type { AIProviderName } from "../constants/enums.js";
3
3
  import type { EvaluationData } from "../index.js";
4
4
  import type { NeuroLink } from "../neurolink.js";
@@ -83,9 +83,9 @@ export declare abstract class BaseProvider implements AIProvider {
83
83
  * with automatic multimodal detection, eliminating code duplication
84
84
  *
85
85
  * @param options - Stream options or text generation options
86
- * @returns Promise resolving to CoreMessage array ready for AI SDK
86
+ * @returns Promise resolving to ModelMessage array ready for AI SDK
87
87
  */
88
- protected buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<CoreMessage[]>;
88
+ protected buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<ModelMessage[]>;
89
89
  /**
90
90
  * Execute the generation with AI SDK - delegated to GenerationHandler
91
91
  */
@@ -200,13 +200,13 @@ export declare abstract class BaseProvider implements AIProvider {
200
200
  * REQUIRED: Every provider MUST implement this method
201
201
  * Returns the Vercel AI SDK model instance for this provider
202
202
  */
203
- protected abstract getAISDKModel(): LanguageModelV1 | Promise<LanguageModelV1>;
203
+ protected abstract getAISDKModel(): LanguageModel | Promise<LanguageModel>;
204
204
  /**
205
205
  * Get AI SDK model with middleware applied
206
206
  * This method wraps the base model with any configured middleware
207
207
  * TODO: Implement global level middlewares that can be used
208
208
  */
209
- protected getAISDKModelWithMiddleware(options?: TextGenerationOptions | StreamOptions): Promise<LanguageModelV1>;
209
+ protected getAISDKModelWithMiddleware(options?: TextGenerationOptions | StreamOptions): Promise<LanguageModel>;
210
210
  /**
211
211
  * Extract middleware options - delegated to Utilities
212
212
  */
@@ -436,7 +436,7 @@ export class BaseProvider {
436
436
  * with automatic multimodal detection, eliminating code duplication
437
437
  *
438
438
  * @param options - Stream options or text generation options
439
- * @returns Promise resolving to CoreMessage array ready for AI SDK
439
+ * @returns Promise resolving to ModelMessage array ready for AI SDK
440
440
  */
441
441
  async buildMessagesForStream(options) {
442
442
  return this.messageBuilder.buildMessagesForStream(options);
@@ -609,17 +609,17 @@ export class BaseProvider {
609
609
  messages: [
610
610
  { role: "user", content: formattingPrompt },
611
611
  ],
612
- maxTokens: options.maxTokens || 8192,
612
+ maxOutputTokens: options.maxTokens || 8192,
613
613
  temperature: 0.3,
614
614
  abortSignal: options.abortSignal,
615
615
  experimental_telemetry: this.telemetryHandler?.getTelemetryConfig(options, "generate"),
616
616
  });
617
617
  formattedContent = formattedResult.text;
618
618
  usage = {
619
- input: formattedResult.usage?.promptTokens || 0,
620
- output: formattedResult.usage?.completionTokens || 0,
621
- total: (formattedResult.usage?.promptTokens || 0) +
622
- (formattedResult.usage?.completionTokens || 0),
619
+ input: formattedResult.usage?.inputTokens || 0,
620
+ output: formattedResult.usage?.outputTokens || 0,
621
+ total: (formattedResult.usage?.inputTokens || 0) +
622
+ (formattedResult.usage?.outputTokens || 0),
623
623
  };
624
624
  logger.debug("[VideoAnalysis] Claude formatting complete", {
625
625
  formattedLength: formattedContent.length,
@@ -7,15 +7,20 @@
7
7
  export const IMAGE_GENERATION_MODELS = [
8
8
  "gemini-3-pro-image-preview",
9
9
  "gemini-2.5-flash-image",
10
+ "gemini-3.1-flash-image-preview",
10
11
  ];
11
12
  // PDF Image Generation Models
12
13
  // Models that support generating images from PDFs
13
- export const PDF_IMAGE_GENERATION_MODELS = ["gemini-3-pro-image-preview"];
14
+ export const PDF_IMAGE_GENERATION_MODELS = [
15
+ "gemini-3-pro-image-preview",
16
+ "gemini-3.1-flash-image-preview",
17
+ ];
14
18
  // Global Location Models
15
19
  // Models that require global location configuration (uses aiplatform.googleapis.com instead of region-specific endpoints)
16
20
  export const GLOBAL_LOCATION_MODELS = [
17
21
  "gemini-3-pro-image-preview",
18
22
  "gemini-2.5-flash-image",
23
+ "gemini-3.1-flash-image-preview",
19
24
  ];
20
25
  // Core AI Generation Defaults
21
26
  export const DEFAULT_MAX_TOKENS = undefined; // Unlimited by default - let providers decide their own limits
@@ -19,9 +19,9 @@ const ModelConfigSchema = z.object({
19
19
  const ModelRegistrySchema = z.object({
20
20
  version: z.string(),
21
21
  lastUpdated: z.string(),
22
- models: z.record(z.record(ModelConfigSchema)),
23
- aliases: z.record(z.string()).optional(),
24
- defaults: z.record(z.string()).optional(),
22
+ models: z.record(z.string(), z.record(z.string(), ModelConfigSchema)),
23
+ aliases: z.record(z.string(), z.string()).optional(),
24
+ defaults: z.record(z.string(), z.string()).optional(),
25
25
  });
26
26
  /**
27
27
  * Dynamic Model Provider
@@ -124,7 +124,9 @@ export class DynamicModelProvider {
124
124
  catch (error) {
125
125
  clearTimeout(timeoutId);
126
126
  if (isAbortError(error)) {
127
- throw new Error(`Request timeout after ${timeoutMs}ms`);
127
+ throw new Error(`Request timeout after ${timeoutMs}ms`, {
128
+ cause: error,
129
+ });
128
130
  }
129
131
  throw error;
130
132
  }
@@ -179,11 +181,13 @@ export class DynamicModelProvider {
179
181
  catch (error) {
180
182
  clearTimeout(timeoutId);
181
183
  if (isAbortError(error)) {
182
- throw new Error(`Localhost health check timeout - server may not be running`);
184
+ throw new Error(`Localhost health check timeout - server may not be running`, { cause: error });
183
185
  }
184
186
  // For connection refused, throw a more specific error
185
187
  if (error instanceof Error && error.message.includes("ECONNREFUSED")) {
186
- throw new Error(`Localhost server not running at ${url}`);
188
+ throw new Error(`Localhost server not running at ${url}`, {
189
+ cause: error,
190
+ });
187
191
  }
188
192
  // For other errors, let the main request handle them
189
193
  logger.debug(`Health check failed for ${url}, proceeding with main request`, {
@@ -209,7 +209,7 @@ export function getProviderPerformanceAnalytics() {
209
209
  }
210
210
  const avgResponseTime = metrics.responseTime.reduce((a, b) => a + b, 0) /
211
211
  metrics.responseTime.length;
212
- let recommendation = "";
212
+ let recommendation;
213
213
  if (metrics.successRate > PERFORMANCE_THRESHOLDS.EXCELLENT_SUCCESS_RATE &&
214
214
  avgResponseTime < PERFORMANCE_THRESHOLDS.EXCELLENT_RESPONSE_TIME_MS) {
215
215
  recommendation = "Excellent - Recommended for production";
@@ -1,4 +1,4 @@
1
- export type ErrorCode = string;
1
+ import type { ErrorCode } from "../../types/index.js";
2
2
  export declare class NeuroLinkFeatureError extends Error {
3
3
  readonly code: ErrorCode;
4
4
  readonly feature: string;
@@ -1,9 +1,4 @@
1
- export type FactoryFunction<TInstance, TConfig> = (config?: TConfig) => Promise<TInstance>;
2
- export type FactoryRegistration<TInstance, TConfig> = {
3
- factory: FactoryFunction<TInstance, TConfig>;
4
- aliases: string[];
5
- metadata?: Record<string, unknown>;
6
- };
1
+ import type { FactoryFunction, FactoryRegistration } from "../../types/index.js";
7
2
  export declare abstract class BaseFactory<TInstance, TConfig = unknown> {
8
3
  protected items: Map<string, FactoryRegistration<TInstance, TConfig>>;
9
4
  protected aliasMap: Map<string, string>;
@@ -1,8 +1,9 @@
1
- export type RegistryEntry<TItem, TMetadata = unknown> = {
2
- factory: () => Promise<TItem>;
3
- metadata: TMetadata;
4
- instance?: TItem;
5
- };
1
+ import type { InfraRegistryEntry } from "../../types/index.js";
2
+ /**
3
+ * Local alias: the canonical type was renamed to InfraRegistryEntry to avoid
4
+ * collision with other RegistryEntry types in the codebase.
5
+ */
6
+ export type RegistryEntry<TItem, TMetadata = unknown> = InfraRegistryEntry<TItem, TMetadata>;
6
7
  export declare abstract class BaseRegistry<TItem, TMetadata = unknown> {
7
8
  protected items: Map<string, RegistryEntry<TItem, TMetadata>>;
8
9
  protected initialized: boolean;
@@ -1,5 +1,7 @@
1
- export { createErrorFactory, type ErrorCode, NeuroLinkFeatureError, } from "./baseError.js";
2
- export { BaseFactory, type FactoryFunction, type FactoryRegistration, } from "./baseFactory.js";
3
- export { BaseRegistry, type RegistryEntry } from "./baseRegistry.js";
4
- export { type RetryOptions, withRetry } from "./retry.js";
1
+ export { createErrorFactory, NeuroLinkFeatureError } from "./baseError.js";
2
+ export { BaseFactory } from "./baseFactory.js";
3
+ export { BaseRegistry } from "./baseRegistry.js";
4
+ export { withRetry } from "./retry.js";
5
+ export type { ErrorCode, FactoryFunction, FactoryRegistration, InfraRegistryEntry, InfraRegistryEntry as RegistryEntry, AsyncRetryOptions, } from "../../types/index.js";
6
+ export type { RetryOptions } from "./retry.js";
5
7
  export { TypedEventEmitter } from "./typedEventEmitter.js";
@@ -1,5 +1,5 @@
1
- export { createErrorFactory, NeuroLinkFeatureError, } from "./baseError.js";
2
- export { BaseFactory, } from "./baseFactory.js";
1
+ export { createErrorFactory, NeuroLinkFeatureError } from "./baseError.js";
2
+ export { BaseFactory } from "./baseFactory.js";
3
3
  export { BaseRegistry } from "./baseRegistry.js";
4
4
  export { withRetry } from "./retry.js";
5
5
  export { TypedEventEmitter } from "./typedEventEmitter.js";
@@ -633,7 +633,9 @@ export class ModelConfigurationManager {
633
633
  catch (error) {
634
634
  const errorMessage = error instanceof Error ? error.message : String(error);
635
635
  logger.error(`Failed to load configurations from file: ${errorMessage}`);
636
- throw new Error(`Configuration loading failed: ${errorMessage}`);
636
+ throw new Error(`Configuration loading failed: ${errorMessage}`, {
637
+ cause: error,
638
+ });
637
639
  }
638
640
  }
639
641
  /**
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * @module core/modules/GenerationHandler
14
14
  */
15
- import type { CoreMessage, LanguageModelV1, Tool } from "ai";
15
+ import type { LanguageModel, ModelMessage, Tool } from "ai";
16
16
  import { generateText } from "ai";
17
17
  import type { AIProviderName, EnhancedGenerateResult, StandardRecord, TextGenerationOptions } from "../../types/index.js";
18
18
  /**
@@ -37,10 +37,10 @@ export declare class GenerationHandler {
37
37
  /**
38
38
  * Execute the generation with AI SDK
39
39
  */
40
- executeGeneration(model: LanguageModelV1, messages: CoreMessage[], tools: Record<string, Tool>, options: TextGenerationOptions): Promise<Awaited<ReturnType<typeof generateText>>>;
40
+ executeGeneration(model: LanguageModel, messages: ModelMessage[], tools: Record<string, Tool>, options: TextGenerationOptions): Promise<Awaited<ReturnType<typeof generateText>>>;
41
41
  /**
42
42
  * Extract cache metrics from provider metadata (e.g. Anthropic's providerMetadata.anthropic)
43
- * The Vercel AI SDK's LanguageModelUsage only has promptTokens/completionTokens/totalTokens.
43
+ * The AI SDK's LanguageModelUsage only has inputTokens/outputTokens.
44
44
  * Cache metrics are surfaced via providerMetadata by provider-specific SDK adapters.
45
45
  */
46
46
  private extractCacheMetricsFromProviderMetadata;
@@ -13,7 +13,8 @@
13
13
  * @module core/modules/GenerationHandler
14
14
  */
15
15
  import { SpanKind, SpanStatusCode } from "@opentelemetry/api";
16
- import { generateText, NoObjectGeneratedError, Output } from "ai";
16
+ import { generateText, NoObjectGeneratedError, Output, stepCountIs } from "ai";
17
+ import { getModelId } from "../../providers/providerTypeUtils.js";
17
18
  import { tracers } from "../../telemetry/tracers.js";
18
19
  import { logger } from "../../utils/logger.js";
19
20
  import { calculateCost } from "../../utils/pricing.js";
@@ -99,14 +100,17 @@ export class GenerationHandler {
99
100
  messages,
100
101
  ...(shouldUseTools &&
101
102
  Object.keys(toolsWithCache).length > 0 && { tools: toolsWithCache }),
102
- maxSteps: options.maxSteps ?? DEFAULT_MAX_STEPS,
103
+ stopWhen: stepCountIs(options.maxSteps ?? DEFAULT_MAX_STEPS),
103
104
  ...(shouldUseTools &&
104
105
  options.toolChoice && { toolChoice: options.toolChoice }),
105
106
  ...(options.prepareStep && {
106
- experimental_prepareStep: options.prepareStep,
107
+ experimental_prepareStep: ((stepOptions) => options.prepareStep({
108
+ ...stepOptions,
109
+ maxSteps: options.maxSteps ?? DEFAULT_MAX_STEPS,
110
+ })),
107
111
  }),
108
112
  temperature: options.temperature,
109
- maxTokens: options.maxTokens,
113
+ maxOutputTokens: options.maxTokens,
110
114
  maxRetries: 0, // NL11: Disable AI SDK's invisible internal retries; we handle retries with OTel instrumentation
111
115
  abortSignal: options.abortSignal,
112
116
  ...(useStructuredOutput &&
@@ -173,13 +177,13 @@ export class GenerationHandler {
173
177
  span.setAttribute("neurolink.structured_output", useStructuredOutput);
174
178
  span.setAttribute("neurolink.tool_count", toolCount);
175
179
  span.setAttribute("neurolink.message_count", messages.length);
176
- span.setAttribute("gen_ai.request.model", model.modelId || this.modelName || "unknown");
180
+ span.setAttribute("gen_ai.request.model", getModelId(model, this.modelName || "unknown"));
177
181
  const requestId = options.requestId ||
178
182
  options.context?.requestId ||
179
183
  "unknown";
180
184
  logger.info("[GenerationHandler] Calling generateText", {
181
185
  requestId,
182
- model: model.modelId || "unknown",
186
+ model: getModelId(model),
183
187
  messageCount: messages.length,
184
188
  toolCount,
185
189
  maxSteps: options.maxSteps,
@@ -189,7 +193,7 @@ export class GenerationHandler {
189
193
  try {
190
194
  logger.debug("[Observability] Full generateText parameters", {
191
195
  requestId,
192
- model: model.modelId || "unknown",
196
+ model: getModelId(model),
193
197
  messageCount: messages.length,
194
198
  messages: messages.map((msg, i) => ({
195
199
  index: i,
@@ -246,14 +250,14 @@ export class GenerationHandler {
246
250
  }
247
251
  // Set token usage and completion attributes on span
248
252
  if (result.usage) {
249
- span.setAttribute("gen_ai.usage.input_tokens", result.usage.promptTokens || 0);
250
- span.setAttribute("gen_ai.usage.output_tokens", result.usage.completionTokens || 0);
253
+ span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens || 0);
254
+ span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens || 0);
251
255
  // Cost on span so users can query "what did this trace cost?"
252
256
  const cost = calculateCost(this.providerName, this.modelName, {
253
- input: result.usage.promptTokens || 0,
254
- output: result.usage.completionTokens || 0,
255
- total: (result.usage.promptTokens || 0) +
256
- (result.usage.completionTokens || 0),
257
+ input: result.usage.inputTokens || 0,
258
+ output: result.usage.outputTokens || 0,
259
+ total: (result.usage.inputTokens || 0) +
260
+ (result.usage.outputTokens || 0),
257
261
  });
258
262
  span.setAttribute("neurolink.cost", cost ?? 0);
259
263
  }
@@ -297,13 +301,13 @@ export class GenerationHandler {
297
301
  responseChars: result.text?.length || 0,
298
302
  });
299
303
  if (result.usage) {
300
- span.setAttribute("gen_ai.usage.input_tokens", result.usage.promptTokens || 0);
301
- span.setAttribute("gen_ai.usage.output_tokens", result.usage.completionTokens || 0);
304
+ span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens || 0);
305
+ span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens || 0);
302
306
  const fallbackCost = calculateCost(this.providerName, this.modelName, {
303
- input: result.usage.promptTokens || 0,
304
- output: result.usage.completionTokens || 0,
305
- total: (result.usage.promptTokens || 0) +
306
- (result.usage.completionTokens || 0),
307
+ input: result.usage.inputTokens || 0,
308
+ output: result.usage.outputTokens || 0,
309
+ total: (result.usage.inputTokens || 0) +
310
+ (result.usage.outputTokens || 0),
307
311
  });
308
312
  span.setAttribute("neurolink.cost", fallbackCost ?? 0);
309
313
  }
@@ -327,13 +331,11 @@ export class GenerationHandler {
327
331
  }
328
332
  /**
329
333
  * Extract cache metrics from provider metadata (e.g. Anthropic's providerMetadata.anthropic)
330
- * The Vercel AI SDK's LanguageModelUsage only has promptTokens/completionTokens/totalTokens.
334
+ * The AI SDK's LanguageModelUsage only has inputTokens/outputTokens.
331
335
  * Cache metrics are surfaced via providerMetadata by provider-specific SDK adapters.
332
336
  */
333
337
  extractCacheMetricsFromProviderMetadata(generateResult) {
334
- const providerMeta = generateResult
335
- .providerMetadata ||
336
- generateResult.experimental_providerMetadata;
338
+ const providerMeta = generateResult.providerMetadata;
337
339
  if (!providerMeta) {
338
340
  return {};
339
341
  }
@@ -421,22 +423,12 @@ export class GenerationHandler {
421
423
  const trRecord = toolResult;
422
424
  const toolName = trRecord.toolName || "unknown";
423
425
  const toolId = trRecord.toolCallId || trRecord.id;
424
- let toolArgs = {};
425
- if (trRecord.args) {
426
- toolArgs = trRecord.args;
427
- }
428
- else if (trRecord.arguments) {
429
- toolArgs = trRecord.arguments;
430
- }
431
- else if (trRecord.parameters) {
432
- toolArgs = trRecord.parameters;
433
- }
434
- else if (trRecord.input) {
435
- toolArgs = trRecord.input;
436
- }
437
- else {
438
- toolArgs = toolCallArgsMap.get(toolId || toolName) || {};
439
- }
426
+ const toolArgs = trRecord.args ??
427
+ trRecord.arguments ??
428
+ trRecord.parameters ??
429
+ trRecord.input ??
430
+ toolCallArgsMap.get(toolId || toolName) ??
431
+ {};
440
432
  toolExecutions.push({
441
433
  name: toolName,
442
434
  input: toolArgs,
@@ -518,12 +510,28 @@ export class GenerationHandler {
518
510
  }
519
511
  }
520
512
  }
513
+ // Extract reasoning from AI SDK response (Anthropic thinking, Gemini thought, OpenAI o1)
514
+ // Handle both string and array (AI SDK v5 returns string, v6 returns ReasoningOutput[])
515
+ const rawReasoning = generateResult.reasoning;
516
+ const reasoning = rawReasoning
517
+ ? typeof rawReasoning === "string"
518
+ ? rawReasoning
519
+ : Array.isArray(rawReasoning)
520
+ ? rawReasoning
521
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
522
+ .map((r) => typeof r === "string" ? r : (r.text ?? JSON.stringify(r)))
523
+ .join("\n")
524
+ : String(rawReasoning)
525
+ : undefined;
526
+ const reasoningTokens = usage.reasoning ?? undefined;
521
527
  return {
522
528
  content,
523
529
  usage,
524
530
  finishReason: generateResult.finishReason,
525
531
  provider: this.providerName,
526
532
  model: this.modelName,
533
+ reasoning,
534
+ reasoningTokens,
527
535
  toolCalls: generateResult.toolCalls
528
536
  ? generateResult.toolCalls.map((tc) => ({
529
537
  toolCallId: tc.toolCallId || "unknown",
@@ -531,7 +539,7 @@ export class GenerationHandler {
531
539
  args: tc.args || {},
532
540
  }))
533
541
  : [],
534
- toolResults: generateResult.toolResults || [],
542
+ toolResults: generateResult.toolResults ?? [],
535
543
  toolsUsed,
536
544
  toolExecutions,
537
545
  availableTools: Object.keys(tools).map((name) => {
@@ -539,7 +547,7 @@ export class GenerationHandler {
539
547
  return {
540
548
  name,
541
549
  description: tool.description || "No description available",
542
- parameters: tool.parameters || {},
550
+ parameters: tool.inputSchema || {},
543
551
  server: tool.serverId || "direct",
544
552
  };
545
553
  }),
@@ -8,11 +8,11 @@
8
8
  * - Building messages from text generation options
9
9
  * - Building messages from stream options
10
10
  * - Multimodal input detection
11
- * - Message format conversion (to CoreMessage[])
11
+ * - Message format conversion (to ModelMessage[])
12
12
  *
13
13
  * @module core/modules/MessageBuilder
14
14
  */
15
- import type { CoreMessage } from "ai";
15
+ import type { ModelMessage } from "ai";
16
16
  import type { AIProviderName, TextGenerationOptions } from "../../types/index.js";
17
17
  import type { StreamOptions } from "../../types/streamTypes.js";
18
18
  /**
@@ -26,14 +26,14 @@ export declare class MessageBuilder {
26
26
  * Build messages array for generation
27
27
  * Detects multimodal input and routes to appropriate message builder
28
28
  */
29
- buildMessages(options: TextGenerationOptions): Promise<CoreMessage[]>;
29
+ buildMessages(options: TextGenerationOptions): Promise<ModelMessage[]>;
30
30
  /**
31
31
  * Build messages array for streaming operations
32
32
  * This is a protected helper method that providers can use to build messages
33
33
  * with automatic multimodal detection, eliminating code duplication
34
34
  *
35
35
  * @param options - Stream options or text generation options
36
- * @returns Promise resolving to CoreMessage array ready for AI SDK
36
+ * @returns Promise resolving to ModelMessage array ready for AI SDK
37
37
  */
38
- buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<CoreMessage[]>;
38
+ buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<ModelMessage[]>;
39
39
  }
@@ -8,7 +8,7 @@
8
8
  * - Building messages from text generation options
9
9
  * - Building messages from stream options
10
10
  * - Multimodal input detection
11
- * - Message format conversion (to CoreMessage[])
11
+ * - Message format conversion (to ModelMessage[])
12
12
  *
13
13
  * @module core/modules/MessageBuilder
14
14
  */
@@ -129,8 +129,7 @@ export class MessageBuilder {
129
129
  return {
130
130
  role: msg.role,
131
131
  content: msg.content.map((item) => {
132
- const itemProviderOptions = item
133
- .providerOptions;
132
+ const itemProviderOptions = item.providerOptions;
134
133
  if (item.type === "text") {
135
134
  return {
136
135
  type: "text",
@@ -169,7 +168,7 @@ export class MessageBuilder {
169
168
  * with automatic multimodal detection, eliminating code duplication
170
169
  *
171
170
  * @param options - Stream options or text generation options
172
- * @returns Promise resolving to CoreMessage array ready for AI SDK
171
+ * @returns Promise resolving to ModelMessage array ready for AI SDK
173
172
  */
174
173
  async buildMessagesForStream(options) {
175
174
  return withSpan({
@@ -238,8 +237,7 @@ export class MessageBuilder {
238
237
  return {
239
238
  role: msg.role,
240
239
  content: msg.content.map((item) => {
241
- const itemProviderOptions = item
242
- .providerOptions;
240
+ const itemProviderOptions = item.providerOptions;
243
241
  if (item.type === "text") {
244
242
  return {
245
243
  type: "text",
@@ -19,6 +19,7 @@ import { validateStreamOptions as validateStreamOpts, ValidationError, createVal
19
19
  import { STEP_LIMITS } from "../constants.js";
20
20
  import { createAnalytics } from "../analytics.js";
21
21
  import { nanoid } from "nanoid";
22
+ import { NoOutputGeneratedError } from "ai";
22
23
  /**
23
24
  * StreamHandler class - Handles streaming operations for AI providers
24
25
  */
@@ -89,20 +90,33 @@ export class StreamHandler {
89
90
  let totalBytes = 0;
90
91
  const streamStart = Date.now();
91
92
  let firstChunkTime;
92
- for await (const chunk of result.textStream) {
93
- chunkCount++;
94
- totalBytes += chunk.length;
95
- if (!firstChunkTime) {
96
- firstChunkTime = Date.now();
97
- const activeSpan = trace.getSpan(otelContext.active());
98
- if (activeSpan) {
99
- activeSpan.addEvent("stream.first_chunk", {
100
- "stream.ttfc_ms": firstChunkTime - streamStart,
101
- "stream.provider": providerName,
102
- });
93
+ try {
94
+ for await (const chunk of result.textStream) {
95
+ chunkCount++;
96
+ totalBytes += chunk.length;
97
+ if (!firstChunkTime) {
98
+ firstChunkTime = Date.now();
99
+ const activeSpan = trace.getSpan(otelContext.active());
100
+ if (activeSpan) {
101
+ activeSpan.addEvent("stream.first_chunk", {
102
+ "stream.ttfc_ms": firstChunkTime - streamStart,
103
+ "stream.provider": providerName,
104
+ });
105
+ }
103
106
  }
107
+ yield { content: chunk };
108
+ }
109
+ }
110
+ catch (error) {
111
+ // AI SDK v6 throws NoOutputGeneratedError when the stream produces no output
112
+ // (e.g. empty response, model refusal with no text). Treat as an empty stream
113
+ // rather than crashing the process with an unhandled rejection.
114
+ if (NoOutputGeneratedError.isInstance(error)) {
115
+ logger.warn(`${providerName}: Stream produced no output (NoOutputGeneratedError), returning empty stream`);
116
+ }
117
+ else {
118
+ throw error;
104
119
  }
105
- yield { content: chunk };
106
120
  }
107
121
  // Record completion metrics on the active span
108
122
  const activeSpan = trace.getSpan(otelContext.active());
@@ -36,9 +36,8 @@ export declare class TelemetryHandler {
36
36
  * Record performance metrics for a generation
37
37
  */
38
38
  recordPerformanceMetrics(usage: {
39
- promptTokens: number;
40
- completionTokens: number;
41
- totalTokens: number;
39
+ inputTokens: number | undefined;
40
+ outputTokens: number | undefined;
42
41
  } | undefined, responseTime: number): Promise<void>;
43
42
  /**
44
43
  * Calculate actual cost based on token usage and provider configuration.
@@ -53,9 +52,8 @@ export declare class TelemetryHandler {
53
52
  * on Vertex AI ($0.000060 vs $0.106895 for the same request).
54
53
  */
55
54
  calculateActualCost(usage: {
56
- promptTokens?: number;
57
- completionTokens?: number;
58
- totalTokens?: number;
55
+ inputTokens?: number | undefined;
56
+ outputTokens?: number | undefined;
59
57
  }): Promise<number>;
60
58
  /**
61
59
  * Create telemetry configuration for Vercel AI SDK experimental_telemetry