@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
package/dist/types/ragTypes.d.ts
CHANGED
|
@@ -181,7 +181,6 @@ export type RAGCircuitBreakerStats = {
|
|
|
181
181
|
averageLatency: number;
|
|
182
182
|
p95Latency: number;
|
|
183
183
|
};
|
|
184
|
-
import type { CircuitState } from "../rag/resilience/CircuitBreaker.js";
|
|
185
184
|
/**
|
|
186
185
|
* Embedding model configuration
|
|
187
186
|
*/
|
|
@@ -487,3 +486,52 @@ export type DocumentLoader = {
|
|
|
487
486
|
*/
|
|
488
487
|
canHandle(source: string): boolean;
|
|
489
488
|
};
|
|
489
|
+
/** Circuit breaker state. */
|
|
490
|
+
export type CircuitState = "closed" | "open" | "half-open";
|
|
491
|
+
/** Event map for RAG circuit breaker. */
|
|
492
|
+
export type RAGCircuitBreakerEvents = {
|
|
493
|
+
stateChange: [
|
|
494
|
+
{
|
|
495
|
+
oldState: CircuitState;
|
|
496
|
+
newState: CircuitState;
|
|
497
|
+
reason: string;
|
|
498
|
+
timestamp: Date;
|
|
499
|
+
}
|
|
500
|
+
];
|
|
501
|
+
callSuccess: [{
|
|
502
|
+
duration: number;
|
|
503
|
+
timestamp: Date;
|
|
504
|
+
operationType?: string;
|
|
505
|
+
}];
|
|
506
|
+
callFailure: [
|
|
507
|
+
{
|
|
508
|
+
error: string;
|
|
509
|
+
duration: number;
|
|
510
|
+
timestamp: Date;
|
|
511
|
+
operationType?: string;
|
|
512
|
+
}
|
|
513
|
+
];
|
|
514
|
+
circuitOpen: [{
|
|
515
|
+
failureRate: number;
|
|
516
|
+
totalCalls: number;
|
|
517
|
+
timestamp: Date;
|
|
518
|
+
}];
|
|
519
|
+
circuitHalfOpen: [{
|
|
520
|
+
timestamp: Date;
|
|
521
|
+
}];
|
|
522
|
+
circuitClosed: [{
|
|
523
|
+
timestamp: Date;
|
|
524
|
+
}];
|
|
525
|
+
};
|
|
526
|
+
import type { Tool } from "ai";
|
|
527
|
+
/** Prepared RAG tool ready for injection into generate/stream. */
|
|
528
|
+
export type RAGPreparedTool = {
|
|
529
|
+
/** The tool to inject into the tools Record */
|
|
530
|
+
tool: Tool;
|
|
531
|
+
/** Tool name (key for the tools Record) */
|
|
532
|
+
toolName: string;
|
|
533
|
+
/** Number of chunks indexed */
|
|
534
|
+
chunksIndexed: number;
|
|
535
|
+
/** Number of files loaded */
|
|
536
|
+
filesLoaded: number;
|
|
537
|
+
};
|
|
@@ -269,7 +269,7 @@ export type StreamOptions = {
|
|
|
269
269
|
*
|
|
270
270
|
* Enables extended thinking capabilities for supported models.
|
|
271
271
|
*
|
|
272
|
-
* **Gemini 3 Models** (gemini-3-pro-preview, gemini-3-flash-preview):
|
|
272
|
+
* **Gemini 3 Models** (gemini-3.1-pro-preview, gemini-3-flash-preview):
|
|
273
273
|
* Use `thinkingLevel` to control reasoning depth:
|
|
274
274
|
* - `minimal` - Near-zero thinking (Flash only)
|
|
275
275
|
* - `low` - Fast reasoning for simple tasks
|
|
@@ -284,7 +284,7 @@ export type StreamOptions = {
|
|
|
284
284
|
* const result = await neurolink.stream({
|
|
285
285
|
* input: { text: "Solve this complex problem..." },
|
|
286
286
|
* provider: "google-ai",
|
|
287
|
-
* model: "gemini-3-pro-preview",
|
|
287
|
+
* model: "gemini-3.1-pro-preview",
|
|
288
288
|
* thinkingConfig: {
|
|
289
289
|
* thinkingLevel: "high"
|
|
290
290
|
* }
|
|
@@ -511,28 +511,52 @@ export type EnhancedStreamProvider = {
|
|
|
511
511
|
isAvailable(): Promise<boolean>;
|
|
512
512
|
};
|
|
513
513
|
/**
|
|
514
|
-
* Stream text result from AI SDK
|
|
514
|
+
* Stream text result from AI SDK (compatible with both v4 and v6)
|
|
515
|
+
*
|
|
516
|
+
* AI SDK v6 changed Promise → PromiseLike and renamed usage fields
|
|
517
|
+
* (promptTokens → inputTokens, completionTokens → outputTokens).
|
|
518
|
+
* This type accepts either shape so callers don't need casts.
|
|
515
519
|
*/
|
|
516
520
|
export type StreamTextResult = {
|
|
517
521
|
textStream: AsyncIterable<string>;
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
522
|
+
fullStream?: AsyncIterable<unknown>;
|
|
523
|
+
text: PromiseLike<string>;
|
|
524
|
+
usage: PromiseLike<AISDKUsage | undefined>;
|
|
525
|
+
response: PromiseLike<{
|
|
521
526
|
id?: string;
|
|
522
527
|
model?: string;
|
|
523
528
|
timestamp?: number | Date;
|
|
524
529
|
} | undefined>;
|
|
525
|
-
finishReason:
|
|
526
|
-
|
|
527
|
-
|
|
530
|
+
finishReason: PromiseLike<"stop" | "length" | "content-filter" | "tool-calls" | "error" | "other" | "unknown">;
|
|
531
|
+
/**
|
|
532
|
+
* Tool results. Accepts both NeuroLink ToolResult[] and AI SDK TypedToolResult[],
|
|
533
|
+
* since the analytics collector passes them through as `unknown` anyway.
|
|
534
|
+
*/
|
|
535
|
+
toolResults?: PromiseLike<ToolResult[] | ReadonlyArray<unknown>>;
|
|
536
|
+
/**
|
|
537
|
+
* Tool calls. Accepts both NeuroLink ToolCall[] and AI SDK TypedToolCall[].
|
|
538
|
+
*/
|
|
539
|
+
toolCalls?: PromiseLike<ToolCall[] | ReadonlyArray<unknown>>;
|
|
528
540
|
};
|
|
529
541
|
/**
|
|
530
|
-
* Raw usage data from Vercel AI SDK
|
|
542
|
+
* Raw usage data from Vercel AI SDK.
|
|
543
|
+
*
|
|
544
|
+
* Covers both v4 (promptTokens / completionTokens) and
|
|
545
|
+
* v6 (inputTokens / outputTokens) field names.
|
|
546
|
+
* extractTokenUsage() in tokenUtils.ts already handles both shapes.
|
|
531
547
|
*/
|
|
532
548
|
export type AISDKUsage = {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
549
|
+
/** @deprecated AI SDK v4 name — use inputTokens */
|
|
550
|
+
promptTokens?: number;
|
|
551
|
+
/** @deprecated AI SDK v4 name — use outputTokens */
|
|
552
|
+
completionTokens?: number;
|
|
553
|
+
/** @deprecated AI SDK v4 name — use totalTokens */
|
|
554
|
+
totalTokens?: number;
|
|
555
|
+
/** AI SDK v6 name for prompt / input tokens */
|
|
556
|
+
inputTokens?: number;
|
|
557
|
+
/** AI SDK v6 name for completion / output tokens */
|
|
558
|
+
outputTokens?: number;
|
|
559
|
+
[key: string]: unknown;
|
|
536
560
|
};
|
|
537
561
|
/**
|
|
538
562
|
* Stream analytics collector type
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Type definitions for Claude subscription tiers, authentication methods,
|
|
5
5
|
* and usage tracking for Anthropic API access.
|
|
6
6
|
*/
|
|
7
|
+
import type { StoredOAuthTokens } from "./authTypes.js";
|
|
8
|
+
export type { StoredOAuthTokens, TokenRefresher, TokenStorageData, StoredProviderTokens, } from "./authTypes.js";
|
|
7
9
|
/**
|
|
8
10
|
* Claude subscription tier levels
|
|
9
11
|
*
|
|
@@ -891,3 +893,78 @@ export interface AnthropicModelMetadata {
|
|
|
891
893
|
/** Short description of the model */
|
|
892
894
|
description: string;
|
|
893
895
|
}
|
|
896
|
+
/** A single Claude account in the pool */
|
|
897
|
+
export interface ProxyAccount {
|
|
898
|
+
id: string;
|
|
899
|
+
label?: string;
|
|
900
|
+
type: "oauth" | "api_key";
|
|
901
|
+
tokens?: StoredOAuthTokens;
|
|
902
|
+
apiKey?: string;
|
|
903
|
+
status: "healthy" | "cooling" | "disabled";
|
|
904
|
+
cooldownUntil?: number;
|
|
905
|
+
consecutiveFailures: number;
|
|
906
|
+
requestCount: number;
|
|
907
|
+
lastUsed: number;
|
|
908
|
+
subscriptionTier?: ClaudeSubscriptionTier;
|
|
909
|
+
}
|
|
910
|
+
/** Configuration for AccountPool */
|
|
911
|
+
export interface AccountPoolConfig {
|
|
912
|
+
strategy: "round-robin" | "fill-first";
|
|
913
|
+
defaultCooldownMs?: number;
|
|
914
|
+
maxCooldownMs?: number;
|
|
915
|
+
maxRetryAccounts?: number;
|
|
916
|
+
}
|
|
917
|
+
/** A single model mapping entry */
|
|
918
|
+
export interface ModelMapping {
|
|
919
|
+
from: string;
|
|
920
|
+
to: string;
|
|
921
|
+
provider: string;
|
|
922
|
+
}
|
|
923
|
+
/** A fallback chain entry */
|
|
924
|
+
export interface FallbackEntry {
|
|
925
|
+
provider: string;
|
|
926
|
+
model: string;
|
|
927
|
+
}
|
|
928
|
+
/** Full proxy routing config */
|
|
929
|
+
export interface ProxyRoutingConfig {
|
|
930
|
+
strategy: "round-robin" | "fill-first";
|
|
931
|
+
modelMappings: ModelMapping[];
|
|
932
|
+
fallbackChain: FallbackEntry[];
|
|
933
|
+
passthroughModels?: string[];
|
|
934
|
+
}
|
|
935
|
+
/** Cloaking plugin config */
|
|
936
|
+
export interface CloakingConfig {
|
|
937
|
+
mode: "auto" | "always" | "never";
|
|
938
|
+
plugins: {
|
|
939
|
+
headerScrubber?: boolean;
|
|
940
|
+
sessionIdentity?: boolean;
|
|
941
|
+
systemPromptInjector?: boolean;
|
|
942
|
+
wordObfuscator?: {
|
|
943
|
+
enabled: boolean;
|
|
944
|
+
words: string[];
|
|
945
|
+
};
|
|
946
|
+
tlsFingerprint?: {
|
|
947
|
+
enabled: boolean;
|
|
948
|
+
};
|
|
949
|
+
};
|
|
950
|
+
}
|
|
951
|
+
/** Full proxy config (loaded from YAML) */
|
|
952
|
+
export interface ProxyConfig {
|
|
953
|
+
host?: string;
|
|
954
|
+
port?: number;
|
|
955
|
+
auth?: "none" | "api-key";
|
|
956
|
+
proxyApiKey?: string;
|
|
957
|
+
/** Provider-keyed account map matching the YAML structure (e.g. accounts.anthropic[0]) */
|
|
958
|
+
accounts?: Record<string, Array<{
|
|
959
|
+
name: string;
|
|
960
|
+
apiKey?: string;
|
|
961
|
+
weight?: number;
|
|
962
|
+
rateLimit?: number;
|
|
963
|
+
enabled?: boolean;
|
|
964
|
+
baseUrl?: string;
|
|
965
|
+
orgId?: string;
|
|
966
|
+
metadata?: Record<string, unknown>;
|
|
967
|
+
}>>;
|
|
968
|
+
routing?: Partial<ProxyRoutingConfig>;
|
|
969
|
+
cloaking?: CloakingConfig;
|
|
970
|
+
}
|
package/dist/types/tools.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { ValidationError } from "../utils/parameterValidation.js";
|
|
|
9
9
|
/**
|
|
10
10
|
* Commonly used Zod schema type aliases for cleaner type declarations
|
|
11
11
|
*/
|
|
12
|
-
export type { ZodUnknownSchema } from "./typeAliases.js";
|
|
12
|
+
export type { ZodUnknownSchema, ZodToJsonSchemaInput } from "./typeAliases.js";
|
|
13
13
|
export type ZodAnySchema = z.ZodSchema<unknown>;
|
|
14
14
|
export type ZodObjectSchema = z.ZodObject<z.ZodRawShape>;
|
|
15
15
|
export type ZodStringSchema = z.ZodString;
|
|
@@ -43,6 +43,7 @@ export type ExecutionContext<T = StandardRecord> = {
|
|
|
43
43
|
cacheOptions?: CacheOptions;
|
|
44
44
|
fallbackOptions?: FallbackOptions;
|
|
45
45
|
timeoutMs?: number;
|
|
46
|
+
maxRetries?: number;
|
|
46
47
|
startTime?: number;
|
|
47
48
|
};
|
|
48
49
|
/**
|
|
@@ -77,6 +78,9 @@ export type ToolInfo = {
|
|
|
77
78
|
outputSchema?: StandardRecord;
|
|
78
79
|
/** MCP tool annotations (safety hints, metadata). Auto-inferred when mcp.annotations.autoInfer is enabled. */
|
|
79
80
|
annotations?: import("../mcp/toolAnnotations.js").MCPToolAnnotations;
|
|
81
|
+
/** Per-tool timeout in milliseconds, set at registration time */
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
maxRetries?: number;
|
|
80
84
|
[key: string]: unknown;
|
|
81
85
|
};
|
|
82
86
|
/**
|
|
@@ -90,19 +94,59 @@ export type ToolImplementation = {
|
|
|
90
94
|
outputSchema?: unknown;
|
|
91
95
|
category?: string;
|
|
92
96
|
permissions?: string[];
|
|
97
|
+
/** Per-tool timeout in milliseconds, set at registration time */
|
|
98
|
+
timeoutMs?: number;
|
|
99
|
+
maxRetries?: number;
|
|
93
100
|
};
|
|
94
101
|
/**
|
|
95
102
|
* Tool execution options for enhanced control
|
|
96
103
|
* Extracted from toolRegistry.ts for centralized type management
|
|
97
104
|
*/
|
|
98
105
|
export type ToolExecutionOptions = {
|
|
106
|
+
/**
|
|
107
|
+
* Caller-specified execution timeout in milliseconds.
|
|
108
|
+
* Used by executeTool() callers to override the default timeout for a
|
|
109
|
+
* single invocation. Takes precedence over `timeoutMs` when both are set.
|
|
110
|
+
*/
|
|
99
111
|
timeout?: number;
|
|
100
112
|
retries?: number;
|
|
101
113
|
context?: unknown;
|
|
102
114
|
preferredSource?: string;
|
|
103
115
|
fallbackEnabled?: boolean;
|
|
104
116
|
validateBeforeExecution?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Per-tool timeout in milliseconds, copied from ToolInfo at registration
|
|
119
|
+
* time. Acts as the tool-level default; overridden by `timeout` when the
|
|
120
|
+
* caller supplies an explicit value.
|
|
121
|
+
* @deprecated Prefer using `timeout` for caller-specified overrides.
|
|
122
|
+
* This field exists for internal forwarding from ToolInfo and
|
|
123
|
+
* may be consolidated in a future release.
|
|
124
|
+
*/
|
|
105
125
|
timeoutMs?: number;
|
|
126
|
+
maxRetries?: number;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Options for tool registration via registerTool()
|
|
130
|
+
*
|
|
131
|
+
* These options configure per-tool execution behavior. When not provided,
|
|
132
|
+
* the SDK's global defaults are used (30s timeout, 2 retries), preserving
|
|
133
|
+
* backward compatibility with existing production systems.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* // Register with custom timeout and no retries
|
|
137
|
+
* sdk.registerTool("myTool", tool, { timeout: 5000, maxRetries: 0 });
|
|
138
|
+
*
|
|
139
|
+
* // Register with defaults (same as before — no behavior change)
|
|
140
|
+
* sdk.registerTool("myTool", tool);
|
|
141
|
+
*/
|
|
142
|
+
export type ToolRegistrationOptions = {
|
|
143
|
+
/** Per-tool execution timeout in milliseconds. Only applied when explicitly set.
|
|
144
|
+
* When omitted, the SDK's global default (30s) is used. */
|
|
145
|
+
timeout?: number;
|
|
146
|
+
/** Maximum retry attempts on failure. Only applied when explicitly set.
|
|
147
|
+
* When omitted, the SDK's global default (2 retries) is used.
|
|
148
|
+
* Set to 0 to disable retries for this tool. */
|
|
149
|
+
maxRetries?: number;
|
|
106
150
|
};
|
|
107
151
|
/**
|
|
108
152
|
* Tool execution result
|
|
@@ -5,12 +5,20 @@
|
|
|
5
5
|
import type { ZodTypeAny } from "zod";
|
|
6
6
|
import type { Schema } from "ai";
|
|
7
7
|
import type { JsonValue, JsonObject } from "./common.js";
|
|
8
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
8
9
|
/**
|
|
9
10
|
* Type alias for complex Zod schema type to improve readability
|
|
10
11
|
* Used across providers and validation systems
|
|
11
12
|
* Using ZodTypeAny to prevent infinite type recursion in zod-to-json-schema
|
|
12
13
|
*/
|
|
13
14
|
export type ZodUnknownSchema = ZodTypeAny;
|
|
15
|
+
/**
|
|
16
|
+
* Bridges Zod 4 schema types to the zod-to-json-schema library which still
|
|
17
|
+
* types against Zod 3 (`zod/v3`). Zod 4 schemas are structurally compatible
|
|
18
|
+
* at runtime but not assignable at the type level, so call sites must cast
|
|
19
|
+
* through `unknown` to this type at the third-party boundary.
|
|
20
|
+
*/
|
|
21
|
+
export type ZodToJsonSchemaInput = Parameters<typeof zodToJsonSchema>[0];
|
|
14
22
|
/**
|
|
15
23
|
* Union type for schema validation (Zod or AI SDK schema)
|
|
16
24
|
* Commonly used in provider interfaces and validation functions
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Comprehensive Type Alias Library
|
|
3
3
|
* Centralizes commonly used complex types to improve readability and maintainability
|
|
4
4
|
*/
|
|
5
|
+
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
5
6
|
// ============================================================================
|
|
6
7
|
// TYPE GUARDS AND UTILITIES
|
|
7
8
|
// ============================================================================
|
|
@@ -3,41 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides retry logic with exponential backoff for resilient async operations.
|
|
5
5
|
*/
|
|
6
|
+
import type { AsyncRetryOptions } from "../../types/index.js";
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* Local alias: the canonical type was renamed to AsyncRetryOptions to avoid
|
|
9
|
+
* collision with other RetryOptions types in the codebase.
|
|
8
10
|
*/
|
|
9
|
-
export type RetryOptions =
|
|
10
|
-
/**
|
|
11
|
-
* Maximum number of retry attempts (not including the initial attempt).
|
|
12
|
-
* @default 3
|
|
13
|
-
*/
|
|
14
|
-
maxRetries: number;
|
|
15
|
-
/**
|
|
16
|
-
* Initial delay between retries in milliseconds.
|
|
17
|
-
* @default 1000
|
|
18
|
-
*/
|
|
19
|
-
baseDelayMs: number;
|
|
20
|
-
/**
|
|
21
|
-
* Maximum delay cap in milliseconds.
|
|
22
|
-
* @default 30000
|
|
23
|
-
*/
|
|
24
|
-
maxDelayMs: number;
|
|
25
|
-
/**
|
|
26
|
-
* Multiplier for exponential backoff.
|
|
27
|
-
* @default 2
|
|
28
|
-
*/
|
|
29
|
-
backoffMultiplier?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Function to determine if a retry should be attempted.
|
|
32
|
-
* Return false to stop retrying immediately.
|
|
33
|
-
*/
|
|
34
|
-
shouldRetry?: (error: Error, attempt: number) => boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Callback invoked before each retry attempt.
|
|
37
|
-
* Useful for logging or metrics.
|
|
38
|
-
*/
|
|
39
|
-
onRetry?: (error: Error, attempt: number, delayMs: number) => void;
|
|
40
|
-
};
|
|
11
|
+
export type RetryOptions = AsyncRetryOptions;
|
|
41
12
|
/**
|
|
42
13
|
* Default retry configuration.
|
|
43
14
|
*/
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promise-based async mutex for serializing concurrent async operations.
|
|
3
|
+
* No external dependencies — uses a simple FIFO queue of pending resolvers.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AsyncMutex {
|
|
6
|
+
/** Default timeout for lock-held operations: 30 seconds */
|
|
7
|
+
private static readonly DEFAULT_TIMEOUT_MS;
|
|
8
|
+
private _locked;
|
|
9
|
+
private _queue;
|
|
10
|
+
isLocked(): boolean;
|
|
11
|
+
runExclusive<T>(fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
|
|
12
|
+
private _acquire;
|
|
13
|
+
private _release;
|
|
14
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promise-based async mutex for serializing concurrent async operations.
|
|
3
|
+
* No external dependencies — uses a simple FIFO queue of pending resolvers.
|
|
4
|
+
*/
|
|
5
|
+
export class AsyncMutex {
|
|
6
|
+
/** Default timeout for lock-held operations: 30 seconds */
|
|
7
|
+
static DEFAULT_TIMEOUT_MS = 30_000;
|
|
8
|
+
_locked = false;
|
|
9
|
+
_queue = [];
|
|
10
|
+
isLocked() {
|
|
11
|
+
return this._locked;
|
|
12
|
+
}
|
|
13
|
+
async runExclusive(fn, timeoutMs = AsyncMutex.DEFAULT_TIMEOUT_MS) {
|
|
14
|
+
await this._acquire();
|
|
15
|
+
let timer;
|
|
16
|
+
// Store fn()'s promise so we can ensure it settles before releasing the lock,
|
|
17
|
+
// even when the timeout fires first.
|
|
18
|
+
const fnPromise = fn();
|
|
19
|
+
try {
|
|
20
|
+
return await Promise.race([
|
|
21
|
+
fnPromise,
|
|
22
|
+
new Promise((_resolve, reject) => {
|
|
23
|
+
timer = setTimeout(() => reject(new Error(`AsyncMutex: lock-held operation timed out after ${timeoutMs}ms`)), timeoutMs);
|
|
24
|
+
}),
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
if (timer !== undefined) {
|
|
29
|
+
clearTimeout(timer);
|
|
30
|
+
}
|
|
31
|
+
// Wait for fn() to settle before releasing the lock.
|
|
32
|
+
// If the timeout fired, fn() may still be running — we must not
|
|
33
|
+
// let another caller acquire the lock until fn() completes.
|
|
34
|
+
await fnPromise.catch((_settleErr) => {
|
|
35
|
+
// Intentionally swallowed — we only await settlement to keep
|
|
36
|
+
// the lock held until fn() finishes. The caller already received
|
|
37
|
+
// the timeout rejection from Promise.race above.
|
|
38
|
+
});
|
|
39
|
+
this._release();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
_acquire() {
|
|
43
|
+
if (!this._locked) {
|
|
44
|
+
this._locked = true;
|
|
45
|
+
return Promise.resolve();
|
|
46
|
+
}
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
this._queue.push(resolve);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
_release() {
|
|
52
|
+
const next = this._queue.shift();
|
|
53
|
+
if (next) {
|
|
54
|
+
next();
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this._locked = false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -237,7 +237,8 @@ export declare class CircuitBreaker {
|
|
|
237
237
|
private failures;
|
|
238
238
|
private lastFailureTime;
|
|
239
239
|
private state;
|
|
240
|
-
|
|
240
|
+
private name;
|
|
241
|
+
constructor(failureThreshold?: number, resetTimeoutMs?: number, name?: string);
|
|
241
242
|
execute<T>(operation: () => Promise<T>): Promise<T>;
|
|
242
243
|
private onSuccess;
|
|
243
244
|
private onFailure;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ErrorCategory, ErrorSeverity } from "../constants/enums.js";
|
|
6
6
|
import { logger } from "./logger.js";
|
|
7
|
+
import { CircuitBreakerOpenError } from "../types/circuitBreakerErrors.js";
|
|
7
8
|
// Error codes for different scenarios
|
|
8
9
|
export const ERROR_CODES = {
|
|
9
10
|
// Tool errors
|
|
@@ -779,18 +780,25 @@ export class CircuitBreaker {
|
|
|
779
780
|
failures = 0;
|
|
780
781
|
lastFailureTime = 0;
|
|
781
782
|
state = "closed";
|
|
782
|
-
|
|
783
|
+
name;
|
|
784
|
+
constructor(failureThreshold = 5, resetTimeoutMs = 60000, name = "tool-execution") {
|
|
783
785
|
this.failureThreshold = failureThreshold;
|
|
784
786
|
this.resetTimeoutMs = resetTimeoutMs;
|
|
787
|
+
this.name = name;
|
|
785
788
|
}
|
|
786
789
|
async execute(operation) {
|
|
787
790
|
if (this.state === "open") {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
791
|
+
const retryAfterMs = this.resetTimeoutMs - (Date.now() - this.lastFailureTime);
|
|
792
|
+
if (retryAfterMs > 0) {
|
|
793
|
+
throw new CircuitBreakerOpenError({
|
|
794
|
+
breakerName: this.name,
|
|
795
|
+
retryAfter: new Date(this.lastFailureTime + this.resetTimeoutMs),
|
|
796
|
+
retryAfterMs,
|
|
797
|
+
breakerState: "open",
|
|
798
|
+
failureCount: this.failures,
|
|
799
|
+
});
|
|
793
800
|
}
|
|
801
|
+
this.state = "half-open";
|
|
794
802
|
}
|
|
795
803
|
try {
|
|
796
804
|
const result = await operation();
|
|
@@ -11,7 +11,7 @@ import type { FileDetectorOptions, FileInput, FileProcessingResult } from "../ty
|
|
|
11
11
|
* ```typescript
|
|
12
12
|
* // Auto-detect and process any file
|
|
13
13
|
* const result = await FileDetector.detectAndProcess("data.csv");
|
|
14
|
-
*
|
|
14
|
+
* logger.info(result.type); // 'csv'
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
17
|
export declare class FileDetector {
|
|
@@ -31,6 +31,18 @@ export declare class FileDetector {
|
|
|
31
31
|
* @returns Processed file result with type and content
|
|
32
32
|
*/
|
|
33
33
|
static detectAndProcess(input: FileInput, options?: FileDetectorOptions): Promise<FileProcessingResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Set span attributes and log after file processing completes.
|
|
36
|
+
*/
|
|
37
|
+
private static setFileResultSpanAttributes;
|
|
38
|
+
/**
|
|
39
|
+
* Derive a human-readable filename from FileInput for tracing.
|
|
40
|
+
*/
|
|
41
|
+
private static deriveInputFilename;
|
|
42
|
+
/**
|
|
43
|
+
* Derive byte size from FileInput for tracing.
|
|
44
|
+
*/
|
|
45
|
+
private static deriveInputSize;
|
|
34
46
|
/**
|
|
35
47
|
* Try fallback parsing for a specific file type
|
|
36
48
|
* Used when file detection returns "unknown" but we want to try parsing anyway
|