@juspay/neurolink 9.32.0 → 9.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/auth/anthropicOAuth.js +1 -1
- package/dist/cli/commands/proxy.js +18 -5
- package/dist/client/aiSdkAdapter.js +1 -1
- package/dist/client/index.js +137 -501
- package/dist/core/factory.js +0 -1
- package/dist/core/redisConversationMemoryManager.js +1 -1
- package/dist/features/ppt/slideGenerator.js +0 -1
- package/dist/features/ppt/utils.js +0 -1
- package/dist/lib/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/mcp/elicitationProtocol.js +1 -1
- package/dist/mcp/servers/agent/directToolsServer.js +0 -1
- package/dist/providers/azureOpenai.js +1 -1
- package/dist/providers/huggingFace.js +0 -1
- package/dist/providers/openaiCompatible.js +0 -1
- package/dist/sdk/toolRegistration.js +0 -1
- package/dist/server/openapi/generator.js +1 -1
- package/dist/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/types/configTypes.js +0 -5
- package/dist/types/modelTypes.js +0 -1
- package/dist/types/tools.js +0 -1
- package/dist/types/typeAliases.js +0 -1
- package/dist/types/utilities.js +1 -1
- package/dist/types/workflowTypes.js +0 -1
- package/dist/utils/providerRetry.js +0 -1
- package/dist/utils/providerUtils.js +0 -1
- package/package.json +2 -2
- package/dist/client/adapters/providerImageAdapter.js +0 -588
- package/dist/client/adapters/tts/googleTTSHandler.js +0 -344
- package/dist/client/adapters/video/directorPipeline.js +0 -516
- package/dist/client/adapters/video/ffmpegAdapter.js +0 -206
- package/dist/client/adapters/video/frameExtractor.js +0 -143
- package/dist/client/adapters/video/vertexVideoHandler.js +0 -763
- package/dist/client/adapters/video/videoAnalyzer.js +0 -238
- package/dist/client/adapters/video/videoMerger.js +0 -171
- package/dist/client/agent/directTools.js +0 -840
- package/dist/client/auth/AuthProviderFactory.js +0 -111
- package/dist/client/auth/AuthProviderRegistry.js +0 -190
- package/dist/client/auth/RequestContext.js +0 -78
- package/dist/client/auth/accountPool.js +0 -178
- package/dist/client/auth/anthropicOAuth.js +0 -974
- package/dist/client/auth/authContext.js +0 -314
- package/dist/client/auth/errors.js +0 -39
- package/dist/client/auth/index.js +0 -61
- package/dist/client/auth/middleware/AuthMiddleware.js +0 -519
- package/dist/client/auth/middleware/rateLimitByUser.js +0 -554
- package/dist/client/auth/providers/BaseAuthProvider.js +0 -723
- package/dist/client/auth/providers/CognitoProvider.js +0 -304
- package/dist/client/auth/providers/KeycloakProvider.js +0 -393
- package/dist/client/auth/providers/auth0.js +0 -274
- package/dist/client/auth/providers/betterAuth.js +0 -182
- package/dist/client/auth/providers/clerk.js +0 -317
- package/dist/client/auth/providers/custom.js +0 -112
- package/dist/client/auth/providers/firebase.js +0 -226
- package/dist/client/auth/providers/jwt.js +0 -212
- package/dist/client/auth/providers/oauth2.js +0 -303
- package/dist/client/auth/providers/supabase.js +0 -259
- package/dist/client/auth/providers/workos.js +0 -284
- package/dist/client/auth/serverBridge.js +0 -25
- package/dist/client/auth/sessionManager.js +0 -437
- package/dist/client/auth/tokenStore.js +0 -799
- package/dist/client/client/aiSdkAdapter.js +0 -487
- package/dist/client/client/auth.js +0 -473
- package/dist/client/client/errors.js +0 -552
- package/dist/client/client/httpClient.js +0 -837
- package/dist/client/client/index.js +0 -172
- package/dist/client/client/interceptors.js +0 -601
- package/dist/client/client/sseClient.js +0 -545
- package/dist/client/client/streamingClient.js +0 -917
- package/dist/client/client/wsClient.js +0 -369
- package/dist/client/config/configManager.js +0 -303
- package/dist/client/config/conversationMemory.js +0 -86
- package/dist/client/config/taskClassificationConfig.js +0 -148
- package/dist/client/constants/contextWindows.js +0 -295
- package/dist/client/constants/enums.js +0 -853
- package/dist/client/constants/index.js +0 -207
- package/dist/client/constants/performance.js +0 -389
- package/dist/client/constants/retry.js +0 -266
- package/dist/client/constants/timeouts.js +0 -182
- package/dist/client/constants/tokens.js +0 -380
- package/dist/client/constants/videoErrors.js +0 -46
- package/dist/client/context/budgetChecker.js +0 -98
- package/dist/client/context/contextCompactor.js +0 -205
- package/dist/client/context/emergencyTruncation.js +0 -88
- package/dist/client/context/errorDetection.js +0 -171
- package/dist/client/context/errors.js +0 -21
- package/dist/client/context/fileTokenBudget.js +0 -127
- package/dist/client/context/prompts/summarizationPrompt.js +0 -117
- package/dist/client/context/stages/fileReadDeduplicator.js +0 -66
- package/dist/client/context/stages/slidingWindowTruncator.js +0 -190
- package/dist/client/context/stages/structuredSummarizer.js +0 -99
- package/dist/client/context/stages/toolOutputPruner.js +0 -52
- package/dist/client/context/summarizationEngine.js +0 -136
- package/dist/client/context/toolOutputLimits.js +0 -78
- package/dist/client/context/toolPairRepair.js +0 -66
- package/dist/client/core/analytics.js +0 -88
- package/dist/client/core/baseProvider.js +0 -1385
- package/dist/client/core/constants.js +0 -140
- package/dist/client/core/conversationMemoryFactory.js +0 -141
- package/dist/client/core/conversationMemoryInitializer.js +0 -128
- package/dist/client/core/conversationMemoryManager.js +0 -344
- package/dist/client/core/dynamicModels.js +0 -358
- package/dist/client/core/evaluation.js +0 -309
- package/dist/client/core/evaluationProviders.js +0 -248
- package/dist/client/core/factory.js +0 -412
- package/dist/client/core/infrastructure/baseError.js +0 -22
- package/dist/client/core/infrastructure/baseFactory.js +0 -54
- package/dist/client/core/infrastructure/baseRegistry.js +0 -53
- package/dist/client/core/infrastructure/index.js +0 -5
- package/dist/client/core/infrastructure/retry.js +0 -20
- package/dist/client/core/infrastructure/typedEventEmitter.js +0 -23
- package/dist/client/core/modelConfiguration.js +0 -851
- package/dist/client/core/modules/GenerationHandler.js +0 -588
- package/dist/client/core/modules/MessageBuilder.js +0 -273
- package/dist/client/core/modules/StreamHandler.js +0 -185
- package/dist/client/core/modules/TelemetryHandler.js +0 -203
- package/dist/client/core/modules/ToolsManager.js +0 -499
- package/dist/client/core/modules/Utilities.js +0 -331
- package/dist/client/core/redisConversationMemoryManager.js +0 -1435
- package/dist/client/core/streamAnalytics.js +0 -131
- package/dist/client/evaluation/contextBuilder.js +0 -134
- package/dist/client/evaluation/index.js +0 -61
- package/dist/client/evaluation/prompts.js +0 -73
- package/dist/client/evaluation/ragasEvaluator.js +0 -110
- package/dist/client/evaluation/retryManager.js +0 -78
- package/dist/client/evaluation/scoring.js +0 -61
- package/dist/client/factories/providerFactory.js +0 -166
- package/dist/client/factories/providerRegistry.js +0 -166
- package/dist/client/features/ppt/constants.js +0 -896
- package/dist/client/features/ppt/contentPlanner.js +0 -529
- package/dist/client/features/ppt/presentationOrchestrator.js +0 -236
- package/dist/client/features/ppt/slideGenerator.js +0 -532
- package/dist/client/features/ppt/slideRenderers.js +0 -2383
- package/dist/client/features/ppt/slideTypeInference.js +0 -405
- package/dist/client/features/ppt/types.js +0 -13
- package/dist/client/features/ppt/utils.js +0 -443
- package/dist/client/files/fileReferenceRegistry.js +0 -1543
- package/dist/client/files/fileTools.js +0 -450
- package/dist/client/files/streamingReader.js +0 -321
- package/dist/client/files/types.js +0 -23
- package/dist/client/hitl/hitlErrors.js +0 -54
- package/dist/client/hitl/hitlManager.js +0 -460
- package/dist/client/mcp/agentExposure.js +0 -356
- package/dist/client/mcp/auth/index.js +0 -11
- package/dist/client/mcp/auth/oauthClientProvider.js +0 -325
- package/dist/client/mcp/auth/tokenStorage.js +0 -134
- package/dist/client/mcp/batching/index.js +0 -10
- package/dist/client/mcp/batching/requestBatcher.js +0 -441
- package/dist/client/mcp/caching/index.js +0 -10
- package/dist/client/mcp/caching/toolCache.js +0 -433
- package/dist/client/mcp/elicitation/elicitationManager.js +0 -376
- package/dist/client/mcp/elicitation/index.js +0 -11
- package/dist/client/mcp/elicitation/types.js +0 -10
- package/dist/client/mcp/elicitationProtocol.js +0 -375
- package/dist/client/mcp/enhancedToolDiscovery.js +0 -481
- package/dist/client/mcp/externalServerManager.js +0 -1478
- package/dist/client/mcp/factory.js +0 -161
- package/dist/client/mcp/flexibleToolValidator.js +0 -161
- package/dist/client/mcp/httpRateLimiter.js +0 -391
- package/dist/client/mcp/httpRetryHandler.js +0 -178
- package/dist/client/mcp/index.js +0 -74
- package/dist/client/mcp/mcpCircuitBreaker.js +0 -427
- package/dist/client/mcp/mcpClientFactory.js +0 -708
- package/dist/client/mcp/mcpRegistryClient.js +0 -488
- package/dist/client/mcp/mcpServerBase.js +0 -373
- package/dist/client/mcp/multiServerManager.js +0 -579
- package/dist/client/mcp/registry.js +0 -158
- package/dist/client/mcp/routing/index.js +0 -10
- package/dist/client/mcp/routing/toolRouter.js +0 -416
- package/dist/client/mcp/serverCapabilities.js +0 -502
- package/dist/client/mcp/servers/agent/directToolsServer.js +0 -150
- package/dist/client/mcp/toolAnnotations.js +0 -239
- package/dist/client/mcp/toolConverter.js +0 -258
- package/dist/client/mcp/toolDiscoveryService.js +0 -798
- package/dist/client/mcp/toolIntegration.js +0 -334
- package/dist/client/mcp/toolRegistry.js +0 -729
- package/dist/client/memory/hippocampusInitializer.js +0 -19
- package/dist/client/memory/memoryRetrievalTools.js +0 -166
- package/dist/client/middleware/builtin/analytics.js +0 -132
- package/dist/client/middleware/builtin/autoEvaluation.js +0 -203
- package/dist/client/middleware/builtin/guardrails.js +0 -109
- package/dist/client/middleware/builtin/lifecycle.js +0 -168
- package/dist/client/middleware/factory.js +0 -327
- package/dist/client/middleware/registry.js +0 -295
- package/dist/client/middleware/utils/guardrailsUtils.js +0 -396
- package/dist/client/models/anthropicModels.js +0 -527
- package/dist/client/neurolink.js +0 -8233
- package/dist/client/observability/exporterRegistry.js +0 -413
- package/dist/client/observability/exporters/arizeExporter.js +0 -138
- package/dist/client/observability/exporters/baseExporter.js +0 -190
- package/dist/client/observability/exporters/braintrustExporter.js +0 -154
- package/dist/client/observability/exporters/datadogExporter.js +0 -196
- package/dist/client/observability/exporters/laminarExporter.js +0 -302
- package/dist/client/observability/exporters/langfuseExporter.js +0 -209
- package/dist/client/observability/exporters/langsmithExporter.js +0 -143
- package/dist/client/observability/exporters/otelExporter.js +0 -164
- package/dist/client/observability/exporters/posthogExporter.js +0 -287
- package/dist/client/observability/exporters/sentryExporter.js +0 -165
- package/dist/client/observability/index.js +0 -31
- package/dist/client/observability/metricsAggregator.js +0 -556
- package/dist/client/observability/otelBridge.js +0 -131
- package/dist/client/observability/retryPolicy.js +0 -383
- package/dist/client/observability/sampling/samplers.js +0 -216
- package/dist/client/observability/spanProcessor.js +0 -303
- package/dist/client/observability/tokenTracker.js +0 -413
- package/dist/client/observability/types/exporterTypes.js +0 -5
- package/dist/client/observability/types/index.js +0 -4
- package/dist/client/observability/types/spanTypes.js +0 -92
- package/dist/client/observability/utils/safeMetadata.js +0 -25
- package/dist/client/observability/utils/spanSerializer.js +0 -292
- package/dist/client/processors/archive/ArchiveProcessor.js +0 -1308
- package/dist/client/processors/base/BaseFileProcessor.js +0 -614
- package/dist/client/processors/base/types.js +0 -82
- package/dist/client/processors/config/fileTypes.js +0 -520
- package/dist/client/processors/config/index.js +0 -92
- package/dist/client/processors/config/languageMap.js +0 -410
- package/dist/client/processors/config/mimeTypes.js +0 -363
- package/dist/client/processors/config/sizeLimits.js +0 -258
- package/dist/client/processors/document/ExcelProcessor.js +0 -590
- package/dist/client/processors/document/OpenDocumentProcessor.js +0 -212
- package/dist/client/processors/document/PptxProcessor.js +0 -157
- package/dist/client/processors/document/RtfProcessor.js +0 -361
- package/dist/client/processors/document/WordProcessor.js +0 -353
- package/dist/client/processors/errors/FileErrorCode.js +0 -255
- package/dist/client/processors/errors/errorHelpers.js +0 -386
- package/dist/client/processors/errors/errorSerializer.js +0 -507
- package/dist/client/processors/errors/index.js +0 -49
- package/dist/client/processors/markup/SvgProcessor.js +0 -240
- package/dist/client/processors/media/AudioProcessor.js +0 -707
- package/dist/client/processors/media/VideoProcessor.js +0 -1045
- package/dist/client/providers/amazonBedrock.js +0 -1512
- package/dist/client/providers/amazonSagemaker.js +0 -162
- package/dist/client/providers/anthropic.js +0 -831
- package/dist/client/providers/azureOpenai.js +0 -143
- package/dist/client/providers/googleAiStudio.js +0 -1200
- package/dist/client/providers/googleNativeGemini3.js +0 -543
- package/dist/client/providers/googleVertex.js +0 -2936
- package/dist/client/providers/huggingFace.js +0 -315
- package/dist/client/providers/litellm.js +0 -488
- package/dist/client/providers/mistral.js +0 -157
- package/dist/client/providers/ollama.js +0 -1579
- package/dist/client/providers/openAI.js +0 -627
- package/dist/client/providers/openRouter.js +0 -543
- package/dist/client/providers/openaiCompatible.js +0 -290
- package/dist/client/providers/providerTypeUtils.js +0 -46
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +0 -215
- package/dist/client/providers/sagemaker/client.js +0 -472
- package/dist/client/providers/sagemaker/config.js +0 -317
- package/dist/client/providers/sagemaker/detection.js +0 -606
- package/dist/client/providers/sagemaker/error-constants.js +0 -227
- package/dist/client/providers/sagemaker/errors.js +0 -299
- package/dist/client/providers/sagemaker/language-model.js +0 -775
- package/dist/client/providers/sagemaker/parsers.js +0 -634
- package/dist/client/providers/sagemaker/streaming.js +0 -331
- package/dist/client/providers/sagemaker/structured-parser.js +0 -625
- package/dist/client/proxy/accountQuota.js +0 -162
- package/dist/client/proxy/claudeFormat.js +0 -595
- package/dist/client/proxy/modelRouter.js +0 -29
- package/dist/client/proxy/oauthFetch.js +0 -367
- package/dist/client/proxy/proxyFetch.js +0 -586
- package/dist/client/proxy/requestLogger.js +0 -207
- package/dist/client/proxy/tokenRefresh.js +0 -124
- package/dist/client/proxy/usageStats.js +0 -74
- package/dist/client/proxy/utils/noProxyUtils.js +0 -149
- package/dist/client/rag/ChunkerFactory.js +0 -320
- package/dist/client/rag/ChunkerRegistry.js +0 -421
- package/dist/client/rag/chunkers/BaseChunker.js +0 -143
- package/dist/client/rag/chunkers/CharacterChunker.js +0 -28
- package/dist/client/rag/chunkers/HTMLChunker.js +0 -38
- package/dist/client/rag/chunkers/JSONChunker.js +0 -68
- package/dist/client/rag/chunkers/LaTeXChunker.js +0 -63
- package/dist/client/rag/chunkers/MarkdownChunker.js +0 -306
- package/dist/client/rag/chunkers/RecursiveChunker.js +0 -139
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +0 -138
- package/dist/client/rag/chunkers/SentenceChunker.js +0 -66
- package/dist/client/rag/chunkers/TokenChunker.js +0 -61
- package/dist/client/rag/chunkers/index.js +0 -15
- package/dist/client/rag/chunking/characterChunker.js +0 -142
- package/dist/client/rag/chunking/chunkerRegistry.js +0 -194
- package/dist/client/rag/chunking/htmlChunker.js +0 -247
- package/dist/client/rag/chunking/index.js +0 -17
- package/dist/client/rag/chunking/jsonChunker.js +0 -281
- package/dist/client/rag/chunking/latexChunker.js +0 -251
- package/dist/client/rag/chunking/markdownChunker.js +0 -373
- package/dist/client/rag/chunking/recursiveChunker.js +0 -148
- package/dist/client/rag/chunking/semanticChunker.js +0 -306
- package/dist/client/rag/chunking/sentenceChunker.js +0 -230
- package/dist/client/rag/chunking/tokenChunker.js +0 -183
- package/dist/client/rag/document/MDocument.js +0 -392
- package/dist/client/rag/document/index.js +0 -5
- package/dist/client/rag/document/loaders.js +0 -500
- package/dist/client/rag/errors/RAGError.js +0 -274
- package/dist/client/rag/errors/index.js +0 -6
- package/dist/client/rag/graphRag/graphRAG.js +0 -401
- package/dist/client/rag/graphRag/index.js +0 -4
- package/dist/client/rag/index.js +0 -141
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +0 -418
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +0 -362
- package/dist/client/rag/metadata/index.js +0 -9
- package/dist/client/rag/metadata/metadataExtractor.js +0 -280
- package/dist/client/rag/pipeline/RAGPipeline.js +0 -436
- package/dist/client/rag/pipeline/contextAssembly.js +0 -341
- package/dist/client/rag/pipeline/index.js +0 -5
- package/dist/client/rag/ragIntegration.js +0 -321
- package/dist/client/rag/reranker/RerankerFactory.js +0 -430
- package/dist/client/rag/reranker/RerankerRegistry.js +0 -402
- package/dist/client/rag/reranker/index.js +0 -9
- package/dist/client/rag/reranker/reranker.js +0 -277
- package/dist/client/rag/resilience/CircuitBreaker.js +0 -431
- package/dist/client/rag/resilience/RetryHandler.js +0 -304
- package/dist/client/rag/resilience/index.js +0 -7
- package/dist/client/rag/retrieval/hybridSearch.js +0 -335
- package/dist/client/rag/retrieval/index.js +0 -5
- package/dist/client/rag/retrieval/vectorQueryTool.js +0 -307
- package/dist/client/rag/types.js +0 -8
- package/dist/client/sdk/toolRegistration.js +0 -377
- package/dist/client/server/abstract/baseServerAdapter.js +0 -575
- package/dist/client/server/adapters/expressAdapter.js +0 -486
- package/dist/client/server/adapters/fastifyAdapter.js +0 -472
- package/dist/client/server/adapters/honoAdapter.js +0 -632
- package/dist/client/server/adapters/koaAdapter.js +0 -510
- package/dist/client/server/errors.js +0 -486
- package/dist/client/server/factory/serverAdapterFactory.js +0 -160
- package/dist/client/server/index.js +0 -108
- package/dist/client/server/middleware/abortSignal.js +0 -111
- package/dist/client/server/middleware/auth.js +0 -388
- package/dist/client/server/middleware/cache.js +0 -359
- package/dist/client/server/middleware/common.js +0 -281
- package/dist/client/server/middleware/deprecation.js +0 -190
- package/dist/client/server/middleware/mcpBodyAttachment.js +0 -63
- package/dist/client/server/middleware/rateLimit.js +0 -227
- package/dist/client/server/middleware/validation.js +0 -388
- package/dist/client/server/openapi/generator.js +0 -398
- package/dist/client/server/openapi/index.js +0 -36
- package/dist/client/server/openapi/schemas.js +0 -695
- package/dist/client/server/openapi/templates.js +0 -374
- package/dist/client/server/routes/agentRoutes.js +0 -189
- package/dist/client/server/routes/claudeProxyRoutes.js +0 -1600
- package/dist/client/server/routes/healthRoutes.js +0 -187
- package/dist/client/server/routes/index.js +0 -57
- package/dist/client/server/routes/mcpRoutes.js +0 -342
- package/dist/client/server/routes/memoryRoutes.js +0 -350
- package/dist/client/server/routes/openApiRoutes.js +0 -126
- package/dist/client/server/routes/toolRoutes.js +0 -199
- package/dist/client/server/streaming/dataStream.js +0 -486
- package/dist/client/server/streaming/index.js +0 -11
- package/dist/client/server/types.js +0 -67
- package/dist/client/server/utils/redaction.js +0 -334
- package/dist/client/server/utils/validation.js +0 -243
- package/dist/client/server/websocket/WebSocketHandler.js +0 -383
- package/dist/client/server/websocket/index.js +0 -4
- package/dist/client/services/server/ai/observability/instrumentation.js +0 -808
- package/dist/client/telemetry/attributes.js +0 -100
- package/dist/client/telemetry/index.js +0 -26
- package/dist/client/telemetry/telemetryService.js +0 -308
- package/dist/client/telemetry/tracers.js +0 -17
- package/dist/client/telemetry/withSpan.js +0 -34
- package/dist/client/types/actionTypes.js +0 -6
- package/dist/client/types/analytics.js +0 -5
- package/dist/client/types/authTypes.js +0 -9
- package/dist/client/types/circuitBreakerErrors.js +0 -34
- package/dist/client/types/cli.js +0 -21
- package/dist/client/types/clientTypes.js +0 -10
- package/dist/client/types/common.js +0 -51
- package/dist/client/types/configTypes.js +0 -49
- package/dist/client/types/content.js +0 -19
- package/dist/client/types/contextTypes.js +0 -400
- package/dist/client/types/conversation.js +0 -47
- package/dist/client/types/conversationMemoryInterface.js +0 -6
- package/dist/client/types/domainTypes.js +0 -5
- package/dist/client/types/errors.js +0 -167
- package/dist/client/types/evaluation.js +0 -5
- package/dist/client/types/evaluationProviders.js +0 -5
- package/dist/client/types/evaluationTypes.js +0 -1
- package/dist/client/types/externalMcp.js +0 -6
- package/dist/client/types/fileReferenceTypes.js +0 -8
- package/dist/client/types/fileTypes.js +0 -4
- package/dist/client/types/generateTypes.js +0 -1
- package/dist/client/types/guardrails.js +0 -1
- package/dist/client/types/hitlTypes.js +0 -8
- package/dist/client/types/index.js +0 -57
- package/dist/client/types/mcpTypes.js +0 -5
- package/dist/client/types/middlewareTypes.js +0 -1
- package/dist/client/types/modelTypes.js +0 -30
- package/dist/client/types/multimodal.js +0 -135
- package/dist/client/types/observability.js +0 -6
- package/dist/client/types/pptTypes.js +0 -82
- package/dist/client/types/providers.js +0 -111
- package/dist/client/types/proxyTypes.js +0 -16
- package/dist/client/types/ragTypes.js +0 -7
- package/dist/client/types/sdkTypes.js +0 -8
- package/dist/client/types/serviceTypes.js +0 -5
- package/dist/client/types/streamTypes.js +0 -1
- package/dist/client/types/subscriptionTypes.js +0 -9
- package/dist/client/types/taskClassificationTypes.js +0 -5
- package/dist/client/types/tools.js +0 -24
- package/dist/client/types/ttsTypes.js +0 -57
- package/dist/client/types/typeAliases.js +0 -48
- package/dist/client/types/utilities.js +0 -4
- package/dist/client/types/workflowTypes.js +0 -30
- package/dist/client/utils/async/withTimeout.js +0 -98
- package/dist/client/utils/asyncMutex.js +0 -60
- package/dist/client/utils/conversationMemory.js +0 -431
- package/dist/client/utils/csvProcessor.js +0 -846
- package/dist/client/utils/errorHandling.js +0 -936
- package/dist/client/utils/evaluationUtils.js +0 -131
- package/dist/client/utils/factoryProcessing.js +0 -589
- package/dist/client/utils/fileDetector.js +0 -2161
- package/dist/client/utils/imageCache.js +0 -376
- package/dist/client/utils/imageProcessor.js +0 -704
- package/dist/client/utils/logger.js +0 -491
- package/dist/client/utils/mcpDefaults.js +0 -134
- package/dist/client/utils/messageBuilder.js +0 -1653
- package/dist/client/utils/modelAliasResolver.js +0 -54
- package/dist/client/utils/modelDetection.js +0 -80
- package/dist/client/utils/modelRouter.js +0 -292
- package/dist/client/utils/multimodalOptionsBuilder.js +0 -65
- package/dist/client/utils/observabilityHelpers.js +0 -47
- package/dist/client/utils/parameterValidation.js +0 -966
- package/dist/client/utils/pdfProcessor.js +0 -410
- package/dist/client/utils/performance.js +0 -222
- package/dist/client/utils/pricing.js +0 -340
- package/dist/client/utils/promptRedaction.js +0 -62
- package/dist/client/utils/providerConfig.js +0 -1009
- package/dist/client/utils/providerHealth.js +0 -1237
- package/dist/client/utils/providerRetry.js +0 -112
- package/dist/client/utils/providerUtils.js +0 -434
- package/dist/client/utils/rateLimiter.js +0 -200
- package/dist/client/utils/redis.js +0 -368
- package/dist/client/utils/retryHandler.js +0 -269
- package/dist/client/utils/retryability.js +0 -22
- package/dist/client/utils/sanitizers/svg.js +0 -481
- package/dist/client/utils/schemaConversion.js +0 -255
- package/dist/client/utils/taskClassificationUtils.js +0 -149
- package/dist/client/utils/taskClassifier.js +0 -94
- package/dist/client/utils/thinkingConfig.js +0 -104
- package/dist/client/utils/timeout.js +0 -359
- package/dist/client/utils/tokenEstimation.js +0 -142
- package/dist/client/utils/tokenLimits.js +0 -125
- package/dist/client/utils/tokenUtils.js +0 -239
- package/dist/client/utils/toolUtils.js +0 -75
- package/dist/client/utils/transformationUtils.js +0 -554
- package/dist/client/utils/ttsProcessor.js +0 -286
- package/dist/client/utils/typeUtils.js +0 -97
- package/dist/client/utils/videoAnalysisProcessor.js +0 -67
- package/dist/client/workflow/config.js +0 -398
- package/dist/client/workflow/core/ensembleExecutor.js +0 -407
- package/dist/client/workflow/core/judgeScorer.js +0 -544
- package/dist/client/workflow/core/responseConditioner.js +0 -225
- package/dist/client/workflow/core/types/conditionerTypes.js +0 -7
- package/dist/client/workflow/core/types/ensembleTypes.js +0 -7
- package/dist/client/workflow/core/types/index.js +0 -7
- package/dist/client/workflow/core/types/judgeTypes.js +0 -7
- package/dist/client/workflow/core/types/layerTypes.js +0 -7
- package/dist/client/workflow/core/types/registryTypes.js +0 -7
- package/dist/client/workflow/core/workflowRegistry.js +0 -304
- package/dist/client/workflow/core/workflowRunner.js +0 -586
- package/dist/client/workflow/index.js +0 -50
- package/dist/client/workflow/types.js +0 -9
- package/dist/client/workflow/utils/types/index.js +0 -7
- package/dist/client/workflow/utils/workflowMetrics.js +0 -311
- package/dist/client/workflow/utils/workflowValidation.js +0 -420
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +0 -366
- package/dist/client/workflow/workflows/consensusWorkflow.js +0 -192
- package/dist/client/workflow/workflows/fallbackWorkflow.js +0 -225
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +0 -351
- /package/dist/client/{client/reactHooks.js → reactHooks.js} +0 -0
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Central configuration constants for NeuroLink
|
|
3
|
-
* Single source of truth for all default values
|
|
4
|
-
*/
|
|
5
|
-
// Image Generation Model Identifiers
|
|
6
|
-
// Used to detect if a model is an image generation model (not text generation)
|
|
7
|
-
export const IMAGE_GENERATION_MODELS = [
|
|
8
|
-
"gemini-3-pro-image-preview",
|
|
9
|
-
"gemini-2.5-flash-image",
|
|
10
|
-
"gemini-3.1-flash-image-preview",
|
|
11
|
-
];
|
|
12
|
-
// PDF Image Generation Models
|
|
13
|
-
// Models that support generating images from PDFs
|
|
14
|
-
export const PDF_IMAGE_GENERATION_MODELS = [
|
|
15
|
-
"gemini-3-pro-image-preview",
|
|
16
|
-
"gemini-3.1-flash-image-preview",
|
|
17
|
-
];
|
|
18
|
-
// Global Location Models
|
|
19
|
-
// Models that require global location configuration (uses aiplatform.googleapis.com instead of region-specific endpoints)
|
|
20
|
-
export const GLOBAL_LOCATION_MODELS = [
|
|
21
|
-
"gemini-3-pro-image-preview",
|
|
22
|
-
"gemini-2.5-flash-image",
|
|
23
|
-
"gemini-3.1-flash-image-preview",
|
|
24
|
-
];
|
|
25
|
-
// Core AI Generation Defaults
|
|
26
|
-
export const DEFAULT_MAX_TOKENS = undefined; // Unlimited by default - let providers decide their own limits
|
|
27
|
-
export const DEFAULT_TEMPERATURE = 0.7;
|
|
28
|
-
export const DEFAULT_TIMEOUT = 60000;
|
|
29
|
-
export const DEFAULT_MAX_STEPS = 200;
|
|
30
|
-
export const DEFAULT_TOOL_MAX_RETRIES = 2; // Maximum retries per tool before permanently failing
|
|
31
|
-
// Step execution limits
|
|
32
|
-
export const STEP_LIMITS = {
|
|
33
|
-
min: 1,
|
|
34
|
-
max: 500,
|
|
35
|
-
default: DEFAULT_MAX_STEPS,
|
|
36
|
-
};
|
|
37
|
-
// Specialized Use Case Defaults
|
|
38
|
-
export const DEFAULT_EVALUATION_MAX_TOKENS = 500; // Keep evaluation fast
|
|
39
|
-
export const DEFAULT_ANALYSIS_MAX_TOKENS = 800; // For analysis tools
|
|
40
|
-
export const DEFAULT_DOCUMENTATION_MAX_TOKENS = 12000; // For documentation generation
|
|
41
|
-
// Provider-specific configurations
|
|
42
|
-
export const PROVIDER_CONFIG = {
|
|
43
|
-
evaluation: {
|
|
44
|
-
maxTokens: DEFAULT_EVALUATION_MAX_TOKENS,
|
|
45
|
-
model: "gemini-2.5-flash",
|
|
46
|
-
temperature: 0.3, // Lower temperature for consistent evaluation
|
|
47
|
-
},
|
|
48
|
-
analysis: {
|
|
49
|
-
maxTokens: DEFAULT_ANALYSIS_MAX_TOKENS,
|
|
50
|
-
temperature: 0.5,
|
|
51
|
-
},
|
|
52
|
-
documentation: {
|
|
53
|
-
maxTokens: DEFAULT_DOCUMENTATION_MAX_TOKENS,
|
|
54
|
-
temperature: 0.4,
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
// Provider-specific maxTokens limits
|
|
58
|
-
export const PROVIDER_MAX_TOKENS = {
|
|
59
|
-
anthropic: {
|
|
60
|
-
default: 64000,
|
|
61
|
-
},
|
|
62
|
-
openai: {
|
|
63
|
-
default: 128000,
|
|
64
|
-
},
|
|
65
|
-
"google-ai": {
|
|
66
|
-
default: 64000,
|
|
67
|
-
},
|
|
68
|
-
vertex: {
|
|
69
|
-
default: 64000,
|
|
70
|
-
},
|
|
71
|
-
bedrock: {
|
|
72
|
-
default: 64000,
|
|
73
|
-
},
|
|
74
|
-
azure: {
|
|
75
|
-
default: 128000,
|
|
76
|
-
},
|
|
77
|
-
mistral: {
|
|
78
|
-
default: 128000,
|
|
79
|
-
},
|
|
80
|
-
ollama: {
|
|
81
|
-
default: 64000,
|
|
82
|
-
},
|
|
83
|
-
litellm: {
|
|
84
|
-
default: 128000,
|
|
85
|
-
},
|
|
86
|
-
default: 64000,
|
|
87
|
-
};
|
|
88
|
-
// CLI Validation Limits
|
|
89
|
-
export const CLI_LIMITS = {
|
|
90
|
-
maxTokens: {
|
|
91
|
-
min: 1,
|
|
92
|
-
max: 64000,
|
|
93
|
-
default: DEFAULT_MAX_TOKENS,
|
|
94
|
-
},
|
|
95
|
-
temperature: {
|
|
96
|
-
min: 0,
|
|
97
|
-
max: 2,
|
|
98
|
-
default: DEFAULT_TEMPERATURE,
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
// PDF Processing Limits
|
|
102
|
-
export const PDF_LIMITS = {
|
|
103
|
-
// Maximum PDF size for image conversion (20MB)
|
|
104
|
-
MAX_SIZE_MB: 20,
|
|
105
|
-
// Default maximum pages for image conversion
|
|
106
|
-
DEFAULT_MAX_PAGES: 20,
|
|
107
|
-
};
|
|
108
|
-
// Performance and System Limits
|
|
109
|
-
export const SYSTEM_LIMITS = {
|
|
110
|
-
// Prompt size limits (baseProvider.ts magic number fix)
|
|
111
|
-
MAX_PROMPT_LENGTH: 1000000, // 1M characters - prevents memory issues
|
|
112
|
-
// Memory monitoring thresholds (performance.ts)
|
|
113
|
-
HIGH_MEMORY_THRESHOLD: 100, // MB - when to warn about memory usage
|
|
114
|
-
// Timeout warnings (baseProvider.ts)
|
|
115
|
-
LONG_TIMEOUT_WARNING: 300000, // 5 minutes - when to warn about long timeouts
|
|
116
|
-
// Concurrency control (neurolink.ts provider testing)
|
|
117
|
-
DEFAULT_CONCURRENCY_LIMIT: 3, // Max parallel provider tests
|
|
118
|
-
MAX_CONCURRENCY_LIMIT: 5, // Upper bound for concurrency
|
|
119
|
-
// Retry system defaults (retryHandler.ts)
|
|
120
|
-
DEFAULT_RETRY_ATTEMPTS: 3,
|
|
121
|
-
DEFAULT_INITIAL_DELAY: 1000, // 1 second
|
|
122
|
-
DEFAULT_MAX_DELAY: 30000, // 30 seconds
|
|
123
|
-
DEFAULT_BACKOFF_MULTIPLIER: 2,
|
|
124
|
-
};
|
|
125
|
-
// Environment Variable Support (for future use)
|
|
126
|
-
export const ENV_DEFAULTS = {
|
|
127
|
-
maxTokens: (() => {
|
|
128
|
-
if (!process.env.NEUROLINK_DEFAULT_MAX_TOKENS) {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
const n = parseInt(process.env.NEUROLINK_DEFAULT_MAX_TOKENS, 10);
|
|
132
|
-
return Number.isFinite(n) ? n : undefined;
|
|
133
|
-
})(),
|
|
134
|
-
temperature: process.env.NEUROLINK_DEFAULT_TEMPERATURE
|
|
135
|
-
? (() => {
|
|
136
|
-
const t = parseFloat(process.env.NEUROLINK_DEFAULT_TEMPERATURE);
|
|
137
|
-
return Number.isFinite(t) ? t : DEFAULT_TEMPERATURE;
|
|
138
|
-
})()
|
|
139
|
-
: DEFAULT_TEMPERATURE,
|
|
140
|
-
};
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversation Memory Factory for NeuroLink
|
|
3
|
-
* Creates appropriate conversation memory manager based on configuration
|
|
4
|
-
*/
|
|
5
|
-
import { ConversationMemoryManager } from "./conversationMemoryManager.js";
|
|
6
|
-
import { RedisConversationMemoryManager } from "./redisConversationMemoryManager.js";
|
|
7
|
-
import { logger } from "../utils/logger.js";
|
|
8
|
-
/**
|
|
9
|
-
* Creates a conversation memory manager based on configuration
|
|
10
|
-
*/
|
|
11
|
-
export function createConversationMemoryManager(config, storageType = "memory", redisConfig) {
|
|
12
|
-
logger.debug("[conversationMemoryFactory] Creating conversation memory manager", {
|
|
13
|
-
storageType,
|
|
14
|
-
config: {
|
|
15
|
-
enabled: config.enabled,
|
|
16
|
-
maxSessions: config.maxSessions,
|
|
17
|
-
enableSummarization: config.enableSummarization,
|
|
18
|
-
summarizationProvider: config.summarizationProvider,
|
|
19
|
-
summarizationModel: config.summarizationModel,
|
|
20
|
-
},
|
|
21
|
-
hasRedisConfig: !!redisConfig,
|
|
22
|
-
});
|
|
23
|
-
// Default to memory storage
|
|
24
|
-
if (storageType === "memory" || !storageType) {
|
|
25
|
-
logger.debug("[conversationMemoryFactory] Creating in-memory conversation manager");
|
|
26
|
-
const memoryManager = new ConversationMemoryManager(config);
|
|
27
|
-
logger.debug("[conversationMemoryFactory] In-memory conversation manager created successfully", {
|
|
28
|
-
managerType: memoryManager.constructor.name,
|
|
29
|
-
});
|
|
30
|
-
return memoryManager;
|
|
31
|
-
}
|
|
32
|
-
// Redis storage
|
|
33
|
-
if (storageType === "redis") {
|
|
34
|
-
logger.debug("[conversationMemoryFactory] Creating Redis conversation manager", {
|
|
35
|
-
host: redisConfig?.host || "localhost",
|
|
36
|
-
port: redisConfig?.port || 6379,
|
|
37
|
-
keyPrefix: redisConfig?.keyPrefix || "neurolink:conversation:",
|
|
38
|
-
ttl: redisConfig?.ttl || 86400,
|
|
39
|
-
hasConnectionOptions: !!redisConfig?.connectionOptions,
|
|
40
|
-
});
|
|
41
|
-
const redisManager = new RedisConversationMemoryManager(config, redisConfig);
|
|
42
|
-
logger.debug("[conversationMemoryFactory] Redis conversation manager created successfully", {
|
|
43
|
-
managerType: redisManager.constructor.name,
|
|
44
|
-
config: {
|
|
45
|
-
maxSessions: config.maxSessions,
|
|
46
|
-
maxTurnsPerSession: config.maxTurnsPerSession,
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
return redisManager;
|
|
50
|
-
}
|
|
51
|
-
// Fallback to memory storage for unknown types
|
|
52
|
-
logger.warn(`[conversationMemoryFactory] Unknown storage type: ${storageType}, falling back to memory storage`);
|
|
53
|
-
const fallbackManager = new ConversationMemoryManager(config);
|
|
54
|
-
logger.debug("[conversationMemoryFactory] Fallback memory manager created successfully", {
|
|
55
|
-
managerType: fallbackManager.constructor.name,
|
|
56
|
-
});
|
|
57
|
-
return fallbackManager;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Get storage type from environment variable or configuration
|
|
61
|
-
*/
|
|
62
|
-
export function getStorageType() {
|
|
63
|
-
// Get the raw value from environment, or use default
|
|
64
|
-
const rawStorageType = process.env.STORAGE_TYPE;
|
|
65
|
-
// Default to "memory" if not set
|
|
66
|
-
if (!rawStorageType) {
|
|
67
|
-
logger.debug("[conversationMemoryFactory] No storage type configured, using default", {
|
|
68
|
-
storageType: "memory",
|
|
69
|
-
fromEnv: false,
|
|
70
|
-
});
|
|
71
|
-
return "memory";
|
|
72
|
-
}
|
|
73
|
-
// Normalize: trim and convert to lowercase
|
|
74
|
-
const normalizedStorageType = rawStorageType.trim().toLowerCase();
|
|
75
|
-
// Validate against allowed StorageType values
|
|
76
|
-
const validStorageTypes = ["memory", "redis"];
|
|
77
|
-
if (validStorageTypes.includes(normalizedStorageType)) {
|
|
78
|
-
logger.debug("[conversationMemoryFactory] Determined storage type", {
|
|
79
|
-
storageType: normalizedStorageType,
|
|
80
|
-
fromEnv: true,
|
|
81
|
-
envValue: rawStorageType,
|
|
82
|
-
normalized: normalizedStorageType !== rawStorageType,
|
|
83
|
-
});
|
|
84
|
-
return normalizedStorageType;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
// Invalid storage type, log warning and return default
|
|
88
|
-
logger.warn(`[conversationMemoryFactory] Unrecognized storage type in environment: "${rawStorageType}", falling back to "memory"`, {
|
|
89
|
-
providedValue: rawStorageType,
|
|
90
|
-
normalizedValue: normalizedStorageType,
|
|
91
|
-
validValues: validStorageTypes,
|
|
92
|
-
usingDefault: true,
|
|
93
|
-
});
|
|
94
|
-
return "memory";
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get Redis configuration from environment variables
|
|
99
|
-
*/
|
|
100
|
-
export function getRedisConfigFromEnv() {
|
|
101
|
-
logger.debug("[conversationMemoryFactory] Reading Redis configuration from environment", {
|
|
102
|
-
REDIS_HOST: process.env.REDIS_HOST || "(not set)",
|
|
103
|
-
REDIS_PORT: process.env.REDIS_PORT || "(not set)",
|
|
104
|
-
REDIS_PASSWORD: process.env.REDIS_PASSWORD ? "******" : "(not set)",
|
|
105
|
-
REDIS_DB: process.env.REDIS_DB || "(not set)",
|
|
106
|
-
REDIS_KEY_PREFIX: process.env.REDIS_KEY_PREFIX || "(not set)",
|
|
107
|
-
REDIS_TTL: process.env.REDIS_TTL || "(not set)",
|
|
108
|
-
REDIS_CONNECT_TIMEOUT: process.env.REDIS_CONNECT_TIMEOUT || "(not set)",
|
|
109
|
-
REDIS_MAX_RETRIES: process.env.REDIS_MAX_RETRIES || "(not set)",
|
|
110
|
-
REDIS_RETRY_DELAY: process.env.REDIS_RETRY_DELAY || "(not set)",
|
|
111
|
-
});
|
|
112
|
-
const config = {
|
|
113
|
-
host: process.env.REDIS_HOST,
|
|
114
|
-
port: process.env.REDIS_PORT ? Number(process.env.REDIS_PORT) : undefined,
|
|
115
|
-
password: process.env.REDIS_PASSWORD,
|
|
116
|
-
db: process.env.REDIS_DB ? Number(process.env.REDIS_DB) : undefined,
|
|
117
|
-
keyPrefix: process.env.REDIS_KEY_PREFIX,
|
|
118
|
-
ttl: process.env.REDIS_TTL ? Number(process.env.REDIS_TTL) : undefined,
|
|
119
|
-
connectionOptions: {
|
|
120
|
-
connectTimeout: process.env.REDIS_CONNECT_TIMEOUT
|
|
121
|
-
? Number(process.env.REDIS_CONNECT_TIMEOUT)
|
|
122
|
-
: undefined,
|
|
123
|
-
maxRetriesPerRequest: process.env.REDIS_MAX_RETRIES
|
|
124
|
-
? Number(process.env.REDIS_MAX_RETRIES)
|
|
125
|
-
: undefined,
|
|
126
|
-
retryDelayOnFailover: process.env.REDIS_RETRY_DELAY
|
|
127
|
-
? Number(process.env.REDIS_RETRY_DELAY)
|
|
128
|
-
: undefined,
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
logger.debug("[conversationMemoryFactory] Redis configuration normalized", {
|
|
132
|
-
host: config.host || "localhost",
|
|
133
|
-
port: config.port || 6379,
|
|
134
|
-
hasPassword: !!config.password,
|
|
135
|
-
db: config.db || 0,
|
|
136
|
-
keyPrefix: config.keyPrefix || "neurolink:conversation:",
|
|
137
|
-
ttl: config.ttl || 86400,
|
|
138
|
-
hasConnectionOptions: !!config.connectionOptions,
|
|
139
|
-
});
|
|
140
|
-
return config;
|
|
141
|
-
}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversation Memory Initializer
|
|
3
|
-
* Provides integration with Redis storage for conversation memory
|
|
4
|
-
*/
|
|
5
|
-
import { applyConversationMemoryDefaults } from "../utils/conversationMemory.js";
|
|
6
|
-
import { logger } from "../utils/logger.js";
|
|
7
|
-
import { createConversationMemoryManager, getRedisConfigFromEnv, getStorageType, } from "./conversationMemoryFactory.js";
|
|
8
|
-
/**
|
|
9
|
-
* Initialize conversation memory for NeuroLink
|
|
10
|
-
* This function decides whether to use in-memory or Redis storage
|
|
11
|
-
*/
|
|
12
|
-
export async function initializeConversationMemory(config) {
|
|
13
|
-
logger.debug("[conversationMemoryInitializer] Initialize conversation memory called", {
|
|
14
|
-
hasConfig: !!config,
|
|
15
|
-
hasMemoryConfig: !!config?.conversationMemory,
|
|
16
|
-
memoryEnabled: config?.conversationMemory?.enabled || false,
|
|
17
|
-
storageType: process.env.STORAGE_TYPE || "memory",
|
|
18
|
-
});
|
|
19
|
-
if (!config?.conversationMemory?.enabled) {
|
|
20
|
-
logger.debug("[conversationMemoryInitializer] Conversation memory not enabled - skipping initialization");
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
// Apply default configuration
|
|
25
|
-
logger.debug("[conversationMemoryInitializer] Applying conversation memory defaults");
|
|
26
|
-
const memoryConfig = applyConversationMemoryDefaults(config.conversationMemory);
|
|
27
|
-
logger.debug("[conversationMemoryInitializer] Memory configuration processed", {
|
|
28
|
-
enabled: memoryConfig.enabled,
|
|
29
|
-
maxSessions: memoryConfig.maxSessions,
|
|
30
|
-
maxTurnsPerSession: memoryConfig.maxTurnsPerSession,
|
|
31
|
-
enableSummarization: memoryConfig.enableSummarization,
|
|
32
|
-
});
|
|
33
|
-
// Determine storage type: if redisConfig is passed in the SDK config, use Redis
|
|
34
|
-
// regardless of STORAGE_TYPE env var. This lets consumers configure Redis via the API.
|
|
35
|
-
const hasRedisConfig = !!config.conversationMemory?.redisConfig;
|
|
36
|
-
const storageType = hasRedisConfig ? "redis" : getStorageType();
|
|
37
|
-
logger.debug("[conversationMemoryInitializer] Storage type determined", {
|
|
38
|
-
storageType,
|
|
39
|
-
fromConfig: hasRedisConfig,
|
|
40
|
-
fromEnv: !hasRedisConfig && !!process.env.STORAGE_TYPE,
|
|
41
|
-
});
|
|
42
|
-
if (storageType === "redis") {
|
|
43
|
-
logger.info("[conversationMemoryInitializer] Initializing Redis-based conversation memory manager");
|
|
44
|
-
// Get Redis configuration - prioritize passed config, fallback to environment
|
|
45
|
-
logger.debug("[conversationMemoryInitializer] Getting Redis configuration");
|
|
46
|
-
const redisConfig = config.conversationMemory?.redisConfig || getRedisConfigFromEnv();
|
|
47
|
-
const configSource = config.conversationMemory?.redisConfig
|
|
48
|
-
? "SDK input (from Lighthouse)"
|
|
49
|
-
: "environment variables (NeuroLink)";
|
|
50
|
-
logger.debug("[conversationMemoryInitializer] Redis configuration retrieved", {
|
|
51
|
-
configSource,
|
|
52
|
-
host: redisConfig.host || "localhost",
|
|
53
|
-
port: redisConfig.port || 6379,
|
|
54
|
-
hasPassword: !!redisConfig.password,
|
|
55
|
-
db: redisConfig.db || 0,
|
|
56
|
-
keyPrefix: redisConfig.keyPrefix || "neurolink:conversation:",
|
|
57
|
-
ttl: redisConfig.ttl || 86400,
|
|
58
|
-
});
|
|
59
|
-
// Create Redis-based conversation memory manager
|
|
60
|
-
logger.debug("[conversationMemoryInitializer] Creating Redis conversation memory manager");
|
|
61
|
-
const redisMemoryManager = createConversationMemoryManager(memoryConfig, "redis", redisConfig);
|
|
62
|
-
logger.debug("[conversationMemoryInitializer] Checking Redis manager creation result", {
|
|
63
|
-
managerType: redisMemoryManager?.constructor?.name || "unknown",
|
|
64
|
-
isRedisType: redisMemoryManager?.constructor?.name ===
|
|
65
|
-
"RedisConversationMemoryManager",
|
|
66
|
-
hasConfig: !!redisMemoryManager?.config,
|
|
67
|
-
});
|
|
68
|
-
logger.info("[conversationMemoryInitializer] Redis conversation memory manager created successfully");
|
|
69
|
-
// Perform basic validation
|
|
70
|
-
if (redisMemoryManager?.constructor?.name !==
|
|
71
|
-
"RedisConversationMemoryManager") {
|
|
72
|
-
logger.warn("[conversationMemoryInitializer] Created manager is not of RedisConversationMemoryManager type", {
|
|
73
|
-
actualType: redisMemoryManager?.constructor?.name,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return redisMemoryManager;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
logger.info("[conversationMemoryInitializer] Initializing in-memory conversation memory manager");
|
|
80
|
-
// Create in-memory conversation memory manager
|
|
81
|
-
logger.debug("[conversationMemoryInitializer] Creating in-memory conversation memory manager");
|
|
82
|
-
const memoryManager = createConversationMemoryManager(memoryConfig);
|
|
83
|
-
logger.debug("[conversationMemoryInitializer] Checking memory manager creation result", {
|
|
84
|
-
managerType: memoryManager?.constructor?.name || "unknown",
|
|
85
|
-
isInMemoryType: memoryManager?.constructor?.name === "ConversationMemoryManager",
|
|
86
|
-
hasConfig: !!memoryManager?.config,
|
|
87
|
-
});
|
|
88
|
-
logger.info("[conversationMemoryInitializer] In-memory conversation memory manager created successfully", {
|
|
89
|
-
maxSessions: memoryConfig.maxSessions,
|
|
90
|
-
maxTurnsPerSession: memoryConfig.maxTurnsPerSession,
|
|
91
|
-
managerType: memoryManager?.constructor?.name,
|
|
92
|
-
});
|
|
93
|
-
return memoryManager;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
logger.error("[conversationMemoryInitializer] Failed to initialize conversation memory", {
|
|
98
|
-
error: error instanceof Error ? error.message : String(error),
|
|
99
|
-
errorName: error instanceof Error ? error.name : "UnknownError",
|
|
100
|
-
errorStack: error instanceof Error ? error.stack : undefined,
|
|
101
|
-
storageType: process.env.STORAGE_TYPE || "memory",
|
|
102
|
-
memoryConfig: {
|
|
103
|
-
enabled: config?.conversationMemory?.enabled,
|
|
104
|
-
maxSessions: config?.conversationMemory?.maxSessions,
|
|
105
|
-
maxTurnsPerSession: config?.conversationMemory?.maxTurnsPerSession,
|
|
106
|
-
},
|
|
107
|
-
redisConfig: {
|
|
108
|
-
host: process.env.REDIS_HOST || "(not set)",
|
|
109
|
-
port: process.env.REDIS_PORT || "(not set)",
|
|
110
|
-
hasPassword: !!process.env.REDIS_PASSWORD,
|
|
111
|
-
keyPrefix: process.env.REDIS_KEY_PREFIX || "(not set)",
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
// Log additional diagnostics for redis errors
|
|
115
|
-
if (process.env.STORAGE_TYPE === "redis") {
|
|
116
|
-
logger.error("[conversationMemoryInitializer] Redis configuration error details", {
|
|
117
|
-
REDIS_HOST: process.env.REDIS_HOST || "(not set)",
|
|
118
|
-
REDIS_PORT: process.env.REDIS_PORT || "(not set)",
|
|
119
|
-
REDIS_PASSWORD: process.env.REDIS_PASSWORD ? "******" : "(not set)",
|
|
120
|
-
REDIS_DB: process.env.REDIS_DB || "(not set)",
|
|
121
|
-
REDIS_KEY_PREFIX: process.env.REDIS_KEY_PREFIX || "(not set)",
|
|
122
|
-
REDIS_TTL: process.env.REDIS_TTL || "(not set)",
|
|
123
|
-
errorMessage: error instanceof Error ? error.message : String(error),
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
throw error;
|
|
127
|
-
}
|
|
128
|
-
}
|