@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
@@ -1,5 +1,5 @@
1
1
  import { createAnthropic } from "@ai-sdk/anthropic";
2
- import { streamText } from "ai";
2
+ import { stepCountIs, streamText } from "ai";
3
3
  import { trace, SpanKind, SpanStatusCode } from "@opentelemetry/api";
4
4
  import { AnthropicModels } from "../constants/enums.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
@@ -11,11 +11,13 @@ import { calculateCost } from "../utils/pricing.js";
11
11
  import { createAnthropicConfig, getProviderModel, validateApiKey, } from "../utils/providerConfig.js";
12
12
  import { composeAbortSignals, createTimeoutController, TimeoutError, } from "../utils/timeout.js";
13
13
  import { isModelAvailableForTier, getRecommendedModelForTier, getModelCapabilities, } from "../models/anthropicModels.js";
14
- import { CLAUDE_CLI_USER_AGENT, CLAUDE_CODE_CLIENT_ID, ANTHROPIC_TOKEN_URL, MCP_TOOL_PREFIX, } from "../auth/anthropicOAuth.js";
14
+ import { CLAUDE_CLI_USER_AGENT, CLAUDE_CODE_CLIENT_ID, ANTHROPIC_TOKEN_URL, } from "../auth/anthropicOAuth.js";
15
+ import { createOAuthFetch } from "../proxy/oauthFetch.js";
15
16
  import { homedir } from "os";
16
17
  import { readFileSync, existsSync, writeFileSync, mkdirSync, renameSync, } from "fs";
17
18
  import { join } from "path";
18
19
  import { TOKEN_EXPIRY_BUFFER_MS } from "../constants/enums.js";
20
+ import { getModelId } from "./providerTypeUtils.js";
19
21
  /**
20
22
  * Beta headers for Claude Code integration.
21
23
  * These enable experimental features:
@@ -30,184 +32,6 @@ const ANTHROPIC_BETA_HEADERS = {
30
32
  "fine-grained-tool-streaming-2025-05-14",
31
33
  ].join(","),
32
34
  };
33
- /**
34
- * Creates a custom fetch function for OAuth-authenticated requests.
35
- * This wrapper applies all required transformations for OAuth mode:
36
- * - Uses Authorization: Bearer header (NOT x-api-key)
37
- * - Adds OAuth-required beta headers (oauth-2025-04-20 is critical)
38
- * - Sets User-Agent to Claude CLI
39
- * - Adds ?beta=true query parameter to /v1/messages
40
- * - Prefixes tool names with mcp_
41
- * - Strips mcp_ prefix from tool names in responses
42
- *
43
- * Accepts a getter function instead of a static token so that refreshed
44
- * tokens are picked up automatically on each request.
45
- */
46
- function createOAuthFetch(getToken, includeOptionalBetas = true) {
47
- return async (input, init) => {
48
- // Build the URL
49
- let requestUrl = null;
50
- try {
51
- if (typeof input === "string" || input instanceof URL) {
52
- requestUrl = new URL(input.toString());
53
- }
54
- else if (input instanceof Request) {
55
- requestUrl = new URL(input.url);
56
- }
57
- }
58
- catch {
59
- requestUrl = null;
60
- }
61
- // Add ?beta=true to /v1/messages endpoint
62
- if (requestUrl &&
63
- requestUrl.pathname === "/v1/messages" &&
64
- !requestUrl.searchParams.has("beta")) {
65
- requestUrl.searchParams.set("beta", "true");
66
- }
67
- // Build new headers
68
- const requestHeaders = new Headers();
69
- // Copy headers from Request object if present
70
- if (input instanceof Request) {
71
- input.headers.forEach((value, key) => {
72
- requestHeaders.set(key, value);
73
- });
74
- }
75
- // Copy headers from init if present
76
- if (init?.headers) {
77
- if (init.headers instanceof Headers) {
78
- init.headers.forEach((value, key) => {
79
- requestHeaders.set(key, value);
80
- });
81
- }
82
- else if (Array.isArray(init.headers)) {
83
- for (const [key, value] of init.headers) {
84
- if (typeof value !== "undefined") {
85
- requestHeaders.set(key, String(value));
86
- }
87
- }
88
- }
89
- else {
90
- for (const [key, value] of Object.entries(init.headers)) {
91
- if (typeof value !== "undefined") {
92
- requestHeaders.set(key, String(value));
93
- }
94
- }
95
- }
96
- }
97
- // Check if claude-code beta was requested
98
- const incomingBeta = requestHeaders.get("anthropic-beta") || "";
99
- const incomingBetasList = incomingBeta
100
- .split(",")
101
- .map((b) => b.trim())
102
- .filter(Boolean);
103
- const includeClaudeCode = incomingBetasList.includes("claude-code-20250219");
104
- // Merge beta headers — oauth-2025-04-20 is always required for OAuth;
105
- // optional betas (interleaved-thinking) gated on includeOptionalBetas.
106
- const mergedBetas = [
107
- "oauth-2025-04-20",
108
- ...(includeOptionalBetas ? ["interleaved-thinking-2025-05-14"] : []),
109
- ...(includeClaudeCode ? ["claude-code-20250219"] : []),
110
- ].join(",");
111
- // Set OAuth authorization (Bearer token, NOT x-api-key)
112
- // Call getToken() each time so refreshed tokens are used automatically.
113
- requestHeaders.set("authorization", `Bearer ${getToken()}`);
114
- requestHeaders.set("anthropic-beta", mergedBetas);
115
- requestHeaders.set("user-agent", CLAUDE_CLI_USER_AGENT);
116
- requestHeaders.delete("x-api-key");
117
- logger.debug("[createOAuthFetch] Making OAuth request:", {
118
- url: requestUrl?.toString() || input.toString(),
119
- hasAuthorization: requestHeaders.has("authorization"),
120
- authType: "Bearer",
121
- anthropicBeta: requestHeaders.get("anthropic-beta"),
122
- userAgent: requestHeaders.get("user-agent"),
123
- });
124
- // Add mcp_ prefix to tool names in request body
125
- let body = init?.body;
126
- if (body && typeof body === "string") {
127
- try {
128
- const parsed = JSON.parse(body);
129
- // Add prefix to tools definitions
130
- if (parsed.tools && Array.isArray(parsed.tools)) {
131
- parsed.tools = parsed.tools.map((tool) => ({
132
- ...tool,
133
- name: tool.name ? `${MCP_TOOL_PREFIX}${tool.name}` : tool.name,
134
- }));
135
- }
136
- // Add prefix to tool_use blocks in messages
137
- if (parsed.messages && Array.isArray(parsed.messages)) {
138
- parsed.messages = parsed.messages.map((msg) => {
139
- if (msg.content && Array.isArray(msg.content)) {
140
- msg.content = msg.content.map((block) => {
141
- const b = block;
142
- if (b.type === "tool_use" && b.name) {
143
- return {
144
- ...b,
145
- name: `${MCP_TOOL_PREFIX}${b.name}`,
146
- };
147
- }
148
- return block;
149
- });
150
- }
151
- return msg;
152
- });
153
- }
154
- body = JSON.stringify(parsed);
155
- }
156
- catch {
157
- // Ignore JSON parse errors
158
- }
159
- }
160
- // Make the request
161
- const response = await fetch(requestUrl?.toString() ||
162
- (input instanceof Request ? input.url : input.toString()), {
163
- ...init,
164
- body,
165
- headers: requestHeaders,
166
- });
167
- // Transform streaming response to rename tools back (remove mcp_ prefix).
168
- // Uses a small carry buffer to handle cross-chunk boundary splits of
169
- // `"name": "mcp_..."` patterns.
170
- if (response.body) {
171
- const reader = response.body.getReader();
172
- const decoder = new TextDecoder();
173
- const encoder = new TextEncoder();
174
- // Carry tail covers the longest possible partial match: `"name": "mcp_`
175
- const CARRY_TAIL = 24;
176
- let carry = "";
177
- const stream = new ReadableStream({
178
- async pull(controller) {
179
- const { done, value } = await reader.read();
180
- if (done) {
181
- // Flush any remaining carry
182
- if (carry) {
183
- const flushed = carry.replace(/"name"\s*:\s*"mcp_([^"]+)"/g, '"name": "$1"');
184
- controller.enqueue(encoder.encode(flushed));
185
- carry = "";
186
- }
187
- controller.close();
188
- return;
189
- }
190
- const chunkText = decoder.decode(value, { stream: true });
191
- const combined = carry + chunkText;
192
- const replaced = combined.replace(/"name"\s*:\s*"mcp_([^"]+)"/g, '"name": "$1"');
193
- // Keep a small tail as carry to cover partial matches at chunk boundary
194
- const safeLen = Math.max(0, replaced.length - CARRY_TAIL);
195
- carry = replaced.slice(safeLen);
196
- const toEmit = replaced.slice(0, safeLen);
197
- if (toEmit) {
198
- controller.enqueue(encoder.encode(toEmit));
199
- }
200
- },
201
- });
202
- return new Response(stream, {
203
- status: response.status,
204
- statusText: response.statusText,
205
- headers: response.headers,
206
- });
207
- }
208
- return response;
209
- };
210
- }
211
35
  // Configuration helpers - now using consolidated utility
212
36
  const getAnthropicApiKey = () => {
213
37
  return validateApiKey(createAnthropicConfig());
@@ -418,7 +242,14 @@ export class AnthropicProvider extends BaseProvider {
418
242
  // even after an automatic token refresh.
419
243
  // oauthToken is guaranteed non-null here (checked by the enclosing if-guard).
420
244
  const tokenRef = this.oauthToken;
421
- const oauthFetch = createOAuthFetch(() => tokenRef.accessToken, this.enableBetaFeatures);
245
+ // skipBodyTransform=true: For the SDK provider path, body transforms ARE
246
+ // intentionally skipped because the Vercel AI SDK builds its own request
247
+ // format (system prompts, metadata, tool definitions). The billing header,
248
+ // agent block, user_id injection, and mcp_ tool-name prefixing are only
249
+ // needed for proxy passthrough of raw Claude API requests where we must
250
+ // make the request look like it came from Claude Code / CLIProxyAPI.
251
+ const oauthFetch = createOAuthFetch(() => tokenRef.accessToken, this.enableBetaFeatures, false, // No mcp_ prefix — tool names pass through as-is (matches CLIProxyAPI)
252
+ true);
422
253
  // For OAuth, we use a dummy API key since our fetch wrapper handles auth
423
254
  // IMPORTANT: Do NOT pass beta headers here - our fetch wrapper handles them
424
255
  // The claude-code-20250219 beta header triggers "credential only for Claude Code" error
@@ -886,7 +717,7 @@ export class AnthropicProvider extends BaseProvider {
886
717
  kind: SpanKind.CLIENT,
887
718
  attributes: {
888
719
  "gen_ai.system": "anthropic",
889
- "gen_ai.request.model": model.modelId || this.modelName || "unknown",
720
+ "gen_ai.request.model": getModelId(model, this.modelName || "unknown"),
890
721
  },
891
722
  });
892
723
  let result;
@@ -895,10 +726,10 @@ export class AnthropicProvider extends BaseProvider {
895
726
  model: model,
896
727
  messages: messages,
897
728
  temperature: options.temperature,
898
- maxTokens: options.maxTokens, // No default limit - unlimited unless specified
729
+ maxOutputTokens: options.maxTokens, // No default limit - unlimited unless specified
899
730
  maxRetries: 0, // NL11: Disable AI SDK's invisible internal retries; we handle retries with OTel instrumentation
900
731
  tools,
901
- maxSteps: options.maxSteps || DEFAULT_MAX_STEPS,
732
+ stopWhen: stepCountIs(options.maxSteps || DEFAULT_MAX_STEPS),
902
733
  toolChoice: shouldUseTools ? "auto" : "none",
903
734
  abortSignal: composeAbortSignals(options.abortSignal, timeoutController?.controller.signal),
904
735
  experimental_telemetry: this.telemetryHandler.getTelemetryConfig(options),
@@ -918,14 +749,14 @@ export class AnthropicProvider extends BaseProvider {
918
749
  }
919
750
  // Collect token usage and finish reason asynchronously when the stream completes,
920
751
  // then end the span. This avoids blocking the stream consumer.
921
- result.usage
752
+ Promise.resolve(result.usage)
922
753
  .then((usage) => {
923
- streamSpan.setAttribute("gen_ai.usage.input_tokens", usage.promptTokens || 0);
924
- streamSpan.setAttribute("gen_ai.usage.output_tokens", usage.completionTokens || 0);
754
+ streamSpan.setAttribute("gen_ai.usage.input_tokens", usage.inputTokens || 0);
755
+ streamSpan.setAttribute("gen_ai.usage.output_tokens", usage.outputTokens || 0);
925
756
  const cost = calculateCost(this.providerName, this.modelName, {
926
- input: usage.promptTokens || 0,
927
- output: usage.completionTokens || 0,
928
- total: (usage.promptTokens || 0) + (usage.completionTokens || 0),
757
+ input: usage.inputTokens || 0,
758
+ output: usage.outputTokens || 0,
759
+ total: (usage.inputTokens || 0) + (usage.outputTokens || 0),
929
760
  });
930
761
  if (cost && cost > 0) {
931
762
  streamSpan.setAttribute("neurolink.cost", cost);
@@ -934,7 +765,7 @@ export class AnthropicProvider extends BaseProvider {
934
765
  .catch(() => {
935
766
  // Usage may not be available if the stream is aborted
936
767
  });
937
- result.finishReason
768
+ Promise.resolve(result.finishReason)
938
769
  .then((reason) => {
939
770
  streamSpan.setAttribute("gen_ai.response.finish_reason", reason || "unknown");
940
771
  })
@@ -942,7 +773,7 @@ export class AnthropicProvider extends BaseProvider {
942
773
  // Finish reason may not be available if the stream is aborted
943
774
  });
944
775
  // End the span when the stream text resolves (stream fully consumed)
945
- result.text
776
+ Promise.resolve(result.text)
946
777
  .then(() => {
947
778
  streamSpan.end();
948
779
  })
@@ -1,5 +1,5 @@
1
- import type { ZodType, ZodTypeDef } from "zod";
2
- import { type Schema, type LanguageModelV1 } from "ai";
1
+ import type { ZodType } from "zod";
2
+ import { type LanguageModel, type Schema } from "ai";
3
3
  import { AIProviderName } from "../constants/enums.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
@@ -15,9 +15,9 @@ export declare class AnthropicProviderV2 extends BaseProvider {
15
15
  /**
16
16
  * Returns the Vercel AI SDK model instance for Anthropic
17
17
  */
18
- protected getAISDKModel(): LanguageModelV1;
18
+ protected getAISDKModel(): LanguageModel;
19
19
  protected formatProviderError(error: unknown): Error;
20
20
  private getApiKey;
21
- protected executeStream(options: StreamOptions, _analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<StreamResult>;
21
+ protected executeStream(options: StreamOptions, _analysisSchema?: ZodType | Schema<unknown>): Promise<StreamResult>;
22
22
  }
23
23
  export default AnthropicProviderV2;
@@ -1,5 +1,5 @@
1
1
  import { createAnthropic } from "@ai-sdk/anthropic";
2
- import { streamText } from "ai";
2
+ import { NoOutputGeneratedError, streamText, } from "ai";
3
3
  import { trace, SpanKind, SpanStatusCode } from "@opentelemetry/api";
4
4
  import { AIProviderName, AnthropicModels } from "../constants/enums.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
@@ -8,6 +8,7 @@ import { logger } from "../utils/logger.js";
8
8
  import { calculateCost } from "../utils/pricing.js";
9
9
  import { composeAbortSignals, createTimeoutController, TimeoutError, } from "../utils/timeout.js";
10
10
  import { validateApiKey, createAnthropicBaseConfig, } from "../utils/providerConfig.js";
11
+ import { getModelId } from "./providerTypeUtils.js";
11
12
  const streamTracer = trace.getTracer("neurolink.provider.anthropic");
12
13
  /**
13
14
  * Anthropic provider implementation using BaseProvider pattern
@@ -76,7 +77,7 @@ export class AnthropicProviderV2 extends BaseProvider {
76
77
  kind: SpanKind.CLIENT,
77
78
  attributes: {
78
79
  "gen_ai.system": "anthropic",
79
- "gen_ai.request.model": model.modelId || this.modelName || "unknown",
80
+ "gen_ai.request.model": getModelId(model, this.modelName || "unknown"),
80
81
  },
81
82
  });
82
83
  let result;
@@ -86,7 +87,7 @@ export class AnthropicProviderV2 extends BaseProvider {
86
87
  prompt: options.input.text,
87
88
  system: options.systemPrompt,
88
89
  temperature: options.temperature,
89
- maxTokens: options.maxTokens, // No default limit - unlimited unless specified
90
+ maxOutputTokens: options.maxTokens, // No default limit - unlimited unless specified
90
91
  maxRetries: 0, // NL11: Disable AI SDK's invisible internal retries; we handle retries with OTel instrumentation
91
92
  tools,
92
93
  toolChoice: shouldUseTools ? "auto" : "none",
@@ -113,14 +114,14 @@ export class AnthropicProviderV2 extends BaseProvider {
113
114
  }
114
115
  // Collect token usage and finish reason asynchronously when the stream completes,
115
116
  // then end the span. This avoids blocking the stream consumer.
116
- result.usage
117
+ Promise.resolve(result.usage)
117
118
  .then((usage) => {
118
- streamSpan.setAttribute("gen_ai.usage.input_tokens", usage.promptTokens || 0);
119
- streamSpan.setAttribute("gen_ai.usage.output_tokens", usage.completionTokens || 0);
119
+ streamSpan.setAttribute("gen_ai.usage.input_tokens", usage.inputTokens || 0);
120
+ streamSpan.setAttribute("gen_ai.usage.output_tokens", usage.outputTokens || 0);
120
121
  const cost = calculateCost(this.providerName, this.modelName, {
121
- input: usage.promptTokens || 0,
122
- output: usage.completionTokens || 0,
123
- total: (usage.promptTokens || 0) + (usage.completionTokens || 0),
122
+ input: usage.inputTokens || 0,
123
+ output: usage.outputTokens || 0,
124
+ total: (usage.inputTokens || 0) + (usage.outputTokens || 0),
124
125
  });
125
126
  if (cost && cost > 0) {
126
127
  streamSpan.setAttribute("neurolink.cost", cost);
@@ -129,14 +130,14 @@ export class AnthropicProviderV2 extends BaseProvider {
129
130
  .catch(() => {
130
131
  // Usage may not be available if the stream is aborted
131
132
  });
132
- result.finishReason
133
+ Promise.resolve(result.finishReason)
133
134
  .then((reason) => {
134
135
  streamSpan.setAttribute("gen_ai.response.finish_reason", reason || "unknown");
135
136
  })
136
137
  .catch(() => {
137
138
  // Finish reason may not be available if the stream is aborted
138
139
  });
139
- result.text
140
+ Promise.resolve(result.text)
140
141
  .then(() => {
141
142
  streamSpan.end();
142
143
  })
@@ -150,8 +151,18 @@ export class AnthropicProviderV2 extends BaseProvider {
150
151
  timeoutController?.cleanup();
151
152
  // Transform string stream to content object stream (match Google AI pattern)
152
153
  const transformedStream = async function* () {
153
- for await (const chunk of result.textStream) {
154
- yield { content: chunk };
154
+ try {
155
+ for await (const chunk of result.textStream) {
156
+ yield { content: chunk };
157
+ }
158
+ }
159
+ catch (streamError) {
160
+ // AI SDK v6 throws NoOutputGeneratedError when the stream produced no output.
161
+ if (NoOutputGeneratedError.isInstance(streamError)) {
162
+ logger.warn("AnthropicBaseProvider: Stream produced no output (NoOutputGeneratedError)");
163
+ return;
164
+ }
165
+ throw streamError;
155
166
  }
156
167
  };
157
168
  return {
@@ -1,4 +1,4 @@
1
- import { type LanguageModelV1 } from "ai";
1
+ import { type LanguageModel } from "ai";
2
2
  import { BaseProvider } from "../core/baseProvider.js";
3
3
  import { AIProviderName } from "../constants/enums.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
@@ -14,7 +14,7 @@ export declare class AzureOpenAIProvider extends BaseProvider {
14
14
  /**
15
15
  * Returns the Vercel AI SDK model instance for Azure OpenAI
16
16
  */
17
- getAISDKModel(): LanguageModelV1;
17
+ getAISDKModel(): LanguageModel;
18
18
  protected formatProviderError(error: unknown): Error;
19
19
  protected executeStream(options: StreamOptions, _analysisSchema?: unknown): Promise<StreamResult>;
20
20
  }
@@ -1,11 +1,11 @@
1
1
  import { createAzure } from "@ai-sdk/azure";
2
- import { streamText } from "ai";
2
+ import { stepCountIs, streamText } from "ai";
3
3
  import { BaseProvider } from "../core/baseProvider.js";
4
4
  import { AIProviderName, APIVersions } from "../constants/enums.js";
5
5
  import { validateApiKey, createAzureAPIKeyConfig, createAzureEndpointConfig, } from "../utils/providerConfig.js";
6
+ import { DEFAULT_MAX_STEPS } from "../core/constants.js";
6
7
  import { logger } from "../utils/logger.js";
7
8
  import { createProxyFetch } from "../proxy/proxyFetch.js";
8
- import { DEFAULT_MAX_STEPS } from "../core/constants.js";
9
9
  import { composeAbortSignals, createTimeoutController, TimeoutError, } from "../utils/timeout.js";
10
10
  export class AzureOpenAIProvider extends BaseProvider {
11
11
  apiKey;
@@ -102,24 +102,24 @@ export class AzureOpenAIProvider extends BaseProvider {
102
102
  model,
103
103
  messages: messages,
104
104
  ...(options.maxTokens !== null && options.maxTokens !== undefined
105
- ? { maxTokens: options.maxTokens }
105
+ ? { maxOutputTokens: options.maxTokens }
106
106
  : {}),
107
107
  ...(options.temperature !== null && options.temperature !== undefined
108
108
  ? { temperature: options.temperature }
109
109
  : {}),
110
110
  tools,
111
111
  toolChoice: shouldUseTools ? "auto" : "none",
112
+ stopWhen: stepCountIs(options.maxSteps || DEFAULT_MAX_STEPS),
112
113
  abortSignal: composeAbortSignals(options.abortSignal, timeoutController?.controller.signal),
113
114
  experimental_telemetry: this.telemetryHandler.getTelemetryConfig(options),
114
- onStepFinish: ({ toolCalls, toolResults }) => {
115
- this.handleToolExecutionStorage(toolCalls, toolResults, options, new Date()).catch((error) => {
115
+ onStepFinish: (event) => {
116
+ this.handleToolExecutionStorage([...event.toolCalls], [...event.toolResults], options, new Date()).catch((error) => {
116
117
  logger.warn("[AzureOpenaiProvider] Failed to store tool executions", {
117
118
  provider: this.providerName,
118
119
  error: error instanceof Error ? error.message : String(error),
119
120
  });
120
121
  });
121
122
  },
122
- maxSteps: options.maxSteps || DEFAULT_MAX_STEPS,
123
123
  });
124
124
  timeoutController?.cleanup();
125
125
  // Transform string stream to content object stream using BaseProvider method
@@ -1,4 +1,4 @@
1
- import { type LanguageModelV1, type Schema } from "ai";
1
+ import { type LanguageModel, type Schema } from "ai";
2
2
  import { type AIProviderName } from "../constants/enums.js";
3
3
  import { BaseProvider } from "../core/baseProvider.js";
4
4
  import type { EnhancedGenerateResult, TextGenerationOptions } from "../types/generateTypes.js";
@@ -42,7 +42,7 @@ export declare class GoogleAIStudioProvider extends BaseProvider {
42
42
  /**
43
43
  * 🔧 PHASE 2: Return AI SDK model instance for tool calling
44
44
  */
45
- getAISDKModel(): LanguageModelV1;
45
+ getAISDKModel(): LanguageModel;
46
46
  protected formatProviderError(error: unknown): Error;
47
47
  /**
48
48
  * Overrides the BaseProvider's image generation method to implement it for Google AI.
@@ -1,5 +1,5 @@
1
1
  import { createGoogleGenerativeAI } from "@ai-sdk/google";
2
- import { embed, embedMany, streamText, } from "ai";
2
+ import { embed, embedMany, stepCountIs, streamText, } from "ai";
3
3
  import { ErrorCategory, ErrorSeverity, GoogleAIModels, } from "../constants/enums.js";
4
4
  import { BaseProvider } from "../core/baseProvider.js";
5
5
  import { DEFAULT_MAX_STEPS } from "../core/constants.js";
@@ -12,6 +12,7 @@ import { isGemini3Model } from "../utils/modelDetection.js";
12
12
  import { composeAbortSignals, createTimeoutController, TimeoutError, } from "../utils/timeout.js";
13
13
  import { estimateTokens } from "../utils/tokenEstimation.js";
14
14
  import { buildNativeConfig, buildNativeToolDeclarations, collectStreamChunks, collectStreamChunksIncremental, computeMaxSteps, createTextChannel, executeNativeToolCalls, extractTextFromParts, handleMaxStepsTermination, pushModelResponseToHistory, sanitizeToolsForGemini, } from "./googleNativeGemini3.js";
15
+ import { toAnalyticsStreamResult } from "./providerTypeUtils.js";
15
16
  // Google AI Live API types now imported from ../types/providerSpecific.js
16
17
  // Import proper types for multimodal message handling
17
18
  // Create Google GenAI client
@@ -476,10 +477,10 @@ export class GoogleAIStudioProvider extends BaseProvider {
476
477
  model,
477
478
  messages: messages,
478
479
  temperature: options.temperature,
479
- maxTokens: options.maxTokens, // No default limit - unlimited unless specified
480
+ maxOutputTokens: options.maxTokens, // No default limit - unlimited unless specified
480
481
  tools,
481
- maxSteps: options.maxSteps || DEFAULT_MAX_STEPS,
482
- toolChoice: shouldUseTools && tools ? "auto" : "none",
482
+ stopWhen: stepCountIs(options.maxSteps || DEFAULT_MAX_STEPS),
483
+ toolChoice: shouldUseTools ? "auto" : "none",
483
484
  abortSignal: composeAbortSignals(options.abortSignal, timeoutController?.controller.signal),
484
485
  experimental_telemetry: this.telemetryHandler.getTelemetryConfig(options),
485
486
  // Gemini 3: use thinkingLevel via providerOptions
@@ -509,12 +510,19 @@ export class GoogleAIStudioProvider extends BaseProvider {
509
510
  });
510
511
  },
511
512
  });
512
- // Defer timeout cleanup until the stream completes or errors
513
- result.text.finally(() => timeoutController?.cleanup());
513
+ // Defer timeout cleanup until the stream completes or errors.
514
+ // Guard against NoOutputGeneratedError becoming an unhandled rejection.
515
+ Promise.resolve(result.text)
516
+ .catch((err) => {
517
+ logger.debug("Stream text promise rejected (expected for empty streams)", {
518
+ error: err instanceof Error ? err.message : String(err),
519
+ });
520
+ })
521
+ .finally(() => timeoutController?.cleanup());
514
522
  // Transform string stream to content object stream using BaseProvider method
515
523
  const transformedStream = this.createTextStream(result);
516
524
  // Create analytics promise that resolves after stream completion
517
- const analyticsPromise = streamAnalyticsCollector.createAnalytics(this.providerName, this.modelName, result, Date.now() - startTime, {
525
+ const analyticsPromise = streamAnalyticsCollector.createAnalytics(this.providerName, this.modelName, toAnalyticsStreamResult(result), Date.now() - startTime, {
518
526
  requestId: `google-ai-stream-${Date.now()}`,
519
527
  streamingMode: true,
520
528
  });
@@ -9,41 +9,9 @@
9
9
  * providers so they can share a single implementation.
10
10
  */
11
11
  import { type Tool } from "ai";
12
- import type { ThinkingConfig } from "../utils/thinkingConfig.js";
13
- /** A single native @google/genai function declaration. */
14
- export type NativeFunctionDeclaration = {
15
- name: string;
16
- description: string;
17
- parametersJsonSchema?: Record<string, unknown>;
18
- };
19
- /** The tools config array expected by the @google/genai SDK. */
20
- export type NativeToolsConfig = Array<{
21
- functionDeclarations: NativeFunctionDeclaration[];
22
- }>;
23
- /** Return value of buildNativeToolDeclarations. */
24
- export type NativeToolDeclarationsResult = {
25
- toolsConfig: NativeToolsConfig;
26
- executeMap: Map<string, Tool["execute"]>;
27
- };
28
- /** A single function call returned by the Gemini model. */
29
- export type NativeFunctionCall = {
30
- name: string;
31
- args: Record<string, unknown>;
32
- };
33
- /** A single function response to feed back into the conversation. */
34
- export type NativeFunctionResponse = {
35
- functionResponse: {
36
- name: string;
37
- response: unknown;
38
- };
39
- };
40
- /** Result from collectStreamChunks. */
41
- export type CollectedChunkResult = {
42
- rawResponseParts: unknown[];
43
- stepFunctionCalls: NativeFunctionCall[];
44
- inputTokens: number;
45
- outputTokens: number;
46
- };
12
+ import type { ThinkingConfig } from "../types/configTypes.js";
13
+ import type { CollectedChunkResult, NativeFunctionCall, NativeFunctionDeclaration, NativeFunctionResponse, NativeToolDeclarationsResult, NativeToolsConfig, TextChannel } from "../types/index.js";
14
+ export type { CollectedChunkResult, NativeFunctionCall, NativeFunctionDeclaration, NativeFunctionResponse, NativeToolDeclarationsResult, NativeToolsConfig, TextChannel, };
47
15
  /**
48
16
  * Sanitize a JSON Schema for Gemini's proto-based API.
49
17
  *
@@ -98,25 +66,6 @@ export declare function collectStreamChunks(stream: AsyncIterable<{
98
66
  functionCalls?: NativeFunctionCall[];
99
67
  [key: string]: unknown;
100
68
  }>): Promise<CollectedChunkResult>;
101
- /**
102
- * A push-based text channel that decouples producers (agentic loop) from
103
- * consumers (the caller's async iterable).
104
- *
105
- * The producer calls `push(text)` for each chunk and `close()` / `error(err)`
106
- * when done. The consumer iterates the `iterable` async generator.
107
- */
108
- export type TextChannel = {
109
- /** Push a text chunk to the consumer. */
110
- push(text: string): void;
111
- /** Signal that no more chunks will arrive. */
112
- close(): void;
113
- /** Signal that the producer encountered a fatal error. */
114
- error(err: unknown): void;
115
- /** Async iterable consumed by the StreamResult. */
116
- iterable: AsyncIterable<{
117
- content: string;
118
- }>;
119
- };
120
69
  /**
121
70
  * Create a push-based text channel that bridges a background producer
122
71
  * (the agentic tool-calling loop) with an async-iterable consumer.
@@ -117,7 +117,10 @@ export function sanitizeToolsForGemini(tools) {
117
117
  const dropped = [];
118
118
  for (const [name, tool] of Object.entries(tools)) {
119
119
  try {
120
- const params = tool.parameters;
120
+ // Access the legacy `parameters` field that may exist on older AI SDK tools.
121
+ // AI SDK v6 uses `inputSchema`, but v3/v4 tools and third-party wrappers use `parameters`.
122
+ const legacyTool = tool;
123
+ const params = legacyTool.parameters;
121
124
  if (params &&
122
125
  typeof params === "object" &&
123
126
  "_def" in params &&
@@ -131,8 +134,7 @@ export function sanitizeToolsForGemini(tools) {
131
134
  const sanitizedSchema = sanitizeSchemaForGemini(inlined);
132
135
  sanitized[name] = createAISDKTool({
133
136
  description: tool.description || `Tool: ${name}`,
134
- parameters: aiJsonSchema(sanitizedSchema),
135
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
+ inputSchema: aiJsonSchema(sanitizedSchema),
136
138
  execute: tool.execute,
137
139
  });
138
140
  }
@@ -145,8 +147,7 @@ export function sanitizeToolsForGemini(tools) {
145
147
  const sanitizedSchema = sanitizeSchemaForGemini(inlineJsonSchema(rawSchema));
146
148
  sanitized[name] = createAISDKTool({
147
149
  description: tool.description || `Tool: ${name}`,
148
- parameters: aiJsonSchema(sanitizedSchema),
149
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
150
+ inputSchema: aiJsonSchema(sanitizedSchema),
150
151
  execute: tool.execute,
151
152
  });
152
153
  }
@@ -177,13 +178,16 @@ export function buildNativeToolDeclarations(tools) {
177
178
  name,
178
179
  description: tool.description || `Tool: ${name}`,
179
180
  };
180
- if (tool.parameters) {
181
+ // Access legacy `parameters` (AI SDK v3/v4) or current `inputSchema` (v6)
182
+ const legacyTool = tool;
183
+ if (legacyTool.parameters || tool.inputSchema) {
181
184
  let rawSchema;
182
- if (isZodSchema(tool.parameters)) {
183
- rawSchema = convertZodToJsonSchema(tool.parameters);
185
+ const toolParams = legacyTool.parameters || tool.inputSchema;
186
+ if (isZodSchema(toolParams)) {
187
+ rawSchema = convertZodToJsonSchema(toolParams);
184
188
  }
185
- else if (typeof tool.parameters === "object") {
186
- rawSchema = tool.parameters;
189
+ else if (typeof toolParams === "object") {
190
+ rawSchema = toolParams;
187
191
  }
188
192
  else {
189
193
  rawSchema = { type: "object", properties: {} };