@juspay/neurolink 9.5.2 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +29 -25
  3. package/dist/agent/directTools.d.ts +5 -5
  4. package/dist/cli/commands/config.d.ts +9 -9
  5. package/dist/cli/commands/serve.d.ts +37 -0
  6. package/dist/cli/commands/serve.js +302 -229
  7. package/dist/cli/commands/setup-anthropic.d.ts +2 -2
  8. package/dist/cli/commands/setup-azure.d.ts +2 -2
  9. package/dist/cli/commands/setup-bedrock.d.ts +2 -2
  10. package/dist/cli/commands/setup-gcp.d.ts +2 -2
  11. package/dist/cli/commands/setup-google-ai.d.ts +2 -2
  12. package/dist/cli/commands/setup-huggingface.d.ts +2 -2
  13. package/dist/cli/commands/setup-mistral.d.ts +2 -2
  14. package/dist/cli/commands/setup-openai.d.ts +2 -2
  15. package/dist/cli/commands/setup.d.ts +2 -2
  16. package/dist/cli/factories/commandFactory.js +16 -2
  17. package/dist/cli/loop/optionsSchema.d.ts +2 -2
  18. package/dist/cli/loop/session.d.ts +4 -0
  19. package/dist/cli/loop/session.js +49 -4
  20. package/dist/cli/utils/interactiveSetup.d.ts +4 -4
  21. package/dist/config/conversationMemory.d.ts +2 -0
  22. package/dist/config/conversationMemory.js +5 -5
  23. package/dist/constants/contextWindows.d.ts +46 -0
  24. package/dist/constants/contextWindows.js +156 -0
  25. package/dist/context/budgetChecker.d.ts +18 -0
  26. package/dist/context/budgetChecker.js +71 -0
  27. package/dist/context/contextCompactor.d.ts +22 -0
  28. package/dist/context/contextCompactor.js +106 -0
  29. package/dist/context/effectiveHistory.d.ts +52 -0
  30. package/dist/context/effectiveHistory.js +105 -0
  31. package/dist/context/errorDetection.d.ts +14 -0
  32. package/dist/context/errorDetection.js +124 -0
  33. package/dist/context/fileSummarizationService.d.ts +54 -0
  34. package/dist/context/fileSummarizationService.js +255 -0
  35. package/dist/context/fileSummarizer.d.ts +56 -0
  36. package/dist/context/fileSummarizer.js +145 -0
  37. package/dist/context/fileTokenBudget.d.ts +53 -0
  38. package/dist/context/fileTokenBudget.js +127 -0
  39. package/dist/context/prompts/summarizationPrompt.d.ts +17 -0
  40. package/dist/context/prompts/summarizationPrompt.js +110 -0
  41. package/dist/context/stages/fileReadDeduplicator.d.ts +10 -0
  42. package/dist/context/stages/fileReadDeduplicator.js +66 -0
  43. package/dist/context/stages/slidingWindowTruncator.d.ts +11 -0
  44. package/dist/context/stages/slidingWindowTruncator.js +42 -0
  45. package/dist/context/stages/structuredSummarizer.d.ts +10 -0
  46. package/dist/context/stages/structuredSummarizer.js +49 -0
  47. package/dist/context/stages/toolOutputPruner.d.ts +10 -0
  48. package/dist/context/stages/toolOutputPruner.js +52 -0
  49. package/dist/context/summarizationEngine.d.ts +45 -0
  50. package/dist/context/summarizationEngine.js +110 -0
  51. package/dist/context/toolOutputLimits.d.ts +17 -0
  52. package/dist/context/toolOutputLimits.js +84 -0
  53. package/dist/context/toolPairRepair.d.ts +16 -0
  54. package/dist/context/toolPairRepair.js +66 -0
  55. package/dist/core/conversationMemoryManager.d.ts +5 -15
  56. package/dist/core/conversationMemoryManager.js +15 -75
  57. package/dist/core/modules/MessageBuilder.d.ts +1 -1
  58. package/dist/core/modules/MessageBuilder.js +2 -0
  59. package/dist/core/modules/TelemetryHandler.d.ts +2 -3
  60. package/dist/core/modules/TelemetryHandler.js +3 -3
  61. package/dist/core/modules/ToolsManager.d.ts +2 -2
  62. package/dist/core/redisConversationMemoryManager.d.ts +8 -14
  63. package/dist/core/redisConversationMemoryManager.js +69 -78
  64. package/dist/factories/providerFactory.d.ts +2 -2
  65. package/dist/files/fileReferenceRegistry.d.ts +276 -0
  66. package/dist/files/fileReferenceRegistry.js +1543 -0
  67. package/dist/files/fileTools.d.ts +423 -0
  68. package/dist/files/fileTools.js +449 -0
  69. package/dist/files/index.d.ts +14 -0
  70. package/dist/files/index.js +13 -0
  71. package/dist/files/streamingReader.d.ts +93 -0
  72. package/dist/files/streamingReader.js +321 -0
  73. package/dist/files/types.d.ts +23 -0
  74. package/dist/files/types.js +23 -0
  75. package/dist/image-gen/imageGenTools.d.ts +2 -2
  76. package/dist/image-gen/types.d.ts +12 -12
  77. package/dist/lib/agent/directTools.d.ts +7 -7
  78. package/dist/lib/config/conversationMemory.d.ts +2 -0
  79. package/dist/lib/config/conversationMemory.js +5 -5
  80. package/dist/lib/constants/contextWindows.d.ts +46 -0
  81. package/dist/lib/constants/contextWindows.js +157 -0
  82. package/dist/lib/context/budgetChecker.d.ts +18 -0
  83. package/dist/lib/context/budgetChecker.js +72 -0
  84. package/dist/lib/context/contextCompactor.d.ts +22 -0
  85. package/dist/lib/context/contextCompactor.js +107 -0
  86. package/dist/lib/context/effectiveHistory.d.ts +52 -0
  87. package/dist/lib/context/effectiveHistory.js +106 -0
  88. package/dist/lib/context/errorDetection.d.ts +14 -0
  89. package/dist/lib/context/errorDetection.js +125 -0
  90. package/dist/lib/context/fileSummarizationService.d.ts +54 -0
  91. package/dist/lib/context/fileSummarizationService.js +256 -0
  92. package/dist/lib/context/fileSummarizer.d.ts +56 -0
  93. package/dist/lib/context/fileSummarizer.js +146 -0
  94. package/dist/lib/context/fileTokenBudget.d.ts +53 -0
  95. package/dist/lib/context/fileTokenBudget.js +128 -0
  96. package/dist/lib/context/prompts/summarizationPrompt.d.ts +17 -0
  97. package/dist/lib/context/prompts/summarizationPrompt.js +111 -0
  98. package/dist/lib/context/stages/fileReadDeduplicator.d.ts +10 -0
  99. package/dist/lib/context/stages/fileReadDeduplicator.js +67 -0
  100. package/dist/lib/context/stages/slidingWindowTruncator.d.ts +11 -0
  101. package/dist/lib/context/stages/slidingWindowTruncator.js +43 -0
  102. package/dist/lib/context/stages/structuredSummarizer.d.ts +10 -0
  103. package/dist/lib/context/stages/structuredSummarizer.js +50 -0
  104. package/dist/lib/context/stages/toolOutputPruner.d.ts +10 -0
  105. package/dist/lib/context/stages/toolOutputPruner.js +53 -0
  106. package/dist/lib/context/summarizationEngine.d.ts +45 -0
  107. package/dist/lib/context/summarizationEngine.js +111 -0
  108. package/dist/lib/context/toolOutputLimits.d.ts +17 -0
  109. package/dist/lib/context/toolOutputLimits.js +85 -0
  110. package/dist/lib/context/toolPairRepair.d.ts +16 -0
  111. package/dist/lib/context/toolPairRepair.js +67 -0
  112. package/dist/lib/core/conversationMemoryManager.d.ts +5 -15
  113. package/dist/lib/core/conversationMemoryManager.js +15 -75
  114. package/dist/lib/core/modules/MessageBuilder.d.ts +1 -1
  115. package/dist/lib/core/modules/MessageBuilder.js +2 -0
  116. package/dist/lib/core/modules/TelemetryHandler.d.ts +2 -3
  117. package/dist/lib/core/modules/TelemetryHandler.js +3 -3
  118. package/dist/lib/core/modules/ToolsManager.d.ts +2 -2
  119. package/dist/lib/core/redisConversationMemoryManager.d.ts +8 -14
  120. package/dist/lib/core/redisConversationMemoryManager.js +69 -78
  121. package/dist/lib/factories/providerFactory.d.ts +2 -2
  122. package/dist/lib/files/fileReferenceRegistry.d.ts +276 -0
  123. package/dist/lib/files/fileReferenceRegistry.js +1544 -0
  124. package/dist/lib/files/fileTools.d.ts +423 -0
  125. package/dist/lib/files/fileTools.js +450 -0
  126. package/dist/lib/files/index.d.ts +14 -0
  127. package/dist/lib/files/index.js +14 -0
  128. package/dist/lib/files/streamingReader.d.ts +93 -0
  129. package/dist/lib/files/streamingReader.js +322 -0
  130. package/dist/lib/files/types.d.ts +23 -0
  131. package/dist/lib/files/types.js +24 -0
  132. package/dist/lib/image-gen/imageGenTools.d.ts +2 -2
  133. package/dist/lib/image-gen/types.d.ts +12 -12
  134. package/dist/lib/memory/mem0Initializer.d.ts +2 -2
  135. package/dist/lib/neurolink.d.ts +61 -2
  136. package/dist/lib/neurolink.js +619 -307
  137. package/dist/lib/processors/archive/ArchiveProcessor.d.ts +327 -0
  138. package/dist/lib/processors/archive/ArchiveProcessor.js +1309 -0
  139. package/dist/lib/processors/archive/index.d.ts +33 -0
  140. package/dist/lib/processors/archive/index.js +43 -0
  141. package/dist/lib/processors/base/types.d.ts +70 -64
  142. package/dist/lib/processors/base/types.js +6 -0
  143. package/dist/lib/processors/cli/fileProcessorCli.d.ts +8 -8
  144. package/dist/lib/processors/cli/fileProcessorCli.js +5 -5
  145. package/dist/lib/processors/config/mimeTypes.js +25 -0
  146. package/dist/lib/processors/config/sizeLimits.d.ts +52 -40
  147. package/dist/lib/processors/config/sizeLimits.js +56 -44
  148. package/dist/lib/processors/document/ExcelProcessor.d.ts +14 -0
  149. package/dist/lib/processors/document/ExcelProcessor.js +72 -1
  150. package/dist/lib/processors/document/PptxProcessor.d.ts +63 -0
  151. package/dist/lib/processors/document/PptxProcessor.js +158 -0
  152. package/dist/lib/processors/document/index.d.ts +1 -0
  153. package/dist/lib/processors/document/index.js +6 -0
  154. package/dist/lib/processors/errors/FileErrorCode.d.ts +2 -2
  155. package/dist/lib/processors/errors/errorHelpers.d.ts +2 -2
  156. package/dist/lib/processors/errors/errorSerializer.d.ts +4 -4
  157. package/dist/lib/processors/index.d.ts +8 -2
  158. package/dist/lib/processors/index.js +5 -2
  159. package/dist/lib/processors/integration/FileProcessorIntegration.d.ts +8 -8
  160. package/dist/lib/processors/integration/FileProcessorIntegration.js +7 -7
  161. package/dist/lib/processors/media/AudioProcessor.d.ts +328 -0
  162. package/dist/lib/processors/media/AudioProcessor.js +708 -0
  163. package/dist/lib/processors/media/VideoProcessor.d.ts +350 -0
  164. package/dist/lib/processors/media/VideoProcessor.js +992 -0
  165. package/dist/lib/processors/media/index.d.ts +27 -0
  166. package/dist/lib/processors/media/index.js +37 -0
  167. package/dist/lib/processors/registry/ProcessorRegistry.d.ts +19 -5
  168. package/dist/lib/processors/registry/ProcessorRegistry.js +103 -8
  169. package/dist/lib/processors/registry/index.d.ts +1 -1
  170. package/dist/lib/processors/registry/index.js +1 -1
  171. package/dist/lib/processors/registry/types.d.ts +2 -2
  172. package/dist/lib/providers/googleAiStudio.d.ts +34 -0
  173. package/dist/lib/providers/googleAiStudio.js +267 -397
  174. package/dist/lib/providers/googleVertex.d.ts +55 -1
  175. package/dist/lib/providers/googleVertex.js +452 -719
  176. package/dist/lib/providers/sagemaker/detection.d.ts +6 -6
  177. package/dist/lib/providers/sagemaker/diagnostics.d.ts +4 -4
  178. package/dist/lib/providers/sagemaker/parsers.d.ts +4 -4
  179. package/dist/lib/rag/chunkers/RecursiveChunker.js +2 -2
  180. package/dist/lib/rag/document/loaders.d.ts +6 -71
  181. package/dist/lib/rag/document/loaders.js +5 -5
  182. package/dist/lib/rag/graphRag/graphRAG.js +26 -9
  183. package/dist/lib/rag/metadata/MetadataExtractorFactory.d.ts +5 -55
  184. package/dist/lib/rag/metadata/metadataExtractor.js +6 -3
  185. package/dist/lib/rag/pipeline/RAGPipeline.d.ts +8 -126
  186. package/dist/lib/rag/pipeline/RAGPipeline.js +11 -11
  187. package/dist/lib/rag/pipeline/contextAssembly.d.ts +3 -42
  188. package/dist/lib/rag/pipeline/contextAssembly.js +6 -3
  189. package/dist/lib/rag/reranker/RerankerFactory.d.ts +5 -60
  190. package/dist/lib/rag/resilience/CircuitBreaker.d.ts +3 -33
  191. package/dist/lib/rag/resilience/RetryHandler.d.ts +2 -21
  192. package/dist/lib/rag/retrieval/hybridSearch.d.ts +3 -41
  193. package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +2 -13
  194. package/dist/lib/rag/retrieval/vectorQueryTool.js +4 -3
  195. package/dist/lib/rag/types.d.ts +3 -3
  196. package/dist/lib/sdk/toolRegistration.d.ts +2 -2
  197. package/dist/lib/server/middleware/cache.d.ts +2 -2
  198. package/dist/lib/server/middleware/rateLimit.d.ts +2 -2
  199. package/dist/lib/server/routes/mcpRoutes.js +277 -249
  200. package/dist/lib/server/routes/memoryRoutes.js +287 -281
  201. package/dist/lib/server/utils/validation.d.ts +10 -10
  202. package/dist/lib/session/globalSessionState.d.ts +2 -2
  203. package/dist/lib/telemetry/telemetryService.d.ts +2 -2
  204. package/dist/lib/types/common.d.ts +39 -0
  205. package/dist/lib/types/contextTypes.d.ts +255 -0
  206. package/dist/lib/types/contextTypes.js +0 -2
  207. package/dist/lib/types/conversation.d.ts +62 -0
  208. package/dist/lib/types/conversationMemoryInterface.d.ts +27 -0
  209. package/dist/lib/types/conversationMemoryInterface.js +7 -0
  210. package/dist/lib/types/fileReferenceTypes.d.ts +222 -0
  211. package/dist/lib/types/fileReferenceTypes.js +9 -0
  212. package/dist/lib/types/fileTypes.d.ts +26 -3
  213. package/dist/lib/types/generateTypes.d.ts +22 -1
  214. package/dist/lib/types/index.d.ts +4 -5
  215. package/dist/lib/types/index.js +8 -10
  216. package/dist/lib/types/modelTypes.d.ts +2 -2
  217. package/dist/lib/types/processorTypes.d.ts +597 -0
  218. package/dist/lib/types/processorTypes.js +91 -0
  219. package/dist/lib/types/ragTypes.d.ts +481 -0
  220. package/dist/lib/types/ragTypes.js +8 -0
  221. package/dist/lib/types/sdkTypes.d.ts +17 -18
  222. package/dist/lib/types/streamTypes.d.ts +11 -1
  223. package/dist/lib/utils/async/retry.d.ts +2 -2
  224. package/dist/lib/utils/async/withTimeout.js +3 -1
  225. package/dist/lib/utils/conversationMemory.d.ts +12 -6
  226. package/dist/lib/utils/conversationMemory.js +76 -36
  227. package/dist/lib/utils/fileDetector.d.ts +62 -0
  228. package/dist/lib/utils/fileDetector.js +1014 -14
  229. package/dist/lib/utils/json/safeParse.d.ts +2 -2
  230. package/dist/lib/utils/messageBuilder.js +806 -153
  231. package/dist/lib/utils/modelChoices.d.ts +2 -2
  232. package/dist/lib/utils/multimodalOptionsBuilder.d.ts +2 -1
  233. package/dist/lib/utils/multimodalOptionsBuilder.js +1 -0
  234. package/dist/lib/utils/rateLimiter.d.ts +2 -2
  235. package/dist/lib/utils/sanitizers/filename.d.ts +4 -4
  236. package/dist/lib/utils/sanitizers/svg.d.ts +2 -2
  237. package/dist/lib/utils/thinkingConfig.d.ts +6 -6
  238. package/dist/lib/utils/tokenEstimation.d.ts +68 -0
  239. package/dist/lib/utils/tokenEstimation.js +113 -0
  240. package/dist/lib/utils/tokenUtils.d.ts +4 -4
  241. package/dist/lib/utils/ttsProcessor.d.ts +2 -2
  242. package/dist/lib/workflow/config.d.ts +150 -150
  243. package/dist/memory/mem0Initializer.d.ts +2 -2
  244. package/dist/neurolink.d.ts +61 -2
  245. package/dist/neurolink.js +619 -307
  246. package/dist/processors/archive/ArchiveProcessor.d.ts +327 -0
  247. package/dist/processors/archive/ArchiveProcessor.js +1308 -0
  248. package/dist/processors/archive/index.d.ts +33 -0
  249. package/dist/processors/archive/index.js +42 -0
  250. package/dist/processors/base/types.d.ts +70 -64
  251. package/dist/processors/base/types.js +6 -0
  252. package/dist/processors/cli/fileProcessorCli.d.ts +8 -8
  253. package/dist/processors/cli/fileProcessorCli.js +5 -5
  254. package/dist/processors/config/mimeTypes.js +25 -0
  255. package/dist/processors/config/sizeLimits.d.ts +52 -40
  256. package/dist/processors/config/sizeLimits.js +56 -44
  257. package/dist/processors/document/ExcelProcessor.d.ts +14 -0
  258. package/dist/processors/document/ExcelProcessor.js +72 -1
  259. package/dist/processors/document/PptxProcessor.d.ts +63 -0
  260. package/dist/processors/document/PptxProcessor.js +157 -0
  261. package/dist/processors/document/index.d.ts +1 -0
  262. package/dist/processors/document/index.js +6 -0
  263. package/dist/processors/errors/FileErrorCode.d.ts +2 -2
  264. package/dist/processors/errors/errorHelpers.d.ts +2 -2
  265. package/dist/processors/errors/errorSerializer.d.ts +4 -4
  266. package/dist/processors/index.d.ts +8 -2
  267. package/dist/processors/index.js +5 -2
  268. package/dist/processors/integration/FileProcessorIntegration.d.ts +8 -8
  269. package/dist/processors/integration/FileProcessorIntegration.js +7 -7
  270. package/dist/processors/media/AudioProcessor.d.ts +328 -0
  271. package/dist/processors/media/AudioProcessor.js +707 -0
  272. package/dist/processors/media/VideoProcessor.d.ts +350 -0
  273. package/dist/processors/media/VideoProcessor.js +991 -0
  274. package/dist/processors/media/ffprobe-static.d.ts +4 -0
  275. package/dist/processors/media/index.d.ts +27 -0
  276. package/dist/processors/media/index.js +36 -0
  277. package/dist/processors/registry/ProcessorRegistry.d.ts +19 -5
  278. package/dist/processors/registry/ProcessorRegistry.js +103 -8
  279. package/dist/processors/registry/index.d.ts +1 -1
  280. package/dist/processors/registry/index.js +1 -1
  281. package/dist/processors/registry/types.d.ts +2 -2
  282. package/dist/providers/googleAiStudio.d.ts +34 -0
  283. package/dist/providers/googleAiStudio.js +267 -397
  284. package/dist/providers/googleVertex.d.ts +55 -1
  285. package/dist/providers/googleVertex.js +452 -719
  286. package/dist/providers/sagemaker/detection.d.ts +6 -6
  287. package/dist/providers/sagemaker/diagnostics.d.ts +4 -4
  288. package/dist/providers/sagemaker/parsers.d.ts +4 -4
  289. package/dist/rag/chunkers/RecursiveChunker.js +2 -2
  290. package/dist/rag/document/loaders.d.ts +6 -71
  291. package/dist/rag/document/loaders.js +5 -5
  292. package/dist/rag/graphRag/graphRAG.js +26 -9
  293. package/dist/rag/metadata/MetadataExtractorFactory.d.ts +5 -55
  294. package/dist/rag/metadata/metadataExtractor.js +6 -3
  295. package/dist/rag/pipeline/RAGPipeline.d.ts +8 -126
  296. package/dist/rag/pipeline/RAGPipeline.js +11 -11
  297. package/dist/rag/pipeline/contextAssembly.d.ts +3 -42
  298. package/dist/rag/pipeline/contextAssembly.js +6 -3
  299. package/dist/rag/reranker/RerankerFactory.d.ts +5 -60
  300. package/dist/rag/resilience/CircuitBreaker.d.ts +3 -33
  301. package/dist/rag/resilience/RetryHandler.d.ts +2 -21
  302. package/dist/rag/retrieval/hybridSearch.d.ts +3 -41
  303. package/dist/rag/retrieval/vectorQueryTool.d.ts +2 -13
  304. package/dist/rag/retrieval/vectorQueryTool.js +4 -3
  305. package/dist/rag/types.d.ts +3 -3
  306. package/dist/sdk/toolRegistration.d.ts +2 -2
  307. package/dist/server/middleware/cache.d.ts +2 -2
  308. package/dist/server/middleware/rateLimit.d.ts +2 -2
  309. package/dist/server/routes/mcpRoutes.js +277 -249
  310. package/dist/server/routes/memoryRoutes.js +287 -281
  311. package/dist/server/utils/validation.d.ts +4 -4
  312. package/dist/session/globalSessionState.d.ts +2 -2
  313. package/dist/telemetry/telemetryService.d.ts +2 -2
  314. package/dist/types/common.d.ts +39 -0
  315. package/dist/types/contextTypes.d.ts +255 -0
  316. package/dist/types/contextTypes.js +0 -2
  317. package/dist/types/conversation.d.ts +62 -0
  318. package/dist/types/conversationMemoryInterface.d.ts +27 -0
  319. package/dist/types/conversationMemoryInterface.js +6 -0
  320. package/dist/types/fileReferenceTypes.d.ts +222 -0
  321. package/dist/types/fileReferenceTypes.js +8 -0
  322. package/dist/types/fileTypes.d.ts +26 -3
  323. package/dist/types/generateTypes.d.ts +22 -1
  324. package/dist/types/index.d.ts +4 -5
  325. package/dist/types/index.js +8 -10
  326. package/dist/types/processorTypes.d.ts +597 -0
  327. package/dist/types/processorTypes.js +90 -0
  328. package/dist/types/ragTypes.d.ts +481 -0
  329. package/dist/types/ragTypes.js +7 -0
  330. package/dist/types/sdkTypes.d.ts +17 -18
  331. package/dist/types/streamTypes.d.ts +11 -1
  332. package/dist/utils/async/retry.d.ts +2 -2
  333. package/dist/utils/async/withTimeout.js +3 -1
  334. package/dist/utils/conversationMemory.d.ts +12 -6
  335. package/dist/utils/conversationMemory.js +76 -36
  336. package/dist/utils/fileDetector.d.ts +62 -0
  337. package/dist/utils/fileDetector.js +1014 -14
  338. package/dist/utils/json/safeParse.d.ts +2 -2
  339. package/dist/utils/messageBuilder.js +806 -153
  340. package/dist/utils/modelChoices.d.ts +2 -2
  341. package/dist/utils/multimodalOptionsBuilder.d.ts +2 -1
  342. package/dist/utils/multimodalOptionsBuilder.js +1 -0
  343. package/dist/utils/rateLimiter.d.ts +2 -2
  344. package/dist/utils/sanitizers/filename.d.ts +4 -4
  345. package/dist/utils/sanitizers/svg.d.ts +2 -2
  346. package/dist/utils/thinkingConfig.d.ts +6 -6
  347. package/dist/utils/tokenEstimation.d.ts +68 -0
  348. package/dist/utils/tokenEstimation.js +112 -0
  349. package/dist/utils/tokenUtils.d.ts +4 -4
  350. package/dist/utils/ttsProcessor.d.ts +2 -2
  351. package/dist/workflow/config.d.ts +104 -104
  352. package/package.json +18 -6
  353. package/dist/lib/utils/conversationMemoryUtils.d.ts +0 -25
  354. package/dist/lib/utils/conversationMemoryUtils.js +0 -138
  355. package/dist/utils/conversationMemoryUtils.d.ts +0 -25
  356. package/dist/utils/conversationMemoryUtils.js +0 -137
@@ -307,10 +307,13 @@ export function orderByDocumentStructure(chunks) {
307
307
  const byDocument = new Map();
308
308
  for (const chunk of chunks) {
309
309
  const docId = chunk.metadata.documentId;
310
- if (!byDocument.has(docId)) {
311
- byDocument.set(docId, []);
310
+ const group = byDocument.get(docId);
311
+ if (group) {
312
+ group.push(chunk);
313
+ }
314
+ else {
315
+ byDocument.set(docId, [chunk]);
312
316
  }
313
- byDocument.get(docId).push(chunk);
314
317
  }
315
318
  // Sort each document's chunks by position
316
319
  for (const docChunks of byDocument.values()) {
@@ -6,66 +6,11 @@
6
6
  */
7
7
  import { BaseFactory } from "../../core/infrastructure/index.js";
8
8
  import type { AIProvider } from "../../types/providers.js";
9
- import type { RerankerOptions, RerankResult, VectorQueryResult } from "../types.js";
10
- /**
11
- * Supported reranker types
12
- */
13
- export type RerankerType = "llm" | "cross-encoder" | "cohere" | "simple" | "batch";
14
- /**
15
- * Reranker interface - all rerankers implement this
16
- */
17
- export interface Reranker {
18
- /** Reranker type identifier */
19
- readonly type: RerankerType;
20
- /**
21
- * Rerank results based on query relevance
22
- * @param results - Vector search results to rerank
23
- * @param query - Original search query
24
- * @param options - Reranking options
25
- * @returns Reranked results with scores
26
- */
27
- rerank(results: VectorQueryResult[], query: string, options?: RerankerOptions): Promise<RerankResult[]>;
28
- }
29
- /**
30
- * Reranker configuration
31
- */
32
- export interface RerankerConfig {
33
- /** Reranker type */
34
- type: RerankerType;
35
- /** Model name for LLM-based rerankers */
36
- model?: string;
37
- /** Provider for the model */
38
- provider?: string;
39
- /** Number of results to return after reranking */
40
- topK?: number;
41
- /** Scoring weights */
42
- weights?: {
43
- semantic?: number;
44
- vector?: number;
45
- position?: number;
46
- };
47
- /** API key for external services (e.g., Cohere) */
48
- apiKey?: string;
49
- }
50
- /**
51
- * Reranker metadata for discovery and documentation
52
- */
53
- export interface RerankerMetadata {
54
- /** Human-readable description */
55
- description: string;
56
- /** Default configuration */
57
- defaultConfig: Partial<RerankerConfig>;
58
- /** Supported configuration options */
59
- supportedOptions: string[];
60
- /** Recommended use cases */
61
- useCases: string[];
62
- /** Alternative names for this reranker */
63
- aliases: string[];
64
- /** Whether this reranker requires an AI model */
65
- requiresModel: boolean;
66
- /** Whether this reranker requires external API */
67
- requiresExternalAPI: boolean;
68
- }
9
+ import type { Reranker, RerankerConfig, RerankerMetadata, RerankerType } from "../../types/ragTypes.js";
10
+ export type { RerankerType } from "../../types/ragTypes.js";
11
+ export type { Reranker } from "../../types/ragTypes.js";
12
+ export type { RerankerConfig } from "../../types/ragTypes.js";
13
+ export type { RerankerMetadata } from "../../types/ragTypes.js";
69
14
  /**
70
15
  * Reranker Factory
71
16
  *
@@ -10,39 +10,9 @@ import { TypedEventEmitter } from "../../core/infrastructure/index.js";
10
10
  * Circuit breaker states
11
11
  */
12
12
  export type CircuitState = "closed" | "open" | "half-open";
13
- /**
14
- * Circuit breaker configuration
15
- */
16
- export interface RAGCircuitBreakerConfig {
17
- /** Number of failures before opening circuit (default: 5) */
18
- failureThreshold: number;
19
- /** Time in ms before attempting reset (default: 60000) */
20
- resetTimeout: number;
21
- /** Max calls allowed in half-open state (default: 3) */
22
- halfOpenMaxCalls: number;
23
- /** Operation timeout in ms (default: 30000) */
24
- operationTimeout: number;
25
- /** Minimum calls before calculating failure rate (default: 10) */
26
- minimumCallsBeforeCalculation: number;
27
- /** Time window for statistics in ms (default: 300000 - 5 minutes) */
28
- statisticsWindowSize: number;
29
- }
30
- /**
31
- * Circuit breaker statistics
32
- */
33
- export interface RAGCircuitBreakerStats {
34
- state: CircuitState;
35
- totalCalls: number;
36
- successfulCalls: number;
37
- failedCalls: number;
38
- failureRate: number;
39
- windowCalls: number;
40
- lastStateChange: Date;
41
- nextRetryTime?: Date;
42
- halfOpenCalls: number;
43
- averageLatency: number;
44
- p95Latency: number;
45
- }
13
+ import type { RAGCircuitBreakerConfig, RAGCircuitBreakerStats } from "../../types/ragTypes.js";
14
+ export type { RAGCircuitBreakerConfig } from "../../types/ragTypes.js";
15
+ export type { RAGCircuitBreakerStats } from "../../types/ragTypes.js";
46
16
  /**
47
17
  * Circuit breaker events
48
18
  */
@@ -5,27 +5,8 @@
5
5
  * specifically designed for RAG operations including embeddings,
6
6
  * vector queries, and LLM-based extraction.
7
7
  */
8
- /**
9
- * RAG-specific retry configuration
10
- */
11
- export interface RAGRetryConfig {
12
- /** Maximum number of retry attempts (default: 3) */
13
- maxRetries: number;
14
- /** Initial delay in ms (default: 1000) */
15
- initialDelay: number;
16
- /** Maximum delay in ms (default: 30000) */
17
- maxDelay: number;
18
- /** Backoff multiplier (default: 2) */
19
- backoffMultiplier: number;
20
- /** Whether to add jitter (default: true) */
21
- jitter: boolean;
22
- /** Custom function to determine if error is retryable */
23
- shouldRetry?: (error: Error) => boolean;
24
- /** Retryable error codes */
25
- retryableErrorCodes?: string[];
26
- /** Retryable HTTP status codes */
27
- retryableStatusCodes?: number[];
28
- }
8
+ import type { RAGRetryConfig } from "../../types/ragTypes.js";
9
+ export type { RAGRetryConfig } from "../../types/ragTypes.js";
29
10
  /**
30
11
  * Default retry configuration
31
12
  */
@@ -5,29 +5,8 @@
5
5
  * Supports multiple fusion methods: Reciprocal Rank Fusion (RRF) and Linear Combination.
6
6
  */
7
7
  import type { BM25Result, HybridSearchConfig, HybridSearchResult } from "../types.js";
8
- import type { VectorStore } from "./vectorQueryTool.js";
9
- /**
10
- * BM25 Index interface
11
- * Implementations should provide sparse retrieval capabilities
12
- */
13
- export interface BM25Index {
14
- /**
15
- * Search documents using BM25 algorithm
16
- * @param query - Search query string
17
- * @param topK - Number of results to return
18
- * @returns Array of BM25 results
19
- */
20
- search(query: string, topK?: number): Promise<BM25Result[]>;
21
- /**
22
- * Add documents to the index
23
- * @param documents - Documents to index
24
- */
25
- addDocuments(documents: Array<{
26
- id: string;
27
- text: string;
28
- metadata?: Record<string, unknown>;
29
- }>): Promise<void>;
30
- }
8
+ import type { BM25Index, HybridSearchOptions } from "../../types/ragTypes.js";
9
+ export type { BM25Index } from "../../types/ragTypes.js";
31
10
  /**
32
11
  * In-memory BM25 implementation for testing and development
33
12
  */
@@ -67,24 +46,7 @@ export declare function reciprocalRankFusion(rankings: Array<Array<{
67
46
  * @returns Map of document IDs to combined scores
68
47
  */
69
48
  export declare function linearCombination(vectorScores: Map<string, number>, bm25Scores: Map<string, number>, alpha?: number): Map<string, number>;
70
- /**
71
- * Hybrid search configuration for creating a search function
72
- */
73
- export interface HybridSearchOptions {
74
- /** Vector store instance */
75
- vectorStore: VectorStore;
76
- /** BM25 index instance */
77
- bm25Index: BM25Index;
78
- /** Index name for vector store */
79
- indexName: string;
80
- /** Embedding model configuration (optional - uses defaults from ProviderFactory if not specified) */
81
- embeddingModel?: {
82
- provider?: string;
83
- modelName?: string;
84
- };
85
- /** Default search configuration */
86
- defaultConfig?: HybridSearchConfig;
87
- }
49
+ export type { HybridSearchOptions } from "../../types/ragTypes.js";
88
50
  /**
89
51
  * Create a hybrid search function
90
52
  *
@@ -6,19 +6,8 @@
6
6
  */
7
7
  import { z } from "zod";
8
8
  import type { MetadataFilter, RequestContext, VectorQueryResponse, VectorQueryResult, VectorQueryToolConfig } from "../types.js";
9
- /**
10
- * Abstract vector store interface
11
- * Vector stores should implement this interface to work with the query tool
12
- */
13
- export interface VectorStore {
14
- query(params: {
15
- indexName: string;
16
- queryVector: number[];
17
- topK?: number;
18
- filter?: MetadataFilter;
19
- includeVectors?: boolean;
20
- }): Promise<VectorQueryResult[]>;
21
- }
9
+ import type { VectorStore } from "../../types/ragTypes.js";
10
+ export type { VectorStore } from "../../types/ragTypes.js";
22
11
  /**
23
12
  * Creates a vector query tool for semantic search
24
13
  * Follows NeuroLink's factory pattern
@@ -123,10 +123,11 @@ export class InMemoryVectorStore {
123
123
  * Add vectors to an index
124
124
  */
125
125
  async upsert(indexName, items) {
126
- if (!this.vectors.has(indexName)) {
127
- this.vectors.set(indexName, new Map());
126
+ let index = this.vectors.get(indexName);
127
+ if (!index) {
128
+ index = new Map();
129
+ this.vectors.set(indexName, index);
128
130
  }
129
- const index = this.vectors.get(indexName);
130
131
  for (const item of items) {
131
132
  index.set(item.id, {
132
133
  vector: item.vector,
@@ -211,9 +211,9 @@ export type SemanticChunkerConfig = BaseChunkerConfig & {
211
211
  */
212
212
  export type ChunkerConfig = CharacterChunkerConfig | RecursiveChunkerConfig | SentenceChunkerConfig | TokenChunkerConfig | MarkdownChunkerConfig | HTMLChunkerConfig | JSONChunkerConfig | LaTeXChunkerConfig | SemanticChunkerConfig;
213
213
  /**
214
- * Chunker interface - all chunking strategies implement this
214
+ * Chunker type - all chunking strategies implement this
215
215
  */
216
- export interface Chunker {
216
+ export type Chunker = {
217
217
  /** Strategy name for identification */
218
218
  readonly strategy: ChunkingStrategy;
219
219
  /**
@@ -223,7 +223,7 @@ export interface Chunker {
223
223
  * @returns Array of chunks
224
224
  */
225
225
  chunk(text: string, config?: BaseChunkerConfig): Promise<Chunk[]>;
226
- }
226
+ };
227
227
  /**
228
228
  * Chunker metadata for factory registration
229
229
  */
@@ -27,7 +27,7 @@ export type ToolContext = SDKToolContext;
27
27
  * Simple tool interface for SDK users
28
28
  * Extends the core SimpleTool with specific types
29
29
  */
30
- export interface SimpleTool<TArgs = ToolArgs, TResult = JsonValue> extends Omit<CoreSimpleTool<TArgs, TResult>, "execute"> {
30
+ export type SimpleTool<TArgs = ToolArgs, TResult = JsonValue> = Omit<CoreSimpleTool<TArgs, TResult>, "execute"> & {
31
31
  /**
32
32
  * Tool description that helps AI understand when to use it
33
33
  */
@@ -51,7 +51,7 @@ export interface SimpleTool<TArgs = ToolArgs, TResult = JsonValue> extends Omit<
51
51
  documentation?: string;
52
52
  [key: string]: JsonValue | undefined;
53
53
  };
54
- }
54
+ };
55
55
  /**
56
56
  * Creates a MCPServerInfo from a set of tools
57
57
  */
@@ -55,12 +55,12 @@ export type CacheEntry = {
55
55
  /**
56
56
  * Cache store interface
57
57
  */
58
- export interface CacheStore {
58
+ export type CacheStore = {
59
59
  get(key: string): Promise<CacheEntry | undefined>;
60
60
  set(key: string, entry: CacheEntry): Promise<void>;
61
61
  delete(key: string): Promise<void>;
62
62
  clear(): Promise<void>;
63
- }
63
+ };
64
64
  /**
65
65
  * In-memory LRU cache store
66
66
  */
@@ -41,7 +41,7 @@ export type RateLimitEntry = {
41
41
  * Rate limit store interface
42
42
  * Implement this for custom storage (Redis, etc.)
43
43
  */
44
- export interface RateLimitStore {
44
+ export type RateLimitStore = {
45
45
  /**
46
46
  * Get the current entry for a key
47
47
  */
@@ -59,7 +59,7 @@ export interface RateLimitStore {
59
59
  * Reset the counter for a key
60
60
  */
61
61
  reset(key: string): Promise<void>;
62
- }
62
+ };
63
63
  /**
64
64
  * In-memory rate limit store
65
65
  */