@juspay/neurolink 9.32.0 → 9.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/auth/anthropicOAuth.js +1 -1
- package/dist/cli/commands/proxy.js +18 -5
- package/dist/client/aiSdkAdapter.js +1 -1
- package/dist/client/index.js +137 -501
- package/dist/core/factory.js +0 -1
- package/dist/core/redisConversationMemoryManager.js +1 -1
- package/dist/features/ppt/slideGenerator.js +0 -1
- package/dist/features/ppt/utils.js +0 -1
- package/dist/lib/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/mcp/elicitationProtocol.js +1 -1
- package/dist/mcp/servers/agent/directToolsServer.js +0 -1
- package/dist/providers/azureOpenai.js +1 -1
- package/dist/providers/huggingFace.js +0 -1
- package/dist/providers/openaiCompatible.js +0 -1
- package/dist/sdk/toolRegistration.js +0 -1
- package/dist/server/openapi/generator.js +1 -1
- package/dist/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/types/configTypes.js +0 -5
- package/dist/types/modelTypes.js +0 -1
- package/dist/types/tools.js +0 -1
- package/dist/types/typeAliases.js +0 -1
- package/dist/types/utilities.js +1 -1
- package/dist/types/workflowTypes.js +0 -1
- package/dist/utils/providerRetry.js +0 -1
- package/dist/utils/providerUtils.js +0 -1
- package/package.json +2 -2
- package/dist/client/adapters/providerImageAdapter.js +0 -588
- package/dist/client/adapters/tts/googleTTSHandler.js +0 -344
- package/dist/client/adapters/video/directorPipeline.js +0 -516
- package/dist/client/adapters/video/ffmpegAdapter.js +0 -206
- package/dist/client/adapters/video/frameExtractor.js +0 -143
- package/dist/client/adapters/video/vertexVideoHandler.js +0 -763
- package/dist/client/adapters/video/videoAnalyzer.js +0 -238
- package/dist/client/adapters/video/videoMerger.js +0 -171
- package/dist/client/agent/directTools.js +0 -840
- package/dist/client/auth/AuthProviderFactory.js +0 -111
- package/dist/client/auth/AuthProviderRegistry.js +0 -190
- package/dist/client/auth/RequestContext.js +0 -78
- package/dist/client/auth/accountPool.js +0 -178
- package/dist/client/auth/anthropicOAuth.js +0 -974
- package/dist/client/auth/authContext.js +0 -314
- package/dist/client/auth/errors.js +0 -39
- package/dist/client/auth/index.js +0 -61
- package/dist/client/auth/middleware/AuthMiddleware.js +0 -519
- package/dist/client/auth/middleware/rateLimitByUser.js +0 -554
- package/dist/client/auth/providers/BaseAuthProvider.js +0 -723
- package/dist/client/auth/providers/CognitoProvider.js +0 -304
- package/dist/client/auth/providers/KeycloakProvider.js +0 -393
- package/dist/client/auth/providers/auth0.js +0 -274
- package/dist/client/auth/providers/betterAuth.js +0 -182
- package/dist/client/auth/providers/clerk.js +0 -317
- package/dist/client/auth/providers/custom.js +0 -112
- package/dist/client/auth/providers/firebase.js +0 -226
- package/dist/client/auth/providers/jwt.js +0 -212
- package/dist/client/auth/providers/oauth2.js +0 -303
- package/dist/client/auth/providers/supabase.js +0 -259
- package/dist/client/auth/providers/workos.js +0 -284
- package/dist/client/auth/serverBridge.js +0 -25
- package/dist/client/auth/sessionManager.js +0 -437
- package/dist/client/auth/tokenStore.js +0 -799
- package/dist/client/client/aiSdkAdapter.js +0 -487
- package/dist/client/client/auth.js +0 -473
- package/dist/client/client/errors.js +0 -552
- package/dist/client/client/httpClient.js +0 -837
- package/dist/client/client/index.js +0 -172
- package/dist/client/client/interceptors.js +0 -601
- package/dist/client/client/sseClient.js +0 -545
- package/dist/client/client/streamingClient.js +0 -917
- package/dist/client/client/wsClient.js +0 -369
- package/dist/client/config/configManager.js +0 -303
- package/dist/client/config/conversationMemory.js +0 -86
- package/dist/client/config/taskClassificationConfig.js +0 -148
- package/dist/client/constants/contextWindows.js +0 -295
- package/dist/client/constants/enums.js +0 -853
- package/dist/client/constants/index.js +0 -207
- package/dist/client/constants/performance.js +0 -389
- package/dist/client/constants/retry.js +0 -266
- package/dist/client/constants/timeouts.js +0 -182
- package/dist/client/constants/tokens.js +0 -380
- package/dist/client/constants/videoErrors.js +0 -46
- package/dist/client/context/budgetChecker.js +0 -98
- package/dist/client/context/contextCompactor.js +0 -205
- package/dist/client/context/emergencyTruncation.js +0 -88
- package/dist/client/context/errorDetection.js +0 -171
- package/dist/client/context/errors.js +0 -21
- package/dist/client/context/fileTokenBudget.js +0 -127
- package/dist/client/context/prompts/summarizationPrompt.js +0 -117
- package/dist/client/context/stages/fileReadDeduplicator.js +0 -66
- package/dist/client/context/stages/slidingWindowTruncator.js +0 -190
- package/dist/client/context/stages/structuredSummarizer.js +0 -99
- package/dist/client/context/stages/toolOutputPruner.js +0 -52
- package/dist/client/context/summarizationEngine.js +0 -136
- package/dist/client/context/toolOutputLimits.js +0 -78
- package/dist/client/context/toolPairRepair.js +0 -66
- package/dist/client/core/analytics.js +0 -88
- package/dist/client/core/baseProvider.js +0 -1385
- package/dist/client/core/constants.js +0 -140
- package/dist/client/core/conversationMemoryFactory.js +0 -141
- package/dist/client/core/conversationMemoryInitializer.js +0 -128
- package/dist/client/core/conversationMemoryManager.js +0 -344
- package/dist/client/core/dynamicModels.js +0 -358
- package/dist/client/core/evaluation.js +0 -309
- package/dist/client/core/evaluationProviders.js +0 -248
- package/dist/client/core/factory.js +0 -412
- package/dist/client/core/infrastructure/baseError.js +0 -22
- package/dist/client/core/infrastructure/baseFactory.js +0 -54
- package/dist/client/core/infrastructure/baseRegistry.js +0 -53
- package/dist/client/core/infrastructure/index.js +0 -5
- package/dist/client/core/infrastructure/retry.js +0 -20
- package/dist/client/core/infrastructure/typedEventEmitter.js +0 -23
- package/dist/client/core/modelConfiguration.js +0 -851
- package/dist/client/core/modules/GenerationHandler.js +0 -588
- package/dist/client/core/modules/MessageBuilder.js +0 -273
- package/dist/client/core/modules/StreamHandler.js +0 -185
- package/dist/client/core/modules/TelemetryHandler.js +0 -203
- package/dist/client/core/modules/ToolsManager.js +0 -499
- package/dist/client/core/modules/Utilities.js +0 -331
- package/dist/client/core/redisConversationMemoryManager.js +0 -1435
- package/dist/client/core/streamAnalytics.js +0 -131
- package/dist/client/evaluation/contextBuilder.js +0 -134
- package/dist/client/evaluation/index.js +0 -61
- package/dist/client/evaluation/prompts.js +0 -73
- package/dist/client/evaluation/ragasEvaluator.js +0 -110
- package/dist/client/evaluation/retryManager.js +0 -78
- package/dist/client/evaluation/scoring.js +0 -61
- package/dist/client/factories/providerFactory.js +0 -166
- package/dist/client/factories/providerRegistry.js +0 -166
- package/dist/client/features/ppt/constants.js +0 -896
- package/dist/client/features/ppt/contentPlanner.js +0 -529
- package/dist/client/features/ppt/presentationOrchestrator.js +0 -236
- package/dist/client/features/ppt/slideGenerator.js +0 -532
- package/dist/client/features/ppt/slideRenderers.js +0 -2383
- package/dist/client/features/ppt/slideTypeInference.js +0 -405
- package/dist/client/features/ppt/types.js +0 -13
- package/dist/client/features/ppt/utils.js +0 -443
- package/dist/client/files/fileReferenceRegistry.js +0 -1543
- package/dist/client/files/fileTools.js +0 -450
- package/dist/client/files/streamingReader.js +0 -321
- package/dist/client/files/types.js +0 -23
- package/dist/client/hitl/hitlErrors.js +0 -54
- package/dist/client/hitl/hitlManager.js +0 -460
- package/dist/client/mcp/agentExposure.js +0 -356
- package/dist/client/mcp/auth/index.js +0 -11
- package/dist/client/mcp/auth/oauthClientProvider.js +0 -325
- package/dist/client/mcp/auth/tokenStorage.js +0 -134
- package/dist/client/mcp/batching/index.js +0 -10
- package/dist/client/mcp/batching/requestBatcher.js +0 -441
- package/dist/client/mcp/caching/index.js +0 -10
- package/dist/client/mcp/caching/toolCache.js +0 -433
- package/dist/client/mcp/elicitation/elicitationManager.js +0 -376
- package/dist/client/mcp/elicitation/index.js +0 -11
- package/dist/client/mcp/elicitation/types.js +0 -10
- package/dist/client/mcp/elicitationProtocol.js +0 -375
- package/dist/client/mcp/enhancedToolDiscovery.js +0 -481
- package/dist/client/mcp/externalServerManager.js +0 -1478
- package/dist/client/mcp/factory.js +0 -161
- package/dist/client/mcp/flexibleToolValidator.js +0 -161
- package/dist/client/mcp/httpRateLimiter.js +0 -391
- package/dist/client/mcp/httpRetryHandler.js +0 -178
- package/dist/client/mcp/index.js +0 -74
- package/dist/client/mcp/mcpCircuitBreaker.js +0 -427
- package/dist/client/mcp/mcpClientFactory.js +0 -708
- package/dist/client/mcp/mcpRegistryClient.js +0 -488
- package/dist/client/mcp/mcpServerBase.js +0 -373
- package/dist/client/mcp/multiServerManager.js +0 -579
- package/dist/client/mcp/registry.js +0 -158
- package/dist/client/mcp/routing/index.js +0 -10
- package/dist/client/mcp/routing/toolRouter.js +0 -416
- package/dist/client/mcp/serverCapabilities.js +0 -502
- package/dist/client/mcp/servers/agent/directToolsServer.js +0 -150
- package/dist/client/mcp/toolAnnotations.js +0 -239
- package/dist/client/mcp/toolConverter.js +0 -258
- package/dist/client/mcp/toolDiscoveryService.js +0 -798
- package/dist/client/mcp/toolIntegration.js +0 -334
- package/dist/client/mcp/toolRegistry.js +0 -729
- package/dist/client/memory/hippocampusInitializer.js +0 -19
- package/dist/client/memory/memoryRetrievalTools.js +0 -166
- package/dist/client/middleware/builtin/analytics.js +0 -132
- package/dist/client/middleware/builtin/autoEvaluation.js +0 -203
- package/dist/client/middleware/builtin/guardrails.js +0 -109
- package/dist/client/middleware/builtin/lifecycle.js +0 -168
- package/dist/client/middleware/factory.js +0 -327
- package/dist/client/middleware/registry.js +0 -295
- package/dist/client/middleware/utils/guardrailsUtils.js +0 -396
- package/dist/client/models/anthropicModels.js +0 -527
- package/dist/client/neurolink.js +0 -8233
- package/dist/client/observability/exporterRegistry.js +0 -413
- package/dist/client/observability/exporters/arizeExporter.js +0 -138
- package/dist/client/observability/exporters/baseExporter.js +0 -190
- package/dist/client/observability/exporters/braintrustExporter.js +0 -154
- package/dist/client/observability/exporters/datadogExporter.js +0 -196
- package/dist/client/observability/exporters/laminarExporter.js +0 -302
- package/dist/client/observability/exporters/langfuseExporter.js +0 -209
- package/dist/client/observability/exporters/langsmithExporter.js +0 -143
- package/dist/client/observability/exporters/otelExporter.js +0 -164
- package/dist/client/observability/exporters/posthogExporter.js +0 -287
- package/dist/client/observability/exporters/sentryExporter.js +0 -165
- package/dist/client/observability/index.js +0 -31
- package/dist/client/observability/metricsAggregator.js +0 -556
- package/dist/client/observability/otelBridge.js +0 -131
- package/dist/client/observability/retryPolicy.js +0 -383
- package/dist/client/observability/sampling/samplers.js +0 -216
- package/dist/client/observability/spanProcessor.js +0 -303
- package/dist/client/observability/tokenTracker.js +0 -413
- package/dist/client/observability/types/exporterTypes.js +0 -5
- package/dist/client/observability/types/index.js +0 -4
- package/dist/client/observability/types/spanTypes.js +0 -92
- package/dist/client/observability/utils/safeMetadata.js +0 -25
- package/dist/client/observability/utils/spanSerializer.js +0 -292
- package/dist/client/processors/archive/ArchiveProcessor.js +0 -1308
- package/dist/client/processors/base/BaseFileProcessor.js +0 -614
- package/dist/client/processors/base/types.js +0 -82
- package/dist/client/processors/config/fileTypes.js +0 -520
- package/dist/client/processors/config/index.js +0 -92
- package/dist/client/processors/config/languageMap.js +0 -410
- package/dist/client/processors/config/mimeTypes.js +0 -363
- package/dist/client/processors/config/sizeLimits.js +0 -258
- package/dist/client/processors/document/ExcelProcessor.js +0 -590
- package/dist/client/processors/document/OpenDocumentProcessor.js +0 -212
- package/dist/client/processors/document/PptxProcessor.js +0 -157
- package/dist/client/processors/document/RtfProcessor.js +0 -361
- package/dist/client/processors/document/WordProcessor.js +0 -353
- package/dist/client/processors/errors/FileErrorCode.js +0 -255
- package/dist/client/processors/errors/errorHelpers.js +0 -386
- package/dist/client/processors/errors/errorSerializer.js +0 -507
- package/dist/client/processors/errors/index.js +0 -49
- package/dist/client/processors/markup/SvgProcessor.js +0 -240
- package/dist/client/processors/media/AudioProcessor.js +0 -707
- package/dist/client/processors/media/VideoProcessor.js +0 -1045
- package/dist/client/providers/amazonBedrock.js +0 -1512
- package/dist/client/providers/amazonSagemaker.js +0 -162
- package/dist/client/providers/anthropic.js +0 -831
- package/dist/client/providers/azureOpenai.js +0 -143
- package/dist/client/providers/googleAiStudio.js +0 -1200
- package/dist/client/providers/googleNativeGemini3.js +0 -543
- package/dist/client/providers/googleVertex.js +0 -2936
- package/dist/client/providers/huggingFace.js +0 -315
- package/dist/client/providers/litellm.js +0 -488
- package/dist/client/providers/mistral.js +0 -157
- package/dist/client/providers/ollama.js +0 -1579
- package/dist/client/providers/openAI.js +0 -627
- package/dist/client/providers/openRouter.js +0 -543
- package/dist/client/providers/openaiCompatible.js +0 -290
- package/dist/client/providers/providerTypeUtils.js +0 -46
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +0 -215
- package/dist/client/providers/sagemaker/client.js +0 -472
- package/dist/client/providers/sagemaker/config.js +0 -317
- package/dist/client/providers/sagemaker/detection.js +0 -606
- package/dist/client/providers/sagemaker/error-constants.js +0 -227
- package/dist/client/providers/sagemaker/errors.js +0 -299
- package/dist/client/providers/sagemaker/language-model.js +0 -775
- package/dist/client/providers/sagemaker/parsers.js +0 -634
- package/dist/client/providers/sagemaker/streaming.js +0 -331
- package/dist/client/providers/sagemaker/structured-parser.js +0 -625
- package/dist/client/proxy/accountQuota.js +0 -162
- package/dist/client/proxy/claudeFormat.js +0 -595
- package/dist/client/proxy/modelRouter.js +0 -29
- package/dist/client/proxy/oauthFetch.js +0 -367
- package/dist/client/proxy/proxyFetch.js +0 -586
- package/dist/client/proxy/requestLogger.js +0 -207
- package/dist/client/proxy/tokenRefresh.js +0 -124
- package/dist/client/proxy/usageStats.js +0 -74
- package/dist/client/proxy/utils/noProxyUtils.js +0 -149
- package/dist/client/rag/ChunkerFactory.js +0 -320
- package/dist/client/rag/ChunkerRegistry.js +0 -421
- package/dist/client/rag/chunkers/BaseChunker.js +0 -143
- package/dist/client/rag/chunkers/CharacterChunker.js +0 -28
- package/dist/client/rag/chunkers/HTMLChunker.js +0 -38
- package/dist/client/rag/chunkers/JSONChunker.js +0 -68
- package/dist/client/rag/chunkers/LaTeXChunker.js +0 -63
- package/dist/client/rag/chunkers/MarkdownChunker.js +0 -306
- package/dist/client/rag/chunkers/RecursiveChunker.js +0 -139
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +0 -138
- package/dist/client/rag/chunkers/SentenceChunker.js +0 -66
- package/dist/client/rag/chunkers/TokenChunker.js +0 -61
- package/dist/client/rag/chunkers/index.js +0 -15
- package/dist/client/rag/chunking/characterChunker.js +0 -142
- package/dist/client/rag/chunking/chunkerRegistry.js +0 -194
- package/dist/client/rag/chunking/htmlChunker.js +0 -247
- package/dist/client/rag/chunking/index.js +0 -17
- package/dist/client/rag/chunking/jsonChunker.js +0 -281
- package/dist/client/rag/chunking/latexChunker.js +0 -251
- package/dist/client/rag/chunking/markdownChunker.js +0 -373
- package/dist/client/rag/chunking/recursiveChunker.js +0 -148
- package/dist/client/rag/chunking/semanticChunker.js +0 -306
- package/dist/client/rag/chunking/sentenceChunker.js +0 -230
- package/dist/client/rag/chunking/tokenChunker.js +0 -183
- package/dist/client/rag/document/MDocument.js +0 -392
- package/dist/client/rag/document/index.js +0 -5
- package/dist/client/rag/document/loaders.js +0 -500
- package/dist/client/rag/errors/RAGError.js +0 -274
- package/dist/client/rag/errors/index.js +0 -6
- package/dist/client/rag/graphRag/graphRAG.js +0 -401
- package/dist/client/rag/graphRag/index.js +0 -4
- package/dist/client/rag/index.js +0 -141
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +0 -418
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +0 -362
- package/dist/client/rag/metadata/index.js +0 -9
- package/dist/client/rag/metadata/metadataExtractor.js +0 -280
- package/dist/client/rag/pipeline/RAGPipeline.js +0 -436
- package/dist/client/rag/pipeline/contextAssembly.js +0 -341
- package/dist/client/rag/pipeline/index.js +0 -5
- package/dist/client/rag/ragIntegration.js +0 -321
- package/dist/client/rag/reranker/RerankerFactory.js +0 -430
- package/dist/client/rag/reranker/RerankerRegistry.js +0 -402
- package/dist/client/rag/reranker/index.js +0 -9
- package/dist/client/rag/reranker/reranker.js +0 -277
- package/dist/client/rag/resilience/CircuitBreaker.js +0 -431
- package/dist/client/rag/resilience/RetryHandler.js +0 -304
- package/dist/client/rag/resilience/index.js +0 -7
- package/dist/client/rag/retrieval/hybridSearch.js +0 -335
- package/dist/client/rag/retrieval/index.js +0 -5
- package/dist/client/rag/retrieval/vectorQueryTool.js +0 -307
- package/dist/client/rag/types.js +0 -8
- package/dist/client/sdk/toolRegistration.js +0 -377
- package/dist/client/server/abstract/baseServerAdapter.js +0 -575
- package/dist/client/server/adapters/expressAdapter.js +0 -486
- package/dist/client/server/adapters/fastifyAdapter.js +0 -472
- package/dist/client/server/adapters/honoAdapter.js +0 -632
- package/dist/client/server/adapters/koaAdapter.js +0 -510
- package/dist/client/server/errors.js +0 -486
- package/dist/client/server/factory/serverAdapterFactory.js +0 -160
- package/dist/client/server/index.js +0 -108
- package/dist/client/server/middleware/abortSignal.js +0 -111
- package/dist/client/server/middleware/auth.js +0 -388
- package/dist/client/server/middleware/cache.js +0 -359
- package/dist/client/server/middleware/common.js +0 -281
- package/dist/client/server/middleware/deprecation.js +0 -190
- package/dist/client/server/middleware/mcpBodyAttachment.js +0 -63
- package/dist/client/server/middleware/rateLimit.js +0 -227
- package/dist/client/server/middleware/validation.js +0 -388
- package/dist/client/server/openapi/generator.js +0 -398
- package/dist/client/server/openapi/index.js +0 -36
- package/dist/client/server/openapi/schemas.js +0 -695
- package/dist/client/server/openapi/templates.js +0 -374
- package/dist/client/server/routes/agentRoutes.js +0 -189
- package/dist/client/server/routes/claudeProxyRoutes.js +0 -1600
- package/dist/client/server/routes/healthRoutes.js +0 -187
- package/dist/client/server/routes/index.js +0 -57
- package/dist/client/server/routes/mcpRoutes.js +0 -342
- package/dist/client/server/routes/memoryRoutes.js +0 -350
- package/dist/client/server/routes/openApiRoutes.js +0 -126
- package/dist/client/server/routes/toolRoutes.js +0 -199
- package/dist/client/server/streaming/dataStream.js +0 -486
- package/dist/client/server/streaming/index.js +0 -11
- package/dist/client/server/types.js +0 -67
- package/dist/client/server/utils/redaction.js +0 -334
- package/dist/client/server/utils/validation.js +0 -243
- package/dist/client/server/websocket/WebSocketHandler.js +0 -383
- package/dist/client/server/websocket/index.js +0 -4
- package/dist/client/services/server/ai/observability/instrumentation.js +0 -808
- package/dist/client/telemetry/attributes.js +0 -100
- package/dist/client/telemetry/index.js +0 -26
- package/dist/client/telemetry/telemetryService.js +0 -308
- package/dist/client/telemetry/tracers.js +0 -17
- package/dist/client/telemetry/withSpan.js +0 -34
- package/dist/client/types/actionTypes.js +0 -6
- package/dist/client/types/analytics.js +0 -5
- package/dist/client/types/authTypes.js +0 -9
- package/dist/client/types/circuitBreakerErrors.js +0 -34
- package/dist/client/types/cli.js +0 -21
- package/dist/client/types/clientTypes.js +0 -10
- package/dist/client/types/common.js +0 -51
- package/dist/client/types/configTypes.js +0 -49
- package/dist/client/types/content.js +0 -19
- package/dist/client/types/contextTypes.js +0 -400
- package/dist/client/types/conversation.js +0 -47
- package/dist/client/types/conversationMemoryInterface.js +0 -6
- package/dist/client/types/domainTypes.js +0 -5
- package/dist/client/types/errors.js +0 -167
- package/dist/client/types/evaluation.js +0 -5
- package/dist/client/types/evaluationProviders.js +0 -5
- package/dist/client/types/evaluationTypes.js +0 -1
- package/dist/client/types/externalMcp.js +0 -6
- package/dist/client/types/fileReferenceTypes.js +0 -8
- package/dist/client/types/fileTypes.js +0 -4
- package/dist/client/types/generateTypes.js +0 -1
- package/dist/client/types/guardrails.js +0 -1
- package/dist/client/types/hitlTypes.js +0 -8
- package/dist/client/types/index.js +0 -57
- package/dist/client/types/mcpTypes.js +0 -5
- package/dist/client/types/middlewareTypes.js +0 -1
- package/dist/client/types/modelTypes.js +0 -30
- package/dist/client/types/multimodal.js +0 -135
- package/dist/client/types/observability.js +0 -6
- package/dist/client/types/pptTypes.js +0 -82
- package/dist/client/types/providers.js +0 -111
- package/dist/client/types/proxyTypes.js +0 -16
- package/dist/client/types/ragTypes.js +0 -7
- package/dist/client/types/sdkTypes.js +0 -8
- package/dist/client/types/serviceTypes.js +0 -5
- package/dist/client/types/streamTypes.js +0 -1
- package/dist/client/types/subscriptionTypes.js +0 -9
- package/dist/client/types/taskClassificationTypes.js +0 -5
- package/dist/client/types/tools.js +0 -24
- package/dist/client/types/ttsTypes.js +0 -57
- package/dist/client/types/typeAliases.js +0 -48
- package/dist/client/types/utilities.js +0 -4
- package/dist/client/types/workflowTypes.js +0 -30
- package/dist/client/utils/async/withTimeout.js +0 -98
- package/dist/client/utils/asyncMutex.js +0 -60
- package/dist/client/utils/conversationMemory.js +0 -431
- package/dist/client/utils/csvProcessor.js +0 -846
- package/dist/client/utils/errorHandling.js +0 -936
- package/dist/client/utils/evaluationUtils.js +0 -131
- package/dist/client/utils/factoryProcessing.js +0 -589
- package/dist/client/utils/fileDetector.js +0 -2161
- package/dist/client/utils/imageCache.js +0 -376
- package/dist/client/utils/imageProcessor.js +0 -704
- package/dist/client/utils/logger.js +0 -491
- package/dist/client/utils/mcpDefaults.js +0 -134
- package/dist/client/utils/messageBuilder.js +0 -1653
- package/dist/client/utils/modelAliasResolver.js +0 -54
- package/dist/client/utils/modelDetection.js +0 -80
- package/dist/client/utils/modelRouter.js +0 -292
- package/dist/client/utils/multimodalOptionsBuilder.js +0 -65
- package/dist/client/utils/observabilityHelpers.js +0 -47
- package/dist/client/utils/parameterValidation.js +0 -966
- package/dist/client/utils/pdfProcessor.js +0 -410
- package/dist/client/utils/performance.js +0 -222
- package/dist/client/utils/pricing.js +0 -340
- package/dist/client/utils/promptRedaction.js +0 -62
- package/dist/client/utils/providerConfig.js +0 -1009
- package/dist/client/utils/providerHealth.js +0 -1237
- package/dist/client/utils/providerRetry.js +0 -112
- package/dist/client/utils/providerUtils.js +0 -434
- package/dist/client/utils/rateLimiter.js +0 -200
- package/dist/client/utils/redis.js +0 -368
- package/dist/client/utils/retryHandler.js +0 -269
- package/dist/client/utils/retryability.js +0 -22
- package/dist/client/utils/sanitizers/svg.js +0 -481
- package/dist/client/utils/schemaConversion.js +0 -255
- package/dist/client/utils/taskClassificationUtils.js +0 -149
- package/dist/client/utils/taskClassifier.js +0 -94
- package/dist/client/utils/thinkingConfig.js +0 -104
- package/dist/client/utils/timeout.js +0 -359
- package/dist/client/utils/tokenEstimation.js +0 -142
- package/dist/client/utils/tokenLimits.js +0 -125
- package/dist/client/utils/tokenUtils.js +0 -239
- package/dist/client/utils/toolUtils.js +0 -75
- package/dist/client/utils/transformationUtils.js +0 -554
- package/dist/client/utils/ttsProcessor.js +0 -286
- package/dist/client/utils/typeUtils.js +0 -97
- package/dist/client/utils/videoAnalysisProcessor.js +0 -67
- package/dist/client/workflow/config.js +0 -398
- package/dist/client/workflow/core/ensembleExecutor.js +0 -407
- package/dist/client/workflow/core/judgeScorer.js +0 -544
- package/dist/client/workflow/core/responseConditioner.js +0 -225
- package/dist/client/workflow/core/types/conditionerTypes.js +0 -7
- package/dist/client/workflow/core/types/ensembleTypes.js +0 -7
- package/dist/client/workflow/core/types/index.js +0 -7
- package/dist/client/workflow/core/types/judgeTypes.js +0 -7
- package/dist/client/workflow/core/types/layerTypes.js +0 -7
- package/dist/client/workflow/core/types/registryTypes.js +0 -7
- package/dist/client/workflow/core/workflowRegistry.js +0 -304
- package/dist/client/workflow/core/workflowRunner.js +0 -586
- package/dist/client/workflow/index.js +0 -50
- package/dist/client/workflow/types.js +0 -9
- package/dist/client/workflow/utils/types/index.js +0 -7
- package/dist/client/workflow/utils/workflowMetrics.js +0 -311
- package/dist/client/workflow/utils/workflowValidation.js +0 -420
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +0 -366
- package/dist/client/workflow/workflows/consensusWorkflow.js +0 -192
- package/dist/client/workflow/workflows/fallbackWorkflow.js +0 -225
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +0 -351
- /package/dist/client/{client/reactHooks.js → reactHooks.js} +0 -0
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token Limit Constants for NeuroLink
|
|
3
|
-
*
|
|
4
|
-
* Centralized token configuration to replace magic numbers throughout the codebase.
|
|
5
|
-
* Includes model-specific token limits, use-case optimized limits, and provider constraints.
|
|
6
|
-
*
|
|
7
|
-
* @fileoverview Token constants for AI model interactions
|
|
8
|
-
* @author NeuroLink Team
|
|
9
|
-
* @version 1.0.0
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Standard token limit categories
|
|
13
|
-
* General-purpose token limits for different use cases
|
|
14
|
-
*/
|
|
15
|
-
export const TOKEN_LIMITS = {
|
|
16
|
-
/** Conservative limits (reliable across all models) */
|
|
17
|
-
CONSERVATIVE: 4096, // 4K - Safe for all providers
|
|
18
|
-
/** Standard limits (most modern models) */
|
|
19
|
-
STANDARD: 8192, // 8K - Modern model standard
|
|
20
|
-
/** High-capacity limits (premium models) */
|
|
21
|
-
HIGH_CAPACITY: 16384, // 16K - High-capacity models
|
|
22
|
-
/** Large context windows (specialized models) */
|
|
23
|
-
LARGE_CONTEXT: 100000, // 100K - Large context models
|
|
24
|
-
/** Ultra-large context windows (latest models) */
|
|
25
|
-
ULTRA_LARGE_CONTEXT: 200000, // 200K - Ultra-large context
|
|
26
|
-
/** Maximum context for any model */
|
|
27
|
-
MAXIMUM_CONTEXT: 2097152, // 2M - Theoretical maximum
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Use-case specific token limits
|
|
31
|
-
* Optimized token limits for different application scenarios
|
|
32
|
-
*/
|
|
33
|
-
export const USE_CASE_TOKENS = {
|
|
34
|
-
/** Quick evaluation tasks */
|
|
35
|
-
EVALUATION: 500, // 500 - Keep evaluation fast
|
|
36
|
-
/** Analysis operations */
|
|
37
|
-
ANALYSIS: 800, // 800 - Analysis operations
|
|
38
|
-
/** Summary generation */
|
|
39
|
-
SUMMARY: 1000, // 1K - Summary generation
|
|
40
|
-
/** Documentation generation */
|
|
41
|
-
DOCUMENTATION: 12000, // 12K - Documentation generation
|
|
42
|
-
/** Code generation */
|
|
43
|
-
CODE_GENERATION: 4000, // 4K - Code generation tasks
|
|
44
|
-
/** Creative writing */
|
|
45
|
-
CREATIVE_WRITING: 6000, // 6K - Creative writing tasks
|
|
46
|
-
/** Translation tasks */
|
|
47
|
-
TRANSLATION: 2000, // 2K - Translation tasks
|
|
48
|
-
/** Conversation responses */
|
|
49
|
-
CONVERSATION: 2048, // 2K - Conversation responses
|
|
50
|
-
/** Technical explanations */
|
|
51
|
-
TECHNICAL_EXPLANATION: 3000, // 3K - Technical explanations
|
|
52
|
-
/** Research tasks */
|
|
53
|
-
RESEARCH: 8000, // 8K - Research and analysis
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Provider-specific token limits
|
|
57
|
-
* Safe token limits for each AI provider based on testing
|
|
58
|
-
*/
|
|
59
|
-
export const PROVIDER_TOKEN_LIMITS = {
|
|
60
|
-
/** Anthropic model limits */
|
|
61
|
-
ANTHROPIC: {
|
|
62
|
-
// Claude 4.5 Series (September-November 2025)
|
|
63
|
-
"claude-sonnet-4-5-20250929": 8192,
|
|
64
|
-
"claude-opus-4-5-20251101": 8192,
|
|
65
|
-
"claude-haiku-4-5-20251001": 8192,
|
|
66
|
-
// Claude 3.5 Series
|
|
67
|
-
"claude-3-5-sonnet-20241022": 4096,
|
|
68
|
-
"claude-3-5-haiku-20241022": 4096,
|
|
69
|
-
// Claude 3 Series
|
|
70
|
-
"claude-3-haiku-20240307": 4096,
|
|
71
|
-
"claude-3-opus-20240229": 4096,
|
|
72
|
-
"claude-3-sonnet-20240229": 4096,
|
|
73
|
-
default: 4096, // Conservative default for Anthropic
|
|
74
|
-
},
|
|
75
|
-
/** OpenAI model limits */
|
|
76
|
-
OPENAI: {
|
|
77
|
-
"gpt-5.4": 128_000,
|
|
78
|
-
"gpt-5.4-mini": 128_000,
|
|
79
|
-
"gpt-5.4-nano": 128_000,
|
|
80
|
-
"gpt-5.4-pro": 128_000,
|
|
81
|
-
"gpt-4o": 16384,
|
|
82
|
-
"gpt-4o-mini": 16384,
|
|
83
|
-
"gpt-3.5-turbo": 4096,
|
|
84
|
-
"gpt-4": 8192,
|
|
85
|
-
"gpt-4-turbo": 4096,
|
|
86
|
-
"o1-preview": 8192,
|
|
87
|
-
"o1-mini": 8192,
|
|
88
|
-
default: 8192, // OpenAI generally supports higher limits
|
|
89
|
-
},
|
|
90
|
-
/** Google AI model limits */
|
|
91
|
-
GOOGLE_AI: {
|
|
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
|
-
"gemini-3-flash-preview": 65536,
|
|
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,
|
|
102
|
-
// Gemini 2.5 Series
|
|
103
|
-
"gemini-2.5-pro": 8192,
|
|
104
|
-
"gemini-2.5-flash": 8192,
|
|
105
|
-
"gemini-2.5-flash-lite": 8192,
|
|
106
|
-
// Gemini 2.0 Series
|
|
107
|
-
"gemini-2.0-flash-001": 8192,
|
|
108
|
-
"gemini-2.0-flash-lite": 8192,
|
|
109
|
-
// Gemini 1.5 Series (Legacy)
|
|
110
|
-
"gemini-1.5-pro": 8192,
|
|
111
|
-
"gemini-1.5-flash": 8192,
|
|
112
|
-
"gemini-1.5-flash-lite": 8192,
|
|
113
|
-
default: 4096, // Conservative default due to 500 errors at high limits
|
|
114
|
-
},
|
|
115
|
-
/** Google Vertex AI model limits */
|
|
116
|
-
VERTEX: {
|
|
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
|
|
123
|
-
"gemini-3-flash-preview": 65536,
|
|
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,
|
|
127
|
-
// Gemini 2.5 Series
|
|
128
|
-
"gemini-2.5-pro": 8192,
|
|
129
|
-
"gemini-2.5-flash": 8192,
|
|
130
|
-
"gemini-2.5-flash-lite": 8192,
|
|
131
|
-
// Gemini 2.0 Series
|
|
132
|
-
"gemini-2.0-flash-001": 8192,
|
|
133
|
-
"gemini-2.0-flash-lite": 8192,
|
|
134
|
-
// Gemini 1.5 Series (Legacy)
|
|
135
|
-
"gemini-1.5-pro": 8192,
|
|
136
|
-
"gemini-1.5-flash": 8192,
|
|
137
|
-
// Claude 4.5 Series (September-November 2025)
|
|
138
|
-
"claude-sonnet-4-5@20250929": 8192,
|
|
139
|
-
"claude-opus-4-5@20251124": 8192,
|
|
140
|
-
"claude-haiku-4-5@20251001": 8192,
|
|
141
|
-
// Claude 4 Series (May 2025)
|
|
142
|
-
"claude-sonnet-4@20250514": 4096,
|
|
143
|
-
"claude-opus-4@20250514": 4096,
|
|
144
|
-
// Claude 3.5 Series
|
|
145
|
-
"claude-3-5-sonnet-20241022": 4096,
|
|
146
|
-
"claude-3-5-haiku-20241022": 4096,
|
|
147
|
-
// Claude 3 Series
|
|
148
|
-
"claude-3-sonnet-20240229": 4096,
|
|
149
|
-
"claude-3-haiku-20240307": 4096,
|
|
150
|
-
"claude-3-opus-20240229": 4096,
|
|
151
|
-
default: 4096,
|
|
152
|
-
},
|
|
153
|
-
/** AWS Bedrock model limits */
|
|
154
|
-
BEDROCK: {
|
|
155
|
-
// Claude 4.5 Series (September-November 2025)
|
|
156
|
-
"anthropic.claude-sonnet-4-5-20250929-v1:0": 8192,
|
|
157
|
-
"anthropic.claude-opus-4-5-20251101-v1:0": 8192,
|
|
158
|
-
"anthropic.claude-haiku-4-5-20251001-v1:0": 8192,
|
|
159
|
-
// Claude 3.7 Series
|
|
160
|
-
"us.anthropic.claude-3-7-sonnet-20250219-v1:0": 4096,
|
|
161
|
-
// Claude 3.5 Series
|
|
162
|
-
"anthropic.claude-3-5-sonnet-20241022-v1:0": 4096,
|
|
163
|
-
"anthropic.claude-3-5-haiku-20241022-v1:0": 4096,
|
|
164
|
-
// Claude 3 Series
|
|
165
|
-
"anthropic.claude-3-sonnet-20240229-v1:0": 4096,
|
|
166
|
-
"anthropic.claude-3-haiku-20240307-v1:0": 4096,
|
|
167
|
-
"anthropic.claude-3-opus-20240229-v1:0": 4096,
|
|
168
|
-
default: 4096,
|
|
169
|
-
},
|
|
170
|
-
/** Azure OpenAI model limits */
|
|
171
|
-
AZURE: {
|
|
172
|
-
"gpt-4o": 16384,
|
|
173
|
-
"gpt-4o-mini": 16384,
|
|
174
|
-
"gpt-4": 8192,
|
|
175
|
-
"gpt-35-turbo": 4096,
|
|
176
|
-
default: 8192,
|
|
177
|
-
},
|
|
178
|
-
/** Ollama model limits (local) */
|
|
179
|
-
OLLAMA: {
|
|
180
|
-
"llama3.2:latest": 8192,
|
|
181
|
-
llama2: 4096,
|
|
182
|
-
codellama: 8192,
|
|
183
|
-
mistral: 4096,
|
|
184
|
-
default: 8192, // Ollama typically supports higher limits
|
|
185
|
-
},
|
|
186
|
-
/** Hugging Face model limits */
|
|
187
|
-
HUGGINGFACE: {
|
|
188
|
-
default: 2048, // Conservative default for HuggingFace
|
|
189
|
-
},
|
|
190
|
-
/** Mistral model limits */
|
|
191
|
-
MISTRAL: {
|
|
192
|
-
"mistral-small-latest": 4096,
|
|
193
|
-
"mistral-medium-latest": 4096,
|
|
194
|
-
"mistral-large-latest": 8192,
|
|
195
|
-
default: 4096,
|
|
196
|
-
},
|
|
197
|
-
/** LiteLLM proxy limits */
|
|
198
|
-
LITELLM: {
|
|
199
|
-
default: 4096, // Conservative default
|
|
200
|
-
},
|
|
201
|
-
/** Safe default across all providers */
|
|
202
|
-
DEFAULT: 4096,
|
|
203
|
-
};
|
|
204
|
-
/**
|
|
205
|
-
* Context window sizes for different models
|
|
206
|
-
* Maximum input token limits (separate from output limits)
|
|
207
|
-
*/
|
|
208
|
-
export const CONTEXT_WINDOWS = {
|
|
209
|
-
/** Small context models */
|
|
210
|
-
SMALL: 4096, // 4K - Small context
|
|
211
|
-
/** Medium context models */
|
|
212
|
-
MEDIUM: 32768, // 32K - Medium context
|
|
213
|
-
/** Large context models */
|
|
214
|
-
LARGE: 128000, // 128K - Large context
|
|
215
|
-
/** Ultra-large context models */
|
|
216
|
-
ULTRA_LARGE: 1048576, // 1M - Ultra-large context
|
|
217
|
-
/** Maximum theoretical context */
|
|
218
|
-
MAXIMUM: 2097152, // 2M - Maximum context
|
|
219
|
-
};
|
|
220
|
-
/**
|
|
221
|
-
* Model-specific token limits with input/output breakdown
|
|
222
|
-
* For models that require explicit input and output token limits
|
|
223
|
-
*/
|
|
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 },
|
|
230
|
-
/** Gemini 3 Flash Series */
|
|
231
|
-
"gemini-3-flash-preview": { input: 1000000, output: 65536 },
|
|
232
|
-
};
|
|
233
|
-
/**
|
|
234
|
-
* Token estimation utilities
|
|
235
|
-
* Rough estimates for token counting without full tokenization
|
|
236
|
-
*/
|
|
237
|
-
export const TOKEN_ESTIMATION = {
|
|
238
|
-
/** Average characters per token (English) */
|
|
239
|
-
CHARS_PER_TOKEN: 4, // 4 chars - English average
|
|
240
|
-
/** Average words per token */
|
|
241
|
-
WORDS_PER_TOKEN: 0.75, // 0.75 words - English average
|
|
242
|
-
/** Code characters per token (more compact) */
|
|
243
|
-
CODE_CHARS_PER_TOKEN: 3, // 3 chars - Code is more compact
|
|
244
|
-
/** Safety margin for token estimates */
|
|
245
|
-
SAFETY_MARGIN: 0.8, // 80% - Safety margin for estimates
|
|
246
|
-
};
|
|
247
|
-
/**
|
|
248
|
-
* Token utility functions
|
|
249
|
-
*/
|
|
250
|
-
export const TokenUtils = {
|
|
251
|
-
/**
|
|
252
|
-
* Get safe token limit for a specific provider and model
|
|
253
|
-
* @param provider - Provider name
|
|
254
|
-
* @param model - Model name (optional)
|
|
255
|
-
* @returns Safe token limit for the provider/model
|
|
256
|
-
*/
|
|
257
|
-
getProviderTokenLimit: (provider, model) => {
|
|
258
|
-
const normalizedProvider = provider.toLowerCase().replace(/[-_]/g, "");
|
|
259
|
-
let providerLimits;
|
|
260
|
-
switch (normalizedProvider) {
|
|
261
|
-
case "anthropic":
|
|
262
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.ANTHROPIC;
|
|
263
|
-
break;
|
|
264
|
-
case "openai":
|
|
265
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.OPENAI;
|
|
266
|
-
break;
|
|
267
|
-
case "googleai":
|
|
268
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.GOOGLE_AI;
|
|
269
|
-
break;
|
|
270
|
-
case "vertex":
|
|
271
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.VERTEX;
|
|
272
|
-
break;
|
|
273
|
-
case "bedrock":
|
|
274
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.BEDROCK;
|
|
275
|
-
break;
|
|
276
|
-
case "azure":
|
|
277
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.AZURE;
|
|
278
|
-
break;
|
|
279
|
-
case "ollama":
|
|
280
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.OLLAMA;
|
|
281
|
-
break;
|
|
282
|
-
case "huggingface":
|
|
283
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.HUGGINGFACE;
|
|
284
|
-
break;
|
|
285
|
-
case "mistral":
|
|
286
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.MISTRAL;
|
|
287
|
-
break;
|
|
288
|
-
case "litellm":
|
|
289
|
-
providerLimits = PROVIDER_TOKEN_LIMITS.LITELLM;
|
|
290
|
-
break;
|
|
291
|
-
default:
|
|
292
|
-
return PROVIDER_TOKEN_LIMITS.DEFAULT;
|
|
293
|
-
}
|
|
294
|
-
if (model && providerLimits[model]) {
|
|
295
|
-
return providerLimits[model];
|
|
296
|
-
}
|
|
297
|
-
return providerLimits.default || PROVIDER_TOKEN_LIMITS.DEFAULT;
|
|
298
|
-
},
|
|
299
|
-
/**
|
|
300
|
-
* Get token limit for specific use case
|
|
301
|
-
* @param useCase - Use case type
|
|
302
|
-
* @returns Appropriate token limit
|
|
303
|
-
*/
|
|
304
|
-
getUseCaseTokenLimit: (useCase) => {
|
|
305
|
-
return USE_CASE_TOKENS[useCase] || TOKEN_LIMITS.STANDARD;
|
|
306
|
-
},
|
|
307
|
-
/**
|
|
308
|
-
* Estimate token count from text
|
|
309
|
-
* @param text - Input text
|
|
310
|
-
* @param isCode - Whether the text is code (more compact tokenization)
|
|
311
|
-
* @returns Estimated token count
|
|
312
|
-
*/
|
|
313
|
-
estimateTokenCount: (text, isCode = false) => {
|
|
314
|
-
const charsPerToken = isCode
|
|
315
|
-
? TOKEN_ESTIMATION.CODE_CHARS_PER_TOKEN
|
|
316
|
-
: TOKEN_ESTIMATION.CHARS_PER_TOKEN;
|
|
317
|
-
const estimatedTokens = Math.ceil(text.length / charsPerToken);
|
|
318
|
-
// Apply safety margin
|
|
319
|
-
return Math.ceil(estimatedTokens / TOKEN_ESTIMATION.SAFETY_MARGIN);
|
|
320
|
-
},
|
|
321
|
-
/**
|
|
322
|
-
* Check if text exceeds token limit
|
|
323
|
-
* @param text - Input text
|
|
324
|
-
* @param limit - Token limit to check against
|
|
325
|
-
* @param isCode - Whether the text is code
|
|
326
|
-
* @returns True if text exceeds limit
|
|
327
|
-
*/
|
|
328
|
-
exceedsTokenLimit: (text, limit, isCode = false) => {
|
|
329
|
-
const estimatedTokens = TokenUtils.estimateTokenCount(text, isCode);
|
|
330
|
-
return estimatedTokens > limit;
|
|
331
|
-
},
|
|
332
|
-
/**
|
|
333
|
-
* Get appropriate token limit category
|
|
334
|
-
* @param estimatedTokens - Estimated token count
|
|
335
|
-
* @returns Token limit category
|
|
336
|
-
*/
|
|
337
|
-
getTokenLimitCategory: (estimatedTokens) => {
|
|
338
|
-
if (estimatedTokens <= TOKEN_LIMITS.CONSERVATIVE) {
|
|
339
|
-
return "CONSERVATIVE";
|
|
340
|
-
}
|
|
341
|
-
if (estimatedTokens <= TOKEN_LIMITS.STANDARD) {
|
|
342
|
-
return "STANDARD";
|
|
343
|
-
}
|
|
344
|
-
if (estimatedTokens <= TOKEN_LIMITS.HIGH_CAPACITY) {
|
|
345
|
-
return "HIGH_CAPACITY";
|
|
346
|
-
}
|
|
347
|
-
if (estimatedTokens <= TOKEN_LIMITS.LARGE_CONTEXT) {
|
|
348
|
-
return "LARGE_CONTEXT";
|
|
349
|
-
}
|
|
350
|
-
return "ULTRA_LARGE_CONTEXT";
|
|
351
|
-
},
|
|
352
|
-
/**
|
|
353
|
-
* Truncate text to fit within token limit
|
|
354
|
-
* @param text - Input text
|
|
355
|
-
* @param tokenLimit - Maximum tokens allowed
|
|
356
|
-
* @param isCode - Whether the text is code
|
|
357
|
-
* @returns Truncated text
|
|
358
|
-
*/
|
|
359
|
-
truncateToTokenLimit: (text, tokenLimit, isCode = false) => {
|
|
360
|
-
const charsPerToken = isCode
|
|
361
|
-
? TOKEN_ESTIMATION.CODE_CHARS_PER_TOKEN
|
|
362
|
-
: TOKEN_ESTIMATION.CHARS_PER_TOKEN;
|
|
363
|
-
// Apply safety margin
|
|
364
|
-
const maxChars = Math.floor(tokenLimit * charsPerToken * TOKEN_ESTIMATION.SAFETY_MARGIN);
|
|
365
|
-
if (text.length <= maxChars) {
|
|
366
|
-
return text;
|
|
367
|
-
}
|
|
368
|
-
// Truncate and add ellipsis
|
|
369
|
-
return text.substring(0, maxChars - 3) + "...";
|
|
370
|
-
},
|
|
371
|
-
};
|
|
372
|
-
// Legacy compatibility exports from existing constants
|
|
373
|
-
export const DEFAULT_MAX_TOKENS = TOKEN_LIMITS.STANDARD;
|
|
374
|
-
export const DEFAULT_EVALUATION_MAX_TOKENS = USE_CASE_TOKENS.EVALUATION;
|
|
375
|
-
export const DEFAULT_ANALYSIS_MAX_TOKENS = USE_CASE_TOKENS.ANALYSIS;
|
|
376
|
-
export const DEFAULT_DOCUMENTATION_MAX_TOKENS = USE_CASE_TOKENS.DOCUMENTATION;
|
|
377
|
-
// Provider-specific safe defaults (from existing PROVIDER_MAX_TOKENS)
|
|
378
|
-
export const ANTHROPIC_SAFE = PROVIDER_TOKEN_LIMITS.ANTHROPIC.default;
|
|
379
|
-
export const OPENAI_STANDARD = PROVIDER_TOKEN_LIMITS.OPENAI.default;
|
|
380
|
-
export const GOOGLE_STANDARD = PROVIDER_TOKEN_LIMITS.GOOGLE_AI.default;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Video Generation Error Codes
|
|
3
|
-
*
|
|
4
|
-
* Centralized error codes for video generation operations.
|
|
5
|
-
* These are for runtime/execution errors during video generation.
|
|
6
|
-
*
|
|
7
|
-
* Pure option/shape validation (missing image option, invalid config values, etc.)
|
|
8
|
-
* is handled by parameterValidation.ts using ERROR_CODES from errorHandling.ts.
|
|
9
|
-
*
|
|
10
|
-
* Error categorization:
|
|
11
|
-
* - INVALID_INPUT → ErrorCategory.execution (runtime I/O failures)
|
|
12
|
-
* - parameterValidation errors → ErrorCategory.validation (schema/option issues)
|
|
13
|
-
*
|
|
14
|
-
* @module constants/videoErrors
|
|
15
|
-
*/
|
|
16
|
-
export const VIDEO_ERROR_CODES = {
|
|
17
|
-
/** Video generation API call failed */
|
|
18
|
-
GENERATION_FAILED: "VIDEO_GENERATION_FAILED",
|
|
19
|
-
/** Provider (Vertex AI) not properly configured */
|
|
20
|
-
PROVIDER_NOT_CONFIGURED: "VIDEO_PROVIDER_NOT_CONFIGURED",
|
|
21
|
-
/** Polling for video completion timed out */
|
|
22
|
-
POLL_TIMEOUT: "VIDEO_POLL_TIMEOUT",
|
|
23
|
-
/**
|
|
24
|
-
* Runtime I/O error during input processing.
|
|
25
|
-
* Used for: failed URL fetch, failed file read, corrupt/unreadable buffer.
|
|
26
|
-
* NOT for: missing options or invalid config shapes (use parameterValidation).
|
|
27
|
-
*/
|
|
28
|
-
INVALID_INPUT: "VIDEO_INVALID_INPUT",
|
|
29
|
-
// Director Mode error codes
|
|
30
|
-
/** Invalid segment structure (missing prompt or image) */
|
|
31
|
-
DIRECTOR_SEGMENT_MISMATCH: "DIRECTOR_SEGMENT_MISMATCH",
|
|
32
|
-
/** Too many segments requested */
|
|
33
|
-
DIRECTOR_SEGMENT_LIMIT_EXCEEDED: "DIRECTOR_SEGMENT_LIMIT_EXCEEDED",
|
|
34
|
-
/** Invalid transition duration (must be 4, 6, or 8) */
|
|
35
|
-
DIRECTOR_INVALID_TRANSITION_DURATION: "DIRECTOR_INVALID_TRANSITION_DURATION",
|
|
36
|
-
/** A main clip generation call failed (fatal) */
|
|
37
|
-
DIRECTOR_CLIP_FAILED: "DIRECTOR_CLIP_FAILED",
|
|
38
|
-
/** Frame extraction from clip failed */
|
|
39
|
-
DIRECTOR_FRAME_EXTRACTION_FAILED: "DIRECTOR_FRAME_EXTRACTION_FAILED",
|
|
40
|
-
/** Transition clip generation failed (non-fatal, falls back to hard cut) */
|
|
41
|
-
DIRECTOR_TRANSITION_FAILED: "DIRECTOR_TRANSITION_FAILED",
|
|
42
|
-
/** Video merge/concatenation failed */
|
|
43
|
-
DIRECTOR_MERGE_FAILED: "DIRECTOR_MERGE_FAILED",
|
|
44
|
-
/** Pipeline timeout (overall) */
|
|
45
|
-
DIRECTOR_PIPELINE_TIMEOUT: "DIRECTOR_PIPELINE_TIMEOUT",
|
|
46
|
-
};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context Budget Checker
|
|
3
|
-
*
|
|
4
|
-
* Pre-generation validation that estimates total input token cost
|
|
5
|
-
* and compares against the model's available input space.
|
|
6
|
-
*
|
|
7
|
-
* This runs BEFORE every LLM call to prevent context overflow.
|
|
8
|
-
*/
|
|
9
|
-
import { getAvailableInputTokens } from "../constants/contextWindows.js";
|
|
10
|
-
import { estimateMessagesTokens, estimateTokens, TOKENS_PER_MESSAGE, } from "../utils/tokenEstimation.js";
|
|
11
|
-
import { SpanSerializer, SpanType, SpanStatus, } from "../observability/index.js";
|
|
12
|
-
import { getMetricsAggregator } from "../observability/index.js";
|
|
13
|
-
/** Default compaction threshold (80% of available input) */
|
|
14
|
-
const DEFAULT_COMPACTION_THRESHOLD = 0.8;
|
|
15
|
-
/** Estimated tokens per tool definition */
|
|
16
|
-
const TOKENS_PER_TOOL_DEFINITION = 200;
|
|
17
|
-
/**
|
|
18
|
-
* Check whether a request fits within the model's context budget.
|
|
19
|
-
*
|
|
20
|
-
* Estimates total input tokens from: system prompt + tool definitions +
|
|
21
|
-
* conversation history + current prompt + file attachments, and compares
|
|
22
|
-
* against available input space.
|
|
23
|
-
*/
|
|
24
|
-
export function checkContextBudget(params) {
|
|
25
|
-
const span = SpanSerializer.createSpan(SpanType.CONTEXT_COMPACTION, "context.budgetCheck", {
|
|
26
|
-
"context.operation": "budgetCheck",
|
|
27
|
-
});
|
|
28
|
-
const startTime = Date.now();
|
|
29
|
-
try {
|
|
30
|
-
const { provider, model, maxTokens, systemPrompt, conversationMessages, currentPrompt, toolDefinitions, fileAttachments, compactionThreshold = DEFAULT_COMPACTION_THRESHOLD, } = params;
|
|
31
|
-
const availableInputTokens = getAvailableInputTokens(provider, model, maxTokens);
|
|
32
|
-
// Estimate each category
|
|
33
|
-
const systemPromptTokens = systemPrompt
|
|
34
|
-
? estimateTokens(systemPrompt, provider) + TOKENS_PER_MESSAGE
|
|
35
|
-
: 0;
|
|
36
|
-
const conversationHistoryTokens = conversationMessages?.length
|
|
37
|
-
? estimateMessagesTokens(conversationMessages, provider)
|
|
38
|
-
: 0;
|
|
39
|
-
const currentPromptTokens = currentPrompt
|
|
40
|
-
? estimateTokens(currentPrompt, provider) + TOKENS_PER_MESSAGE
|
|
41
|
-
: 0;
|
|
42
|
-
const toolDefinitionTokens = toolDefinitions?.length
|
|
43
|
-
? toolDefinitions.reduce((sum, tool) => {
|
|
44
|
-
try {
|
|
45
|
-
const serialized = JSON.stringify(tool);
|
|
46
|
-
return sum + estimateTokens(serialized, provider);
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return sum + TOKENS_PER_TOOL_DEFINITION;
|
|
50
|
-
}
|
|
51
|
-
}, 0)
|
|
52
|
-
: 0;
|
|
53
|
-
const fileAttachmentTokens = fileAttachments?.length
|
|
54
|
-
? fileAttachments.reduce((sum, file) => sum + estimateTokens(file.content, provider), 0)
|
|
55
|
-
: 0;
|
|
56
|
-
const estimatedInputTokens = systemPromptTokens +
|
|
57
|
-
conversationHistoryTokens +
|
|
58
|
-
currentPromptTokens +
|
|
59
|
-
toolDefinitionTokens +
|
|
60
|
-
fileAttachmentTokens;
|
|
61
|
-
const usageRatio = availableInputTokens > 0
|
|
62
|
-
? estimatedInputTokens / availableInputTokens
|
|
63
|
-
: 1;
|
|
64
|
-
const withinBudget = estimatedInputTokens <= availableInputTokens;
|
|
65
|
-
const shouldCompact = usageRatio >= compactionThreshold;
|
|
66
|
-
const result = {
|
|
67
|
-
withinBudget,
|
|
68
|
-
estimatedInputTokens,
|
|
69
|
-
availableInputTokens,
|
|
70
|
-
usageRatio,
|
|
71
|
-
shouldCompact,
|
|
72
|
-
breakdown: {
|
|
73
|
-
systemPrompt: systemPromptTokens,
|
|
74
|
-
conversationHistory: conversationHistoryTokens,
|
|
75
|
-
currentPrompt: currentPromptTokens,
|
|
76
|
-
toolDefinitions: toolDefinitionTokens,
|
|
77
|
-
fileAttachments: fileAttachmentTokens,
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
span.durationMs = Date.now() - startTime;
|
|
81
|
-
const endedSpan = SpanSerializer.endSpan(SpanSerializer.updateAttributes(span, {
|
|
82
|
-
"context.budgetUsage": usageRatio,
|
|
83
|
-
"context.triggered": shouldCompact,
|
|
84
|
-
"context.estimatedTokens": estimatedInputTokens,
|
|
85
|
-
"context.availableTokens": availableInputTokens,
|
|
86
|
-
}), SpanStatus.OK);
|
|
87
|
-
getMetricsAggregator().recordSpan(endedSpan);
|
|
88
|
-
return result;
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
span.durationMs = Date.now() - startTime;
|
|
92
|
-
const endedSpan = SpanSerializer.endSpan(span, SpanStatus.ERROR);
|
|
93
|
-
endedSpan.statusMessage =
|
|
94
|
-
error instanceof Error ? error.message : String(error);
|
|
95
|
-
getMetricsAggregator().recordSpan(endedSpan);
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
98
|
-
}
|