@juspay/neurolink 9.30.0 → 9.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -3
- package/dist/adapters/providerImageAdapter.js +13 -22
- package/dist/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/adapters/video/videoAnalyzer.js +3 -3
- package/dist/agent/directTools.d.ts +20 -289
- package/dist/agent/directTools.js +11 -10
- package/dist/auth/accountPool.d.ts +68 -0
- package/dist/auth/accountPool.js +178 -0
- package/dist/auth/anthropicOAuth.d.ts +15 -5
- package/dist/auth/anthropicOAuth.js +117 -57
- package/dist/auth/index.d.ts +7 -5
- package/dist/auth/index.js +6 -2
- package/dist/auth/tokenStore.d.ts +71 -27
- package/dist/auth/tokenStore.js +342 -64
- package/dist/cli/commands/auth.d.ts +39 -2
- package/dist/cli/commands/auth.js +585 -36
- package/dist/cli/commands/config.d.ts +47 -574
- package/dist/cli/commands/config.js +142 -24
- package/dist/cli/commands/docs.d.ts +1 -5
- package/dist/cli/commands/observability.d.ts +1 -17
- package/dist/cli/commands/ollama.js +1 -1
- package/dist/cli/commands/proxy.d.ts +20 -0
- package/dist/cli/commands/proxy.js +1254 -0
- package/dist/cli/commands/setup-anthropic.js +1 -1
- package/dist/cli/commands/setup-azure.js +1 -1
- package/dist/cli/commands/setup-bedrock.js +2 -2
- package/dist/cli/commands/setup-gcp.js +1 -1
- package/dist/cli/commands/setup-google-ai.js +1 -1
- package/dist/cli/commands/setup-huggingface.js +2 -2
- package/dist/cli/commands/setup-mistral.js +1 -1
- package/dist/cli/commands/setup-openai.js +1 -1
- package/dist/cli/commands/setup.js +3 -3
- package/dist/cli/commands/telemetry.d.ts +1 -22
- package/dist/cli/factories/authCommandFactory.d.ts +16 -11
- package/dist/cli/factories/authCommandFactory.js +96 -1
- package/dist/cli/factories/ollamaCommandFactory.js +1 -1
- package/dist/cli/factories/sagemakerCommandFactory.js +25 -6
- package/dist/cli/index.d.ts +0 -6
- package/dist/cli/index.js +5 -2
- package/dist/cli/loop/conversationSelector.js +7 -2
- package/dist/cli/parser.js +19 -1
- package/dist/cli/utils/envManager.js +2 -2
- package/dist/cli/utils/ollamaUtils.d.ts +1 -2
- package/dist/client/adapters/providerImageAdapter.js +588 -0
- package/dist/client/adapters/tts/googleTTSHandler.js +344 -0
- package/dist/client/adapters/video/directorPipeline.js +516 -0
- package/dist/client/adapters/video/ffmpegAdapter.js +206 -0
- package/dist/client/adapters/video/frameExtractor.js +143 -0
- package/dist/client/adapters/video/vertexVideoHandler.js +763 -0
- package/dist/client/adapters/video/videoAnalyzer.js +238 -0
- package/dist/client/adapters/video/videoMerger.js +171 -0
- package/dist/client/agent/directTools.js +840 -0
- package/dist/client/aiSdkAdapter.d.ts +196 -0
- package/dist/client/aiSdkAdapter.js +487 -0
- package/dist/client/auth/anthropicOAuth.js +974 -0
- package/dist/client/auth/tokenStore.js +799 -0
- package/dist/client/auth.d.ts +248 -0
- package/dist/client/auth.js +473 -0
- package/dist/client/client/aiSdkAdapter.js +487 -0
- package/dist/client/client/auth.js +473 -0
- package/dist/client/client/errors.js +552 -0
- package/dist/client/client/httpClient.js +837 -0
- package/dist/client/client/index.js +172 -0
- package/dist/client/client/interceptors.js +601 -0
- package/dist/client/client/reactHooks.js +1159 -0
- package/dist/client/client/sseClient.js +545 -0
- package/dist/client/client/streamingClient.js +917 -0
- package/dist/client/client/wsClient.js +369 -0
- package/dist/client/config/configManager.js +303 -0
- package/dist/client/config/conversationMemory.js +86 -0
- package/dist/client/config/taskClassificationConfig.js +148 -0
- package/dist/client/constants/contextWindows.js +295 -0
- package/dist/client/constants/enums.js +853 -0
- package/dist/client/constants/index.js +207 -0
- package/dist/client/constants/performance.js +389 -0
- package/dist/client/constants/retry.js +266 -0
- package/dist/client/constants/timeouts.js +182 -0
- package/dist/client/constants/tokens.js +380 -0
- package/dist/client/constants/videoErrors.js +46 -0
- package/dist/client/context/budgetChecker.js +98 -0
- package/dist/client/context/contextCompactor.js +205 -0
- package/dist/client/context/emergencyTruncation.js +88 -0
- package/dist/client/context/errorDetection.js +171 -0
- package/dist/client/context/errors.js +21 -0
- package/dist/client/context/fileTokenBudget.js +127 -0
- package/dist/client/context/prompts/summarizationPrompt.js +117 -0
- package/dist/client/context/stages/fileReadDeduplicator.js +66 -0
- package/dist/client/context/stages/slidingWindowTruncator.js +190 -0
- package/dist/client/context/stages/structuredSummarizer.js +99 -0
- package/dist/client/context/stages/toolOutputPruner.js +52 -0
- package/dist/client/context/summarizationEngine.js +136 -0
- package/dist/client/context/toolOutputLimits.js +78 -0
- package/dist/client/context/toolPairRepair.js +66 -0
- package/dist/client/core/analytics.js +88 -0
- package/dist/client/core/baseProvider.js +1385 -0
- package/dist/client/core/constants.js +140 -0
- package/dist/client/core/conversationMemoryFactory.js +141 -0
- package/dist/client/core/conversationMemoryInitializer.js +128 -0
- package/dist/client/core/conversationMemoryManager.js +344 -0
- package/dist/client/core/dynamicModels.js +358 -0
- package/dist/client/core/evaluation.js +309 -0
- package/dist/client/core/evaluationProviders.js +248 -0
- package/dist/client/core/factory.js +412 -0
- package/dist/client/core/infrastructure/baseError.js +22 -0
- package/dist/client/core/infrastructure/baseFactory.js +54 -0
- package/dist/client/core/infrastructure/baseRegistry.js +49 -0
- package/dist/client/core/infrastructure/index.js +5 -0
- package/dist/client/core/infrastructure/retry.js +20 -0
- package/dist/client/core/infrastructure/typedEventEmitter.js +23 -0
- package/dist/client/core/modelConfiguration.js +851 -0
- package/dist/client/core/modules/GenerationHandler.js +588 -0
- package/dist/client/core/modules/MessageBuilder.js +273 -0
- package/dist/client/core/modules/StreamHandler.js +185 -0
- package/dist/client/core/modules/TelemetryHandler.js +203 -0
- package/dist/client/core/modules/ToolsManager.js +499 -0
- package/dist/client/core/modules/Utilities.js +331 -0
- package/dist/client/core/redisConversationMemoryManager.js +1435 -0
- package/dist/client/core/streamAnalytics.js +131 -0
- package/dist/client/errors.d.ts +299 -0
- package/dist/client/errors.js +552 -0
- package/dist/client/evaluation/contextBuilder.js +134 -0
- package/dist/client/evaluation/index.js +61 -0
- package/dist/client/evaluation/prompts.js +73 -0
- package/dist/client/evaluation/ragasEvaluator.js +110 -0
- package/dist/client/evaluation/retryManager.js +78 -0
- package/dist/client/evaluation/scoring.js +61 -0
- package/dist/client/factories/providerFactory.js +166 -0
- package/dist/client/factories/providerRegistry.js +166 -0
- package/dist/client/features/ppt/constants.js +896 -0
- package/dist/client/features/ppt/contentPlanner.js +529 -0
- package/dist/client/features/ppt/presentationOrchestrator.js +236 -0
- package/dist/client/features/ppt/slideGenerator.js +532 -0
- package/dist/client/features/ppt/slideRenderers.js +2383 -0
- package/dist/client/features/ppt/slideTypeInference.js +405 -0
- package/dist/client/features/ppt/types.js +13 -0
- package/dist/client/features/ppt/utils.js +443 -0
- package/dist/client/files/fileReferenceRegistry.js +1543 -0
- package/dist/client/files/fileTools.js +450 -0
- package/dist/client/files/streamingReader.js +321 -0
- package/dist/client/files/types.js +23 -0
- package/dist/client/hitl/hitlErrors.js +54 -0
- package/dist/client/hitl/hitlManager.js +460 -0
- package/dist/client/httpClient.d.ts +297 -0
- package/dist/client/httpClient.js +837 -0
- package/dist/client/index.d.ts +111 -0
- package/dist/client/index.js +511 -0
- package/dist/client/interceptors.d.ts +283 -0
- package/dist/client/interceptors.js +601 -0
- package/dist/client/mcp/agentExposure.js +356 -0
- package/dist/client/mcp/auth/index.js +11 -0
- package/dist/client/mcp/auth/oauthClientProvider.js +325 -0
- package/dist/client/mcp/auth/tokenStorage.js +134 -0
- package/dist/client/mcp/batching/index.js +10 -0
- package/dist/client/mcp/batching/requestBatcher.js +441 -0
- package/dist/client/mcp/caching/index.js +10 -0
- package/dist/client/mcp/caching/toolCache.js +433 -0
- package/dist/client/mcp/elicitation/elicitationManager.js +376 -0
- package/dist/client/mcp/elicitation/index.js +11 -0
- package/dist/client/mcp/elicitation/types.js +10 -0
- package/dist/client/mcp/elicitationProtocol.js +375 -0
- package/dist/client/mcp/enhancedToolDiscovery.js +481 -0
- package/dist/client/mcp/externalServerManager.js +1478 -0
- package/dist/client/mcp/factory.js +161 -0
- package/dist/client/mcp/flexibleToolValidator.js +161 -0
- package/dist/client/mcp/httpRateLimiter.js +391 -0
- package/dist/client/mcp/httpRetryHandler.js +178 -0
- package/dist/client/mcp/index.js +74 -0
- package/dist/client/mcp/mcpCircuitBreaker.js +427 -0
- package/dist/client/mcp/mcpClientFactory.js +708 -0
- package/dist/client/mcp/mcpRegistryClient.js +488 -0
- package/dist/client/mcp/mcpServerBase.js +373 -0
- package/dist/client/mcp/multiServerManager.js +579 -0
- package/dist/client/mcp/registry.js +158 -0
- package/dist/client/mcp/routing/index.js +10 -0
- package/dist/client/mcp/routing/toolRouter.js +416 -0
- package/dist/client/mcp/serverCapabilities.js +502 -0
- package/dist/client/mcp/servers/agent/directToolsServer.js +150 -0
- package/dist/client/mcp/toolAnnotations.js +239 -0
- package/dist/client/mcp/toolConverter.js +258 -0
- package/dist/client/mcp/toolDiscoveryService.js +798 -0
- package/dist/client/mcp/toolIntegration.js +334 -0
- package/dist/client/mcp/toolRegistry.js +719 -0
- package/dist/client/memory/hippocampusInitializer.js +19 -0
- package/dist/client/memory/memoryRetrievalTools.js +166 -0
- package/dist/client/middleware/builtin/analytics.js +132 -0
- package/dist/client/middleware/builtin/autoEvaluation.js +203 -0
- package/dist/client/middleware/builtin/guardrails.js +109 -0
- package/dist/client/middleware/builtin/lifecycle.js +168 -0
- package/dist/client/middleware/factory.js +327 -0
- package/dist/client/middleware/registry.js +295 -0
- package/dist/client/middleware/utils/guardrailsUtils.js +396 -0
- package/dist/client/models/anthropicModels.js +527 -0
- package/dist/client/neurolink.js +8015 -0
- package/dist/client/observability/exporterRegistry.js +413 -0
- package/dist/client/observability/exporters/arizeExporter.js +138 -0
- package/dist/client/observability/exporters/baseExporter.js +190 -0
- package/dist/client/observability/exporters/braintrustExporter.js +154 -0
- package/dist/client/observability/exporters/datadogExporter.js +196 -0
- package/dist/client/observability/exporters/laminarExporter.js +302 -0
- package/dist/client/observability/exporters/langfuseExporter.js +209 -0
- package/dist/client/observability/exporters/langsmithExporter.js +143 -0
- package/dist/client/observability/exporters/otelExporter.js +164 -0
- package/dist/client/observability/exporters/posthogExporter.js +287 -0
- package/dist/client/observability/exporters/sentryExporter.js +165 -0
- package/dist/client/observability/index.js +31 -0
- package/dist/client/observability/metricsAggregator.js +556 -0
- package/dist/client/observability/otelBridge.js +131 -0
- package/dist/client/observability/retryPolicy.js +383 -0
- package/dist/client/observability/sampling/samplers.js +216 -0
- package/dist/client/observability/spanProcessor.js +303 -0
- package/dist/client/observability/tokenTracker.js +413 -0
- package/dist/client/observability/types/exporterTypes.js +5 -0
- package/dist/client/observability/types/index.js +4 -0
- package/dist/client/observability/types/spanTypes.js +92 -0
- package/dist/client/observability/utils/safeMetadata.js +25 -0
- package/dist/client/observability/utils/spanSerializer.js +292 -0
- package/dist/client/processors/archive/ArchiveProcessor.js +1308 -0
- package/dist/client/processors/base/BaseFileProcessor.js +614 -0
- package/dist/client/processors/base/types.js +82 -0
- package/dist/client/processors/config/fileTypes.js +520 -0
- package/dist/client/processors/config/index.js +92 -0
- package/dist/client/processors/config/languageMap.js +410 -0
- package/dist/client/processors/config/mimeTypes.js +363 -0
- package/dist/client/processors/config/sizeLimits.js +258 -0
- package/dist/client/processors/document/ExcelProcessor.js +590 -0
- package/dist/client/processors/document/OpenDocumentProcessor.js +212 -0
- package/dist/client/processors/document/PptxProcessor.js +157 -0
- package/dist/client/processors/document/RtfProcessor.js +361 -0
- package/dist/client/processors/document/WordProcessor.js +353 -0
- package/dist/client/processors/errors/FileErrorCode.js +255 -0
- package/dist/client/processors/errors/errorHelpers.js +386 -0
- package/dist/client/processors/errors/errorSerializer.js +507 -0
- package/dist/client/processors/errors/index.js +49 -0
- package/dist/client/processors/markup/SvgProcessor.js +240 -0
- package/dist/client/processors/media/AudioProcessor.js +707 -0
- package/dist/client/processors/media/VideoProcessor.js +1045 -0
- package/dist/client/providers/amazonBedrock.js +1512 -0
- package/dist/client/providers/amazonSagemaker.js +162 -0
- package/dist/client/providers/anthropic.js +831 -0
- package/dist/client/providers/azureOpenai.js +143 -0
- package/dist/client/providers/googleAiStudio.js +1200 -0
- package/dist/client/providers/googleNativeGemini3.js +543 -0
- package/dist/client/providers/googleVertex.js +2936 -0
- package/dist/client/providers/huggingFace.js +315 -0
- package/dist/client/providers/litellm.js +488 -0
- package/dist/client/providers/mistral.js +157 -0
- package/dist/client/providers/ollama.js +1579 -0
- package/dist/client/providers/openAI.js +627 -0
- package/dist/client/providers/openRouter.js +543 -0
- package/dist/client/providers/openaiCompatible.js +290 -0
- package/dist/client/providers/providerTypeUtils.js +46 -0
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +215 -0
- package/dist/client/providers/sagemaker/client.js +472 -0
- package/dist/client/providers/sagemaker/config.js +317 -0
- package/dist/client/providers/sagemaker/detection.js +606 -0
- package/dist/client/providers/sagemaker/error-constants.js +227 -0
- package/dist/client/providers/sagemaker/errors.js +299 -0
- package/dist/client/providers/sagemaker/language-model.js +775 -0
- package/dist/client/providers/sagemaker/parsers.js +634 -0
- package/dist/client/providers/sagemaker/streaming.js +331 -0
- package/dist/client/providers/sagemaker/structured-parser.js +625 -0
- package/dist/client/proxy/accountQuota.js +162 -0
- package/dist/client/proxy/claudeFormat.js +595 -0
- package/dist/client/proxy/modelRouter.js +29 -0
- package/dist/client/proxy/oauthFetch.js +367 -0
- package/dist/client/proxy/proxyFetch.js +586 -0
- package/dist/client/proxy/requestLogger.js +207 -0
- package/dist/client/proxy/tokenRefresh.js +124 -0
- package/dist/client/proxy/usageStats.js +74 -0
- package/dist/client/proxy/utils/noProxyUtils.js +149 -0
- package/dist/client/rag/ChunkerFactory.js +320 -0
- package/dist/client/rag/ChunkerRegistry.js +421 -0
- package/dist/client/rag/chunkers/BaseChunker.js +143 -0
- package/dist/client/rag/chunkers/CharacterChunker.js +28 -0
- package/dist/client/rag/chunkers/HTMLChunker.js +38 -0
- package/dist/client/rag/chunkers/JSONChunker.js +68 -0
- package/dist/client/rag/chunkers/LaTeXChunker.js +63 -0
- package/dist/client/rag/chunkers/MarkdownChunker.js +306 -0
- package/dist/client/rag/chunkers/RecursiveChunker.js +139 -0
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +138 -0
- package/dist/client/rag/chunkers/SentenceChunker.js +66 -0
- package/dist/client/rag/chunkers/TokenChunker.js +61 -0
- package/dist/client/rag/chunkers/index.js +15 -0
- package/dist/client/rag/chunking/characterChunker.js +142 -0
- package/dist/client/rag/chunking/chunkerRegistry.js +194 -0
- package/dist/client/rag/chunking/htmlChunker.js +247 -0
- package/dist/client/rag/chunking/index.js +17 -0
- package/dist/client/rag/chunking/jsonChunker.js +281 -0
- package/dist/client/rag/chunking/latexChunker.js +251 -0
- package/dist/client/rag/chunking/markdownChunker.js +373 -0
- package/dist/client/rag/chunking/recursiveChunker.js +148 -0
- package/dist/client/rag/chunking/semanticChunker.js +306 -0
- package/dist/client/rag/chunking/sentenceChunker.js +230 -0
- package/dist/client/rag/chunking/tokenChunker.js +183 -0
- package/dist/client/rag/document/MDocument.js +392 -0
- package/dist/client/rag/document/index.js +5 -0
- package/dist/client/rag/document/loaders.js +500 -0
- package/dist/client/rag/errors/RAGError.js +274 -0
- package/dist/client/rag/errors/index.js +6 -0
- package/dist/client/rag/graphRag/graphRAG.js +401 -0
- package/dist/client/rag/graphRag/index.js +4 -0
- package/dist/client/rag/index.js +141 -0
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +418 -0
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +362 -0
- package/dist/client/rag/metadata/index.js +9 -0
- package/dist/client/rag/metadata/metadataExtractor.js +280 -0
- package/dist/client/rag/pipeline/RAGPipeline.js +436 -0
- package/dist/client/rag/pipeline/contextAssembly.js +341 -0
- package/dist/client/rag/pipeline/index.js +5 -0
- package/dist/client/rag/ragIntegration.js +321 -0
- package/dist/client/rag/reranker/RerankerFactory.js +430 -0
- package/dist/client/rag/reranker/RerankerRegistry.js +402 -0
- package/dist/client/rag/reranker/index.js +9 -0
- package/dist/client/rag/reranker/reranker.js +277 -0
- package/dist/client/rag/resilience/CircuitBreaker.js +431 -0
- package/dist/client/rag/resilience/RetryHandler.js +304 -0
- package/dist/client/rag/resilience/index.js +7 -0
- package/dist/client/rag/retrieval/hybridSearch.js +335 -0
- package/dist/client/rag/retrieval/index.js +5 -0
- package/dist/client/rag/retrieval/vectorQueryTool.js +307 -0
- package/dist/client/rag/types.js +8 -0
- package/dist/client/reactHooks.d.ts +239 -0
- package/dist/client/reactHooks.tsx +1483 -0
- package/dist/client/sdk/toolRegistration.js +377 -0
- package/dist/client/server/abstract/baseServerAdapter.js +575 -0
- package/dist/client/server/adapters/expressAdapter.js +486 -0
- package/dist/client/server/adapters/fastifyAdapter.js +472 -0
- package/dist/client/server/adapters/honoAdapter.js +632 -0
- package/dist/client/server/adapters/koaAdapter.js +510 -0
- package/dist/client/server/errors.js +486 -0
- package/dist/client/server/factory/serverAdapterFactory.js +160 -0
- package/dist/client/server/index.js +108 -0
- package/dist/client/server/middleware/abortSignal.js +111 -0
- package/dist/client/server/middleware/auth.js +388 -0
- package/dist/client/server/middleware/cache.js +359 -0
- package/dist/client/server/middleware/common.js +281 -0
- package/dist/client/server/middleware/deprecation.js +190 -0
- package/dist/client/server/middleware/mcpBodyAttachment.js +63 -0
- package/dist/client/server/middleware/rateLimit.js +227 -0
- package/dist/client/server/middleware/validation.js +388 -0
- package/dist/client/server/openapi/generator.js +398 -0
- package/dist/client/server/openapi/index.js +36 -0
- package/dist/client/server/openapi/schemas.js +695 -0
- package/dist/client/server/openapi/templates.js +374 -0
- package/dist/client/server/routes/agentRoutes.js +171 -0
- package/dist/client/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/client/server/routes/healthRoutes.js +187 -0
- package/dist/client/server/routes/index.js +57 -0
- package/dist/client/server/routes/mcpRoutes.js +342 -0
- package/dist/client/server/routes/memoryRoutes.js +350 -0
- package/dist/client/server/routes/openApiRoutes.js +126 -0
- package/dist/client/server/routes/toolRoutes.js +199 -0
- package/dist/client/server/streaming/dataStream.js +486 -0
- package/dist/client/server/streaming/index.js +11 -0
- package/dist/client/server/types.js +67 -0
- package/dist/client/server/utils/redaction.js +334 -0
- package/dist/client/server/utils/validation.js +243 -0
- package/dist/client/server/websocket/WebSocketHandler.js +383 -0
- package/dist/client/server/websocket/index.js +4 -0
- package/dist/client/services/server/ai/observability/instrumentation.js +808 -0
- package/dist/client/sseClient.d.ts +156 -0
- package/dist/client/sseClient.js +545 -0
- package/dist/client/streamingClient.d.ts +327 -0
- package/dist/client/streamingClient.js +917 -0
- package/dist/client/telemetry/attributes.js +100 -0
- package/dist/client/telemetry/index.js +26 -0
- package/dist/client/telemetry/telemetryService.js +308 -0
- package/dist/client/telemetry/tracers.js +17 -0
- package/dist/client/telemetry/withSpan.js +34 -0
- package/dist/client/types/actionTypes.js +6 -0
- package/dist/client/types/analytics.js +5 -0
- package/dist/client/types/authTypes.js +8 -0
- package/dist/client/types/circuitBreakerErrors.js +34 -0
- package/dist/client/types/cli.js +21 -0
- package/dist/client/types/clientTypes.js +10 -0
- package/dist/client/types/common.js +51 -0
- package/dist/client/types/configTypes.js +49 -0
- package/dist/client/types/content.js +19 -0
- package/dist/client/types/contextTypes.js +400 -0
- package/dist/client/types/conversation.js +47 -0
- package/dist/client/types/conversationMemoryInterface.js +6 -0
- package/dist/client/types/domainTypes.js +5 -0
- package/dist/client/types/errors.js +167 -0
- package/dist/client/types/evaluation.js +5 -0
- package/dist/client/types/evaluationProviders.js +5 -0
- package/dist/client/types/evaluationTypes.js +1 -0
- package/dist/client/types/externalMcp.js +6 -0
- package/dist/client/types/fileReferenceTypes.js +8 -0
- package/dist/client/types/fileTypes.js +4 -0
- package/dist/client/types/generateTypes.js +1 -0
- package/dist/client/types/guardrails.js +1 -0
- package/dist/client/types/hitlTypes.js +8 -0
- package/dist/client/types/index.js +57 -0
- package/dist/client/types/mcpTypes.js +5 -0
- package/dist/client/types/middlewareTypes.js +1 -0
- package/dist/client/types/modelTypes.js +30 -0
- package/dist/client/types/multimodal.js +135 -0
- package/dist/client/types/observability.js +6 -0
- package/dist/client/types/pptTypes.js +82 -0
- package/dist/client/types/providers.js +111 -0
- package/dist/client/types/proxyTypes.js +16 -0
- package/dist/client/types/ragTypes.js +7 -0
- package/dist/client/types/sdkTypes.js +8 -0
- package/dist/client/types/serviceTypes.js +5 -0
- package/dist/client/types/streamTypes.js +1 -0
- package/dist/client/types/subscriptionTypes.js +9 -0
- package/dist/client/types/taskClassificationTypes.js +5 -0
- package/dist/client/types/tools.js +24 -0
- package/dist/client/types/ttsTypes.js +57 -0
- package/dist/client/types/typeAliases.js +48 -0
- package/dist/client/types/utilities.js +4 -0
- package/dist/client/types/workflowTypes.js +30 -0
- package/dist/client/utils/async/withTimeout.js +98 -0
- package/dist/client/utils/asyncMutex.js +60 -0
- package/dist/client/utils/conversationMemory.js +431 -0
- package/dist/client/utils/csvProcessor.js +846 -0
- package/dist/client/utils/errorHandling.js +936 -0
- package/dist/client/utils/evaluationUtils.js +131 -0
- package/dist/client/utils/factoryProcessing.js +589 -0
- package/dist/client/utils/fileDetector.js +2161 -0
- package/dist/client/utils/imageCache.js +376 -0
- package/dist/client/utils/imageProcessor.js +704 -0
- package/dist/client/utils/logger.js +491 -0
- package/dist/client/utils/mcpDefaults.js +134 -0
- package/dist/client/utils/messageBuilder.js +1653 -0
- package/dist/client/utils/modelAliasResolver.js +54 -0
- package/dist/client/utils/modelDetection.js +80 -0
- package/dist/client/utils/modelRouter.js +292 -0
- package/dist/client/utils/multimodalOptionsBuilder.js +65 -0
- package/dist/client/utils/observabilityHelpers.js +47 -0
- package/dist/client/utils/parameterValidation.js +966 -0
- package/dist/client/utils/pdfProcessor.js +410 -0
- package/dist/client/utils/performance.js +222 -0
- package/dist/client/utils/pricing.js +340 -0
- package/dist/client/utils/promptRedaction.js +62 -0
- package/dist/client/utils/providerConfig.js +1009 -0
- package/dist/client/utils/providerHealth.js +1237 -0
- package/dist/client/utils/providerRetry.js +112 -0
- package/dist/client/utils/providerUtils.js +434 -0
- package/dist/client/utils/rateLimiter.js +200 -0
- package/dist/client/utils/redis.js +368 -0
- package/dist/client/utils/retryHandler.js +269 -0
- package/dist/client/utils/retryability.js +22 -0
- package/dist/client/utils/sanitizers/svg.js +481 -0
- package/dist/client/utils/schemaConversion.js +255 -0
- package/dist/client/utils/taskClassificationUtils.js +149 -0
- package/dist/client/utils/taskClassifier.js +94 -0
- package/dist/client/utils/thinkingConfig.js +104 -0
- package/dist/client/utils/timeout.js +359 -0
- package/dist/client/utils/tokenEstimation.js +142 -0
- package/dist/client/utils/tokenLimits.js +125 -0
- package/dist/client/utils/tokenUtils.js +239 -0
- package/dist/client/utils/toolUtils.js +75 -0
- package/dist/client/utils/transformationUtils.js +554 -0
- package/dist/client/utils/ttsProcessor.js +286 -0
- package/dist/client/utils/typeUtils.js +97 -0
- package/dist/client/utils/videoAnalysisProcessor.js +67 -0
- package/dist/client/workflow/config.js +398 -0
- package/dist/client/workflow/core/ensembleExecutor.js +407 -0
- package/dist/client/workflow/core/judgeScorer.js +544 -0
- package/dist/client/workflow/core/responseConditioner.js +225 -0
- package/dist/client/workflow/core/types/conditionerTypes.js +7 -0
- package/dist/client/workflow/core/types/ensembleTypes.js +7 -0
- package/dist/client/workflow/core/types/index.js +7 -0
- package/dist/client/workflow/core/types/judgeTypes.js +7 -0
- package/dist/client/workflow/core/types/layerTypes.js +7 -0
- package/dist/client/workflow/core/types/registryTypes.js +7 -0
- package/dist/client/workflow/core/workflowRegistry.js +304 -0
- package/dist/client/workflow/core/workflowRunner.js +586 -0
- package/dist/client/workflow/index.js +50 -0
- package/dist/client/workflow/types.js +9 -0
- package/dist/client/workflow/utils/types/index.js +7 -0
- package/dist/client/workflow/utils/workflowMetrics.js +311 -0
- package/dist/client/workflow/utils/workflowValidation.js +420 -0
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +366 -0
- package/dist/client/workflow/workflows/consensusWorkflow.js +192 -0
- package/dist/client/workflow/workflows/fallbackWorkflow.js +225 -0
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +351 -0
- package/dist/client/wsClient.d.ts +130 -0
- package/dist/client/wsClient.js +369 -0
- package/dist/config/configManager.js +2 -2
- package/dist/constants/contextWindows.js +15 -13
- package/dist/constants/enums.d.ts +10 -16
- package/dist/constants/enums.js +12 -18
- package/dist/constants/index.d.ts +0 -10
- package/dist/constants/index.js +1 -1
- package/dist/constants/tokens.d.ts +29 -16
- package/dist/constants/tokens.js +23 -16
- package/dist/core/baseProvider.d.ts +5 -5
- package/dist/core/baseProvider.js +6 -6
- package/dist/core/constants.js +6 -1
- package/dist/core/dynamicModels.js +10 -6
- package/dist/core/evaluationProviders.js +1 -1
- package/dist/core/infrastructure/baseError.d.ts +1 -1
- package/dist/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/core/infrastructure/index.d.ts +6 -4
- package/dist/core/infrastructure/index.js +2 -2
- package/dist/core/modelConfiguration.js +3 -1
- package/dist/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/core/modules/GenerationHandler.js +49 -41
- package/dist/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/core/modules/MessageBuilder.js +4 -6
- package/dist/core/modules/StreamHandler.js +26 -12
- package/dist/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/core/modules/TelemetryHandler.js +7 -6
- package/dist/core/modules/ToolsManager.d.ts +2 -12
- package/dist/core/modules/ToolsManager.js +20 -4
- package/dist/core/modules/Utilities.js +3 -1
- package/dist/core/redisConversationMemoryManager.js +3 -3
- package/dist/core/streamAnalytics.js +23 -9
- package/dist/evaluation/contextBuilder.d.ts +2 -2
- package/dist/evaluation/contextBuilder.js +2 -2
- package/dist/evaluation/index.d.ts +2 -2
- package/dist/evaluation/retryManager.js +1 -1
- package/dist/factories/providerFactory.js +2 -2
- package/dist/features/ppt/constants.js +1 -1
- package/dist/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/features/ppt/slideGenerator.js +6 -1
- package/dist/files/fileTools.d.ts +16 -247
- package/dist/files/fileTools.js +16 -15
- package/dist/index.d.ts +5 -3
- package/dist/index.js +20 -3
- package/dist/lib/adapters/providerImageAdapter.js +13 -22
- package/dist/lib/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/lib/adapters/video/videoAnalyzer.js +3 -3
- package/dist/lib/agent/directTools.d.ts +20 -289
- package/dist/lib/agent/directTools.js +11 -10
- package/dist/lib/auth/accountPool.d.ts +68 -0
- package/dist/lib/auth/accountPool.js +179 -0
- package/dist/lib/auth/anthropicOAuth.d.ts +15 -5
- package/dist/lib/auth/anthropicOAuth.js +117 -57
- package/dist/lib/auth/index.d.ts +7 -5
- package/dist/lib/auth/index.js +6 -2
- package/dist/lib/auth/tokenStore.d.ts +71 -27
- package/dist/lib/auth/tokenStore.js +342 -64
- package/dist/lib/client/aiSdkAdapter.d.ts +196 -0
- package/dist/lib/client/aiSdkAdapter.js +488 -0
- package/dist/lib/client/auth.d.ts +248 -0
- package/dist/lib/client/auth.js +474 -0
- package/dist/lib/client/errors.d.ts +299 -0
- package/dist/lib/client/errors.js +553 -0
- package/dist/lib/client/httpClient.d.ts +297 -0
- package/dist/lib/client/httpClient.js +838 -0
- package/dist/lib/client/index.d.ts +111 -0
- package/dist/lib/client/index.js +173 -0
- package/dist/lib/client/interceptors.d.ts +283 -0
- package/dist/lib/client/interceptors.js +602 -0
- package/dist/lib/client/reactHooks.d.ts +239 -0
- package/dist/lib/client/reactHooks.js +1160 -0
- package/dist/lib/client/sseClient.d.ts +156 -0
- package/dist/lib/client/sseClient.js +546 -0
- package/dist/lib/client/streamingClient.d.ts +327 -0
- package/dist/lib/client/streamingClient.js +918 -0
- package/dist/lib/client/wsClient.d.ts +130 -0
- package/dist/lib/client/wsClient.js +370 -0
- package/dist/lib/config/configManager.js +2 -2
- package/dist/lib/constants/contextWindows.js +15 -13
- package/dist/lib/constants/enums.d.ts +10 -16
- package/dist/lib/constants/enums.js +12 -18
- package/dist/lib/constants/index.d.ts +0 -10
- package/dist/lib/constants/index.js +1 -1
- package/dist/lib/constants/tokens.d.ts +29 -16
- package/dist/lib/constants/tokens.js +23 -16
- package/dist/lib/core/baseProvider.d.ts +5 -5
- package/dist/lib/core/baseProvider.js +6 -6
- package/dist/lib/core/constants.js +6 -1
- package/dist/lib/core/dynamicModels.js +10 -6
- package/dist/lib/core/evaluationProviders.js +1 -1
- package/dist/lib/core/infrastructure/baseError.d.ts +1 -1
- package/dist/lib/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/lib/core/infrastructure/index.d.ts +6 -4
- package/dist/lib/core/infrastructure/index.js +2 -2
- package/dist/lib/core/modelConfiguration.js +3 -1
- package/dist/lib/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/lib/core/modules/GenerationHandler.js +49 -41
- package/dist/lib/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/lib/core/modules/MessageBuilder.js +4 -6
- package/dist/lib/core/modules/StreamHandler.js +26 -12
- package/dist/lib/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/lib/core/modules/TelemetryHandler.js +7 -6
- package/dist/lib/core/modules/ToolsManager.d.ts +2 -12
- package/dist/lib/core/modules/ToolsManager.js +20 -4
- package/dist/lib/core/modules/Utilities.js +3 -1
- package/dist/lib/core/redisConversationMemoryManager.js +3 -3
- package/dist/lib/core/streamAnalytics.js +23 -9
- package/dist/lib/evaluation/contextBuilder.d.ts +2 -2
- package/dist/lib/evaluation/contextBuilder.js +2 -2
- package/dist/lib/evaluation/index.d.ts +2 -2
- package/dist/lib/evaluation/retryManager.js +1 -1
- package/dist/lib/factories/providerFactory.js +2 -2
- package/dist/lib/features/ppt/constants.js +1 -1
- package/dist/lib/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/lib/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/lib/features/ppt/slideGenerator.js +6 -1
- package/dist/lib/files/fileTools.d.ts +16 -247
- package/dist/lib/files/fileTools.js +16 -15
- package/dist/lib/index.d.ts +5 -3
- package/dist/lib/index.js +20 -3
- package/dist/lib/mcp/batching/requestBatcher.js +1 -1
- package/dist/lib/mcp/externalServerManager.js +5 -2
- package/dist/lib/mcp/factory.js +1 -1
- package/dist/lib/mcp/index.d.ts +1 -1
- package/dist/lib/mcp/index.js +1 -1
- package/dist/lib/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/lib/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/lib/mcp/mcpClientFactory.js +33 -4
- package/dist/lib/mcp/toolDiscoveryService.js +52 -5
- package/dist/lib/mcp/toolRegistry.js +7 -1
- package/dist/lib/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/lib/memory/memoryRetrievalTools.js +1 -1
- package/dist/lib/middleware/builtin/analytics.js +3 -0
- package/dist/lib/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/lib/middleware/builtin/guardrails.js +4 -0
- package/dist/lib/middleware/builtin/lifecycle.js +10 -6
- package/dist/lib/middleware/factory.d.ts +3 -3
- package/dist/lib/middleware/factory.js +3 -2
- package/dist/lib/middleware/index.d.ts +1 -1
- package/dist/lib/middleware/registry.d.ts +2 -2
- package/dist/lib/middleware/registry.js +1 -0
- package/dist/lib/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/lib/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/lib/neurolink.d.ts +9 -20
- package/dist/lib/neurolink.js +278 -186
- package/dist/lib/observability/retryPolicy.d.ts +2 -13
- package/dist/lib/observability/sampling/samplers.d.ts +2 -11
- package/dist/lib/observability/spanProcessor.d.ts +2 -14
- package/dist/lib/processors/base/BaseFileProcessor.js +1 -1
- package/dist/lib/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/lib/processors/media/VideoProcessor.js +157 -101
- package/dist/lib/providers/amazonBedrock.js +12 -5
- package/dist/lib/providers/amazonSagemaker.d.ts +5 -5
- package/dist/lib/providers/amazonSagemaker.js +6 -2
- package/dist/lib/providers/anthropic.d.ts +3 -3
- package/dist/lib/providers/anthropic.js +23 -192
- package/dist/lib/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/lib/providers/anthropicBaseProvider.js +24 -13
- package/dist/lib/providers/azureOpenai.d.ts +2 -2
- package/dist/lib/providers/azureOpenai.js +6 -6
- package/dist/lib/providers/googleAiStudio.d.ts +2 -2
- package/dist/lib/providers/googleAiStudio.js +15 -7
- package/dist/lib/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/lib/providers/googleNativeGemini3.js +14 -10
- package/dist/lib/providers/googleVertex.d.ts +6 -6
- package/dist/lib/providers/googleVertex.js +32 -26
- package/dist/lib/providers/huggingFace.d.ts +4 -4
- package/dist/lib/providers/huggingFace.js +15 -5
- package/dist/lib/providers/litellm.d.ts +4 -4
- package/dist/lib/providers/litellm.js +54 -42
- package/dist/lib/providers/mistral.d.ts +2 -2
- package/dist/lib/providers/mistral.js +5 -4
- package/dist/lib/providers/ollama.d.ts +7 -4
- package/dist/lib/providers/ollama.js +30 -8
- package/dist/lib/providers/openAI.d.ts +2 -2
- package/dist/lib/providers/openAI.js +46 -21
- package/dist/lib/providers/openRouter.d.ts +4 -4
- package/dist/lib/providers/openRouter.js +63 -35
- package/dist/lib/providers/openaiCompatible.d.ts +2 -2
- package/dist/lib/providers/openaiCompatible.js +18 -9
- package/dist/lib/providers/providerTypeUtils.d.ts +28 -0
- package/dist/lib/providers/providerTypeUtils.js +47 -0
- package/dist/lib/providers/sagemaker/config.js +5 -5
- package/dist/lib/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/lib/providers/sagemaker/language-model.js +20 -8
- package/dist/lib/proxy/accountQuota.d.ts +33 -0
- package/dist/lib/proxy/accountQuota.js +163 -0
- package/dist/lib/proxy/claudeFormat.d.ts +143 -0
- package/dist/lib/proxy/claudeFormat.js +596 -0
- package/dist/lib/proxy/cloaking/index.d.ts +44 -0
- package/dist/lib/proxy/cloaking/index.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.js +66 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.js +84 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.js +39 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.js +122 -0
- package/dist/lib/proxy/cloaking/types.d.ts +1 -0
- package/dist/lib/proxy/cloaking/types.js +2 -0
- package/dist/lib/proxy/modelRouter.d.ts +10 -0
- package/dist/lib/proxy/modelRouter.js +30 -0
- package/dist/lib/proxy/oauthFetch.d.ts +36 -0
- package/dist/lib/proxy/oauthFetch.js +368 -0
- package/dist/lib/proxy/proxyConfig.d.ts +42 -0
- package/dist/lib/proxy/proxyConfig.js +500 -0
- package/dist/lib/proxy/proxyFetch.js +2 -1
- package/dist/lib/proxy/requestLogger.d.ts +50 -0
- package/dist/lib/proxy/requestLogger.js +208 -0
- package/dist/lib/proxy/tokenRefresh.d.ts +4 -0
- package/dist/lib/proxy/tokenRefresh.js +125 -0
- package/dist/lib/proxy/usageStats.d.ts +13 -0
- package/dist/lib/proxy/usageStats.js +75 -0
- package/dist/lib/rag/document/loaders.js +1 -1
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/lib/rag/ragIntegration.d.ts +2 -14
- package/dist/lib/rag/ragIntegration.js +1 -1
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/lib/rag/resilience/RetryHandler.js +1 -1
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/lib/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/lib/sdk/toolRegistration.js +12 -1
- package/dist/lib/server/abstract/baseServerAdapter.js +2 -2
- package/dist/lib/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/lib/server/adapters/honoAdapter.js +76 -10
- package/dist/lib/server/middleware/cache.js +3 -0
- package/dist/lib/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/lib/server/routes/claudeProxyRoutes.js +1601 -0
- package/dist/lib/server/routes/healthRoutes.js +18 -1
- package/dist/lib/server/routes/index.d.ts +7 -0
- package/dist/lib/server/routes/index.js +8 -0
- package/dist/lib/server/streaming/dataStream.d.ts +1 -5
- package/dist/lib/server/streaming/dataStream.js +3 -0
- package/dist/lib/server/utils/validation.d.ts +24 -124
- package/dist/lib/server/utils/validation.js +2 -2
- package/dist/lib/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/lib/telemetry/attributes.d.ts +38 -0
- package/dist/lib/telemetry/attributes.js +40 -0
- package/dist/lib/telemetry/tracers.d.ts +1 -0
- package/dist/lib/telemetry/tracers.js +1 -0
- package/dist/lib/types/authTypes.d.ts +56 -0
- package/dist/lib/types/authTypes.js +9 -0
- package/dist/lib/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/lib/types/circuitBreakerErrors.js +35 -0
- package/dist/lib/types/cli.d.ts +258 -0
- package/dist/lib/types/clientTypes.d.ts +1050 -0
- package/dist/lib/types/clientTypes.js +11 -0
- package/dist/lib/types/common.d.ts +123 -0
- package/dist/lib/types/configTypes.d.ts +49 -0
- package/dist/lib/types/configTypes.js +4 -0
- package/dist/lib/types/conversation.d.ts +0 -5
- package/dist/lib/types/evaluationTypes.d.ts +2 -2
- package/dist/lib/types/fileTypes.d.ts +47 -0
- package/dist/lib/types/generateTypes.d.ts +7 -3
- package/dist/lib/types/guardrails.d.ts +2 -2
- package/dist/lib/types/index.d.ts +4 -1
- package/dist/lib/types/index.js +5 -0
- package/dist/lib/types/middlewareTypes.d.ts +3 -3
- package/dist/lib/types/modelTypes.d.ts +7 -97
- package/dist/lib/types/modelTypes.js +3 -3
- package/dist/lib/types/observability.d.ts +37 -0
- package/dist/lib/types/providers.d.ts +107 -0
- package/dist/lib/types/proxyTypes.d.ts +536 -0
- package/dist/lib/types/proxyTypes.js +17 -0
- package/dist/lib/types/ragTypes.d.ts +49 -1
- package/dist/lib/types/streamTypes.d.ts +37 -13
- package/dist/lib/types/subscriptionTypes.d.ts +77 -0
- package/dist/lib/types/subscriptionTypes.js +2 -0
- package/dist/lib/types/tools.d.ts +45 -1
- package/dist/lib/types/typeAliases.d.ts +8 -0
- package/dist/lib/types/typeAliases.js +1 -0
- package/dist/lib/utils/async/retry.d.ts +4 -33
- package/dist/lib/utils/asyncMutex.d.ts +14 -0
- package/dist/lib/utils/asyncMutex.js +61 -0
- package/dist/lib/utils/errorHandling.d.ts +2 -1
- package/dist/lib/utils/errorHandling.js +14 -6
- package/dist/lib/utils/fileDetector.d.ts +13 -1
- package/dist/lib/utils/fileDetector.js +114 -32
- package/dist/lib/utils/imageProcessor.js +7 -7
- package/dist/lib/utils/json/safeParse.d.ts +1 -8
- package/dist/lib/utils/mcpDefaults.d.ts +1 -1
- package/dist/lib/utils/mcpDefaults.js +11 -2
- package/dist/lib/utils/messageBuilder.d.ts +5 -5
- package/dist/lib/utils/messageBuilder.js +106 -80
- package/dist/lib/utils/modelChoices.d.ts +1 -8
- package/dist/lib/utils/pdfProcessor.d.ts +1 -25
- package/dist/lib/utils/pdfProcessor.js +5 -4
- package/dist/lib/utils/pricing.js +28 -5
- package/dist/lib/utils/providerHealth.d.ts +1 -1
- package/dist/lib/utils/rateLimiter.d.ts +1 -15
- package/dist/lib/utils/redis.d.ts +1 -1
- package/dist/lib/utils/redis.js +3 -3
- package/dist/lib/utils/sanitizers/filename.d.ts +2 -22
- package/dist/lib/utils/sanitizers/index.d.ts +4 -2
- package/dist/lib/utils/sanitizers/svg.d.ts +1 -11
- package/dist/lib/utils/schemaConversion.js +4 -1
- package/dist/lib/utils/thinkingConfig.d.ts +1 -33
- package/dist/lib/utils/tokenUtils.d.ts +1 -39
- package/dist/lib/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/lib/utils/videoAnalysisProcessor.js +2 -2
- package/dist/lib/workflow/config.d.ts +89 -1257
- package/dist/lib/workflow/utils/workflowValidation.js +1 -1
- package/dist/mcp/batching/requestBatcher.js +1 -1
- package/dist/mcp/externalServerManager.js +5 -2
- package/dist/mcp/factory.js +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/mcp/mcpClientFactory.js +33 -4
- package/dist/mcp/toolDiscoveryService.js +52 -5
- package/dist/mcp/toolRegistry.js +7 -1
- package/dist/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/memory/memoryRetrievalTools.js +1 -1
- package/dist/middleware/builtin/analytics.js +3 -0
- package/dist/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/middleware/builtin/guardrails.js +4 -0
- package/dist/middleware/builtin/lifecycle.js +10 -6
- package/dist/middleware/factory.d.ts +3 -3
- package/dist/middleware/factory.js +3 -2
- package/dist/middleware/index.d.ts +1 -1
- package/dist/middleware/registry.d.ts +2 -2
- package/dist/middleware/registry.js +1 -0
- package/dist/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/neurolink.d.ts +9 -20
- package/dist/neurolink.js +278 -186
- package/dist/observability/retryPolicy.d.ts +2 -13
- package/dist/observability/sampling/samplers.d.ts +2 -11
- package/dist/observability/spanProcessor.d.ts +2 -14
- package/dist/processors/base/BaseFileProcessor.js +1 -1
- package/dist/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/processors/media/VideoProcessor.js +157 -101
- package/dist/providers/amazonBedrock.js +12 -5
- package/dist/providers/amazonSagemaker.d.ts +5 -5
- package/dist/providers/amazonSagemaker.js +6 -2
- package/dist/providers/anthropic.d.ts +3 -3
- package/dist/providers/anthropic.js +23 -192
- package/dist/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/providers/anthropicBaseProvider.js +24 -13
- package/dist/providers/azureOpenai.d.ts +2 -2
- package/dist/providers/azureOpenai.js +6 -6
- package/dist/providers/googleAiStudio.d.ts +2 -2
- package/dist/providers/googleAiStudio.js +15 -7
- package/dist/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/providers/googleNativeGemini3.js +14 -10
- package/dist/providers/googleVertex.d.ts +6 -6
- package/dist/providers/googleVertex.js +32 -26
- package/dist/providers/huggingFace.d.ts +4 -4
- package/dist/providers/huggingFace.js +15 -5
- package/dist/providers/litellm.d.ts +4 -4
- package/dist/providers/litellm.js +54 -42
- package/dist/providers/mistral.d.ts +2 -2
- package/dist/providers/mistral.js +5 -4
- package/dist/providers/ollama.d.ts +7 -4
- package/dist/providers/ollama.js +30 -8
- package/dist/providers/openAI.d.ts +2 -2
- package/dist/providers/openAI.js +46 -21
- package/dist/providers/openRouter.d.ts +4 -4
- package/dist/providers/openRouter.js +63 -35
- package/dist/providers/openaiCompatible.d.ts +2 -2
- package/dist/providers/openaiCompatible.js +18 -9
- package/dist/providers/providerTypeUtils.d.ts +28 -0
- package/dist/providers/providerTypeUtils.js +46 -0
- package/dist/providers/sagemaker/config.js +5 -5
- package/dist/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/providers/sagemaker/language-model.js +20 -8
- package/dist/proxy/accountQuota.d.ts +33 -0
- package/dist/proxy/accountQuota.js +162 -0
- package/dist/proxy/claudeFormat.d.ts +143 -0
- package/dist/proxy/claudeFormat.js +595 -0
- package/dist/proxy/cloaking/index.d.ts +44 -0
- package/dist/proxy/cloaking/index.js +86 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.js +86 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.js +65 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.js +83 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.js +38 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.js +121 -0
- package/dist/proxy/cloaking/types.d.ts +1 -0
- package/dist/proxy/cloaking/types.js +1 -0
- package/dist/proxy/modelRouter.d.ts +10 -0
- package/dist/proxy/modelRouter.js +29 -0
- package/dist/proxy/oauthFetch.d.ts +36 -0
- package/dist/proxy/oauthFetch.js +367 -0
- package/dist/proxy/proxyConfig.d.ts +42 -0
- package/dist/proxy/proxyConfig.js +499 -0
- package/dist/proxy/proxyFetch.js +2 -1
- package/dist/proxy/requestLogger.d.ts +50 -0
- package/dist/proxy/requestLogger.js +207 -0
- package/dist/proxy/tokenRefresh.d.ts +4 -0
- package/dist/proxy/tokenRefresh.js +124 -0
- package/dist/proxy/usageStats.d.ts +13 -0
- package/dist/proxy/usageStats.js +74 -0
- package/dist/rag/document/loaders.js +1 -1
- package/dist/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/rag/ragIntegration.d.ts +2 -14
- package/dist/rag/ragIntegration.js +1 -1
- package/dist/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/rag/resilience/RetryHandler.js +1 -1
- package/dist/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/sdk/toolRegistration.js +12 -1
- package/dist/server/abstract/baseServerAdapter.js +2 -2
- package/dist/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/server/adapters/honoAdapter.js +76 -10
- package/dist/server/middleware/cache.js +3 -0
- package/dist/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/server/routes/healthRoutes.js +18 -1
- package/dist/server/routes/index.d.ts +7 -0
- package/dist/server/routes/index.js +8 -0
- package/dist/server/streaming/dataStream.d.ts +1 -5
- package/dist/server/streaming/dataStream.js +3 -0
- package/dist/server/utils/validation.d.ts +24 -124
- package/dist/server/utils/validation.js +2 -2
- package/dist/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/telemetry/attributes.d.ts +38 -0
- package/dist/telemetry/attributes.js +40 -0
- package/dist/telemetry/tracers.d.ts +1 -0
- package/dist/telemetry/tracers.js +1 -0
- package/dist/types/authTypes.d.ts +56 -0
- package/dist/types/authTypes.js +8 -0
- package/dist/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/types/circuitBreakerErrors.js +34 -0
- package/dist/types/cli.d.ts +258 -0
- package/dist/types/clientTypes.d.ts +1050 -0
- package/dist/types/clientTypes.js +10 -0
- package/dist/types/common.d.ts +123 -0
- package/dist/types/configTypes.d.ts +49 -0
- package/dist/types/configTypes.js +4 -0
- package/dist/types/conversation.d.ts +0 -5
- package/dist/types/evaluationTypes.d.ts +2 -2
- package/dist/types/fileTypes.d.ts +47 -0
- package/dist/types/generateTypes.d.ts +7 -3
- package/dist/types/guardrails.d.ts +2 -2
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.js +5 -0
- package/dist/types/middlewareTypes.d.ts +3 -3
- package/dist/types/modelTypes.d.ts +7 -97
- package/dist/types/modelTypes.js +3 -3
- package/dist/types/observability.d.ts +37 -0
- package/dist/types/providers.d.ts +107 -0
- package/dist/types/proxyTypes.d.ts +536 -0
- package/dist/types/proxyTypes.js +16 -0
- package/dist/types/ragTypes.d.ts +49 -1
- package/dist/types/streamTypes.d.ts +37 -13
- package/dist/types/subscriptionTypes.d.ts +77 -0
- package/dist/types/subscriptionTypes.js +2 -0
- package/dist/types/tools.d.ts +45 -1
- package/dist/types/typeAliases.d.ts +8 -0
- package/dist/types/typeAliases.js +1 -0
- package/dist/utils/async/retry.d.ts +4 -33
- package/dist/utils/asyncMutex.d.ts +14 -0
- package/dist/utils/asyncMutex.js +60 -0
- package/dist/utils/errorHandling.d.ts +2 -1
- package/dist/utils/errorHandling.js +14 -6
- package/dist/utils/fileDetector.d.ts +13 -1
- package/dist/utils/fileDetector.js +114 -32
- package/dist/utils/imageProcessor.js +7 -7
- package/dist/utils/json/safeParse.d.ts +1 -8
- package/dist/utils/mcpDefaults.d.ts +1 -1
- package/dist/utils/mcpDefaults.js +11 -2
- package/dist/utils/messageBuilder.d.ts +5 -5
- package/dist/utils/messageBuilder.js +106 -80
- package/dist/utils/modelChoices.d.ts +1 -8
- package/dist/utils/pdfProcessor.d.ts +1 -25
- package/dist/utils/pdfProcessor.js +5 -4
- package/dist/utils/pricing.js +28 -5
- package/dist/utils/rateLimiter.d.ts +1 -15
- package/dist/utils/redis.d.ts +1 -1
- package/dist/utils/redis.js +3 -3
- package/dist/utils/sanitizers/filename.d.ts +2 -22
- package/dist/utils/sanitizers/index.d.ts +4 -2
- package/dist/utils/sanitizers/svg.d.ts +1 -11
- package/dist/utils/schemaConversion.js +4 -1
- package/dist/utils/thinkingConfig.d.ts +1 -33
- package/dist/utils/tokenUtils.d.ts +1 -39
- package/dist/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/utils/videoAnalysisProcessor.js +2 -2
- package/dist/workflow/config.d.ts +89 -1257
- package/dist/workflow/utils/workflowValidation.js +1 -1
- package/docs-site/mcp-server/index.js +2 -3
- package/package.json +138 -105
- package/dist/lib/memory/mem0Initializer.d.ts +0 -46
- package/dist/lib/memory/mem0Initializer.js +0 -85
- package/dist/memory/mem0Initializer.d.ts +0 -46
- package/dist/memory/mem0Initializer.js +0 -84
|
@@ -12,11 +12,20 @@ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/
|
|
|
12
12
|
import { spawn } from "child_process";
|
|
13
13
|
import { mcpLogger } from "../utils/logger.js";
|
|
14
14
|
import { globalCircuitBreakerManager } from "./mcpCircuitBreaker.js";
|
|
15
|
+
import { CircuitBreakerOpenError } from "../types/circuitBreakerErrors.js";
|
|
15
16
|
import { withHTTPRetry, DEFAULT_HTTP_RETRY_CONFIG, } from "./httpRetryHandler.js";
|
|
16
17
|
import { globalRateLimiterManager } from "./httpRateLimiter.js";
|
|
17
18
|
import { NeuroLinkOAuthProvider, InMemoryTokenStorage } from "./auth/index.js";
|
|
18
19
|
import { SpanSerializer, SpanType, SpanStatus, } from "../observability/index.js";
|
|
19
20
|
import { getMetricsAggregator } from "../observability/index.js";
|
|
21
|
+
/**
|
|
22
|
+
* Default timeout for MCP client creation in milliseconds.
|
|
23
|
+
* Configurable via MCP_CLIENT_TIMEOUT env var.
|
|
24
|
+
* Covers process spawn, transport setup, connection, and handshake.
|
|
25
|
+
* Set to 60s to accommodate stdio servers that may be slow to start,
|
|
26
|
+
* especially when multiple MCP servers are started concurrently.
|
|
27
|
+
*/
|
|
28
|
+
const DEFAULT_CLIENT_TIMEOUT = Math.max(5000, Number(process.env.MCP_CLIENT_TIMEOUT) || 60000);
|
|
20
29
|
/**
|
|
21
30
|
* MCPClientFactory
|
|
22
31
|
* Factory class for creating MCP clients with different transports
|
|
@@ -36,7 +45,7 @@ export class MCPClientFactory {
|
|
|
36
45
|
* Create an MCP client for the given server configuration
|
|
37
46
|
* Enhanced with retry logic, rate limiting, and circuit breaker protection
|
|
38
47
|
*/
|
|
39
|
-
static async createClient(config, timeout =
|
|
48
|
+
static async createClient(config, timeout = DEFAULT_CLIENT_TIMEOUT) {
|
|
40
49
|
const startTime = Date.now();
|
|
41
50
|
const obsSpan = SpanSerializer.createSpan(SpanType.MCP_TRANSPORT, "mcp.connect", {
|
|
42
51
|
"mcp.transport": config.transport,
|
|
@@ -112,6 +121,26 @@ export class MCPClientFactory {
|
|
|
112
121
|
}
|
|
113
122
|
catch (error) {
|
|
114
123
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
124
|
+
// Circuit breaker open: log at warn (not error) since this is expected
|
|
125
|
+
// protection behavior, and preserve the structured metadata.
|
|
126
|
+
if (error instanceof CircuitBreakerOpenError) {
|
|
127
|
+
mcpLogger.warn(`[MCPClientFactory] Client creation blocked by circuit breaker for ${config.id}`, {
|
|
128
|
+
serverId: config.id,
|
|
129
|
+
breakerState: error.breakerState,
|
|
130
|
+
retryAfter: error.retryAfter,
|
|
131
|
+
retryAfterMs: error.retryAfterMs,
|
|
132
|
+
failureCount: error.failureCount,
|
|
133
|
+
});
|
|
134
|
+
obsSpan.durationMs = Date.now() - startTime;
|
|
135
|
+
const endedObsSpan = SpanSerializer.endSpan(obsSpan, SpanStatus.ERROR);
|
|
136
|
+
endedObsSpan.statusMessage = `Circuit breaker open: ${errorMessage}`;
|
|
137
|
+
getMetricsAggregator().recordSpan(endedObsSpan);
|
|
138
|
+
return {
|
|
139
|
+
success: false,
|
|
140
|
+
error: errorMessage,
|
|
141
|
+
duration: Date.now() - startTime,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
115
144
|
mcpLogger.error(`[MCPClientFactory] Failed to create client for ${config.id}:`, error);
|
|
116
145
|
obsSpan.durationMs = Date.now() - startTime;
|
|
117
146
|
const endedObsSpan = SpanSerializer.endSpan(obsSpan, SpanStatus.ERROR);
|
|
@@ -283,7 +312,7 @@ export class MCPClientFactory {
|
|
|
283
312
|
return { transport };
|
|
284
313
|
}
|
|
285
314
|
catch (error) {
|
|
286
|
-
throw new Error(`Invalid SSE URL: ${error instanceof Error ? error.message : String(error)}
|
|
315
|
+
throw new Error(`Invalid SSE URL: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
287
316
|
}
|
|
288
317
|
}
|
|
289
318
|
/**
|
|
@@ -302,7 +331,7 @@ export class MCPClientFactory {
|
|
|
302
331
|
return { transport };
|
|
303
332
|
}
|
|
304
333
|
catch (error) {
|
|
305
|
-
throw new Error(`Invalid WebSocket URL: ${error instanceof Error ? error.message : String(error)}
|
|
334
|
+
throw new Error(`Invalid WebSocket URL: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
306
335
|
}
|
|
307
336
|
}
|
|
308
337
|
/**
|
|
@@ -355,7 +384,7 @@ export class MCPClientFactory {
|
|
|
355
384
|
return { transport };
|
|
356
385
|
}
|
|
357
386
|
catch (error) {
|
|
358
|
-
throw new Error(`Invalid HTTP URL: ${error instanceof Error ? error.message : String(error)}
|
|
387
|
+
throw new Error(`Invalid HTTP URL: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
359
388
|
}
|
|
360
389
|
}
|
|
361
390
|
/**
|
|
@@ -5,13 +5,18 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { EventEmitter } from "events";
|
|
7
7
|
import { mcpLogger } from "../utils/logger.js";
|
|
8
|
-
import { globalCircuitBreakerManager } from "./mcpCircuitBreaker.js";
|
|
8
|
+
import { globalCircuitBreakerManager, CircuitBreakerOpenError, } from "./mcpCircuitBreaker.js";
|
|
9
9
|
import { isObject, isNullish } from "../utils/typeUtils.js";
|
|
10
10
|
import { validateToolName, validateToolDescription, } from "../utils/parameterValidation.js";
|
|
11
11
|
import { withTimeout } from "../utils/errorHandling.js";
|
|
12
12
|
import { SpanKind, SpanStatusCode } from "@opentelemetry/api";
|
|
13
13
|
import { tracers } from "../telemetry/tracers.js";
|
|
14
14
|
const mcpTracer = tracers.mcp;
|
|
15
|
+
/**
|
|
16
|
+
* Default timeout for MCP tool execution operations in milliseconds.
|
|
17
|
+
* Configurable via MCP_TOOL_TIMEOUT env var.
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_TOOL_TIMEOUT = Math.max(5000, Number(process.env.MCP_TOOL_TIMEOUT) || 60000);
|
|
15
20
|
/**
|
|
16
21
|
* ToolDiscoveryService
|
|
17
22
|
* Handles automatic tool discovery and registration from external MCP servers
|
|
@@ -27,7 +32,7 @@ export class ToolDiscoveryService extends EventEmitter {
|
|
|
27
32
|
/**
|
|
28
33
|
* Discover tools from an external MCP server
|
|
29
34
|
*/
|
|
30
|
-
async discoverTools(serverId, client, timeout =
|
|
35
|
+
async discoverTools(serverId, client, timeout = DEFAULT_TOOL_TIMEOUT) {
|
|
31
36
|
const startTime = Date.now();
|
|
32
37
|
try {
|
|
33
38
|
// Prevent concurrent discovery for same server
|
|
@@ -333,10 +338,11 @@ export class ToolDiscoveryService extends EventEmitter {
|
|
|
333
338
|
parameters,
|
|
334
339
|
});
|
|
335
340
|
// Create circuit breaker for tool execution
|
|
341
|
+
const effectiveTimeout = options.timeout || DEFAULT_TOOL_TIMEOUT;
|
|
336
342
|
const circuitBreaker = globalCircuitBreakerManager.getBreaker(`tool-execution-${serverId}-${toolName}`, {
|
|
337
343
|
failureThreshold: 3,
|
|
338
344
|
resetTimeout: 30000,
|
|
339
|
-
operationTimeout:
|
|
345
|
+
operationTimeout: effectiveTimeout,
|
|
340
346
|
});
|
|
341
347
|
// Execute tool with circuit breaker protection
|
|
342
348
|
const result = await circuitBreaker.execute(async () => {
|
|
@@ -345,11 +351,11 @@ export class ToolDiscoveryService extends EventEmitter {
|
|
|
345
351
|
attributes: {
|
|
346
352
|
"mcp.server_id": serverId,
|
|
347
353
|
"mcp.tool_name": toolName,
|
|
348
|
-
"mcp.timeout_ms":
|
|
354
|
+
"mcp.timeout_ms": effectiveTimeout,
|
|
349
355
|
},
|
|
350
356
|
}, async (callSpan) => {
|
|
351
357
|
try {
|
|
352
|
-
const timeout =
|
|
358
|
+
const timeout = effectiveTimeout;
|
|
353
359
|
const callResult = await withTimeout(client.callTool({
|
|
354
360
|
name: toolName,
|
|
355
361
|
arguments: parameters,
|
|
@@ -398,6 +404,47 @@ export class ToolDiscoveryService extends EventEmitter {
|
|
|
398
404
|
// Update tool statistics
|
|
399
405
|
const toolKey = this.createToolKey(serverId, toolName);
|
|
400
406
|
this.updateToolStats(toolKey, false, duration);
|
|
407
|
+
// Circuit breaker open errors: return a structured isError result with
|
|
408
|
+
// actionable details so AI models understand the tool is temporarily
|
|
409
|
+
// unavailable and should NOT retry until the cooldown expires.
|
|
410
|
+
if (error instanceof CircuitBreakerOpenError) {
|
|
411
|
+
mcpLogger.warn(`[ToolDiscoveryService] Tool blocked by circuit breaker: ${toolName} on ${serverId}`, {
|
|
412
|
+
breakerState: error.breakerState,
|
|
413
|
+
retryAfter: error.retryAfter,
|
|
414
|
+
retryAfterMs: error.retryAfterMs,
|
|
415
|
+
failureCount: error.failureCount,
|
|
416
|
+
});
|
|
417
|
+
return {
|
|
418
|
+
success: false,
|
|
419
|
+
error: error.message,
|
|
420
|
+
data: {
|
|
421
|
+
isError: true,
|
|
422
|
+
content: [
|
|
423
|
+
{
|
|
424
|
+
type: "text",
|
|
425
|
+
text: `TOOL TEMPORARILY UNAVAILABLE: "${toolName}" has been disabled after ` +
|
|
426
|
+
`${error.failureCount} failures. ` +
|
|
427
|
+
`This is a circuit breaker protection — do NOT retry this tool. ` +
|
|
428
|
+
`It will become available again after ${Math.ceil(error.retryAfterMs / 1000)} seconds ` +
|
|
429
|
+
`(at ${error.retryAfter}). ` +
|
|
430
|
+
`Instead, inform the user that the operation failed and suggest trying again later.`,
|
|
431
|
+
},
|
|
432
|
+
],
|
|
433
|
+
},
|
|
434
|
+
duration,
|
|
435
|
+
metadata: {
|
|
436
|
+
toolName,
|
|
437
|
+
serverId,
|
|
438
|
+
timestamp: Date.now(),
|
|
439
|
+
circuitBreaker: {
|
|
440
|
+
state: error.breakerState,
|
|
441
|
+
retryAfter: error.retryAfter,
|
|
442
|
+
retryAfterMs: error.retryAfterMs,
|
|
443
|
+
failureCount: error.failureCount,
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
};
|
|
447
|
+
}
|
|
401
448
|
mcpLogger.error(`[ToolDiscoveryService] Tool execution failed: ${toolName}`, error);
|
|
402
449
|
return {
|
|
403
450
|
success: false,
|
|
@@ -157,6 +157,8 @@ export class MCPToolRegistry extends MCPRegistry {
|
|
|
157
157
|
// For other tools, use fully-qualified serverId.toolName to avoid collisions
|
|
158
158
|
const isCustomTool = serverId.startsWith("custom-tool-");
|
|
159
159
|
const toolId = isCustomTool ? tool.name : `${serverId}.${tool.name}`;
|
|
160
|
+
const toolTimeoutMs = serverInfo.metadata?.toolTimeoutMs;
|
|
161
|
+
const toolMaxRetries = serverInfo.metadata?.toolMaxRetries;
|
|
160
162
|
const toolInfo = {
|
|
161
163
|
name: tool.name,
|
|
162
164
|
description: tool.description,
|
|
@@ -168,6 +170,8 @@ export class MCPToolRegistry extends MCPRegistry {
|
|
|
168
170
|
serverId: serverInfo.id,
|
|
169
171
|
}),
|
|
170
172
|
permissions: [], // MCPServerInfo.tools doesn't have permissions
|
|
173
|
+
...(toolTimeoutMs !== undefined && { timeoutMs: toolTimeoutMs }),
|
|
174
|
+
...(toolMaxRetries !== undefined && { maxRetries: toolMaxRetries }),
|
|
171
175
|
};
|
|
172
176
|
// Register only with fully-qualified toolId to avoid collisions
|
|
173
177
|
this.tools.set(toolId, toolInfo);
|
|
@@ -183,6 +187,8 @@ export class MCPToolRegistry extends MCPRegistry {
|
|
|
183
187
|
existingCategory: serverInfo.metadata?.category,
|
|
184
188
|
serverId: serverInfo.id,
|
|
185
189
|
}),
|
|
190
|
+
...(toolTimeoutMs !== undefined && { timeoutMs: toolTimeoutMs }),
|
|
191
|
+
...(toolMaxRetries !== undefined && { maxRetries: toolMaxRetries }),
|
|
186
192
|
});
|
|
187
193
|
// Tool registered successfully
|
|
188
194
|
}
|
|
@@ -347,7 +353,7 @@ export class MCPToolRegistry extends MCPRegistry {
|
|
|
347
353
|
else {
|
|
348
354
|
// Other HITL error (configuration, system error, etc.)
|
|
349
355
|
registryLogger.error(`HITL confirmation failed for tool '${toolName}':`, error);
|
|
350
|
-
throw new Error(`HITL confirmation failed: ${error instanceof Error ? error.message : String(error)}
|
|
356
|
+
throw new Error(`HITL confirmation failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
351
357
|
}
|
|
352
358
|
}
|
|
353
359
|
}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* Follows the createFileTools() factory pattern from files/fileTools.ts.
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
|
-
import { z } from "zod";
|
|
10
9
|
import type { RedisConversationMemoryManager } from "../core/redisConversationMemoryManager.js";
|
|
11
10
|
/**
|
|
12
11
|
* Factory function that creates memory retrieval tools bound to a memory manager.
|
|
@@ -14,31 +13,15 @@ import type { RedisConversationMemoryManager } from "../core/redisConversationMe
|
|
|
14
13
|
* @returns Record of tool name to Vercel AI SDK tool definition
|
|
15
14
|
*/
|
|
16
15
|
export declare function createMemoryRetrievalTools(memoryManager: RedisConversationMemoryManager): {
|
|
17
|
-
retrieve_context: import("ai").Tool<
|
|
18
|
-
sessionId: z.ZodString;
|
|
19
|
-
messageId: z.ZodOptional<z.ZodString>;
|
|
20
|
-
role: z.ZodOptional<z.ZodEnum<["user", "assistant", "system", "tool_call", "tool_result"]>>;
|
|
21
|
-
lastN: z.ZodOptional<z.ZodNumber>;
|
|
22
|
-
offset: z.ZodOptional<z.ZodNumber>;
|
|
23
|
-
limit: z.ZodOptional<z.ZodNumber>;
|
|
24
|
-
search: z.ZodOptional<z.ZodString>;
|
|
25
|
-
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
retrieve_context: import("ai").Tool<{
|
|
26
17
|
sessionId: string;
|
|
27
|
-
search?: string | undefined;
|
|
28
|
-
role?: "system" | "user" | "assistant" | "tool_call" | "tool_result" | undefined;
|
|
29
|
-
offset?: number | undefined;
|
|
30
|
-
limit?: number | undefined;
|
|
31
18
|
messageId?: string | undefined;
|
|
32
|
-
lastN?: number | undefined;
|
|
33
|
-
}, {
|
|
34
|
-
sessionId: string;
|
|
35
|
-
search?: string | undefined;
|
|
36
19
|
role?: "system" | "user" | "assistant" | "tool_call" | "tool_result" | undefined;
|
|
20
|
+
lastN?: number | undefined;
|
|
37
21
|
offset?: number | undefined;
|
|
38
22
|
limit?: number | undefined;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}>, {
|
|
23
|
+
search?: string | undefined;
|
|
24
|
+
}, {
|
|
42
25
|
error: string;
|
|
43
26
|
sessionId: string;
|
|
44
27
|
messageId?: undefined;
|
|
@@ -95,72 +78,5 @@ export declare function createMemoryRetrievalTools(memoryManager: RedisConversat
|
|
|
95
78
|
messageId?: undefined;
|
|
96
79
|
messages?: undefined;
|
|
97
80
|
totalMessages?: undefined;
|
|
98
|
-
}
|
|
99
|
-
execute: (args: {
|
|
100
|
-
sessionId: string;
|
|
101
|
-
search?: string | undefined;
|
|
102
|
-
role?: "system" | "user" | "assistant" | "tool_call" | "tool_result" | undefined;
|
|
103
|
-
offset?: number | undefined;
|
|
104
|
-
limit?: number | undefined;
|
|
105
|
-
messageId?: string | undefined;
|
|
106
|
-
lastN?: number | undefined;
|
|
107
|
-
}, options: import("ai").ToolExecutionOptions) => PromiseLike<{
|
|
108
|
-
error: string;
|
|
109
|
-
sessionId: string;
|
|
110
|
-
messageId?: undefined;
|
|
111
|
-
messages?: undefined;
|
|
112
|
-
totalMessages?: undefined;
|
|
113
|
-
} | {
|
|
114
|
-
error: string;
|
|
115
|
-
messageId: string;
|
|
116
|
-
sessionId?: undefined;
|
|
117
|
-
messages?: undefined;
|
|
118
|
-
totalMessages?: undefined;
|
|
119
|
-
} | {
|
|
120
|
-
messages: ({
|
|
121
|
-
id: string;
|
|
122
|
-
error: string;
|
|
123
|
-
role?: undefined;
|
|
124
|
-
tool?: undefined;
|
|
125
|
-
matchCount?: undefined;
|
|
126
|
-
matches?: undefined;
|
|
127
|
-
totalSize?: undefined;
|
|
128
|
-
content?: undefined;
|
|
129
|
-
hasMore?: undefined;
|
|
130
|
-
} | {
|
|
131
|
-
id: string;
|
|
132
|
-
role: "system" | "user" | "assistant" | "tool_call" | "tool_result";
|
|
133
|
-
tool: string | undefined;
|
|
134
|
-
matchCount: number;
|
|
135
|
-
matches: {
|
|
136
|
-
line: number;
|
|
137
|
-
text: string;
|
|
138
|
-
}[];
|
|
139
|
-
totalSize: number;
|
|
140
|
-
error?: undefined;
|
|
141
|
-
content?: undefined;
|
|
142
|
-
hasMore?: undefined;
|
|
143
|
-
} | {
|
|
144
|
-
id: string;
|
|
145
|
-
role: "system" | "user" | "assistant" | "tool_call" | "tool_result";
|
|
146
|
-
tool: string | undefined;
|
|
147
|
-
content: string;
|
|
148
|
-
totalSize: number;
|
|
149
|
-
hasMore: boolean;
|
|
150
|
-
error?: undefined;
|
|
151
|
-
matchCount?: undefined;
|
|
152
|
-
matches?: undefined;
|
|
153
|
-
})[];
|
|
154
|
-
totalMessages: number;
|
|
155
|
-
error?: undefined;
|
|
156
|
-
sessionId?: undefined;
|
|
157
|
-
messageId?: undefined;
|
|
158
|
-
} | {
|
|
159
|
-
error: string;
|
|
160
|
-
sessionId?: undefined;
|
|
161
|
-
messageId?: undefined;
|
|
162
|
-
messages?: undefined;
|
|
163
|
-
totalMessages?: undefined;
|
|
164
|
-
}>;
|
|
165
|
-
};
|
|
81
|
+
}>;
|
|
166
82
|
};
|
|
@@ -29,7 +29,7 @@ export function createMemoryRetrievalTools(memoryManager) {
|
|
|
29
29
|
"outputs when a result was truncated, review previous assistant responses, " +
|
|
30
30
|
"or search through conversation history. Supports filtering by role, " +
|
|
31
31
|
"pagination for large content, and regex search within messages.",
|
|
32
|
-
|
|
32
|
+
inputSchema: z.object({
|
|
33
33
|
sessionId: z.string().describe("Session ID for the conversation"),
|
|
34
34
|
messageId: z
|
|
35
35
|
.string()
|
|
@@ -13,6 +13,8 @@ export function createAnalyticsMiddleware() {
|
|
|
13
13
|
defaultEnabled: true,
|
|
14
14
|
};
|
|
15
15
|
const middleware = {
|
|
16
|
+
specificationVersion: "v3",
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
18
|
wrapGenerate: async ({ doGenerate, params }) => {
|
|
17
19
|
const requestId = `analytics-${Date.now()}`;
|
|
18
20
|
const startTime = Date.now();
|
|
@@ -62,6 +64,7 @@ export function createAnalyticsMiddleware() {
|
|
|
62
64
|
throw error;
|
|
63
65
|
}
|
|
64
66
|
},
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
68
|
wrapStream: async ({ doStream, params }) => {
|
|
66
69
|
const requestId = `analytics-stream-${Date.now()}`;
|
|
67
70
|
const startTime = Date.now();
|
|
@@ -21,33 +21,51 @@ export function createAutoEvaluationMiddleware(config = {}) {
|
|
|
21
21
|
};
|
|
22
22
|
logger.debug("Auto-Evaluation Middleware Config:", config);
|
|
23
23
|
const middleware = {
|
|
24
|
+
specificationVersion: "v3",
|
|
24
25
|
wrapGenerate: async ({ doGenerate, params }) => {
|
|
25
26
|
const options = params;
|
|
26
27
|
const rawResult = await doGenerate();
|
|
28
|
+
const rawReasoning = rawResult.reasoning;
|
|
29
|
+
const textParts = rawResult.content
|
|
30
|
+
.filter((c) => c.type === "text")
|
|
31
|
+
.map((c) => c.text);
|
|
32
|
+
const toolCallParts = rawResult.content.filter((c) => c.type === "tool-call");
|
|
33
|
+
const inputTokens = rawResult.usage.inputTokens.total ?? 0;
|
|
34
|
+
const outputTokens = rawResult.usage.outputTokens.total ?? 0;
|
|
27
35
|
const result = {
|
|
28
|
-
|
|
29
|
-
|
|
36
|
+
content: textParts.join(""),
|
|
37
|
+
finishReason: rawResult.finishReason.unified,
|
|
38
|
+
reasoning: typeof rawReasoning === "string"
|
|
39
|
+
? rawReasoning
|
|
40
|
+
: Array.isArray(rawReasoning)
|
|
41
|
+
? rawReasoning
|
|
42
|
+
.map((r) => typeof r === "string"
|
|
43
|
+
? r
|
|
44
|
+
: (r?.text ?? JSON.stringify(r)))
|
|
45
|
+
.join("\n")
|
|
46
|
+
: undefined,
|
|
30
47
|
usage: {
|
|
31
|
-
input:
|
|
32
|
-
output:
|
|
33
|
-
total:
|
|
48
|
+
input: inputTokens,
|
|
49
|
+
output: outputTokens,
|
|
50
|
+
total: inputTokens + outputTokens,
|
|
34
51
|
},
|
|
35
|
-
toolCalls:
|
|
36
|
-
|
|
37
|
-
|
|
52
|
+
toolCalls: toolCallParts.length > 0
|
|
53
|
+
? toolCallParts.map((tc) => {
|
|
54
|
+
let parsedArgs;
|
|
38
55
|
try {
|
|
39
|
-
parsedArgs = JSON.parse(tc.
|
|
56
|
+
parsedArgs = JSON.parse(tc.input);
|
|
40
57
|
}
|
|
41
58
|
catch (e) {
|
|
42
59
|
logger.warn(`Failed to parse tool call args for tool ${tc.toolName}:`, e);
|
|
43
|
-
parsedArgs = tc.
|
|
60
|
+
parsedArgs = { raw: tc.input };
|
|
44
61
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
62
|
+
return {
|
|
63
|
+
toolCallId: tc.toolCallId,
|
|
64
|
+
toolName: tc.toolName,
|
|
65
|
+
args: parsedArgs,
|
|
66
|
+
};
|
|
67
|
+
})
|
|
68
|
+
: undefined,
|
|
51
69
|
};
|
|
52
70
|
const isBlocking = config.blocking !== false;
|
|
53
71
|
if (isBlocking) {
|
|
@@ -131,19 +149,19 @@ async function consumeAndEvaluateStream(config, options, stream) {
|
|
|
131
149
|
}
|
|
132
150
|
switch (value.type) {
|
|
133
151
|
case "text-delta":
|
|
134
|
-
fullText += value.
|
|
152
|
+
fullText += value.delta;
|
|
135
153
|
break;
|
|
136
154
|
case "tool-call":
|
|
137
155
|
{
|
|
138
156
|
let parsedArgs;
|
|
139
157
|
try {
|
|
140
|
-
parsedArgs = JSON.parse(value.
|
|
158
|
+
parsedArgs = JSON.parse(value.input);
|
|
141
159
|
}
|
|
142
160
|
catch (e) {
|
|
143
161
|
logger.warn(`Failed to parse tool call args for tool ${value.toolName}:`, e);
|
|
144
162
|
// In case of parsing failure, we can't assign a string.
|
|
145
163
|
// Let's use an object with the raw string to maintain type safety.
|
|
146
|
-
parsedArgs = { raw: value.
|
|
164
|
+
parsedArgs = { raw: value.input };
|
|
147
165
|
}
|
|
148
166
|
toolCalls.push({
|
|
149
167
|
toolCallId: value.toolCallId,
|
|
@@ -153,11 +171,15 @@ async function consumeAndEvaluateStream(config, options, stream) {
|
|
|
153
171
|
}
|
|
154
172
|
break;
|
|
155
173
|
case "finish":
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
174
|
+
{
|
|
175
|
+
const finishInputTokens = value.usage.inputTokens.total ?? 0;
|
|
176
|
+
const finishOutputTokens = value.usage.outputTokens.total ?? 0;
|
|
177
|
+
usage = {
|
|
178
|
+
input: finishInputTokens,
|
|
179
|
+
output: finishOutputTokens,
|
|
180
|
+
total: finishInputTokens + finishOutputTokens,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
161
183
|
break;
|
|
162
184
|
}
|
|
163
185
|
}
|
|
@@ -17,6 +17,8 @@ export function createGuardrailsMiddleware(config = {}) {
|
|
|
17
17
|
// WeakMap to store blocking state from transformParams to wrap methods
|
|
18
18
|
const blockingState = new WeakMap();
|
|
19
19
|
const middleware = {
|
|
20
|
+
specificationVersion: "v3",
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
22
|
transformParams: async ({ params }) => {
|
|
21
23
|
if (config.precallEvaluation?.enabled) {
|
|
22
24
|
const { shouldBlock, transformedParams } = await handlePrecallGuardrails(params, config.precallEvaluation);
|
|
@@ -26,6 +28,7 @@ export function createGuardrailsMiddleware(config = {}) {
|
|
|
26
28
|
}
|
|
27
29
|
return params;
|
|
28
30
|
},
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
32
|
wrapGenerate: async ({ doGenerate, params }) => {
|
|
30
33
|
logger.debug(`[GuardrailsMiddleware] Applying to generate call.`);
|
|
31
34
|
// Check if this request should be blocked (set by transformParams)
|
|
@@ -58,6 +61,7 @@ export function createGuardrailsMiddleware(config = {}) {
|
|
|
58
61
|
}
|
|
59
62
|
return result;
|
|
60
63
|
},
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
65
|
wrapStream: async ({ doStream, params }) => {
|
|
62
66
|
logger.debug(`[GuardrailsMiddleware] Applying to stream call.`);
|
|
63
67
|
// Check if this request should be blocked (set by transformParams)
|
|
@@ -18,22 +18,26 @@ export function createLifecycleMiddleware(config = {}) {
|
|
|
18
18
|
defaultEnabled: false,
|
|
19
19
|
};
|
|
20
20
|
const middleware = {
|
|
21
|
-
|
|
21
|
+
specificationVersion: "v3",
|
|
22
|
+
wrapGenerate: async ({ doGenerate, }) => {
|
|
22
23
|
const startTime = Date.now();
|
|
23
24
|
try {
|
|
24
25
|
const result = await doGenerate();
|
|
25
26
|
if (config.onFinish) {
|
|
26
27
|
try {
|
|
28
|
+
const content = result.content
|
|
29
|
+
?.map((c) => c.type === "text" ? c.text : "")
|
|
30
|
+
.join("") ?? "";
|
|
27
31
|
const callbackResult = config.onFinish({
|
|
28
|
-
text:
|
|
32
|
+
text: content,
|
|
29
33
|
usage: result.usage
|
|
30
34
|
? {
|
|
31
|
-
promptTokens: result.usage.
|
|
32
|
-
completionTokens: result.usage.
|
|
35
|
+
promptTokens: result.usage.inputTokens?.total ?? 0,
|
|
36
|
+
completionTokens: result.usage.outputTokens?.total ?? 0,
|
|
33
37
|
}
|
|
34
38
|
: undefined,
|
|
35
39
|
duration: Date.now() - startTime,
|
|
36
|
-
finishReason: result.finishReason,
|
|
40
|
+
finishReason: String(result.finishReason ?? ""),
|
|
37
41
|
});
|
|
38
42
|
Promise.resolve(callbackResult).catch((e) => {
|
|
39
43
|
logger.warn("[LifecycleMiddleware] onFinish callback error:", e);
|
|
@@ -65,7 +69,7 @@ export function createLifecycleMiddleware(config = {}) {
|
|
|
65
69
|
throw error;
|
|
66
70
|
}
|
|
67
71
|
},
|
|
68
|
-
wrapStream: async ({ doStream }) => {
|
|
72
|
+
wrapStream: async ({ doStream, }) => {
|
|
69
73
|
const startTime = Date.now();
|
|
70
74
|
try {
|
|
71
75
|
const result = await doStream();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LanguageModel } from "ai";
|
|
2
2
|
import type { MiddlewareContext, MiddlewareConfig, MiddlewareFactoryOptions, MiddlewareChainStats, MiddlewarePreset, NeuroLinkMiddleware, MiddlewareRegistrationOptions } from "../types/middlewareTypes.js";
|
|
3
3
|
import { MiddlewareRegistry } from "./registry.js";
|
|
4
4
|
/**
|
|
@@ -25,7 +25,7 @@ export declare class MiddlewareFactory {
|
|
|
25
25
|
/**
|
|
26
26
|
* Apply middleware to a language model
|
|
27
27
|
*/
|
|
28
|
-
applyMiddleware(model:
|
|
28
|
+
applyMiddleware(model: LanguageModel, context: MiddlewareContext, options?: MiddlewareFactoryOptions): LanguageModel;
|
|
29
29
|
private getCreator;
|
|
30
30
|
/**
|
|
31
31
|
* Build middleware configuration from factory options
|
|
@@ -65,5 +65,5 @@ export declare class MiddlewareFactory {
|
|
|
65
65
|
/**
|
|
66
66
|
* Create a middleware-enabled model factory function
|
|
67
67
|
*/
|
|
68
|
-
createModelFactory(baseModelFactory: () => Promise<
|
|
68
|
+
createModelFactory(baseModelFactory: () => Promise<LanguageModel>, defaultOptions?: MiddlewareFactoryOptions): (context: MiddlewareContext, options?: MiddlewareFactoryOptions) => Promise<LanguageModel>;
|
|
69
69
|
}
|
|
@@ -117,9 +117,10 @@ export class MiddlewareFactory {
|
|
|
117
117
|
middlewareCount: middlewareChain.length,
|
|
118
118
|
});
|
|
119
119
|
// Apply middleware using AI SDK's wrapLanguageModel
|
|
120
|
-
//
|
|
120
|
+
// wrapLanguageModel expects LanguageModelV3, narrow from LanguageModel union
|
|
121
|
+
const modelV3 = model;
|
|
121
122
|
const wrappedModel = wrapLanguageModel({
|
|
122
|
-
model,
|
|
123
|
+
model: modelV3,
|
|
123
124
|
middleware: middlewareChain,
|
|
124
125
|
});
|
|
125
126
|
const processingTime = Date.now() - startTime;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { MiddlewareFactory } from "./factory.js";
|
|
9
9
|
export type { NeuroLinkMiddleware, MiddlewareConfig, MiddlewareContext, MiddlewareConditions, MiddlewareRegistrationOptions, MiddlewareExecutionResult, MiddlewareChainStats, MiddlewarePreset, MiddlewareFactoryOptions, BuiltInMiddlewareType, } from "../types/middlewareTypes.js";
|
|
10
|
-
export type {
|
|
10
|
+
export type { LanguageModelMiddleware } from "ai";
|
|
11
11
|
export { MiddlewareFactory };
|
|
12
12
|
export { createLifecycleMiddleware } from "./builtin/lifecycle.js";
|
|
13
13
|
export default MiddlewareFactory;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LanguageModelMiddleware } from "ai";
|
|
2
2
|
import type { NeuroLinkMiddleware, MiddlewareConfig, MiddlewareContext, MiddlewareRegistrationOptions, MiddlewareExecutionResult } from "../types/middlewareTypes.js";
|
|
3
3
|
/**
|
|
4
4
|
* Manages the registration, configuration, and execution of middleware for a single factory instance.
|
|
@@ -30,7 +30,7 @@ export declare class MiddlewareRegistry {
|
|
|
30
30
|
/**
|
|
31
31
|
* Build middleware chain based on configuration
|
|
32
32
|
*/
|
|
33
|
-
buildChain(context: MiddlewareContext, config?: Record<string, MiddlewareConfig>):
|
|
33
|
+
buildChain(context: MiddlewareContext, config?: Record<string, MiddlewareConfig>): LanguageModelMiddleware[];
|
|
34
34
|
/**
|
|
35
35
|
* Determine if middleware should be applied based on conditions
|
|
36
36
|
*/
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { BadWordsConfig, ContentFilteringResult, EvaluationActionResult, PrecallEvaluationConfig, PrecallEvaluationResult } from "../../types/guardrails.js";
|
|
2
|
-
import type { LanguageModelV1CallOptions } from "ai";
|
|
3
2
|
export declare const DEFAULT_EVALUATION_PROMPT = "\nEvaluate the following user input for safety and appropriateness. Respond ONLY with valid JSON:\n\n{\n \"overall\": \"safe|unsafe|suspicious|inappropriate\",\n \"safetyScore\": <1-10>,\n \"appropriatenessScore\": <1-10>,\n \"confidenceLevel\": <1-10>,\n \"issues\": [\n {\n \"category\": \"explicit_content|hate_speech|violence|personal_info|spam|other\",\n \"severity\": \"low|medium|high|critical\",\n \"description\": \"Brief description\"\n }\n ],\n \"suggestedAction\": \"allow|block|sanitize|warn\",\n \"reasoning\": \"Brief explanation\"\n}\n\nUser Input: \"{USER_INPUT}\"\n";
|
|
4
3
|
/**
|
|
5
|
-
* Extract user input from
|
|
4
|
+
* Extract user input from middleware params
|
|
6
5
|
*/
|
|
7
|
-
export declare function extractUserInput(params:
|
|
6
|
+
export declare function extractUserInput(params: any): string;
|
|
8
7
|
export declare function parseEvaluationResponse(rawResponse: string): PrecallEvaluationResult;
|
|
9
8
|
/**
|
|
10
9
|
* Handles the precall guardrails logic, including evaluation and sanitization.
|
|
@@ -12,9 +11,9 @@ export declare function parseEvaluationResponse(rawResponse: string): PrecallEva
|
|
|
12
11
|
* @param config - The precall evaluation configuration.
|
|
13
12
|
* @returns An object indicating if the request should be blocked and the (potentially transformed) params.
|
|
14
13
|
*/
|
|
15
|
-
export declare function handlePrecallGuardrails(params:
|
|
14
|
+
export declare function handlePrecallGuardrails(params: any, config: PrecallEvaluationConfig): Promise<{
|
|
16
15
|
shouldBlock: boolean;
|
|
17
|
-
transformedParams:
|
|
16
|
+
transformedParams: any;
|
|
18
17
|
}>;
|
|
19
18
|
/**
|
|
20
19
|
* Perform precall evaluation of user input using AI models
|
|
@@ -24,7 +23,7 @@ export declare function applyEvaluationActions(evaluation: PrecallEvaluationResu
|
|
|
24
23
|
/**
|
|
25
24
|
* Apply parameter sanitization to request parameters
|
|
26
25
|
*/
|
|
27
|
-
export declare function applySanitization(params:
|
|
26
|
+
export declare function applySanitization(params: any, sanitizedInput: string): any;
|
|
28
27
|
export declare function escapeRegExp(string: string): string;
|
|
29
28
|
export declare function createBlockedResponse(): {
|
|
30
29
|
text: string;
|