@juspay/neurolink 9.30.0 → 9.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -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/constants/tokens.js
CHANGED
|
@@ -89,14 +89,16 @@ export const PROVIDER_TOKEN_LIMITS = {
|
|
|
89
89
|
},
|
|
90
90
|
/** Google AI model limits */
|
|
91
91
|
GOOGLE_AI: {
|
|
92
|
-
// Gemini 3 Series (
|
|
93
|
-
"gemini-3-pro-preview": 8192,
|
|
94
|
-
"gemini-3-
|
|
95
|
-
"gemini-3-
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
// Gemini 3.1 Series (all require -preview suffix)
|
|
93
|
+
"gemini-3.1-pro-preview": 8192,
|
|
94
|
+
"gemini-3.1-flash-lite-preview": 65536,
|
|
95
|
+
"gemini-3.1-flash-image-preview": 8192,
|
|
96
|
+
"gemini-3.1-pro-preview-customtools": 8192,
|
|
97
|
+
// Gemini 3 Series
|
|
98
98
|
"gemini-3-flash-preview": 65536,
|
|
99
|
-
"gemini-3-
|
|
99
|
+
"gemini-3-pro-image-preview": 8192,
|
|
100
|
+
/** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
|
|
101
|
+
"gemini-3-pro-preview": 8192,
|
|
100
102
|
// Gemini 2.5 Series
|
|
101
103
|
"gemini-2.5-pro": 8192,
|
|
102
104
|
"gemini-2.5-flash": 8192,
|
|
@@ -112,14 +114,16 @@ export const PROVIDER_TOKEN_LIMITS = {
|
|
|
112
114
|
},
|
|
113
115
|
/** Google Vertex AI model limits */
|
|
114
116
|
VERTEX: {
|
|
115
|
-
// Gemini 3 Series (
|
|
116
|
-
"gemini-3-pro-preview": 8192,
|
|
117
|
-
"gemini-3-
|
|
118
|
-
"gemini-3-
|
|
119
|
-
|
|
120
|
-
|
|
117
|
+
// Gemini 3.1 Series (all require -preview suffix)
|
|
118
|
+
"gemini-3.1-pro-preview": 8192,
|
|
119
|
+
"gemini-3.1-flash-lite-preview": 65536,
|
|
120
|
+
"gemini-3.1-flash-image-preview": 8192,
|
|
121
|
+
"gemini-3.1-pro-preview-customtools": 8192,
|
|
122
|
+
// Gemini 3 Series
|
|
121
123
|
"gemini-3-flash-preview": 65536,
|
|
122
|
-
"gemini-3-
|
|
124
|
+
"gemini-3-pro-image-preview": 8192,
|
|
125
|
+
/** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
|
|
126
|
+
"gemini-3-pro-preview": 8192,
|
|
123
127
|
// Gemini 2.5 Series
|
|
124
128
|
"gemini-2.5-pro": 8192,
|
|
125
129
|
"gemini-2.5-flash": 8192,
|
|
@@ -218,10 +222,13 @@ export const CONTEXT_WINDOWS = {
|
|
|
218
222
|
* For models that require explicit input and output token limits
|
|
219
223
|
*/
|
|
220
224
|
export const MODEL_TOKEN_LIMITS = {
|
|
225
|
+
/** Gemini 3.1 Series */
|
|
226
|
+
"gemini-3.1-pro-preview": { input: 1048576, output: 65536 },
|
|
227
|
+
"gemini-3.1-flash-lite-preview": { input: 1048576, output: 65536 },
|
|
228
|
+
"gemini-3.1-flash-image-preview": { input: 1048576, output: 8192 },
|
|
229
|
+
"gemini-3.1-pro-preview-customtools": { input: 1048576, output: 65536 },
|
|
221
230
|
/** Gemini 3 Flash Series */
|
|
222
|
-
"gemini-3-flash": { input: 1000000, output: 65536 },
|
|
223
231
|
"gemini-3-flash-preview": { input: 1000000, output: 65536 },
|
|
224
|
-
"gemini-3-flash-latest": { input: 1000000, output: 65536 },
|
|
225
232
|
};
|
|
226
233
|
/**
|
|
227
234
|
* Token estimation utilities
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ModelMessage, LanguageModel, Tool } from "ai";
|
|
2
2
|
import type { AIProviderName } from "../constants/enums.js";
|
|
3
3
|
import type { EvaluationData } from "../index.js";
|
|
4
4
|
import type { NeuroLink } from "../neurolink.js";
|
|
@@ -83,9 +83,9 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
|
83
83
|
* with automatic multimodal detection, eliminating code duplication
|
|
84
84
|
*
|
|
85
85
|
* @param options - Stream options or text generation options
|
|
86
|
-
* @returns Promise resolving to
|
|
86
|
+
* @returns Promise resolving to ModelMessage array ready for AI SDK
|
|
87
87
|
*/
|
|
88
|
-
protected buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<
|
|
88
|
+
protected buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<ModelMessage[]>;
|
|
89
89
|
/**
|
|
90
90
|
* Execute the generation with AI SDK - delegated to GenerationHandler
|
|
91
91
|
*/
|
|
@@ -200,13 +200,13 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
|
200
200
|
* REQUIRED: Every provider MUST implement this method
|
|
201
201
|
* Returns the Vercel AI SDK model instance for this provider
|
|
202
202
|
*/
|
|
203
|
-
protected abstract getAISDKModel():
|
|
203
|
+
protected abstract getAISDKModel(): LanguageModel | Promise<LanguageModel>;
|
|
204
204
|
/**
|
|
205
205
|
* Get AI SDK model with middleware applied
|
|
206
206
|
* This method wraps the base model with any configured middleware
|
|
207
207
|
* TODO: Implement global level middlewares that can be used
|
|
208
208
|
*/
|
|
209
|
-
protected getAISDKModelWithMiddleware(options?: TextGenerationOptions | StreamOptions): Promise<
|
|
209
|
+
protected getAISDKModelWithMiddleware(options?: TextGenerationOptions | StreamOptions): Promise<LanguageModel>;
|
|
210
210
|
/**
|
|
211
211
|
* Extract middleware options - delegated to Utilities
|
|
212
212
|
*/
|
|
@@ -436,7 +436,7 @@ export class BaseProvider {
|
|
|
436
436
|
* with automatic multimodal detection, eliminating code duplication
|
|
437
437
|
*
|
|
438
438
|
* @param options - Stream options or text generation options
|
|
439
|
-
* @returns Promise resolving to
|
|
439
|
+
* @returns Promise resolving to ModelMessage array ready for AI SDK
|
|
440
440
|
*/
|
|
441
441
|
async buildMessagesForStream(options) {
|
|
442
442
|
return this.messageBuilder.buildMessagesForStream(options);
|
|
@@ -609,17 +609,17 @@ export class BaseProvider {
|
|
|
609
609
|
messages: [
|
|
610
610
|
{ role: "user", content: formattingPrompt },
|
|
611
611
|
],
|
|
612
|
-
|
|
612
|
+
maxOutputTokens: options.maxTokens || 8192,
|
|
613
613
|
temperature: 0.3,
|
|
614
614
|
abortSignal: options.abortSignal,
|
|
615
615
|
experimental_telemetry: this.telemetryHandler?.getTelemetryConfig(options, "generate"),
|
|
616
616
|
});
|
|
617
617
|
formattedContent = formattedResult.text;
|
|
618
618
|
usage = {
|
|
619
|
-
input: formattedResult.usage?.
|
|
620
|
-
output: formattedResult.usage?.
|
|
621
|
-
total: (formattedResult.usage?.
|
|
622
|
-
(formattedResult.usage?.
|
|
619
|
+
input: formattedResult.usage?.inputTokens || 0,
|
|
620
|
+
output: formattedResult.usage?.outputTokens || 0,
|
|
621
|
+
total: (formattedResult.usage?.inputTokens || 0) +
|
|
622
|
+
(formattedResult.usage?.outputTokens || 0),
|
|
623
623
|
};
|
|
624
624
|
logger.debug("[VideoAnalysis] Claude formatting complete", {
|
|
625
625
|
formattedLength: formattedContent.length,
|
package/dist/core/constants.js
CHANGED
|
@@ -7,15 +7,20 @@
|
|
|
7
7
|
export const IMAGE_GENERATION_MODELS = [
|
|
8
8
|
"gemini-3-pro-image-preview",
|
|
9
9
|
"gemini-2.5-flash-image",
|
|
10
|
+
"gemini-3.1-flash-image-preview",
|
|
10
11
|
];
|
|
11
12
|
// PDF Image Generation Models
|
|
12
13
|
// Models that support generating images from PDFs
|
|
13
|
-
export const PDF_IMAGE_GENERATION_MODELS = [
|
|
14
|
+
export const PDF_IMAGE_GENERATION_MODELS = [
|
|
15
|
+
"gemini-3-pro-image-preview",
|
|
16
|
+
"gemini-3.1-flash-image-preview",
|
|
17
|
+
];
|
|
14
18
|
// Global Location Models
|
|
15
19
|
// Models that require global location configuration (uses aiplatform.googleapis.com instead of region-specific endpoints)
|
|
16
20
|
export const GLOBAL_LOCATION_MODELS = [
|
|
17
21
|
"gemini-3-pro-image-preview",
|
|
18
22
|
"gemini-2.5-flash-image",
|
|
23
|
+
"gemini-3.1-flash-image-preview",
|
|
19
24
|
];
|
|
20
25
|
// Core AI Generation Defaults
|
|
21
26
|
export const DEFAULT_MAX_TOKENS = undefined; // Unlimited by default - let providers decide their own limits
|
|
@@ -19,9 +19,9 @@ const ModelConfigSchema = z.object({
|
|
|
19
19
|
const ModelRegistrySchema = z.object({
|
|
20
20
|
version: z.string(),
|
|
21
21
|
lastUpdated: z.string(),
|
|
22
|
-
models: z.record(z.record(ModelConfigSchema)),
|
|
23
|
-
aliases: z.record(z.string()).optional(),
|
|
24
|
-
defaults: z.record(z.string()).optional(),
|
|
22
|
+
models: z.record(z.string(), z.record(z.string(), ModelConfigSchema)),
|
|
23
|
+
aliases: z.record(z.string(), z.string()).optional(),
|
|
24
|
+
defaults: z.record(z.string(), z.string()).optional(),
|
|
25
25
|
});
|
|
26
26
|
/**
|
|
27
27
|
* Dynamic Model Provider
|
|
@@ -124,7 +124,9 @@ export class DynamicModelProvider {
|
|
|
124
124
|
catch (error) {
|
|
125
125
|
clearTimeout(timeoutId);
|
|
126
126
|
if (isAbortError(error)) {
|
|
127
|
-
throw new Error(`Request timeout after ${timeoutMs}ms
|
|
127
|
+
throw new Error(`Request timeout after ${timeoutMs}ms`, {
|
|
128
|
+
cause: error,
|
|
129
|
+
});
|
|
128
130
|
}
|
|
129
131
|
throw error;
|
|
130
132
|
}
|
|
@@ -179,11 +181,13 @@ export class DynamicModelProvider {
|
|
|
179
181
|
catch (error) {
|
|
180
182
|
clearTimeout(timeoutId);
|
|
181
183
|
if (isAbortError(error)) {
|
|
182
|
-
throw new Error(`Localhost health check timeout - server may not be running
|
|
184
|
+
throw new Error(`Localhost health check timeout - server may not be running`, { cause: error });
|
|
183
185
|
}
|
|
184
186
|
// For connection refused, throw a more specific error
|
|
185
187
|
if (error instanceof Error && error.message.includes("ECONNREFUSED")) {
|
|
186
|
-
throw new Error(`Localhost server not running at ${url}
|
|
188
|
+
throw new Error(`Localhost server not running at ${url}`, {
|
|
189
|
+
cause: error,
|
|
190
|
+
});
|
|
187
191
|
}
|
|
188
192
|
// For other errors, let the main request handle them
|
|
189
193
|
logger.debug(`Health check failed for ${url}, proceeding with main request`, {
|
|
@@ -209,7 +209,7 @@ export function getProviderPerformanceAnalytics() {
|
|
|
209
209
|
}
|
|
210
210
|
const avgResponseTime = metrics.responseTime.reduce((a, b) => a + b, 0) /
|
|
211
211
|
metrics.responseTime.length;
|
|
212
|
-
let recommendation
|
|
212
|
+
let recommendation;
|
|
213
213
|
if (metrics.successRate > PERFORMANCE_THRESHOLDS.EXCELLENT_SUCCESS_RATE &&
|
|
214
214
|
avgResponseTime < PERFORMANCE_THRESHOLDS.EXCELLENT_RESPONSE_TIME_MS) {
|
|
215
215
|
recommendation = "Excellent - Recommended for production";
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export type FactoryRegistration<TInstance, TConfig> = {
|
|
3
|
-
factory: FactoryFunction<TInstance, TConfig>;
|
|
4
|
-
aliases: string[];
|
|
5
|
-
metadata?: Record<string, unknown>;
|
|
6
|
-
};
|
|
1
|
+
import type { FactoryFunction, FactoryRegistration } from "../../types/index.js";
|
|
7
2
|
export declare abstract class BaseFactory<TInstance, TConfig = unknown> {
|
|
8
3
|
protected items: Map<string, FactoryRegistration<TInstance, TConfig>>;
|
|
9
4
|
protected aliasMap: Map<string, string>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { InfraRegistryEntry } from "../../types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Local alias: the canonical type was renamed to InfraRegistryEntry to avoid
|
|
4
|
+
* collision with other RegistryEntry types in the codebase.
|
|
5
|
+
*/
|
|
6
|
+
export type RegistryEntry<TItem, TMetadata = unknown> = InfraRegistryEntry<TItem, TMetadata>;
|
|
6
7
|
export declare abstract class BaseRegistry<TItem, TMetadata = unknown> {
|
|
7
8
|
protected items: Map<string, RegistryEntry<TItem, TMetadata>>;
|
|
8
9
|
protected initialized: boolean;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { createErrorFactory,
|
|
2
|
-
export { BaseFactory
|
|
3
|
-
export { BaseRegistry
|
|
4
|
-
export {
|
|
1
|
+
export { createErrorFactory, NeuroLinkFeatureError } from "./baseError.js";
|
|
2
|
+
export { BaseFactory } from "./baseFactory.js";
|
|
3
|
+
export { BaseRegistry } from "./baseRegistry.js";
|
|
4
|
+
export { withRetry } from "./retry.js";
|
|
5
|
+
export type { ErrorCode, FactoryFunction, FactoryRegistration, InfraRegistryEntry, InfraRegistryEntry as RegistryEntry, AsyncRetryOptions, } from "../../types/index.js";
|
|
6
|
+
export type { RetryOptions } from "./retry.js";
|
|
5
7
|
export { TypedEventEmitter } from "./typedEventEmitter.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createErrorFactory, NeuroLinkFeatureError
|
|
2
|
-
export { BaseFactory
|
|
1
|
+
export { createErrorFactory, NeuroLinkFeatureError } from "./baseError.js";
|
|
2
|
+
export { BaseFactory } from "./baseFactory.js";
|
|
3
3
|
export { BaseRegistry } from "./baseRegistry.js";
|
|
4
4
|
export { withRetry } from "./retry.js";
|
|
5
5
|
export { TypedEventEmitter } from "./typedEventEmitter.js";
|
|
@@ -633,7 +633,9 @@ export class ModelConfigurationManager {
|
|
|
633
633
|
catch (error) {
|
|
634
634
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
635
635
|
logger.error(`Failed to load configurations from file: ${errorMessage}`);
|
|
636
|
-
throw new Error(`Configuration loading failed: ${errorMessage}
|
|
636
|
+
throw new Error(`Configuration loading failed: ${errorMessage}`, {
|
|
637
|
+
cause: error,
|
|
638
|
+
});
|
|
637
639
|
}
|
|
638
640
|
}
|
|
639
641
|
/**
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module core/modules/GenerationHandler
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { LanguageModel, ModelMessage, Tool } from "ai";
|
|
16
16
|
import { generateText } from "ai";
|
|
17
17
|
import type { AIProviderName, EnhancedGenerateResult, StandardRecord, TextGenerationOptions } from "../../types/index.js";
|
|
18
18
|
/**
|
|
@@ -37,10 +37,10 @@ export declare class GenerationHandler {
|
|
|
37
37
|
/**
|
|
38
38
|
* Execute the generation with AI SDK
|
|
39
39
|
*/
|
|
40
|
-
executeGeneration(model:
|
|
40
|
+
executeGeneration(model: LanguageModel, messages: ModelMessage[], tools: Record<string, Tool>, options: TextGenerationOptions): Promise<Awaited<ReturnType<typeof generateText>>>;
|
|
41
41
|
/**
|
|
42
42
|
* Extract cache metrics from provider metadata (e.g. Anthropic's providerMetadata.anthropic)
|
|
43
|
-
* The
|
|
43
|
+
* The AI SDK's LanguageModelUsage only has inputTokens/outputTokens.
|
|
44
44
|
* Cache metrics are surfaced via providerMetadata by provider-specific SDK adapters.
|
|
45
45
|
*/
|
|
46
46
|
private extractCacheMetricsFromProviderMetadata;
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* @module core/modules/GenerationHandler
|
|
14
14
|
*/
|
|
15
15
|
import { SpanKind, SpanStatusCode } from "@opentelemetry/api";
|
|
16
|
-
import { generateText, NoObjectGeneratedError, Output } from "ai";
|
|
16
|
+
import { generateText, NoObjectGeneratedError, Output, stepCountIs } from "ai";
|
|
17
|
+
import { getModelId } from "../../providers/providerTypeUtils.js";
|
|
17
18
|
import { tracers } from "../../telemetry/tracers.js";
|
|
18
19
|
import { logger } from "../../utils/logger.js";
|
|
19
20
|
import { calculateCost } from "../../utils/pricing.js";
|
|
@@ -99,14 +100,17 @@ export class GenerationHandler {
|
|
|
99
100
|
messages,
|
|
100
101
|
...(shouldUseTools &&
|
|
101
102
|
Object.keys(toolsWithCache).length > 0 && { tools: toolsWithCache }),
|
|
102
|
-
|
|
103
|
+
stopWhen: stepCountIs(options.maxSteps ?? DEFAULT_MAX_STEPS),
|
|
103
104
|
...(shouldUseTools &&
|
|
104
105
|
options.toolChoice && { toolChoice: options.toolChoice }),
|
|
105
106
|
...(options.prepareStep && {
|
|
106
|
-
experimental_prepareStep: options.prepareStep
|
|
107
|
+
experimental_prepareStep: ((stepOptions) => options.prepareStep({
|
|
108
|
+
...stepOptions,
|
|
109
|
+
maxSteps: options.maxSteps ?? DEFAULT_MAX_STEPS,
|
|
110
|
+
})),
|
|
107
111
|
}),
|
|
108
112
|
temperature: options.temperature,
|
|
109
|
-
|
|
113
|
+
maxOutputTokens: options.maxTokens,
|
|
110
114
|
maxRetries: 0, // NL11: Disable AI SDK's invisible internal retries; we handle retries with OTel instrumentation
|
|
111
115
|
abortSignal: options.abortSignal,
|
|
112
116
|
...(useStructuredOutput &&
|
|
@@ -173,13 +177,13 @@ export class GenerationHandler {
|
|
|
173
177
|
span.setAttribute("neurolink.structured_output", useStructuredOutput);
|
|
174
178
|
span.setAttribute("neurolink.tool_count", toolCount);
|
|
175
179
|
span.setAttribute("neurolink.message_count", messages.length);
|
|
176
|
-
span.setAttribute("gen_ai.request.model", model
|
|
180
|
+
span.setAttribute("gen_ai.request.model", getModelId(model, this.modelName || "unknown"));
|
|
177
181
|
const requestId = options.requestId ||
|
|
178
182
|
options.context?.requestId ||
|
|
179
183
|
"unknown";
|
|
180
184
|
logger.info("[GenerationHandler] Calling generateText", {
|
|
181
185
|
requestId,
|
|
182
|
-
model: model
|
|
186
|
+
model: getModelId(model),
|
|
183
187
|
messageCount: messages.length,
|
|
184
188
|
toolCount,
|
|
185
189
|
maxSteps: options.maxSteps,
|
|
@@ -189,7 +193,7 @@ export class GenerationHandler {
|
|
|
189
193
|
try {
|
|
190
194
|
logger.debug("[Observability] Full generateText parameters", {
|
|
191
195
|
requestId,
|
|
192
|
-
model: model
|
|
196
|
+
model: getModelId(model),
|
|
193
197
|
messageCount: messages.length,
|
|
194
198
|
messages: messages.map((msg, i) => ({
|
|
195
199
|
index: i,
|
|
@@ -246,14 +250,14 @@ export class GenerationHandler {
|
|
|
246
250
|
}
|
|
247
251
|
// Set token usage and completion attributes on span
|
|
248
252
|
if (result.usage) {
|
|
249
|
-
span.setAttribute("gen_ai.usage.input_tokens", result.usage.
|
|
250
|
-
span.setAttribute("gen_ai.usage.output_tokens", result.usage.
|
|
253
|
+
span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens || 0);
|
|
254
|
+
span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens || 0);
|
|
251
255
|
// Cost on span so users can query "what did this trace cost?"
|
|
252
256
|
const cost = calculateCost(this.providerName, this.modelName, {
|
|
253
|
-
input: result.usage.
|
|
254
|
-
output: result.usage.
|
|
255
|
-
total: (result.usage.
|
|
256
|
-
(result.usage.
|
|
257
|
+
input: result.usage.inputTokens || 0,
|
|
258
|
+
output: result.usage.outputTokens || 0,
|
|
259
|
+
total: (result.usage.inputTokens || 0) +
|
|
260
|
+
(result.usage.outputTokens || 0),
|
|
257
261
|
});
|
|
258
262
|
span.setAttribute("neurolink.cost", cost ?? 0);
|
|
259
263
|
}
|
|
@@ -297,13 +301,13 @@ export class GenerationHandler {
|
|
|
297
301
|
responseChars: result.text?.length || 0,
|
|
298
302
|
});
|
|
299
303
|
if (result.usage) {
|
|
300
|
-
span.setAttribute("gen_ai.usage.input_tokens", result.usage.
|
|
301
|
-
span.setAttribute("gen_ai.usage.output_tokens", result.usage.
|
|
304
|
+
span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens || 0);
|
|
305
|
+
span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens || 0);
|
|
302
306
|
const fallbackCost = calculateCost(this.providerName, this.modelName, {
|
|
303
|
-
input: result.usage.
|
|
304
|
-
output: result.usage.
|
|
305
|
-
total: (result.usage.
|
|
306
|
-
(result.usage.
|
|
307
|
+
input: result.usage.inputTokens || 0,
|
|
308
|
+
output: result.usage.outputTokens || 0,
|
|
309
|
+
total: (result.usage.inputTokens || 0) +
|
|
310
|
+
(result.usage.outputTokens || 0),
|
|
307
311
|
});
|
|
308
312
|
span.setAttribute("neurolink.cost", fallbackCost ?? 0);
|
|
309
313
|
}
|
|
@@ -327,13 +331,11 @@ export class GenerationHandler {
|
|
|
327
331
|
}
|
|
328
332
|
/**
|
|
329
333
|
* Extract cache metrics from provider metadata (e.g. Anthropic's providerMetadata.anthropic)
|
|
330
|
-
* The
|
|
334
|
+
* The AI SDK's LanguageModelUsage only has inputTokens/outputTokens.
|
|
331
335
|
* Cache metrics are surfaced via providerMetadata by provider-specific SDK adapters.
|
|
332
336
|
*/
|
|
333
337
|
extractCacheMetricsFromProviderMetadata(generateResult) {
|
|
334
|
-
const providerMeta = generateResult
|
|
335
|
-
.providerMetadata ||
|
|
336
|
-
generateResult.experimental_providerMetadata;
|
|
338
|
+
const providerMeta = generateResult.providerMetadata;
|
|
337
339
|
if (!providerMeta) {
|
|
338
340
|
return {};
|
|
339
341
|
}
|
|
@@ -421,22 +423,12 @@ export class GenerationHandler {
|
|
|
421
423
|
const trRecord = toolResult;
|
|
422
424
|
const toolName = trRecord.toolName || "unknown";
|
|
423
425
|
const toolId = trRecord.toolCallId || trRecord.id;
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
}
|
|
431
|
-
else if (trRecord.parameters) {
|
|
432
|
-
toolArgs = trRecord.parameters;
|
|
433
|
-
}
|
|
434
|
-
else if (trRecord.input) {
|
|
435
|
-
toolArgs = trRecord.input;
|
|
436
|
-
}
|
|
437
|
-
else {
|
|
438
|
-
toolArgs = toolCallArgsMap.get(toolId || toolName) || {};
|
|
439
|
-
}
|
|
426
|
+
const toolArgs = trRecord.args ??
|
|
427
|
+
trRecord.arguments ??
|
|
428
|
+
trRecord.parameters ??
|
|
429
|
+
trRecord.input ??
|
|
430
|
+
toolCallArgsMap.get(toolId || toolName) ??
|
|
431
|
+
{};
|
|
440
432
|
toolExecutions.push({
|
|
441
433
|
name: toolName,
|
|
442
434
|
input: toolArgs,
|
|
@@ -518,12 +510,28 @@ export class GenerationHandler {
|
|
|
518
510
|
}
|
|
519
511
|
}
|
|
520
512
|
}
|
|
513
|
+
// Extract reasoning from AI SDK response (Anthropic thinking, Gemini thought, OpenAI o1)
|
|
514
|
+
// Handle both string and array (AI SDK v5 returns string, v6 returns ReasoningOutput[])
|
|
515
|
+
const rawReasoning = generateResult.reasoning;
|
|
516
|
+
const reasoning = rawReasoning
|
|
517
|
+
? typeof rawReasoning === "string"
|
|
518
|
+
? rawReasoning
|
|
519
|
+
: Array.isArray(rawReasoning)
|
|
520
|
+
? rawReasoning
|
|
521
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
522
|
+
.map((r) => typeof r === "string" ? r : (r.text ?? JSON.stringify(r)))
|
|
523
|
+
.join("\n")
|
|
524
|
+
: String(rawReasoning)
|
|
525
|
+
: undefined;
|
|
526
|
+
const reasoningTokens = usage.reasoning ?? undefined;
|
|
521
527
|
return {
|
|
522
528
|
content,
|
|
523
529
|
usage,
|
|
524
530
|
finishReason: generateResult.finishReason,
|
|
525
531
|
provider: this.providerName,
|
|
526
532
|
model: this.modelName,
|
|
533
|
+
reasoning,
|
|
534
|
+
reasoningTokens,
|
|
527
535
|
toolCalls: generateResult.toolCalls
|
|
528
536
|
? generateResult.toolCalls.map((tc) => ({
|
|
529
537
|
toolCallId: tc.toolCallId || "unknown",
|
|
@@ -531,7 +539,7 @@ export class GenerationHandler {
|
|
|
531
539
|
args: tc.args || {},
|
|
532
540
|
}))
|
|
533
541
|
: [],
|
|
534
|
-
toolResults: generateResult.toolResults
|
|
542
|
+
toolResults: generateResult.toolResults ?? [],
|
|
535
543
|
toolsUsed,
|
|
536
544
|
toolExecutions,
|
|
537
545
|
availableTools: Object.keys(tools).map((name) => {
|
|
@@ -539,7 +547,7 @@ export class GenerationHandler {
|
|
|
539
547
|
return {
|
|
540
548
|
name,
|
|
541
549
|
description: tool.description || "No description available",
|
|
542
|
-
parameters: tool.
|
|
550
|
+
parameters: tool.inputSchema || {},
|
|
543
551
|
server: tool.serverId || "direct",
|
|
544
552
|
};
|
|
545
553
|
}),
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* - Building messages from text generation options
|
|
9
9
|
* - Building messages from stream options
|
|
10
10
|
* - Multimodal input detection
|
|
11
|
-
* - Message format conversion (to
|
|
11
|
+
* - Message format conversion (to ModelMessage[])
|
|
12
12
|
*
|
|
13
13
|
* @module core/modules/MessageBuilder
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { ModelMessage } from "ai";
|
|
16
16
|
import type { AIProviderName, TextGenerationOptions } from "../../types/index.js";
|
|
17
17
|
import type { StreamOptions } from "../../types/streamTypes.js";
|
|
18
18
|
/**
|
|
@@ -26,14 +26,14 @@ export declare class MessageBuilder {
|
|
|
26
26
|
* Build messages array for generation
|
|
27
27
|
* Detects multimodal input and routes to appropriate message builder
|
|
28
28
|
*/
|
|
29
|
-
buildMessages(options: TextGenerationOptions): Promise<
|
|
29
|
+
buildMessages(options: TextGenerationOptions): Promise<ModelMessage[]>;
|
|
30
30
|
/**
|
|
31
31
|
* Build messages array for streaming operations
|
|
32
32
|
* This is a protected helper method that providers can use to build messages
|
|
33
33
|
* with automatic multimodal detection, eliminating code duplication
|
|
34
34
|
*
|
|
35
35
|
* @param options - Stream options or text generation options
|
|
36
|
-
* @returns Promise resolving to
|
|
36
|
+
* @returns Promise resolving to ModelMessage array ready for AI SDK
|
|
37
37
|
*/
|
|
38
|
-
buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<
|
|
38
|
+
buildMessagesForStream(options: StreamOptions | TextGenerationOptions): Promise<ModelMessage[]>;
|
|
39
39
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Building messages from text generation options
|
|
9
9
|
* - Building messages from stream options
|
|
10
10
|
* - Multimodal input detection
|
|
11
|
-
* - Message format conversion (to
|
|
11
|
+
* - Message format conversion (to ModelMessage[])
|
|
12
12
|
*
|
|
13
13
|
* @module core/modules/MessageBuilder
|
|
14
14
|
*/
|
|
@@ -129,8 +129,7 @@ export class MessageBuilder {
|
|
|
129
129
|
return {
|
|
130
130
|
role: msg.role,
|
|
131
131
|
content: msg.content.map((item) => {
|
|
132
|
-
const itemProviderOptions = item
|
|
133
|
-
.providerOptions;
|
|
132
|
+
const itemProviderOptions = item.providerOptions;
|
|
134
133
|
if (item.type === "text") {
|
|
135
134
|
return {
|
|
136
135
|
type: "text",
|
|
@@ -169,7 +168,7 @@ export class MessageBuilder {
|
|
|
169
168
|
* with automatic multimodal detection, eliminating code duplication
|
|
170
169
|
*
|
|
171
170
|
* @param options - Stream options or text generation options
|
|
172
|
-
* @returns Promise resolving to
|
|
171
|
+
* @returns Promise resolving to ModelMessage array ready for AI SDK
|
|
173
172
|
*/
|
|
174
173
|
async buildMessagesForStream(options) {
|
|
175
174
|
return withSpan({
|
|
@@ -238,8 +237,7 @@ export class MessageBuilder {
|
|
|
238
237
|
return {
|
|
239
238
|
role: msg.role,
|
|
240
239
|
content: msg.content.map((item) => {
|
|
241
|
-
const itemProviderOptions = item
|
|
242
|
-
.providerOptions;
|
|
240
|
+
const itemProviderOptions = item.providerOptions;
|
|
243
241
|
if (item.type === "text") {
|
|
244
242
|
return {
|
|
245
243
|
type: "text",
|
|
@@ -19,6 +19,7 @@ import { validateStreamOptions as validateStreamOpts, ValidationError, createVal
|
|
|
19
19
|
import { STEP_LIMITS } from "../constants.js";
|
|
20
20
|
import { createAnalytics } from "../analytics.js";
|
|
21
21
|
import { nanoid } from "nanoid";
|
|
22
|
+
import { NoOutputGeneratedError } from "ai";
|
|
22
23
|
/**
|
|
23
24
|
* StreamHandler class - Handles streaming operations for AI providers
|
|
24
25
|
*/
|
|
@@ -89,20 +90,33 @@ export class StreamHandler {
|
|
|
89
90
|
let totalBytes = 0;
|
|
90
91
|
const streamStart = Date.now();
|
|
91
92
|
let firstChunkTime;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
activeSpan
|
|
100
|
-
"stream.
|
|
101
|
-
|
|
102
|
-
|
|
93
|
+
try {
|
|
94
|
+
for await (const chunk of result.textStream) {
|
|
95
|
+
chunkCount++;
|
|
96
|
+
totalBytes += chunk.length;
|
|
97
|
+
if (!firstChunkTime) {
|
|
98
|
+
firstChunkTime = Date.now();
|
|
99
|
+
const activeSpan = trace.getSpan(otelContext.active());
|
|
100
|
+
if (activeSpan) {
|
|
101
|
+
activeSpan.addEvent("stream.first_chunk", {
|
|
102
|
+
"stream.ttfc_ms": firstChunkTime - streamStart,
|
|
103
|
+
"stream.provider": providerName,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
103
106
|
}
|
|
107
|
+
yield { content: chunk };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
// AI SDK v6 throws NoOutputGeneratedError when the stream produces no output
|
|
112
|
+
// (e.g. empty response, model refusal with no text). Treat as an empty stream
|
|
113
|
+
// rather than crashing the process with an unhandled rejection.
|
|
114
|
+
if (NoOutputGeneratedError.isInstance(error)) {
|
|
115
|
+
logger.warn(`${providerName}: Stream produced no output (NoOutputGeneratedError), returning empty stream`);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
throw error;
|
|
104
119
|
}
|
|
105
|
-
yield { content: chunk };
|
|
106
120
|
}
|
|
107
121
|
// Record completion metrics on the active span
|
|
108
122
|
const activeSpan = trace.getSpan(otelContext.active());
|
|
@@ -36,9 +36,8 @@ export declare class TelemetryHandler {
|
|
|
36
36
|
* Record performance metrics for a generation
|
|
37
37
|
*/
|
|
38
38
|
recordPerformanceMetrics(usage: {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
totalTokens: number;
|
|
39
|
+
inputTokens: number | undefined;
|
|
40
|
+
outputTokens: number | undefined;
|
|
42
41
|
} | undefined, responseTime: number): Promise<void>;
|
|
43
42
|
/**
|
|
44
43
|
* Calculate actual cost based on token usage and provider configuration.
|
|
@@ -53,9 +52,8 @@ export declare class TelemetryHandler {
|
|
|
53
52
|
* on Vertex AI ($0.000060 vs $0.106895 for the same request).
|
|
54
53
|
*/
|
|
55
54
|
calculateActualCost(usage: {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
totalTokens?: number;
|
|
55
|
+
inputTokens?: number | undefined;
|
|
56
|
+
outputTokens?: number | undefined;
|
|
59
57
|
}): Promise<number>;
|
|
60
58
|
/**
|
|
61
59
|
* Create telemetry configuration for Vercel AI SDK experimental_telemetry
|