@juspay/neurolink 9.54.6 → 9.54.7

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 +2 -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 +353 -353
  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 +82 -0
  184. package/dist/lib/providers/googleVertex.js +52 -0
  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 +82 -0
  310. package/dist/providers/googleVertex.js +52 -0
  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 -1
@@ -4,18 +4,34 @@
4
4
  */
5
5
  import { randomBytes } from "node:crypto";
6
6
  import { SpanStatus, SpanType, } from "../../types/index.js";
7
+ import { getActiveTraceContext } from "../../telemetry/traceContext.js";
7
8
  /**
8
9
  * Utility class for span creation and serialization
9
10
  */
10
11
  export class SpanSerializer {
11
12
  /**
12
- * Create a new span with generated IDs
13
+ * Create a new span with generated IDs.
14
+ *
15
+ * When `traceId` / `parentSpanId` are omitted, the method automatically
16
+ * attempts to inherit them from the active OTel context so that Pipeline B
17
+ * spans land inside the same Langfuse trace as Pipeline A spans (fix A5).
13
18
  */
14
19
  static createSpan(type, name, attributes = {}, parentSpanId, traceId) {
20
+ // A5 fix: When no explicit traceId is provided, try to inherit from the
21
+ // active OTel context so Pipeline B spans are linked to Pipeline A traces.
22
+ let resolvedTraceId = traceId;
23
+ let resolvedParentSpanId = parentSpanId;
24
+ if (!resolvedTraceId) {
25
+ const otelCtx = getActiveTraceContext();
26
+ resolvedTraceId = otelCtx.traceId ?? randomBytes(16).toString("hex");
27
+ if (!resolvedParentSpanId && otelCtx.parentSpanId) {
28
+ resolvedParentSpanId = otelCtx.parentSpanId;
29
+ }
30
+ }
15
31
  return {
16
32
  spanId: randomBytes(8).toString("hex"),
17
- traceId: traceId ?? randomBytes(16).toString("hex"),
18
- parentSpanId,
33
+ traceId: resolvedTraceId,
34
+ parentSpanId: resolvedParentSpanId,
19
35
  type,
20
36
  name,
21
37
  startTime: new Date().toISOString(),
@@ -109,7 +125,11 @@ export class SpanSerializer {
109
125
  // Langfuse tracing; use LangfuseExporterConfig.redactIO=true to suppress them
110
126
  // in compliance-sensitive deployments.
111
127
  metadata: filterSafeMetadata(span.attributes),
112
- level: span.status === SpanStatus.ERROR ? "ERROR" : "DEFAULT",
128
+ level: span.status === SpanStatus.ERROR
129
+ ? "ERROR"
130
+ : span.status === SpanStatus.WARNING
131
+ ? "WARNING"
132
+ : "DEFAULT",
113
133
  statusMessage: span.statusMessage,
114
134
  input: span.attributes["input"],
115
135
  output: span.attributes["output"],
@@ -47,6 +47,8 @@ import { promisify } from "util";
47
47
  import { gunzip } from "zlib";
48
48
  import { SIZE_LIMITS } from "../config/index.js";
49
49
  import { isAbortError } from "../../utils/errorHandling.js";
50
+ import { withSpan } from "../../telemetry/withSpan.js";
51
+ import { tracers } from "../../telemetry/tracers.js";
50
52
  import { createFileError, extractHttpStatus, FileErrorCode, isRetryableError, } from "../errors/index.js";
51
53
  import { DEFAULT_RETRY_CONFIG } from "../../types/index.js";
52
54
  const gunzipAsync = promisify(gunzip);
@@ -104,78 +106,89 @@ export class BaseFileProcessor {
104
106
  * ```
105
107
  */
106
108
  async processFile(fileInfo, options) {
107
- try {
108
- // Step 1: Validate file type and size
109
- const validationResult = this.validateFileWithResult(fileInfo);
110
- if (!validationResult.success) {
111
- return {
112
- success: false,
113
- error: validationResult.error,
114
- };
115
- }
116
- // Step 2: Get file buffer (from direct buffer or download from URL)
117
- let buffer;
118
- if (fileInfo.buffer) {
119
- // Direct buffer provided - skip download
120
- buffer = fileInfo.buffer;
121
- }
122
- else if (fileInfo.url) {
123
- // Download from URL
124
- const downloadResult = await this.downloadFileWithRetry(fileInfo, options);
125
- if (!downloadResult.success) {
109
+ return withSpan({
110
+ name: "neurolink.file.process",
111
+ tracer: tracers.file,
112
+ attributes: {
113
+ "file.processor": this.constructor.name,
114
+ "file.type": this.config.fileTypeName,
115
+ "file.mimetype": fileInfo.mimetype ?? "unknown",
116
+ "file.name": fileInfo.name ?? "unknown",
117
+ },
118
+ }, async (_span) => {
119
+ try {
120
+ // Step 1: Validate file type and size
121
+ const validationResult = this.validateFileWithResult(fileInfo);
122
+ if (!validationResult.success) {
126
123
  return {
127
124
  success: false,
128
- error: downloadResult.error,
125
+ error: validationResult.error,
129
126
  };
130
127
  }
131
- if (!downloadResult.data) {
128
+ // Step 2: Get file buffer (from direct buffer or download from URL)
129
+ let buffer;
130
+ if (fileInfo.buffer) {
131
+ // Direct buffer provided - skip download
132
+ buffer = fileInfo.buffer;
133
+ }
134
+ else if (fileInfo.url) {
135
+ // Download from URL
136
+ const downloadResult = await this.downloadFileWithRetry(fileInfo, options);
137
+ if (!downloadResult.success) {
138
+ return {
139
+ success: false,
140
+ error: downloadResult.error,
141
+ };
142
+ }
143
+ if (!downloadResult.data) {
144
+ return {
145
+ success: false,
146
+ error: this.createError(FileErrorCode.DOWNLOAD_FAILED, {
147
+ reason: "Download succeeded but returned no data",
148
+ }),
149
+ };
150
+ }
151
+ buffer = downloadResult.data;
152
+ // Validate actual downloaded size against limit
153
+ if (!this.validateFileSize(buffer.length)) {
154
+ return {
155
+ success: false,
156
+ error: this.createError(FileErrorCode.FILE_TOO_LARGE, {
157
+ sizeMB: (buffer.length / (1024 * 1024)).toFixed(2),
158
+ maxMB: this.config.maxSizeMB,
159
+ type: this.config.fileTypeName,
160
+ }),
161
+ };
162
+ }
163
+ }
164
+ else {
165
+ // No buffer or URL provided
132
166
  return {
133
167
  success: false,
134
168
  error: this.createError(FileErrorCode.DOWNLOAD_FAILED, {
135
- reason: "Download succeeded but returned no data",
169
+ reason: "No buffer or URL provided for file",
136
170
  }),
137
171
  };
138
172
  }
139
- buffer = downloadResult.data;
140
- // Validate actual downloaded size against limit
141
- if (!this.validateFileSize(buffer.length)) {
173
+ // Step 3: Post-download validation (subclasses can override)
174
+ const postValidationResult = await this.validateDownloadedFileWithResult(buffer, fileInfo);
175
+ if (!postValidationResult.success) {
142
176
  return {
143
177
  success: false,
144
- error: this.createError(FileErrorCode.FILE_TOO_LARGE, {
145
- sizeMB: (buffer.length / (1024 * 1024)).toFixed(2),
146
- maxMB: this.config.maxSizeMB,
147
- type: this.config.fileTypeName,
148
- }),
178
+ error: postValidationResult.error,
149
179
  };
150
180
  }
181
+ // Step 4: Build processed result using template method
182
+ return await this.buildProcessedResultWithResult(buffer, fileInfo);
151
183
  }
152
- else {
153
- // No buffer or URL provided
154
- return {
155
- success: false,
156
- error: this.createError(FileErrorCode.DOWNLOAD_FAILED, {
157
- reason: "No buffer or URL provided for file",
158
- }),
159
- };
160
- }
161
- // Step 3: Post-download validation (subclasses can override)
162
- const postValidationResult = await this.validateDownloadedFileWithResult(buffer, fileInfo);
163
- if (!postValidationResult.success) {
184
+ catch (error) {
185
+ // Catch any unexpected errors
164
186
  return {
165
187
  success: false,
166
- error: postValidationResult.error,
188
+ error: this.createError(FileErrorCode.UNKNOWN_ERROR, { error: error instanceof Error ? error.message : String(error) }, error instanceof Error ? error : undefined),
167
189
  };
168
190
  }
169
- // Step 4: Build processed result using template method
170
- return await this.buildProcessedResultWithResult(buffer, fileInfo);
171
- }
172
- catch (error) {
173
- // Catch any unexpected errors
174
- return {
175
- success: false,
176
- error: this.createError(FileErrorCode.UNKNOWN_ERROR, { error: error instanceof Error ? error.message : String(error) }, error instanceof Error ? error : undefined),
177
- };
178
- }
191
+ }); // end withSpan
179
192
  }
180
193
  /**
181
194
  * Process multiple files with detailed summary.
@@ -36,7 +36,7 @@
36
36
  * ```
37
37
  */
38
38
  import { BaseFileProcessor } from "../base/BaseFileProcessor.js";
39
- import type { FileInfo, ProcessorFileProcessingResult, ProcessOptions, ProcessedExcel } from "../../types/index.js";
39
+ import type { FileInfo, ProcessOptions, ProcessedExcel, ProcessorFileProcessingResult } from "../../types/index.js";
40
40
  /**
41
41
  * Excel Processor - handles .xlsx and .xls files.
42
42
  * Uses exceljs library for parsing with support for large files.
@@ -7,37 +7,8 @@
7
7
  *
8
8
  * @module processors/errors
9
9
  */
10
- import type { FileProcessingError } from "../../types/index.js";
10
+ import type { FileProcessingError, FileProcessingSummary } from "../../types/index.js";
11
11
  import { FileErrorCode } from "./FileErrorCode.js";
12
- /**
13
- * Summary of file processing operations.
14
- */
15
- type FileProcessingSummary = {
16
- /** Total number of files attempted */
17
- totalFiles: number;
18
- /** Successfully processed files */
19
- processedFiles: Array<{
20
- filename: string;
21
- size?: number;
22
- type?: string;
23
- }>;
24
- /** Files that failed to process */
25
- failedFiles: Array<{
26
- filename: string;
27
- error: FileProcessingError;
28
- }>;
29
- /** Files that were skipped */
30
- skippedFiles: Array<{
31
- filename: string;
32
- reason: string;
33
- suggestedAlternative?: string;
34
- }>;
35
- /** Non-fatal warnings */
36
- warnings: Array<{
37
- filename: string;
38
- message: string;
39
- }>;
40
- };
41
12
  /**
42
13
  * Create a structured file processing error with user-friendly messaging.
43
14
  *
@@ -148,4 +119,3 @@ export declare function combineSummaries(summaries: FileProcessingSummary[]): Fi
148
119
  * @returns Delay in milliseconds before next retry
149
120
  */
150
121
  export declare function getRetryDelay(error: unknown, attempt: number, baseDelayMs?: number): number;
151
- export {};
@@ -11,50 +11,7 @@
11
11
  *
12
12
  * @module processors/errors
13
13
  */
14
- /**
15
- * Serialized error representation with full context.
16
- */
17
- type SerializedError = {
18
- /** Unique error instance ID */
19
- errorId: string;
20
- /** Deterministic fingerprint for error aggregation */
21
- errorFingerprint: string;
22
- /** Error type/class name */
23
- errorType: string;
24
- /** Error message */
25
- message: string;
26
- /** Full stack trace */
27
- stack?: string;
28
- /** Parsed stack frames */
29
- stackFrames?: string[];
30
- /** HTTP status code if applicable */
31
- statusCode?: number;
32
- /** Whether the error is operational (expected) vs programmer error */
33
- isOperational?: boolean;
34
- /** Whether the error is retryable */
35
- isRetryable?: boolean;
36
- /** Error code */
37
- code?: string;
38
- /** Additional metadata */
39
- metadata?: Record<string, unknown>;
40
- /** Serialized cause error (for error chaining) */
41
- cause?: SerializedError;
42
- /** ISO timestamp of when the error was serialized */
43
- timestamp: string;
44
- };
45
- /**
46
- * Options for error serialization.
47
- */
48
- type SerializeOptions = {
49
- /** Include stack trace in output (default: true) */
50
- includeStack?: boolean;
51
- /** Max depth for nested object serialization (default: 5) */
52
- maxDepth?: number;
53
- /** Filter stack traces to application frames only (default: true in production) */
54
- filterStacks?: boolean;
55
- /** Additional context to include */
56
- context?: Record<string, unknown>;
57
- };
14
+ import type { SerializeOptions, SerializedError } from "../../types/index.js";
58
15
  /**
59
16
  * Safely serialize an error with full context preservation.
60
17
  * Handles circular references, redacts sensitive data, and preserves error metadata.
@@ -137,4 +94,3 @@ export declare function summarizeError(error: unknown): {
137
94
  code?: string;
138
95
  fingerprint: string;
139
96
  };
140
- export {};
@@ -43,6 +43,8 @@
43
43
  * const result = await registry.processFile(fileInfo);
44
44
  * ```
45
45
  */
46
+ import { withSpan } from "../../telemetry/withSpan.js";
47
+ import { tracers } from "../../telemetry/tracers.js";
46
48
  // =============================================================================
47
49
  // UTILITY FUNCTIONS
48
50
  // =============================================================================
@@ -399,12 +401,21 @@ export class ProcessorRegistry {
399
401
  * ```
400
402
  */
401
403
  async processFile(fileInfo, options) {
402
- const match = this.findProcessor(fileInfo.mimetype, fileInfo.name);
403
- if (!match) {
404
- return null;
405
- }
406
- const processor = match.processor;
407
- return processor.processFile(fileInfo, options);
404
+ return withSpan({
405
+ name: "neurolink.processor.processFile",
406
+ tracer: tracers.processor,
407
+ attributes: {
408
+ "processor.filename": fileInfo.name ?? "unknown",
409
+ "processor.mimetype": fileInfo.mimetype ?? "unknown",
410
+ },
411
+ }, async () => {
412
+ const match = this.findProcessor(fileInfo.mimetype, fileInfo.name);
413
+ if (!match) {
414
+ return null;
415
+ }
416
+ const processor = match.processor;
417
+ return processor.processFile(fileInfo, options);
418
+ });
408
419
  }
409
420
  /**
410
421
  * Process a file with detailed result including error information.