@juspay/neurolink 9.54.6 → 9.54.8

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 (408) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/action/actionInputs.d.ts +1 -1
  3. package/dist/adapters/video/directorPipeline.js +6 -0
  4. package/dist/adapters/video/vertexVideoHandler.js +6 -0
  5. package/dist/agent/directTools.d.ts +3 -23
  6. package/dist/auth/AuthProviderFactory.d.ts +1 -3
  7. package/dist/auth/anthropicOAuth.d.ts +4 -7
  8. package/dist/auth/anthropicOAuth.js +23 -0
  9. package/dist/auth/errors.d.ts +1 -1
  10. package/dist/auth/index.d.ts +11 -0
  11. package/dist/auth/index.js +14 -0
  12. package/dist/auth/middleware/AuthMiddleware.d.ts +5 -60
  13. package/dist/auth/middleware/AuthMiddleware.js +3 -0
  14. package/dist/auth/middleware/rateLimitByUser.d.ts +4 -93
  15. package/dist/auth/middleware/rateLimitByUser.js +4 -0
  16. package/dist/auth/providers/BaseAuthProvider.d.ts +1 -1
  17. package/dist/auth/providers/CognitoProvider.js +3 -0
  18. package/dist/auth/providers/KeycloakProvider.js +3 -0
  19. package/dist/auth/providers/auth0.d.ts +1 -1
  20. package/dist/auth/sessionManager.d.ts +2 -0
  21. package/dist/auth/sessionManager.js +53 -11
  22. package/dist/auth/tokenStore.d.ts +2 -0
  23. package/dist/auth/tokenStore.js +45 -4
  24. package/dist/autoresearch/tools.d.ts +1 -16
  25. package/dist/browser/neurolink.min.js +358 -358
  26. package/dist/cli/commands/config.d.ts +3 -123
  27. package/dist/cli/commands/config.js +4 -2
  28. package/dist/cli/commands/evaluate.d.ts +1 -19
  29. package/dist/cli/commands/proxy.d.ts +1 -1
  30. package/dist/cli/commands/proxy.js +3 -0
  31. package/dist/cli/commands/rag.js +3 -0
  32. package/dist/cli/commands/setup-anthropic.d.ts +2 -6
  33. package/dist/cli/commands/setup-anthropic.js +1 -1
  34. package/dist/cli/commands/setup-azure.d.ts +2 -6
  35. package/dist/cli/commands/setup-azure.js +1 -1
  36. package/dist/cli/commands/setup-bedrock.d.ts +2 -6
  37. package/dist/cli/commands/setup-bedrock.js +1 -1
  38. package/dist/cli/commands/setup-gcp.d.ts +2 -6
  39. package/dist/cli/commands/setup-google-ai.d.ts +2 -6
  40. package/dist/cli/commands/setup-google-ai.js +1 -1
  41. package/dist/cli/commands/setup-huggingface.d.ts +1 -5
  42. package/dist/cli/commands/setup-mistral.d.ts +1 -5
  43. package/dist/cli/commands/setup-openai.d.ts +2 -6
  44. package/dist/cli/commands/setup-openai.js +1 -1
  45. package/dist/cli/commands/setup.d.ts +1 -8
  46. package/dist/cli/commands/task.js +1 -0
  47. package/dist/cli/commands/voiceServer.d.ts +1 -4
  48. package/dist/cli/loop/session.js +31 -10
  49. package/dist/cli/utils/interactiveSetup.d.ts +2 -15
  50. package/dist/cli/utils/videoFileUtils.d.ts +1 -15
  51. package/dist/client/aiSdkAdapter.d.ts +1 -1
  52. package/dist/client/aiSdkAdapter.js +1 -0
  53. package/dist/client/httpClient.d.ts +1 -0
  54. package/dist/client/httpClient.js +13 -0
  55. package/dist/client/sseClient.d.ts +1 -0
  56. package/dist/client/sseClient.js +29 -0
  57. package/dist/client/streamingClient.d.ts +2 -0
  58. package/dist/client/streamingClient.js +19 -0
  59. package/dist/client/wsClient.d.ts +6 -0
  60. package/dist/client/wsClient.js +90 -10
  61. package/dist/context/budgetChecker.js +3 -1
  62. package/dist/context/contextCompactor.js +163 -143
  63. package/dist/context/fileSummarizationService.d.ts +1 -9
  64. package/dist/context/summarizationEngine.js +29 -16
  65. package/dist/core/baseProvider.js +124 -153
  66. package/dist/core/infrastructure/baseRegistry.d.ts +1 -7
  67. package/dist/core/modules/GenerationHandler.d.ts +3 -2
  68. package/dist/core/modules/GenerationHandler.js +9 -1
  69. package/dist/core/modules/StreamHandler.js +9 -0
  70. package/dist/core/modules/ToolsManager.js +18 -2
  71. package/dist/evaluation/BatchEvaluator.d.ts +1 -97
  72. package/dist/evaluation/EvaluationAggregator.d.ts +1 -118
  73. package/dist/evaluation/EvaluatorFactory.d.ts +1 -13
  74. package/dist/evaluation/EvaluatorRegistry.d.ts +1 -50
  75. package/dist/evaluation/errors/EvaluationError.d.ts +2 -27
  76. package/dist/evaluation/hooks/langfuseAdapter.d.ts +1 -39
  77. package/dist/evaluation/hooks/observabilityHooks.d.ts +3 -55
  78. package/dist/evaluation/hooks/observabilityHooks.js +3 -0
  79. package/dist/evaluation/pipeline/strategies/batchStrategy.d.ts +7 -61
  80. package/dist/evaluation/pipeline/strategies/batchStrategy.js +7 -7
  81. package/dist/evaluation/ragasEvaluator.js +54 -37
  82. package/dist/evaluation/reporting/metricsCollector.d.ts +1 -60
  83. package/dist/evaluation/reporting/reportGenerator.d.ts +1 -17
  84. package/dist/evaluation/scorers/rule/contentSimilarityScorer.d.ts +1 -29
  85. package/dist/evaluation/scorers/rule/formatScorer.d.ts +1 -42
  86. package/dist/evaluation/scorers/rule/keywordCoverageScorer.d.ts +1 -19
  87. package/dist/evaluation/scorers/rule/lengthScorer.d.ts +1 -33
  88. package/dist/factories/providerFactory.d.ts +1 -16
  89. package/dist/factories/providerFactory.js +2 -0
  90. package/dist/image-gen/ImageGenService.d.ts +3 -0
  91. package/dist/image-gen/ImageGenService.js +3 -0
  92. package/dist/lib/action/actionInputs.d.ts +1 -1
  93. package/dist/lib/adapters/video/directorPipeline.js +6 -0
  94. package/dist/lib/adapters/video/vertexVideoHandler.js +6 -0
  95. package/dist/lib/agent/directTools.d.ts +3 -23
  96. package/dist/lib/auth/AuthProviderFactory.d.ts +1 -3
  97. package/dist/lib/auth/anthropicOAuth.d.ts +4 -7
  98. package/dist/lib/auth/anthropicOAuth.js +23 -0
  99. package/dist/lib/auth/errors.d.ts +1 -1
  100. package/dist/lib/auth/index.d.ts +11 -0
  101. package/dist/lib/auth/index.js +14 -0
  102. package/dist/lib/auth/middleware/AuthMiddleware.d.ts +5 -60
  103. package/dist/lib/auth/middleware/AuthMiddleware.js +3 -0
  104. package/dist/lib/auth/middleware/rateLimitByUser.d.ts +4 -93
  105. package/dist/lib/auth/middleware/rateLimitByUser.js +4 -0
  106. package/dist/lib/auth/providers/BaseAuthProvider.d.ts +1 -1
  107. package/dist/lib/auth/providers/CognitoProvider.js +3 -0
  108. package/dist/lib/auth/providers/KeycloakProvider.js +3 -0
  109. package/dist/lib/auth/providers/auth0.d.ts +1 -1
  110. package/dist/lib/auth/sessionManager.d.ts +2 -0
  111. package/dist/lib/auth/sessionManager.js +53 -11
  112. package/dist/lib/auth/tokenStore.d.ts +2 -0
  113. package/dist/lib/auth/tokenStore.js +45 -4
  114. package/dist/lib/autoresearch/tools.d.ts +1 -16
  115. package/dist/lib/client/aiSdkAdapter.d.ts +1 -1
  116. package/dist/lib/client/aiSdkAdapter.js +1 -0
  117. package/dist/lib/client/httpClient.d.ts +1 -0
  118. package/dist/lib/client/httpClient.js +13 -0
  119. package/dist/lib/client/sseClient.d.ts +1 -0
  120. package/dist/lib/client/sseClient.js +29 -0
  121. package/dist/lib/client/streamingClient.d.ts +2 -0
  122. package/dist/lib/client/streamingClient.js +19 -0
  123. package/dist/lib/client/wsClient.d.ts +6 -0
  124. package/dist/lib/client/wsClient.js +90 -10
  125. package/dist/lib/context/budgetChecker.js +3 -1
  126. package/dist/lib/context/contextCompactor.js +163 -143
  127. package/dist/lib/context/fileSummarizationService.d.ts +1 -9
  128. package/dist/lib/context/summarizationEngine.js +29 -16
  129. package/dist/lib/core/baseProvider.js +124 -153
  130. package/dist/lib/core/infrastructure/baseRegistry.d.ts +1 -7
  131. package/dist/lib/core/modules/GenerationHandler.d.ts +3 -2
  132. package/dist/lib/core/modules/GenerationHandler.js +9 -1
  133. package/dist/lib/core/modules/StreamHandler.js +9 -0
  134. package/dist/lib/core/modules/ToolsManager.js +18 -2
  135. package/dist/lib/evaluation/BatchEvaluator.d.ts +1 -97
  136. package/dist/lib/evaluation/EvaluationAggregator.d.ts +1 -118
  137. package/dist/lib/evaluation/EvaluatorFactory.d.ts +1 -13
  138. package/dist/lib/evaluation/EvaluatorRegistry.d.ts +1 -50
  139. package/dist/lib/evaluation/errors/EvaluationError.d.ts +2 -27
  140. package/dist/lib/evaluation/hooks/langfuseAdapter.d.ts +1 -39
  141. package/dist/lib/evaluation/hooks/observabilityHooks.d.ts +3 -55
  142. package/dist/lib/evaluation/hooks/observabilityHooks.js +3 -0
  143. package/dist/lib/evaluation/pipeline/strategies/batchStrategy.d.ts +7 -61
  144. package/dist/lib/evaluation/pipeline/strategies/batchStrategy.js +7 -7
  145. package/dist/lib/evaluation/ragasEvaluator.js +54 -37
  146. package/dist/lib/evaluation/reporting/metricsCollector.d.ts +1 -60
  147. package/dist/lib/evaluation/reporting/reportGenerator.d.ts +1 -17
  148. package/dist/lib/evaluation/scorers/rule/contentSimilarityScorer.d.ts +1 -29
  149. package/dist/lib/evaluation/scorers/rule/formatScorer.d.ts +1 -42
  150. package/dist/lib/evaluation/scorers/rule/keywordCoverageScorer.d.ts +1 -19
  151. package/dist/lib/evaluation/scorers/rule/lengthScorer.d.ts +1 -33
  152. package/dist/lib/factories/providerFactory.d.ts +1 -16
  153. package/dist/lib/factories/providerFactory.js +2 -0
  154. package/dist/lib/image-gen/ImageGenService.d.ts +3 -0
  155. package/dist/lib/image-gen/ImageGenService.js +3 -0
  156. package/dist/lib/mcp/batching/requestBatcher.js +99 -73
  157. package/dist/lib/mcp/httpRateLimiter.js +3 -1
  158. package/dist/lib/mcp/httpRetryHandler.js +3 -1
  159. package/dist/lib/mcp/mcpClientFactory.js +3 -1
  160. package/dist/lib/mcp/multiServerManager.d.ts +1 -14
  161. package/dist/lib/mcp/servers/aiProviders/aiAnalysisTools.js +5 -1
  162. package/dist/lib/mcp/servers/aiProviders/aiWorkflowTools.js +1 -0
  163. package/dist/lib/mcp/toolDiscoveryService.js +70 -57
  164. package/dist/lib/mcp/toolRegistry.js +11 -1
  165. package/dist/lib/memory/memoryRetrievalTools.js +182 -141
  166. package/dist/lib/neurolink.js +236 -40
  167. package/dist/lib/observability/exporterRegistry.d.ts +3 -21
  168. package/dist/lib/observability/exporters/sentryExporter.js +1 -0
  169. package/dist/lib/observability/metricsAggregator.d.ts +1 -31
  170. package/dist/lib/observability/tokenTracker.d.ts +7 -16
  171. package/dist/lib/observability/tokenTracker.js +6 -4
  172. package/dist/lib/observability/utils/spanSerializer.d.ts +5 -1
  173. package/dist/lib/observability/utils/spanSerializer.js +24 -4
  174. package/dist/lib/processors/base/BaseFileProcessor.js +66 -53
  175. package/dist/lib/processors/document/ExcelProcessor.d.ts +1 -1
  176. package/dist/lib/processors/errors/errorHelpers.d.ts +1 -31
  177. package/dist/lib/processors/errors/errorSerializer.d.ts +1 -45
  178. package/dist/lib/processors/registry/ProcessorRegistry.js +17 -6
  179. package/dist/lib/providers/amazonBedrock.js +189 -15
  180. package/dist/lib/providers/amazonSagemaker.js +25 -11
  181. package/dist/lib/providers/anthropic.js +13 -0
  182. package/dist/lib/providers/azureOpenai.js +2 -0
  183. package/dist/lib/providers/googleAiStudio.js +96 -26
  184. package/dist/lib/providers/googleVertex.js +66 -27
  185. package/dist/lib/providers/huggingFace.js +2 -0
  186. package/dist/lib/providers/litellm.js +2 -0
  187. package/dist/lib/providers/mistral.js +2 -0
  188. package/dist/lib/providers/ollama.js +84 -5
  189. package/dist/lib/providers/openAI.d.ts +2 -0
  190. package/dist/lib/providers/openAI.js +17 -6
  191. package/dist/lib/providers/openRouter.js +2 -0
  192. package/dist/lib/providers/openaiCompatible.js +2 -0
  193. package/dist/lib/providers/sagemaker/detection.d.ts +1 -33
  194. package/dist/lib/providers/sagemaker/diagnostics.d.ts +1 -25
  195. package/dist/lib/providers/sagemaker/language-model.d.ts +1 -1
  196. package/dist/lib/proxy/proxyConfig.js +4 -0
  197. package/dist/lib/proxy/proxyEnv.d.ts +1 -17
  198. package/dist/lib/proxy/proxyTracer.d.ts +1 -36
  199. package/dist/lib/proxy/proxyTracer.js +9 -0
  200. package/dist/lib/proxy/quietDetector.d.ts +1 -7
  201. package/dist/lib/proxy/rawStreamCapture.d.ts +1 -10
  202. package/dist/lib/proxy/requestLogger.d.ts +1 -21
  203. package/dist/lib/proxy/sseInterceptor.d.ts +1 -66
  204. package/dist/lib/proxy/sseInterceptor.js +6 -0
  205. package/dist/lib/proxy/updateChecker.d.ts +1 -6
  206. package/dist/lib/proxy/updateState.d.ts +1 -12
  207. package/dist/lib/rag/chunkers/BaseChunker.js +36 -22
  208. package/dist/lib/rag/chunking/jsonChunker.d.ts +1 -1
  209. package/dist/lib/rag/errors/RAGError.d.ts +1 -2
  210. package/dist/lib/rag/ragIntegration.js +45 -32
  211. package/dist/lib/rag/reranker/reranker.js +151 -122
  212. package/dist/lib/rag/retrieval/vectorQueryTool.js +79 -65
  213. package/dist/lib/sdk/toolRegistration.d.ts +10 -44
  214. package/dist/lib/sdk/toolRegistration.js +1 -1
  215. package/dist/lib/server/middleware/abortSignal.d.ts +1 -11
  216. package/dist/lib/server/middleware/auth.d.ts +1 -21
  217. package/dist/lib/server/middleware/auth.js +12 -0
  218. package/dist/lib/server/middleware/common.js +48 -32
  219. package/dist/lib/server/middleware/deprecation.d.ts +1 -20
  220. package/dist/lib/server/middleware/rateLimit.d.ts +1 -75
  221. package/dist/lib/server/middleware/validation.d.ts +3 -81
  222. package/dist/lib/server/middleware/validation.js +3 -0
  223. package/dist/lib/server/openapi/generator.d.ts +1 -47
  224. package/dist/lib/server/routes/agentRoutes.js +112 -57
  225. package/dist/lib/server/routes/claudeProxyRoutes.d.ts +1 -6
  226. package/dist/lib/server/routes/claudeProxyRoutes.js +127 -13
  227. package/dist/lib/server/routes/healthRoutes.js +58 -12
  228. package/dist/lib/server/routes/index.d.ts +1 -26
  229. package/dist/lib/server/routes/mcpRoutes.js +40 -7
  230. package/dist/lib/server/routes/memoryRoutes.js +22 -7
  231. package/dist/lib/server/routes/openApiRoutes.js +30 -6
  232. package/dist/lib/server/routes/toolRoutes.js +140 -68
  233. package/dist/lib/server/streaming/dataStream.d.ts +1 -35
  234. package/dist/lib/server/streaming/dataStream.js +15 -0
  235. package/dist/lib/services/server/ai/observability/instrumentation.js +114 -14
  236. package/dist/lib/session/globalSessionState.d.ts +1 -10
  237. package/dist/lib/tasks/tools/taskTools.d.ts +2 -2
  238. package/dist/lib/telemetry/traceContext.d.ts +9 -0
  239. package/dist/lib/telemetry/traceContext.js +19 -0
  240. package/dist/lib/telemetry/tracers.d.ts +2 -0
  241. package/dist/lib/telemetry/tracers.js +2 -0
  242. package/dist/lib/types/action.d.ts +2 -0
  243. package/dist/lib/types/artifact.d.ts +7 -0
  244. package/dist/lib/types/auth.d.ts +125 -18
  245. package/dist/lib/types/autoresearch.d.ts +12 -0
  246. package/dist/lib/types/cli.d.ts +415 -0
  247. package/dist/lib/types/client.d.ts +34 -0
  248. package/dist/lib/types/common.d.ts +12 -41
  249. package/dist/lib/types/context.d.ts +5 -0
  250. package/dist/lib/types/evaluation.d.ts +332 -1
  251. package/dist/lib/types/file.d.ts +4 -0
  252. package/dist/lib/types/mcp.d.ts +102 -2
  253. package/dist/lib/types/middleware.d.ts +116 -0
  254. package/dist/lib/types/multimodal.d.ts +65 -0
  255. package/dist/lib/types/observability.d.ts +81 -0
  256. package/dist/lib/types/processor.d.ts +47 -0
  257. package/dist/lib/types/providers.d.ts +120 -16
  258. package/dist/lib/types/proxy.d.ts +321 -1
  259. package/dist/lib/types/rag.d.ts +22 -0
  260. package/dist/lib/types/scorer.d.ts +141 -0
  261. package/dist/lib/types/server.d.ts +99 -0
  262. package/dist/lib/types/span.d.ts +2 -1
  263. package/dist/lib/types/span.js +1 -0
  264. package/dist/lib/types/tools.d.ts +44 -0
  265. package/dist/lib/types/tts.d.ts +6 -0
  266. package/dist/lib/types/utilities.d.ts +22 -0
  267. package/dist/lib/types/workflow.d.ts +18 -0
  268. package/dist/lib/utils/async/retry.d.ts +2 -8
  269. package/dist/lib/utils/async/retry.js +9 -9
  270. package/dist/lib/utils/imageCompressor.d.ts +1 -21
  271. package/dist/lib/utils/imageCompressor.js +5 -1
  272. package/dist/lib/utils/messageBuilder.d.ts +1 -1
  273. package/dist/lib/utils/redis.d.ts +1 -4
  274. package/dist/lib/utils/toolEndEmitter.d.ts +25 -0
  275. package/dist/lib/utils/toolEndEmitter.js +65 -0
  276. package/dist/lib/workflow/config.d.ts +7 -32
  277. package/dist/lib/workflow/core/ensembleExecutor.js +28 -0
  278. package/dist/lib/workflow/core/judgeScorer.js +23 -0
  279. package/dist/lib/workflow/core/responseConditioner.js +17 -0
  280. package/dist/lib/workflow/core/workflowRunner.d.ts +1 -19
  281. package/dist/lib/workflow/core/workflowRunner.js +202 -147
  282. package/dist/mcp/batching/requestBatcher.js +99 -73
  283. package/dist/mcp/httpRateLimiter.js +3 -1
  284. package/dist/mcp/httpRetryHandler.js +3 -1
  285. package/dist/mcp/mcpClientFactory.js +3 -1
  286. package/dist/mcp/multiServerManager.d.ts +1 -14
  287. package/dist/mcp/servers/aiProviders/aiAnalysisTools.js +5 -1
  288. package/dist/mcp/servers/aiProviders/aiWorkflowTools.js +1 -0
  289. package/dist/mcp/toolDiscoveryService.js +70 -57
  290. package/dist/mcp/toolRegistry.js +11 -1
  291. package/dist/memory/memoryRetrievalTools.js +182 -141
  292. package/dist/neurolink.js +236 -40
  293. package/dist/observability/exporterRegistry.d.ts +3 -21
  294. package/dist/observability/exporters/sentryExporter.js +1 -0
  295. package/dist/observability/metricsAggregator.d.ts +1 -31
  296. package/dist/observability/tokenTracker.d.ts +7 -16
  297. package/dist/observability/tokenTracker.js +6 -4
  298. package/dist/observability/utils/spanSerializer.d.ts +5 -1
  299. package/dist/observability/utils/spanSerializer.js +24 -4
  300. package/dist/processors/base/BaseFileProcessor.js +66 -53
  301. package/dist/processors/document/ExcelProcessor.d.ts +1 -1
  302. package/dist/processors/errors/errorHelpers.d.ts +1 -31
  303. package/dist/processors/errors/errorSerializer.d.ts +1 -45
  304. package/dist/processors/registry/ProcessorRegistry.js +17 -6
  305. package/dist/providers/amazonBedrock.js +189 -15
  306. package/dist/providers/amazonSagemaker.js +25 -11
  307. package/dist/providers/anthropic.js +13 -0
  308. package/dist/providers/azureOpenai.js +2 -0
  309. package/dist/providers/googleAiStudio.js +96 -26
  310. package/dist/providers/googleVertex.js +66 -27
  311. package/dist/providers/huggingFace.js +2 -0
  312. package/dist/providers/litellm.js +2 -0
  313. package/dist/providers/mistral.js +2 -0
  314. package/dist/providers/ollama.js +84 -5
  315. package/dist/providers/openAI.d.ts +2 -0
  316. package/dist/providers/openAI.js +17 -6
  317. package/dist/providers/openRouter.js +2 -0
  318. package/dist/providers/openaiCompatible.js +2 -0
  319. package/dist/providers/sagemaker/detection.d.ts +1 -33
  320. package/dist/providers/sagemaker/diagnostics.d.ts +1 -25
  321. package/dist/providers/sagemaker/language-model.d.ts +1 -1
  322. package/dist/proxy/proxyConfig.js +4 -0
  323. package/dist/proxy/proxyEnv.d.ts +1 -17
  324. package/dist/proxy/proxyTracer.d.ts +1 -36
  325. package/dist/proxy/proxyTracer.js +9 -0
  326. package/dist/proxy/quietDetector.d.ts +1 -7
  327. package/dist/proxy/rawStreamCapture.d.ts +1 -10
  328. package/dist/proxy/requestLogger.d.ts +1 -21
  329. package/dist/proxy/sseInterceptor.d.ts +1 -66
  330. package/dist/proxy/sseInterceptor.js +6 -0
  331. package/dist/proxy/updateChecker.d.ts +1 -6
  332. package/dist/proxy/updateState.d.ts +1 -12
  333. package/dist/rag/chunkers/BaseChunker.js +36 -22
  334. package/dist/rag/chunking/jsonChunker.d.ts +1 -1
  335. package/dist/rag/errors/RAGError.d.ts +1 -2
  336. package/dist/rag/ragIntegration.js +45 -32
  337. package/dist/rag/reranker/reranker.js +151 -122
  338. package/dist/rag/retrieval/vectorQueryTool.js +79 -65
  339. package/dist/sdk/toolRegistration.d.ts +10 -44
  340. package/dist/sdk/toolRegistration.js +1 -1
  341. package/dist/server/middleware/abortSignal.d.ts +1 -11
  342. package/dist/server/middleware/auth.d.ts +1 -21
  343. package/dist/server/middleware/auth.js +12 -0
  344. package/dist/server/middleware/common.js +48 -32
  345. package/dist/server/middleware/deprecation.d.ts +1 -20
  346. package/dist/server/middleware/rateLimit.d.ts +1 -75
  347. package/dist/server/middleware/validation.d.ts +3 -81
  348. package/dist/server/middleware/validation.js +3 -0
  349. package/dist/server/openapi/generator.d.ts +1 -47
  350. package/dist/server/routes/agentRoutes.js +112 -57
  351. package/dist/server/routes/claudeProxyRoutes.d.ts +1 -6
  352. package/dist/server/routes/claudeProxyRoutes.js +127 -13
  353. package/dist/server/routes/healthRoutes.js +58 -12
  354. package/dist/server/routes/index.d.ts +1 -26
  355. package/dist/server/routes/mcpRoutes.js +40 -7
  356. package/dist/server/routes/memoryRoutes.js +22 -7
  357. package/dist/server/routes/openApiRoutes.js +30 -6
  358. package/dist/server/routes/toolRoutes.js +140 -68
  359. package/dist/server/streaming/dataStream.d.ts +1 -35
  360. package/dist/server/streaming/dataStream.js +15 -0
  361. package/dist/services/server/ai/observability/instrumentation.js +114 -14
  362. package/dist/session/globalSessionState.d.ts +1 -10
  363. package/dist/tasks/tools/taskTools.d.ts +2 -2
  364. package/dist/telemetry/traceContext.d.ts +9 -0
  365. package/dist/telemetry/traceContext.js +18 -0
  366. package/dist/telemetry/tracers.d.ts +2 -0
  367. package/dist/telemetry/tracers.js +2 -0
  368. package/dist/types/action.d.ts +2 -0
  369. package/dist/types/artifact.d.ts +7 -0
  370. package/dist/types/auth.d.ts +125 -18
  371. package/dist/types/autoresearch.d.ts +12 -0
  372. package/dist/types/cli.d.ts +415 -0
  373. package/dist/types/client.d.ts +34 -0
  374. package/dist/types/common.d.ts +12 -41
  375. package/dist/types/context.d.ts +5 -0
  376. package/dist/types/evaluation.d.ts +332 -1
  377. package/dist/types/file.d.ts +4 -0
  378. package/dist/types/mcp.d.ts +102 -2
  379. package/dist/types/middleware.d.ts +116 -0
  380. package/dist/types/multimodal.d.ts +65 -0
  381. package/dist/types/observability.d.ts +81 -0
  382. package/dist/types/processor.d.ts +47 -0
  383. package/dist/types/providers.d.ts +120 -16
  384. package/dist/types/proxy.d.ts +321 -1
  385. package/dist/types/rag.d.ts +22 -0
  386. package/dist/types/scorer.d.ts +141 -0
  387. package/dist/types/server.d.ts +99 -0
  388. package/dist/types/span.d.ts +2 -1
  389. package/dist/types/span.js +1 -0
  390. package/dist/types/tools.d.ts +44 -0
  391. package/dist/types/tts.d.ts +6 -0
  392. package/dist/types/utilities.d.ts +22 -0
  393. package/dist/types/workflow.d.ts +18 -0
  394. package/dist/utils/async/retry.d.ts +2 -8
  395. package/dist/utils/async/retry.js +9 -9
  396. package/dist/utils/imageCompressor.d.ts +1 -21
  397. package/dist/utils/imageCompressor.js +5 -1
  398. package/dist/utils/messageBuilder.d.ts +1 -1
  399. package/dist/utils/redis.d.ts +1 -4
  400. package/dist/utils/toolEndEmitter.d.ts +25 -0
  401. package/dist/utils/toolEndEmitter.js +64 -0
  402. package/dist/workflow/config.d.ts +4 -29
  403. package/dist/workflow/core/ensembleExecutor.js +28 -0
  404. package/dist/workflow/core/judgeScorer.js +23 -0
  405. package/dist/workflow/core/responseConditioner.js +17 -0
  406. package/dist/workflow/core/workflowRunner.d.ts +1 -19
  407. package/dist/workflow/core/workflowRunner.js +202 -147
  408. package/package.json +2 -8
@@ -4,6 +4,8 @@
4
4
  * Multi-factor scoring system for reranking retrieval results.
5
5
  * Combines semantic relevance (LLM-based), vector similarity, and position.
6
6
  */
7
+ import { withSpan } from "../../telemetry/withSpan.js";
8
+ import { tracers } from "../../telemetry/tracers.js";
7
9
  import { logger } from "../../utils/logger.js";
8
10
  /**
9
11
  * Default scoring weights
@@ -28,60 +30,73 @@ const DEFAULT_WEIGHTS = {
28
30
  * @returns Reranked results with detailed scores
29
31
  */
30
32
  export async function rerank(results, query, model, options) {
31
- const { queryEmbedding: _queryEmbedding, topK = 3, weights = DEFAULT_WEIGHTS, } = options || {};
32
- if (results.length === 0) {
33
- return [];
34
- }
35
- // Validate weights sum to 1.0
36
- const totalWeight = (weights.semantic || DEFAULT_WEIGHTS.semantic) +
37
- (weights.vector || DEFAULT_WEIGHTS.vector) +
38
- (weights.position || DEFAULT_WEIGHTS.position);
39
- if (Math.abs(totalWeight - 1.0) > 0.01) {
40
- logger.warn("[Reranker] Weights do not sum to 1.0, normalizing", {
41
- original: weights,
42
- total: totalWeight,
43
- });
44
- }
45
- const normalizedWeights = {
46
- semantic: (weights.semantic || DEFAULT_WEIGHTS.semantic) / totalWeight,
47
- vector: (weights.vector || DEFAULT_WEIGHTS.vector) / totalWeight,
48
- position: (weights.position || DEFAULT_WEIGHTS.position) / totalWeight,
49
- };
50
- const rerankedResults = [];
51
- // Process results in parallel batches for efficiency
52
- const batchSize = 5;
53
- for (let i = 0; i < results.length; i += batchSize) {
54
- const batch = results.slice(i, i + batchSize);
55
- const batchPromises = batch.map(async (result, batchIndex) => {
56
- const globalIndex = i + batchIndex;
57
- // Calculate vector score (use existing score or 0)
58
- const vectorScore = result.score ?? 0;
59
- // Calculate position score (inverse of position)
60
- const positionScore = 1 - globalIndex / results.length;
61
- // Calculate semantic score using LLM
62
- const semanticResult = await calculateSemanticScore(query, result.text || result.metadata?.text || "", model);
63
- // Combine scores
64
- const combinedScore = normalizedWeights.semantic * semanticResult.score +
65
- normalizedWeights.vector * vectorScore +
66
- normalizedWeights.position * positionScore;
67
- return {
68
- result,
69
- score: combinedScore,
70
- details: {
71
- semantic: semanticResult.score,
72
- vector: vectorScore,
73
- position: positionScore,
74
- queryAnalysis: semanticResult.analysis,
75
- },
76
- };
77
- });
78
- const batchResults = await Promise.all(batchPromises);
79
- rerankedResults.push(...batchResults);
80
- }
81
- // Sort by combined score descending
82
- rerankedResults.sort((a, b) => b.score - a.score);
83
- // Return top K results
84
- return rerankedResults.slice(0, topK);
33
+ return withSpan({
34
+ name: "neurolink.rag.rerank",
35
+ tracer: tracers.rag,
36
+ attributes: {
37
+ "rag.reranker.input_count": results.length,
38
+ "rag.reranker.top_k": options?.topK ?? 3,
39
+ "rag.reranker.query_length": query.length,
40
+ },
41
+ }, async (span) => {
42
+ const { queryEmbedding: _queryEmbedding, topK = 3, weights = DEFAULT_WEIGHTS, } = options || {};
43
+ if (results.length === 0) {
44
+ span.setAttribute("rag.reranker.output_count", 0);
45
+ return [];
46
+ }
47
+ // Validate weights sum to 1.0
48
+ const totalWeight = (weights.semantic || DEFAULT_WEIGHTS.semantic) +
49
+ (weights.vector || DEFAULT_WEIGHTS.vector) +
50
+ (weights.position || DEFAULT_WEIGHTS.position);
51
+ if (Math.abs(totalWeight - 1.0) > 0.01) {
52
+ logger.warn("[Reranker] Weights do not sum to 1.0, normalizing", {
53
+ original: weights,
54
+ total: totalWeight,
55
+ });
56
+ }
57
+ const normalizedWeights = {
58
+ semantic: (weights.semantic || DEFAULT_WEIGHTS.semantic) / totalWeight,
59
+ vector: (weights.vector || DEFAULT_WEIGHTS.vector) / totalWeight,
60
+ position: (weights.position || DEFAULT_WEIGHTS.position) / totalWeight,
61
+ };
62
+ const rerankedResults = [];
63
+ // Process results in parallel batches for efficiency
64
+ const batchSize = 5;
65
+ for (let i = 0; i < results.length; i += batchSize) {
66
+ const batch = results.slice(i, i + batchSize);
67
+ const batchPromises = batch.map(async (result, batchIndex) => {
68
+ const globalIndex = i + batchIndex;
69
+ // Calculate vector score (use existing score or 0)
70
+ const vectorScore = result.score ?? 0;
71
+ // Calculate position score (inverse of position)
72
+ const positionScore = 1 - globalIndex / results.length;
73
+ // Calculate semantic score using LLM
74
+ const semanticResult = await calculateSemanticScore(query, result.text || result.metadata?.text || "", model);
75
+ // Combine scores
76
+ const combinedScore = normalizedWeights.semantic * semanticResult.score +
77
+ normalizedWeights.vector * vectorScore +
78
+ normalizedWeights.position * positionScore;
79
+ return {
80
+ result,
81
+ score: combinedScore,
82
+ details: {
83
+ semantic: semanticResult.score,
84
+ vector: vectorScore,
85
+ position: positionScore,
86
+ queryAnalysis: semanticResult.analysis,
87
+ },
88
+ };
89
+ });
90
+ const batchResults = await Promise.all(batchPromises);
91
+ rerankedResults.push(...batchResults);
92
+ }
93
+ // Sort by combined score descending
94
+ rerankedResults.sort((a, b) => b.score - a.score);
95
+ // Return top K results
96
+ const output = rerankedResults.slice(0, topK);
97
+ span.setAttribute("rag.reranker.output_count", output.length);
98
+ return output;
99
+ }); // end withSpan
85
100
  }
86
101
  /**
87
102
  * Calculate semantic relevance score using LLM
@@ -135,24 +150,35 @@ Score:`;
135
150
  * @returns Reranked results
136
151
  */
137
152
  export async function batchRerank(results, query, model, options) {
138
- const { topK = 3, weights = DEFAULT_WEIGHTS } = options || {};
139
- if (results.length === 0) {
140
- return [];
141
- }
142
- // Normalize weights
143
- const totalWeight = (weights.semantic || DEFAULT_WEIGHTS.semantic) +
144
- (weights.vector || DEFAULT_WEIGHTS.vector) +
145
- (weights.position || DEFAULT_WEIGHTS.position);
146
- const normalizedWeights = {
147
- semantic: (weights.semantic || DEFAULT_WEIGHTS.semantic) / totalWeight,
148
- vector: (weights.vector || DEFAULT_WEIGHTS.vector) / totalWeight,
149
- position: (weights.position || DEFAULT_WEIGHTS.position) / totalWeight,
150
- };
151
- // Build batch scoring prompt
152
- const documentsText = results
153
- .map((r, i) => `[${i + 1}] ${(r.text || r.metadata?.text || "").slice(0, 300)}`)
154
- .join("\n\n");
155
- const prompt = `Rate the relevance of each document to the query on a scale of 0 to 1.
153
+ return withSpan({
154
+ name: "neurolink.rag.batchRerank",
155
+ tracer: tracers.rag,
156
+ attributes: {
157
+ "rag.reranker.input_count": results.length,
158
+ "rag.reranker.top_k": options?.topK ?? 3,
159
+ "rag.reranker.query_length": query.length,
160
+ "rag.reranker.batch": true,
161
+ },
162
+ }, async (span) => {
163
+ const { topK = 3, weights = DEFAULT_WEIGHTS } = options || {};
164
+ if (results.length === 0) {
165
+ span.setAttribute("rag.reranker.output_count", 0);
166
+ return [];
167
+ }
168
+ // Normalize weights
169
+ const totalWeight = (weights.semantic || DEFAULT_WEIGHTS.semantic) +
170
+ (weights.vector || DEFAULT_WEIGHTS.vector) +
171
+ (weights.position || DEFAULT_WEIGHTS.position);
172
+ const normalizedWeights = {
173
+ semantic: (weights.semantic || DEFAULT_WEIGHTS.semantic) / totalWeight,
174
+ vector: (weights.vector || DEFAULT_WEIGHTS.vector) / totalWeight,
175
+ position: (weights.position || DEFAULT_WEIGHTS.position) / totalWeight,
176
+ };
177
+ // Build batch scoring prompt
178
+ const documentsText = results
179
+ .map((r, i) => `[${i + 1}] ${(r.text || r.metadata?.text || "").slice(0, 300)}`)
180
+ .join("\n\n");
181
+ const prompt = `Rate the relevance of each document to the query on a scale of 0 to 1.
156
182
 
157
183
  Query: ${query}
158
184
 
@@ -161,58 +187,61 @@ ${documentsText}
161
187
 
162
188
  For each document, provide a score between 0 and 1.
163
189
  Respond with only the scores, one per line, in order:`;
164
- try {
165
- const result = await model.generate({
166
- prompt,
167
- maxTokens: 50,
168
- temperature: 0,
169
- });
170
- // Parse scores from response
171
- const scoreLines = (result?.content || "")
172
- .trim()
173
- .split("\n")
174
- .map((line) => line.trim())
175
- .filter((line) => line.length > 0);
176
- const semanticScores = [];
177
- for (let i = 0; i < results.length; i++) {
178
- const scoreLine = scoreLines[i];
179
- if (scoreLine) {
180
- const score = parseFloat(scoreLine.match(/[\d.]+/)?.[0] || "0.5");
181
- semanticScores.push(isNaN(score) || score < 0 || score > 1 ? 0.5 : score);
182
- }
183
- else {
184
- semanticScores.push(0.5);
190
+ try {
191
+ const result = await model.generate({
192
+ prompt,
193
+ maxTokens: 50,
194
+ temperature: 0,
195
+ });
196
+ // Parse scores from response
197
+ const scoreLines = (result?.content || "")
198
+ .trim()
199
+ .split("\n")
200
+ .map((line) => line.trim())
201
+ .filter((line) => line.length > 0);
202
+ const semanticScores = [];
203
+ for (let i = 0; i < results.length; i++) {
204
+ const scoreLine = scoreLines[i];
205
+ if (scoreLine) {
206
+ const score = parseFloat(scoreLine.match(/[\d.]+/)?.[0] || "0.5");
207
+ semanticScores.push(isNaN(score) || score < 0 || score > 1 ? 0.5 : score);
208
+ }
209
+ else {
210
+ semanticScores.push(0.5);
211
+ }
185
212
  }
213
+ // Calculate combined scores
214
+ const rerankedResults = results.map((result, i) => {
215
+ const vectorScore = result.score ?? 0;
216
+ const positionScore = 1 - i / results.length;
217
+ const semanticScore = semanticScores[i] ?? 0.5;
218
+ const combinedScore = normalizedWeights.semantic * semanticScore +
219
+ normalizedWeights.vector * vectorScore +
220
+ normalizedWeights.position * positionScore;
221
+ return {
222
+ result,
223
+ score: combinedScore,
224
+ details: {
225
+ semantic: semanticScore,
226
+ vector: vectorScore,
227
+ position: positionScore,
228
+ },
229
+ };
230
+ });
231
+ // Sort and return top K
232
+ rerankedResults.sort((a, b) => b.score - a.score);
233
+ const output = rerankedResults.slice(0, topK);
234
+ span.setAttribute("rag.reranker.output_count", output.length);
235
+ return output;
186
236
  }
187
- // Calculate combined scores
188
- const rerankedResults = results.map((result, i) => {
189
- const vectorScore = result.score ?? 0;
190
- const positionScore = 1 - i / results.length;
191
- const semanticScore = semanticScores[i] ?? 0.5;
192
- const combinedScore = normalizedWeights.semantic * semanticScore +
193
- normalizedWeights.vector * vectorScore +
194
- normalizedWeights.position * positionScore;
195
- return {
196
- result,
197
- score: combinedScore,
198
- details: {
199
- semantic: semanticScore,
200
- vector: vectorScore,
201
- position: positionScore,
202
- },
203
- };
204
- });
205
- // Sort and return top K
206
- rerankedResults.sort((a, b) => b.score - a.score);
207
- return rerankedResults.slice(0, topK);
208
- }
209
- catch (error) {
210
- logger.warn("[Reranker] Batch scoring failed, using individual scoring", {
211
- error: error instanceof Error ? error.message : String(error),
212
- });
213
- // Fall back to individual scoring
214
- return rerank(results, query, model, options);
215
- }
237
+ catch (error) {
238
+ logger.warn("[Reranker] Batch scoring failed, using individual scoring", {
239
+ error: error instanceof Error ? error.message : String(error),
240
+ });
241
+ // Fall back to individual scoring
242
+ return rerank(results, query, model, options);
243
+ }
244
+ }); // end withSpan
216
245
  }
217
246
  /**
218
247
  * Simple position-based reranker (no LLM required)
@@ -7,6 +7,8 @@
7
7
  import { randomUUID } from "crypto";
8
8
  import { z } from "zod";
9
9
  import { ProviderFactory } from "../../factories/providerFactory.js";
10
+ import { withSpan } from "../../telemetry/withSpan.js";
11
+ import { tracers } from "../../telemetry/tracers.js";
10
12
  import { logger } from "../../utils/logger.js";
11
13
  import { rerank } from "../reranker/reranker.js";
12
14
  /**
@@ -46,75 +48,87 @@ export function createVectorQueryTool(config, vectorStore) {
46
48
  * @returns Query results with relevant context
47
49
  */
48
50
  execute: async (params, context) => {
49
- const startTime = Date.now();
50
- try {
51
- // Resolve vector store if it's a function
52
- const store = typeof vectorStore === "function"
53
- ? vectorStore(context || {})
54
- : vectorStore;
55
- // Generate query embedding
56
- const embeddingProvider = await ProviderFactory.createProvider(embeddingModel.provider, embeddingModel.modelName);
57
- // Check if provider has embed method
58
- if (typeof embeddingProvider.embed !==
59
- "function") {
60
- throw new Error(`Provider ${embeddingModel.provider} does not support embeddings`);
61
- }
62
- const queryEmbedding = await embeddingProvider.embed(params.query);
63
- // Query the vector store
64
- let results = await store.query({
65
- indexName,
66
- queryVector: queryEmbedding,
67
- topK: params.topK || topK,
68
- filter: params.filter,
69
- includeVectors,
70
- ...providerOptions,
71
- });
72
- let reranked = false;
73
- // Apply reranking if configured
74
- if (rerankerConfig && results.length > 0) {
75
- const rerankerModel = await ProviderFactory.createProvider(typeof rerankerConfig.model === "object"
76
- ? rerankerConfig.model.provider
77
- : rerankerConfig.model, typeof rerankerConfig.model === "object"
78
- ? rerankerConfig.model.modelName
79
- : rerankerConfig.model);
80
- const rerankedResults = await rerank(results, params.query, rerankerModel, {
81
- weights: rerankerConfig.weights,
82
- topK: rerankerConfig.topK,
83
- queryEmbedding,
51
+ return withSpan({
52
+ name: "neurolink.rag.vectorQuery",
53
+ tracer: tracers.rag,
54
+ attributes: {
55
+ "rag.vector.index": indexName,
56
+ "rag.vector.top_k": params.topK ?? topK,
57
+ "rag.vector.query_length": params.query.length,
58
+ },
59
+ }, async (span) => {
60
+ const startTime = Date.now();
61
+ try {
62
+ // Resolve vector store if it's a function
63
+ const store = typeof vectorStore === "function"
64
+ ? vectorStore(context || {})
65
+ : vectorStore;
66
+ // Generate query embedding
67
+ const embeddingProvider = await ProviderFactory.createProvider(embeddingModel.provider, embeddingModel.modelName);
68
+ // Check if provider has embed method
69
+ if (typeof embeddingProvider
70
+ .embed !== "function") {
71
+ throw new Error(`Provider ${embeddingModel.provider} does not support embeddings`);
72
+ }
73
+ const queryEmbedding = await embeddingProvider.embed(params.query);
74
+ // Query the vector store
75
+ let results = await store.query({
76
+ indexName,
77
+ queryVector: queryEmbedding,
78
+ topK: params.topK || topK,
79
+ filter: params.filter,
80
+ includeVectors,
81
+ ...providerOptions,
84
82
  });
85
- results = rerankedResults.map((r) => r.result);
86
- reranked = true;
87
- }
88
- // Format results
89
- const relevantContext = results
90
- .map((r, i) => `[${i + 1}] ${r.metadata?.text || r.text || ""}`)
91
- .join("\n\n");
92
- const queryTime = Date.now() - startTime;
93
- logger.info("[VectorQueryTool] Query completed", {
94
- query: params.query.slice(0, 50),
95
- resultsCount: results.length,
96
- queryTime,
97
- reranked,
98
- filtered: !!params.filter,
99
- });
100
- return {
101
- relevantContext,
102
- sources: includeSources ? results : [],
103
- totalResults: results.length,
104
- metadata: {
83
+ let reranked = false;
84
+ // Apply reranking if configured
85
+ if (rerankerConfig && results.length > 0) {
86
+ const rerankerModel = await ProviderFactory.createProvider(typeof rerankerConfig.model === "object"
87
+ ? rerankerConfig.model.provider
88
+ : rerankerConfig.model, typeof rerankerConfig.model === "object"
89
+ ? rerankerConfig.model.modelName
90
+ : rerankerConfig.model);
91
+ const rerankedResults = await rerank(results, params.query, rerankerModel, {
92
+ weights: rerankerConfig.weights,
93
+ topK: rerankerConfig.topK,
94
+ queryEmbedding,
95
+ });
96
+ results = rerankedResults.map((r) => r.result);
97
+ reranked = true;
98
+ }
99
+ // Format results
100
+ const relevantContext = results
101
+ .map((r, i) => `[${i + 1}] ${r.metadata?.text || r.text || ""}`)
102
+ .join("\n\n");
103
+ const queryTime = Date.now() - startTime;
104
+ logger.info("[VectorQueryTool] Query completed", {
105
+ query: params.query.slice(0, 50),
106
+ resultsCount: results.length,
105
107
  queryTime,
106
108
  reranked,
107
109
  filtered: !!params.filter,
108
- },
109
- };
110
- }
111
- catch (error) {
112
- logger.error("[VectorQueryTool] Query failed", {
113
- query: params.query.slice(0, 50),
114
- error: error instanceof Error ? error.message : String(error),
115
- });
116
- throw error;
117
- }
110
+ });
111
+ span.setAttribute("rag.vector.result_count", results.length);
112
+ span.setAttribute("rag.vector.reranked", reranked);
113
+ return {
114
+ relevantContext,
115
+ sources: includeSources ? results : [],
116
+ totalResults: results.length,
117
+ metadata: {
118
+ queryTime,
119
+ reranked,
120
+ filtered: !!params.filter,
121
+ },
122
+ };
123
+ }
124
+ catch (error) {
125
+ logger.error("[VectorQueryTool] Query failed", {
126
+ query: params.query.slice(0, 50),
127
+ error: error instanceof Error ? error.message : String(error),
128
+ });
129
+ throw error;
130
+ }
131
+ }); // end withSpan
118
132
  },
119
133
  };
120
134
  }
@@ -3,7 +3,7 @@
3
3
  * Simple interface for developers to register custom tools
4
4
  */
5
5
  import { z } from "zod";
6
- import type { MCPServerInfo, MCPServerCategory, JsonValue, ToolArgs, SimpleTool as CoreSimpleTool, ZodUnknownSchema, SDKToolContext } from "../types/index.js";
6
+ import type { JsonValue, MCPServerCategory, MCPServerInfo, SDKToolContext, SdkSimpleTool, ZodUnknownSchema } from "../types/index.js";
7
7
  /**
8
8
  * Enhanced validation configuration
9
9
  */
@@ -16,44 +16,10 @@ declare const VALIDATION_CONFIG: {
16
16
  readonly RECOMMENDED_PATTERNS: readonly ["get_data", "fetch_info", "calculate_value", "send_message", "create_item", "update_record", "delete_file", "validate_input"];
17
17
  readonly COMPILED_PATTERN_REGEXES: RegExp[];
18
18
  };
19
- /**
20
- * Context provided to tools during execution
21
- * Type alias for backward compatibility
22
- */
23
- type ToolContext = SDKToolContext;
24
- /**
25
- * Simple tool interface for SDK users
26
- * Extends the core SimpleTool with specific types
27
- */
28
- type SimpleTool<TArgs = ToolArgs, TResult = JsonValue> = Omit<CoreSimpleTool<TArgs, TResult>, "execute"> & {
29
- /**
30
- * Tool description that helps AI understand when to use it
31
- */
32
- description: string;
33
- /**
34
- * Parameters schema using Zod (optional)
35
- */
36
- parameters?: ZodUnknownSchema;
37
- /**
38
- * Tool execution function
39
- */
40
- execute: (params: TArgs, context?: ToolContext) => Promise<TResult>;
41
- /**
42
- * Optional metadata
43
- */
44
- metadata?: {
45
- category?: string;
46
- version?: string;
47
- author?: string;
48
- tags?: string[];
49
- documentation?: string;
50
- [key: string]: JsonValue | undefined;
51
- };
52
- };
53
19
  /**
54
20
  * Creates a MCPServerInfo from a set of tools
55
21
  */
56
- export declare function createMCPServerFromTools(serverId: string, tools: Record<string, SimpleTool>, metadata?: {
22
+ export declare function createMCPServerFromTools(serverId: string, tools: Record<string, SdkSimpleTool>, metadata?: {
57
23
  title?: string;
58
24
  description?: string;
59
25
  category?: MCPServerCategory;
@@ -64,29 +30,29 @@ export declare function createMCPServerFromTools(serverId: string, tools: Record
64
30
  /**
65
31
  * Helper to create a tool with type safety
66
32
  */
67
- export declare function createTool(config: SimpleTool): SimpleTool;
33
+ export declare function createTool(config: SdkSimpleTool): SdkSimpleTool;
68
34
  /**
69
35
  * Helper to create a validated tool with suggested improvements
70
36
  */
71
- export declare function createValidatedTool(name: string, config: SimpleTool, options?: {
37
+ export declare function createValidatedTool(name: string, config: SdkSimpleTool, options?: {
72
38
  strict?: boolean;
73
39
  suggestions?: boolean;
74
- }): SimpleTool;
40
+ }): SdkSimpleTool;
75
41
  /**
76
42
  * Helper to create a tool with typed parameters
77
43
  */
78
- export declare function createTypedTool<TParams extends ZodUnknownSchema>(config: Omit<SimpleTool, "execute"> & {
44
+ export declare function createTypedTool<TParams extends ZodUnknownSchema>(config: Omit<SdkSimpleTool, "execute"> & {
79
45
  parameters: TParams;
80
- execute: (params: z.infer<TParams>, context?: ToolContext) => Promise<JsonValue> | JsonValue;
81
- }): SimpleTool;
46
+ execute: (params: z.infer<TParams>, context?: SDKToolContext) => Promise<JsonValue> | JsonValue;
47
+ }): SdkSimpleTool;
82
48
  /**
83
49
  * Validate tool configuration with detailed error messages
84
50
  */
85
- export declare function validateTool(name: string, tool: SimpleTool): void;
51
+ export declare function validateTool(name: string, tool: SdkSimpleTool): void;
86
52
  /**
87
53
  * Utility to validate multiple tools at once
88
54
  */
89
- export declare function validateTools(tools: Record<string, SimpleTool>): {
55
+ export declare function validateTools(tools: Record<string, SdkSimpleTool>): {
90
56
  valid: string[];
91
57
  invalid: Array<{
92
58
  name: string;
@@ -168,7 +168,7 @@ function provideToolSuggestions(name, tool) {
168
168
  * Helper to create a tool with typed parameters
169
169
  */
170
170
  export function createTypedTool(config) {
171
- // Wrap the typed execute to match SimpleTool's signature.
171
+ // Wrap the typed execute to match SdkSimpleTool's signature.
172
172
  // The Zod schema validates params at runtime, so the cast within the wrapper is safe.
173
173
  const wrappedExecute = async (params, context) => {
174
174
  const result = await config.execute(params, context);
@@ -2,16 +2,7 @@
2
2
  * Abort Signal Middleware
3
3
  * Provides client disconnection handling for long-running requests
4
4
  */
5
- import type { MiddlewareDefinition, ServerContext } from "../../types/index.js";
6
- /**
7
- * Abort signal middleware options
8
- */
9
- type AbortSignalMiddlewareOptions = {
10
- /** Callback when abort is triggered */
11
- onAbort?: (ctx: ServerContext) => void;
12
- /** Request timeout in milliseconds */
13
- timeout?: number;
14
- };
5
+ import type { AbortSignalMiddlewareOptions, MiddlewareDefinition } from "../../types/index.js";
15
6
  /**
16
7
  * Create abort signal middleware for handling client disconnections.
17
8
  *
@@ -59,4 +50,3 @@ export declare function createExpressAbortMiddleware(options?: AbortSignalMiddle
59
50
  writableFinished?: boolean;
60
51
  locals: Record<string, unknown>;
61
52
  }, next: () => void) => void;
62
- export {};
@@ -2,8 +2,7 @@
2
2
  * Authentication Middleware
3
3
  * Provides flexible authentication support for server adapters
4
4
  */
5
- import type { MiddlewareDefinition, AuthenticatedUser, ServerServerAuthConfig } from "../../types/index.js";
6
- import type { AuthResult } from "../../types/index.js";
5
+ import type { ApiKeyAuthOptions, AuthResult, AuthenticatedUser, BearerAuthOptions, MiddlewareDefinition, ServerServerAuthConfig, TokenValidator } from "../../types/index.js";
7
6
  /**
8
7
  * Check if request is from development playground.
9
8
  * Detects playground requests via special headers for development mode.
@@ -111,18 +110,6 @@ export declare class ApiKeyStore {
111
110
  /**
112
111
  * Options for bearer auth middleware
113
112
  */
114
- type BearerAuthOptions = {
115
- /** Whether authentication is required (default: true) */
116
- required?: boolean;
117
- /** Header name (default: "authorization") */
118
- headerName?: string;
119
- /** Paths to skip authentication */
120
- skipPaths?: string[];
121
- };
122
- /**
123
- * Token validation function type
124
- */
125
- type TokenValidator = (token: string) => Promise<AuthenticatedUser | null> | AuthenticatedUser | null;
126
113
  /**
127
114
  * Create bearer token authentication middleware
128
115
  *
@@ -141,12 +128,6 @@ export declare function createBearerAuthMiddleware(validate: TokenValidator, opt
141
128
  /**
142
129
  * Options for API key auth middleware
143
130
  */
144
- type ApiKeyAuthOptions = {
145
- /** Header name (default: "x-api-key") */
146
- headerName?: string;
147
- /** Paths to skip authentication */
148
- skipPaths?: string[];
149
- };
150
131
  /**
151
132
  * Create API key authentication middleware
152
133
  *
@@ -183,4 +164,3 @@ export declare function createRoleAuthMiddleware(requiredRoles: string[], option
183
164
  export declare function createPermissionAuthMiddleware(requiredPermissions: string[], options?: {
184
165
  requireAll?: boolean;
185
166
  }): MiddlewareDefinition;
186
- export {};