@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,491 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NeuroLink Unified Logger Utility
|
|
3
|
-
*
|
|
4
|
-
* Centralized logging for the entire NeuroLink ecosystem.
|
|
5
|
-
* Provides structured logging with different severity levels and consistent formatting.
|
|
6
|
-
* Supports both CLI --debug flag and NEUROLINK_DEBUG environment variable.
|
|
7
|
-
* Maintains compatibility with MCP logging while providing enhanced features.
|
|
8
|
-
*
|
|
9
|
-
* Features:
|
|
10
|
-
* - Multiple log levels (debug, info, warn, error)
|
|
11
|
-
* - Log history retention with configurable limits
|
|
12
|
-
* - Conditional logging based on environment settings
|
|
13
|
-
* - Structured data support for complex objects
|
|
14
|
-
* - Tabular data display
|
|
15
|
-
*/
|
|
16
|
-
// OTel trace context for log correlation (optional — gracefully no-ops if OTel not initialized)
|
|
17
|
-
let traceApi = null;
|
|
18
|
-
let traceApiPromise = null;
|
|
19
|
-
async function getTraceApi() {
|
|
20
|
-
if (!traceApiPromise) {
|
|
21
|
-
traceApiPromise = import("@opentelemetry/api")
|
|
22
|
-
.then((mod) => {
|
|
23
|
-
traceApi = mod;
|
|
24
|
-
return mod;
|
|
25
|
-
})
|
|
26
|
-
.catch(() => null);
|
|
27
|
-
}
|
|
28
|
-
return traceApiPromise;
|
|
29
|
-
}
|
|
30
|
-
// Eagerly kick off the import so the cached value is available for synchronous callers
|
|
31
|
-
void getTraceApi();
|
|
32
|
-
// Pre-computed uppercase log levels for performance optimization
|
|
33
|
-
const UPPERCASE_LOG_LEVELS = {
|
|
34
|
-
debug: "DEBUG",
|
|
35
|
-
info: "INFO",
|
|
36
|
-
warn: "WARN",
|
|
37
|
-
error: "ERROR",
|
|
38
|
-
};
|
|
39
|
-
class NeuroLinkLogger {
|
|
40
|
-
logLevel = "info";
|
|
41
|
-
logs = [];
|
|
42
|
-
maxLogs = 1000;
|
|
43
|
-
isDebugMode;
|
|
44
|
-
eventEmitter;
|
|
45
|
-
constructor() {
|
|
46
|
-
// Cache debug mode check to avoid repeated array searches
|
|
47
|
-
this.isDebugMode =
|
|
48
|
-
process.argv.includes("--debug") ||
|
|
49
|
-
process.env.NEUROLINK_DEBUG === "true";
|
|
50
|
-
// Check NEUROLINK_LOG_LEVEL for consistency with the unified NeuroLink logger
|
|
51
|
-
const envLevel = process.env.NEUROLINK_LOG_LEVEL?.toLowerCase();
|
|
52
|
-
if (envLevel && ["debug", "info", "warn", "error"].includes(envLevel)) {
|
|
53
|
-
this.logLevel = envLevel;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Sets the event emitter that will receive log events.
|
|
58
|
-
* When set, all log operations will emit a "log-event" event.
|
|
59
|
-
*
|
|
60
|
-
* @param emitter - The event emitter instance
|
|
61
|
-
*/
|
|
62
|
-
setEventEmitter(emitter) {
|
|
63
|
-
this.eventEmitter = emitter;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Clears the event emitter reference.
|
|
67
|
-
* Should be called when a NeuroLink instance is disposed to prevent memory leaks.
|
|
68
|
-
*/
|
|
69
|
-
clearEventEmitter() {
|
|
70
|
-
this.eventEmitter = undefined;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Sets the minimum log level that will be processed and output.
|
|
74
|
-
* Log messages with a level lower than this will be ignored.
|
|
75
|
-
*
|
|
76
|
-
* @param level - The minimum log level to process ("debug", "info", "warn", or "error")
|
|
77
|
-
*/
|
|
78
|
-
setLogLevel(level) {
|
|
79
|
-
this.logLevel = level;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Determines whether a message with the given log level should be processed.
|
|
83
|
-
* This method considers both the configured log level and the current debug mode.
|
|
84
|
-
*
|
|
85
|
-
* Logic:
|
|
86
|
-
* 1. If not in debug mode, only error messages are allowed
|
|
87
|
-
* 2. If in debug mode, messages at or above the configured log level are allowed
|
|
88
|
-
*
|
|
89
|
-
* @param level - The log level to check
|
|
90
|
-
* @returns True if a message with this level should be logged, false otherwise
|
|
91
|
-
*/
|
|
92
|
-
shouldLog(level) {
|
|
93
|
-
// Dynamic debug mode check to handle CLI middleware timing
|
|
94
|
-
const currentDebugMode = process.argv.includes("--debug") ||
|
|
95
|
-
process.env.NEUROLINK_DEBUG === "true";
|
|
96
|
-
// Hide all logs except errors unless debugging
|
|
97
|
-
if (!currentDebugMode && level !== "error") {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
const levels = ["debug", "info", "warn", "error"];
|
|
101
|
-
return levels.indexOf(level) >= levels.indexOf(this.logLevel);
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Generates a standardized prefix for log messages.
|
|
105
|
-
* The prefix includes a timestamp and the log level in a consistent format.
|
|
106
|
-
*
|
|
107
|
-
* @param timestamp - ISO string representation of the log timestamp
|
|
108
|
-
* @param level - The log level for this message
|
|
109
|
-
* @returns Formatted prefix string like "[2025-08-18T13:45:30.123Z] [NEUROLINK:ERROR]"
|
|
110
|
-
*/
|
|
111
|
-
getLogPrefix(timestamp, level) {
|
|
112
|
-
return `[${timestamp}] [NEUROLINK:${UPPERCASE_LOG_LEVELS[level]}]`;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Extracts current OTel trace context (trace_id, span_id) if available.
|
|
116
|
-
* Returns empty object if OTel is not initialized or no active span exists.
|
|
117
|
-
*/
|
|
118
|
-
getTraceContext() {
|
|
119
|
-
if (!traceApi) {
|
|
120
|
-
return {};
|
|
121
|
-
}
|
|
122
|
-
try {
|
|
123
|
-
const span = traceApi.trace.getSpan(traceApi.context.active());
|
|
124
|
-
if (!span) {
|
|
125
|
-
return {};
|
|
126
|
-
}
|
|
127
|
-
const spanContext = span.spanContext();
|
|
128
|
-
if (!spanContext ||
|
|
129
|
-
spanContext.traceId === "00000000000000000000000000000000") {
|
|
130
|
-
return {};
|
|
131
|
-
}
|
|
132
|
-
return {
|
|
133
|
-
trace_id: spanContext.traceId,
|
|
134
|
-
span_id: spanContext.spanId,
|
|
135
|
-
trace_flags: String(spanContext.traceFlags),
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
return {};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Safely serialize data to fully expanded JSON string.
|
|
144
|
-
* Handles circular references and non-serializable values.
|
|
145
|
-
* Zero truncation — all nested objects and arrays are fully expanded.
|
|
146
|
-
*/
|
|
147
|
-
serializeData(data) {
|
|
148
|
-
if (data === undefined || data === null) {
|
|
149
|
-
return String(data);
|
|
150
|
-
}
|
|
151
|
-
if (typeof data !== "object") {
|
|
152
|
-
return String(data);
|
|
153
|
-
}
|
|
154
|
-
try {
|
|
155
|
-
return JSON.stringify(data, (_key, value) => {
|
|
156
|
-
if (value instanceof Error) {
|
|
157
|
-
return {
|
|
158
|
-
name: value.name,
|
|
159
|
-
message: value.message,
|
|
160
|
-
stack: value.stack,
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
return value;
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
// Handle circular references using a stack-based approach
|
|
168
|
-
// to avoid false "[Circular]" on diamond (shared) references
|
|
169
|
-
const ancestors = [];
|
|
170
|
-
try {
|
|
171
|
-
return JSON.stringify(data, function (_key, value) {
|
|
172
|
-
if (value instanceof Error) {
|
|
173
|
-
return {
|
|
174
|
-
name: value.name,
|
|
175
|
-
message: value.message,
|
|
176
|
-
stack: value.stack,
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
if (typeof value === "object" && value !== null) {
|
|
180
|
-
// Only flag actual circular (ancestor) references
|
|
181
|
-
if (ancestors.includes(value)) {
|
|
182
|
-
return "[Circular]";
|
|
183
|
-
}
|
|
184
|
-
ancestors.push(value);
|
|
185
|
-
}
|
|
186
|
-
return value;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
catch {
|
|
190
|
-
return "[Unserializable Object]";
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Outputs a log entry to the console based on the log level.
|
|
196
|
-
* Data is fully serialized to JSON — no [Object] or [Array] truncation.
|
|
197
|
-
*
|
|
198
|
-
* @param level - The log level (debug, info, warn, error).
|
|
199
|
-
* @param prefix - The formatted log prefix.
|
|
200
|
-
* @param message - The log message.
|
|
201
|
-
* @param data - Optional additional data to log.
|
|
202
|
-
*/
|
|
203
|
-
outputToConsole(level, prefix, message, data) {
|
|
204
|
-
const logMethod = {
|
|
205
|
-
debug: console.debug,
|
|
206
|
-
info: console.info,
|
|
207
|
-
warn: console.warn,
|
|
208
|
-
error: console.error,
|
|
209
|
-
}[level];
|
|
210
|
-
const traceCtx = this.getTraceContext();
|
|
211
|
-
const tracePrefix = traceCtx.trace_id
|
|
212
|
-
? ` [trace_id=${traceCtx.trace_id} span_id=${traceCtx.span_id}]`
|
|
213
|
-
: "";
|
|
214
|
-
if (data !== undefined && data !== null) {
|
|
215
|
-
logMethod(prefix + tracePrefix, message, this.serializeData(data));
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
logMethod(prefix + tracePrefix, message);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Core internal logging method that handles:
|
|
223
|
-
* 1. Creating log entries with consistent format
|
|
224
|
-
* 2. Storing entries in the log history
|
|
225
|
-
* 3. Managing log rotation to prevent memory issues
|
|
226
|
-
* 4. Outputting formatted logs to the console
|
|
227
|
-
* 5. Emitting log events if an event emitter is configured
|
|
228
|
-
*
|
|
229
|
-
* This is the central method called by all specific logging methods (debug, info, etc.)
|
|
230
|
-
*
|
|
231
|
-
* @param level - The severity level for this log entry
|
|
232
|
-
* @param message - The message text to log
|
|
233
|
-
* @param data - Optional additional context data to include
|
|
234
|
-
*/
|
|
235
|
-
log(level, message, data) {
|
|
236
|
-
if (!this.shouldLog(level)) {
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
const entry = {
|
|
240
|
-
level,
|
|
241
|
-
message,
|
|
242
|
-
timestamp: new Date(),
|
|
243
|
-
data,
|
|
244
|
-
};
|
|
245
|
-
// Emit log event if emitter is configured
|
|
246
|
-
if (this.eventEmitter) {
|
|
247
|
-
try {
|
|
248
|
-
this.eventEmitter.emit("log-event", {
|
|
249
|
-
level,
|
|
250
|
-
message,
|
|
251
|
-
timestamp: new Date().getTime(),
|
|
252
|
-
data,
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
catch {
|
|
256
|
-
// Silently ignore emitter errors to avoid disrupting logging
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
// Store log entry
|
|
260
|
-
this.logs.push(entry);
|
|
261
|
-
// Trim old logs
|
|
262
|
-
if (this.logs.length > this.maxLogs) {
|
|
263
|
-
this.logs = this.logs.slice(-this.maxLogs);
|
|
264
|
-
}
|
|
265
|
-
// Console output
|
|
266
|
-
const timestamp = entry.timestamp.toISOString();
|
|
267
|
-
const prefix = this.getLogPrefix(timestamp, level);
|
|
268
|
-
this.outputToConsole(level, prefix, message, data);
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Logs a message at the debug level.
|
|
272
|
-
* Used for detailed troubleshooting information.
|
|
273
|
-
*
|
|
274
|
-
* @param message - The message to log
|
|
275
|
-
* @param data - Optional additional context data
|
|
276
|
-
*/
|
|
277
|
-
debug(message, data) {
|
|
278
|
-
this.log("debug", message, data);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Logs a message at the info level.
|
|
282
|
-
* Used for general information about system operation.
|
|
283
|
-
*
|
|
284
|
-
* @param message - The message to log
|
|
285
|
-
* @param data - Optional additional context data
|
|
286
|
-
*/
|
|
287
|
-
info(message, data) {
|
|
288
|
-
this.log("info", message, data);
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Logs a message at the warn level.
|
|
292
|
-
* Used for potentially problematic situations that don't prevent operation.
|
|
293
|
-
*
|
|
294
|
-
* @param message - The message to log
|
|
295
|
-
* @param data - Optional additional context data
|
|
296
|
-
*/
|
|
297
|
-
warn(message, data) {
|
|
298
|
-
this.log("warn", message, data);
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Logs a message at the error level.
|
|
302
|
-
* Used for critical issues that may cause failures.
|
|
303
|
-
*
|
|
304
|
-
* @param message - The message to log
|
|
305
|
-
* @param data - Optional additional context data
|
|
306
|
-
*/
|
|
307
|
-
error(message, data) {
|
|
308
|
-
this.log("error", message, data);
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Retrieves stored log entries, optionally filtered by log level.
|
|
312
|
-
* Returns a copy of the log entries to prevent external modification.
|
|
313
|
-
*
|
|
314
|
-
* @param level - Optional log level to filter by
|
|
315
|
-
* @returns Array of log entries, either all or filtered by level
|
|
316
|
-
*/
|
|
317
|
-
getLogs(level) {
|
|
318
|
-
if (level) {
|
|
319
|
-
return this.logs.filter((log) => log.level === level);
|
|
320
|
-
}
|
|
321
|
-
return [...this.logs];
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Removes all stored log entries.
|
|
325
|
-
* Useful for testing or when log history is no longer needed.
|
|
326
|
-
*/
|
|
327
|
-
clearLogs() {
|
|
328
|
-
this.logs = [];
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* Logs messages unconditionally using `console.log`.
|
|
332
|
-
*
|
|
333
|
-
* This method is part of a legacy simple logger interface for backward compatibility.
|
|
334
|
-
* It bypasses the structured logging mechanism and should only be used when
|
|
335
|
-
* unstructured, unconditional logging is required.
|
|
336
|
-
*
|
|
337
|
-
* Use with caution in production environments as it outputs to the console
|
|
338
|
-
* regardless of the current log level or debug mode settings.
|
|
339
|
-
*
|
|
340
|
-
* Use cases:
|
|
341
|
-
* - Critical system information that must always be visible
|
|
342
|
-
* - Status messages during initialization before logging is fully configured
|
|
343
|
-
* - Debugging in environments where normal logging might be suppressed
|
|
344
|
-
*
|
|
345
|
-
* @param args - The arguments to log. These are passed directly to `console.log`.
|
|
346
|
-
*/
|
|
347
|
-
always(...args) {
|
|
348
|
-
console.log(...args);
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Displays tabular data unconditionally using `console.table`.
|
|
352
|
-
*
|
|
353
|
-
* Similar to the `always` method, this bypasses log level checks and
|
|
354
|
-
* will display data regardless of current logging settings.
|
|
355
|
-
*
|
|
356
|
-
* Important differences from other logging methods:
|
|
357
|
-
* - Does NOT store entries in the log history
|
|
358
|
-
* - Does NOT use the structured logging format with timestamps and prefixes
|
|
359
|
-
* - Outputs directly to console without additional formatting
|
|
360
|
-
*
|
|
361
|
-
* Particularly useful for:
|
|
362
|
-
* - Displaying structured data in a readable format during debugging
|
|
363
|
-
* - Showing configuration options and their current values
|
|
364
|
-
* - Presenting comparison data between different system states
|
|
365
|
-
* - Performance metrics and timing data
|
|
366
|
-
*
|
|
367
|
-
* @param data - The data to display in table format. Can be an array of objects or an object with key-value pairs.
|
|
368
|
-
*/
|
|
369
|
-
table(data) {
|
|
370
|
-
console.table(data);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
// Export singleton instance to ensure consistent logging across the application
|
|
374
|
-
const neuroLinkLogger = new NeuroLinkLogger();
|
|
375
|
-
/**
|
|
376
|
-
* Helper function to process logger arguments with minimal overhead.
|
|
377
|
-
* Handles variable argument patterns and ensures safe serialization of objects.
|
|
378
|
-
*
|
|
379
|
-
* This function:
|
|
380
|
-
* 1. Extracts the first argument as the message
|
|
381
|
-
* 2. Handles serialization of non-string first arguments
|
|
382
|
-
* 3. Collects remaining arguments as additional data
|
|
383
|
-
* 4. Passes the processed arguments to the actual logging method
|
|
384
|
-
*
|
|
385
|
-
* @param args - Array of arguments passed to the logger
|
|
386
|
-
* @param logMethod - Function that will perform the actual logging
|
|
387
|
-
*/
|
|
388
|
-
function processLoggerArgs(args, logMethod) {
|
|
389
|
-
if (args.length === 0) {
|
|
390
|
-
return;
|
|
391
|
-
}
|
|
392
|
-
// Serialize the first argument robustly to handle complex objects
|
|
393
|
-
const message = (() => {
|
|
394
|
-
try {
|
|
395
|
-
return typeof args[0] === "string" ? args[0] : JSON.stringify(args[0]);
|
|
396
|
-
}
|
|
397
|
-
catch {
|
|
398
|
-
return "[Unserializable Object]";
|
|
399
|
-
}
|
|
400
|
-
})();
|
|
401
|
-
const data = args.length === 2 ? args[1] : args.length > 2 ? args.slice(1) : undefined;
|
|
402
|
-
logMethod(message, data);
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Main unified logger export that provides a simplified API for logging.
|
|
406
|
-
* This is the primary interface that should be used by application code.
|
|
407
|
-
*
|
|
408
|
-
* Features:
|
|
409
|
-
* - Convenient logging methods (debug, info, warn, error)
|
|
410
|
-
* - Unconditional logging (always, table)
|
|
411
|
-
* - Log level control and configuration
|
|
412
|
-
* - Log history management
|
|
413
|
-
* - Event emission for all log operations (when emitter is configured)
|
|
414
|
-
*/
|
|
415
|
-
export const logger = {
|
|
416
|
-
debug: (...args) => {
|
|
417
|
-
if (neuroLinkLogger.shouldLog("debug")) {
|
|
418
|
-
processLoggerArgs(args, (message, data) => neuroLinkLogger.debug(message, data));
|
|
419
|
-
}
|
|
420
|
-
},
|
|
421
|
-
info: (...args) => {
|
|
422
|
-
if (neuroLinkLogger.shouldLog("info")) {
|
|
423
|
-
processLoggerArgs(args, (message, data) => neuroLinkLogger.info(message, data));
|
|
424
|
-
}
|
|
425
|
-
},
|
|
426
|
-
warn: (...args) => {
|
|
427
|
-
if (neuroLinkLogger.shouldLog("warn")) {
|
|
428
|
-
processLoggerArgs(args, (message, data) => neuroLinkLogger.warn(message, data));
|
|
429
|
-
}
|
|
430
|
-
},
|
|
431
|
-
error: (...args) => {
|
|
432
|
-
if (neuroLinkLogger.shouldLog("error")) {
|
|
433
|
-
processLoggerArgs(args, (message, data) => neuroLinkLogger.error(message, data));
|
|
434
|
-
}
|
|
435
|
-
},
|
|
436
|
-
always: (...args) => {
|
|
437
|
-
neuroLinkLogger.always(...args);
|
|
438
|
-
},
|
|
439
|
-
table: (data) => {
|
|
440
|
-
neuroLinkLogger.table(data);
|
|
441
|
-
},
|
|
442
|
-
// Expose log-level check for gating expensive operations
|
|
443
|
-
shouldLog: (level) => neuroLinkLogger.shouldLog(level),
|
|
444
|
-
// Expose structured logging methods
|
|
445
|
-
setLogLevel: (level) => neuroLinkLogger.setLogLevel(level),
|
|
446
|
-
getLogs: (level) => neuroLinkLogger.getLogs(level),
|
|
447
|
-
clearLogs: () => neuroLinkLogger.clearLogs(),
|
|
448
|
-
setEventEmitter: (emitter) => neuroLinkLogger.setEventEmitter(emitter),
|
|
449
|
-
clearEventEmitter: () => neuroLinkLogger.clearEventEmitter(),
|
|
450
|
-
};
|
|
451
|
-
/**
|
|
452
|
-
* MCP compatibility exports - all use the same unified logger instance.
|
|
453
|
-
* These exports maintain backward compatibility with code that expects
|
|
454
|
-
* separate loggers for different MCP components, while actually using
|
|
455
|
-
* the same underlying logger instance.
|
|
456
|
-
*/
|
|
457
|
-
export const mcpLogger = neuroLinkLogger;
|
|
458
|
-
export const autoDiscoveryLogger = neuroLinkLogger;
|
|
459
|
-
export const registryLogger = neuroLinkLogger;
|
|
460
|
-
export const unifiedRegistryLogger = neuroLinkLogger;
|
|
461
|
-
/**
|
|
462
|
-
* Sets the global log level for all MCP-related logging.
|
|
463
|
-
* This function provides a convenient way to adjust logging verbosity
|
|
464
|
-
* for all MCP components at once.
|
|
465
|
-
*
|
|
466
|
-
* @param level - The log level to set ("debug", "info", "warn", or "error")
|
|
467
|
-
*/
|
|
468
|
-
export function setGlobalMCPLogLevel(level) {
|
|
469
|
-
neuroLinkLogger.setLogLevel(level);
|
|
470
|
-
}
|
|
471
|
-
/**
|
|
472
|
-
* Export LogLevel enum for runtime use.
|
|
473
|
-
* Provides type-safe log level constants for use in application code.
|
|
474
|
-
*
|
|
475
|
-
* Example usage:
|
|
476
|
-
* ```
|
|
477
|
-
* import { logger, LogLevels } from './logger'; // Import from your project's path
|
|
478
|
-
*
|
|
479
|
-
* // Using the LogLevels constants (recommended for type safety):
|
|
480
|
-
* logger.setLogLevel(LogLevels.debug);
|
|
481
|
-
*
|
|
482
|
-
* // Or directly using string values:
|
|
483
|
-
* logger.setLogLevel('debug');
|
|
484
|
-
* ```
|
|
485
|
-
*/
|
|
486
|
-
export const LogLevels = {
|
|
487
|
-
debug: "debug",
|
|
488
|
-
info: "info",
|
|
489
|
-
warn: "warn",
|
|
490
|
-
error: "error",
|
|
491
|
-
};
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Smart Defaults for MCPServerInfo Creation
|
|
3
|
-
* Eliminates boilerplate manual object creation
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Smart category detection based on context
|
|
7
|
-
*/
|
|
8
|
-
export function detectCategory(context) {
|
|
9
|
-
// If category is already provided, validate and use it
|
|
10
|
-
if (context.existingCategory) {
|
|
11
|
-
const validCategories = [
|
|
12
|
-
"external",
|
|
13
|
-
"in-memory",
|
|
14
|
-
"built-in",
|
|
15
|
-
"user-defined",
|
|
16
|
-
];
|
|
17
|
-
if (validCategories.includes(context.existingCategory)) {
|
|
18
|
-
return context.existingCategory;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// Smart detection based on context
|
|
22
|
-
if (context.isCustomTool) {
|
|
23
|
-
return "user-defined";
|
|
24
|
-
}
|
|
25
|
-
if (context.isBuiltIn) {
|
|
26
|
-
return "built-in";
|
|
27
|
-
}
|
|
28
|
-
if (context.isExternal) {
|
|
29
|
-
return "external";
|
|
30
|
-
}
|
|
31
|
-
if (context.serverId?.startsWith("custom-tool-")) {
|
|
32
|
-
return "user-defined";
|
|
33
|
-
}
|
|
34
|
-
if (context.serverId?.includes("external")) {
|
|
35
|
-
return "external";
|
|
36
|
-
}
|
|
37
|
-
if (context.serverId === "direct") {
|
|
38
|
-
return "built-in";
|
|
39
|
-
}
|
|
40
|
-
// Default to in-memory for most cases
|
|
41
|
-
return "in-memory";
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Generate smart description based on name and category
|
|
45
|
-
*/
|
|
46
|
-
function generateDescription(name, category) {
|
|
47
|
-
// Generate descriptions based on category for better context
|
|
48
|
-
switch (category) {
|
|
49
|
-
case "external":
|
|
50
|
-
return `External MCP server: ${name}`;
|
|
51
|
-
case "built-in":
|
|
52
|
-
return `Built-in tool server: ${name}`;
|
|
53
|
-
case "custom":
|
|
54
|
-
case "user-defined":
|
|
55
|
-
return `Custom tool server: ${name}`;
|
|
56
|
-
case "in-memory":
|
|
57
|
-
return `In-memory MCP server: ${name}`;
|
|
58
|
-
default:
|
|
59
|
-
return name;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Create MCPServerInfo with smart defaults
|
|
64
|
-
* Eliminates manual boilerplate object creation
|
|
65
|
-
*/
|
|
66
|
-
export function createMCPServerInfo(options) {
|
|
67
|
-
const id = options.id || `server-${options.name}`;
|
|
68
|
-
const category = options.category ||
|
|
69
|
-
detectCategory({
|
|
70
|
-
isCustomTool: options.isCustomTool,
|
|
71
|
-
isExternal: options.isExternal,
|
|
72
|
-
isBuiltIn: options.isBuiltIn,
|
|
73
|
-
serverId: id,
|
|
74
|
-
});
|
|
75
|
-
const tools = options.tools || (options.tool ? [options.tool] : []);
|
|
76
|
-
return {
|
|
77
|
-
id,
|
|
78
|
-
name: options.name,
|
|
79
|
-
transport: options.transport || "stdio",
|
|
80
|
-
status: options.status || "connected",
|
|
81
|
-
tools,
|
|
82
|
-
description: options.description || generateDescription(options.name, category),
|
|
83
|
-
...(options.command && { command: options.command }),
|
|
84
|
-
...(options.args && { args: options.args }),
|
|
85
|
-
...(options.env && { env: options.env }),
|
|
86
|
-
metadata: {
|
|
87
|
-
category: category,
|
|
88
|
-
toolCount: tools.length,
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Create MCPServerInfo for custom tool registration
|
|
94
|
-
* Specialized version with smart defaults for registerTool usage
|
|
95
|
-
*/
|
|
96
|
-
export function createCustomToolServerInfo(toolName, tool, timeoutMs, maxRetries) {
|
|
97
|
-
const serverInfo = createMCPServerInfo({
|
|
98
|
-
id: `custom-tool-${toolName}`,
|
|
99
|
-
name: toolName,
|
|
100
|
-
tool: {
|
|
101
|
-
name: toolName,
|
|
102
|
-
description: tool.description || toolName,
|
|
103
|
-
inputSchema: tool.inputSchema || {},
|
|
104
|
-
execute: tool.execute,
|
|
105
|
-
},
|
|
106
|
-
isCustomTool: true,
|
|
107
|
-
});
|
|
108
|
-
if (serverInfo.metadata) {
|
|
109
|
-
if (timeoutMs !== undefined) {
|
|
110
|
-
serverInfo.metadata.toolTimeoutMs = timeoutMs;
|
|
111
|
-
}
|
|
112
|
-
if (maxRetries !== undefined) {
|
|
113
|
-
serverInfo.metadata.toolMaxRetries = maxRetries;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return serverInfo;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Create MCPServerInfo for external servers
|
|
120
|
-
* Specialized version with smart defaults for external server usage
|
|
121
|
-
*/
|
|
122
|
-
export function createExternalServerInfo(options) {
|
|
123
|
-
return createMCPServerInfo({
|
|
124
|
-
id: options.id,
|
|
125
|
-
name: options.name || options.id,
|
|
126
|
-
tools: options.tools || [],
|
|
127
|
-
transport: options.transport || "stdio",
|
|
128
|
-
description: options.description || options.name || options.id,
|
|
129
|
-
isExternal: true,
|
|
130
|
-
command: options.command,
|
|
131
|
-
args: options.args,
|
|
132
|
-
env: options.env,
|
|
133
|
-
});
|
|
134
|
-
}
|