@juspay/neurolink 9.31.2 → 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 +12 -0
- package/dist/auth/AuthProviderFactory.d.ts +71 -0
- package/dist/auth/AuthProviderFactory.js +111 -0
- package/dist/auth/AuthProviderRegistry.d.ts +33 -0
- package/dist/auth/AuthProviderRegistry.js +190 -0
- package/dist/auth/RequestContext.d.ts +23 -0
- package/dist/auth/RequestContext.js +78 -0
- package/dist/auth/anthropicOAuth.js +1 -1
- package/dist/auth/authContext.d.ts +198 -0
- package/dist/auth/authContext.js +314 -0
- package/dist/auth/errors.d.ts +63 -0
- package/dist/auth/errors.js +39 -0
- package/dist/auth/index.d.ts +20 -8
- package/dist/auth/index.js +35 -7
- package/dist/auth/middleware/AuthMiddleware.d.ts +181 -0
- package/dist/auth/middleware/AuthMiddleware.js +519 -0
- package/dist/auth/middleware/rateLimitByUser.d.ts +282 -0
- package/dist/auth/middleware/rateLimitByUser.js +554 -0
- package/dist/auth/providers/BaseAuthProvider.d.ts +259 -0
- package/dist/auth/providers/BaseAuthProvider.js +723 -0
- package/dist/auth/providers/CognitoProvider.d.ts +61 -0
- package/dist/auth/providers/CognitoProvider.js +304 -0
- package/dist/auth/providers/KeycloakProvider.d.ts +61 -0
- package/dist/auth/providers/KeycloakProvider.js +393 -0
- package/dist/auth/providers/auth0.d.ts +59 -0
- package/dist/auth/providers/auth0.js +274 -0
- package/dist/auth/providers/betterAuth.d.ts +51 -0
- package/dist/auth/providers/betterAuth.js +182 -0
- package/dist/auth/providers/clerk.d.ts +65 -0
- package/dist/auth/providers/clerk.js +317 -0
- package/dist/auth/providers/custom.d.ts +64 -0
- package/dist/auth/providers/custom.js +112 -0
- package/dist/auth/providers/firebase.d.ts +63 -0
- package/dist/auth/providers/firebase.js +226 -0
- package/dist/auth/providers/jwt.d.ts +68 -0
- package/dist/auth/providers/jwt.js +212 -0
- package/dist/auth/providers/oauth2.d.ts +73 -0
- package/dist/auth/providers/oauth2.js +303 -0
- package/dist/auth/providers/supabase.d.ts +63 -0
- package/dist/auth/providers/supabase.js +259 -0
- package/dist/auth/providers/workos.d.ts +61 -0
- package/dist/auth/providers/workos.js +284 -0
- package/dist/auth/serverBridge.d.ts +14 -0
- package/dist/auth/serverBridge.js +25 -0
- package/dist/auth/sessionManager.d.ts +142 -0
- package/dist/auth/sessionManager.js +437 -0
- package/dist/cli/commands/authProviders.d.ts +43 -0
- package/dist/cli/commands/authProviders.js +399 -0
- package/dist/cli/commands/proxy.js +18 -5
- package/dist/cli/factories/authCommandFactory.d.ts +23 -5
- package/dist/cli/factories/authCommandFactory.js +108 -5
- package/dist/cli/parser.js +1 -1
- package/dist/client/aiSdkAdapter.js +1 -1
- package/dist/client/index.js +138 -477
- package/dist/core/factory.js +0 -1
- package/dist/core/infrastructure/baseRegistry.d.ts +3 -1
- package/dist/core/infrastructure/baseRegistry.js +5 -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/index.d.ts +1 -0
- package/dist/index.js +25 -0
- package/dist/lib/auth/AuthProviderFactory.d.ts +71 -0
- package/dist/lib/auth/AuthProviderFactory.js +112 -0
- package/dist/lib/auth/AuthProviderRegistry.d.ts +33 -0
- package/dist/lib/auth/AuthProviderRegistry.js +191 -0
- package/dist/lib/auth/RequestContext.d.ts +23 -0
- package/dist/lib/auth/RequestContext.js +79 -0
- package/dist/lib/auth/authContext.d.ts +198 -0
- package/dist/lib/auth/authContext.js +315 -0
- package/dist/lib/auth/errors.d.ts +63 -0
- package/dist/lib/auth/errors.js +40 -0
- package/dist/lib/auth/index.d.ts +20 -8
- package/dist/lib/auth/index.js +35 -7
- package/dist/lib/auth/middleware/AuthMiddleware.d.ts +181 -0
- package/dist/lib/auth/middleware/AuthMiddleware.js +520 -0
- package/dist/lib/auth/middleware/rateLimitByUser.d.ts +282 -0
- package/dist/lib/auth/middleware/rateLimitByUser.js +555 -0
- package/dist/lib/auth/providers/BaseAuthProvider.d.ts +259 -0
- package/dist/lib/auth/providers/BaseAuthProvider.js +724 -0
- package/dist/lib/auth/providers/CognitoProvider.d.ts +61 -0
- package/dist/lib/auth/providers/CognitoProvider.js +305 -0
- package/dist/lib/auth/providers/KeycloakProvider.d.ts +61 -0
- package/dist/lib/auth/providers/KeycloakProvider.js +394 -0
- package/dist/lib/auth/providers/auth0.d.ts +59 -0
- package/dist/lib/auth/providers/auth0.js +275 -0
- package/dist/lib/auth/providers/betterAuth.d.ts +51 -0
- package/dist/lib/auth/providers/betterAuth.js +183 -0
- package/dist/lib/auth/providers/clerk.d.ts +65 -0
- package/dist/lib/auth/providers/clerk.js +318 -0
- package/dist/lib/auth/providers/custom.d.ts +64 -0
- package/dist/lib/auth/providers/custom.js +113 -0
- package/dist/lib/auth/providers/firebase.d.ts +63 -0
- package/dist/lib/auth/providers/firebase.js +227 -0
- package/dist/lib/auth/providers/jwt.d.ts +68 -0
- package/dist/lib/auth/providers/jwt.js +213 -0
- package/dist/lib/auth/providers/oauth2.d.ts +73 -0
- package/dist/lib/auth/providers/oauth2.js +304 -0
- package/dist/lib/auth/providers/supabase.d.ts +63 -0
- package/dist/lib/auth/providers/supabase.js +260 -0
- package/dist/lib/auth/providers/workos.d.ts +61 -0
- package/dist/lib/auth/providers/workos.js +285 -0
- package/dist/lib/auth/serverBridge.d.ts +14 -0
- package/dist/lib/auth/serverBridge.js +26 -0
- package/dist/lib/auth/sessionManager.d.ts +142 -0
- package/dist/lib/auth/sessionManager.js +438 -0
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +3 -1
- package/dist/lib/core/infrastructure/baseRegistry.js +5 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +25 -0
- package/dist/lib/mcp/toolRegistry.js +11 -1
- package/dist/lib/neurolink.d.ts +42 -1
- package/dist/lib/neurolink.js +218 -0
- package/dist/lib/rag/ChunkerRegistry.js +2 -2
- package/dist/lib/rag/metadata/MetadataExtractorRegistry.js +2 -2
- package/dist/lib/rag/reranker/RerankerRegistry.js +2 -2
- package/dist/lib/server/routes/agentRoutes.js +20 -2
- package/dist/lib/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/lib/types/authTypes.d.ts +937 -1
- package/dist/lib/types/authTypes.js +2 -1
- package/dist/lib/types/configTypes.d.ts +46 -0
- package/dist/lib/types/generateTypes.d.ts +6 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/streamTypes.d.ts +6 -0
- package/dist/mcp/elicitationProtocol.js +1 -1
- package/dist/mcp/servers/agent/directToolsServer.js +0 -1
- package/dist/mcp/toolRegistry.js +11 -1
- package/dist/neurolink.d.ts +42 -1
- package/dist/neurolink.js +218 -0
- package/dist/providers/azureOpenai.js +1 -1
- package/dist/providers/huggingFace.js +0 -1
- package/dist/providers/openaiCompatible.js +0 -1
- package/dist/rag/ChunkerRegistry.js +2 -2
- package/dist/rag/metadata/MetadataExtractorRegistry.js +2 -2
- package/dist/rag/reranker/RerankerRegistry.js +2 -2
- package/dist/sdk/toolRegistration.js +0 -1
- package/dist/server/openapi/generator.js +1 -1
- package/dist/server/routes/agentRoutes.js +20 -2
- package/dist/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/types/authTypes.d.ts +937 -1
- package/dist/types/authTypes.js +2 -1
- package/dist/types/configTypes.d.ts +46 -0
- package/dist/types/configTypes.js +0 -5
- package/dist/types/generateTypes.d.ts +6 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/modelTypes.js +0 -1
- package/dist/types/streamTypes.d.ts +6 -0
- 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 +3 -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/anthropicOAuth.js +0 -974
- 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 -49
- 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 -719
- 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 -8015
- 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 -171
- 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 -8
- 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,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversation Memory Configuration
|
|
3
|
-
* Provides default values for conversation memory feature with environment variable support
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Default maximum number of turns per session
|
|
7
|
-
* @deprecated Use tokenThreshold-based memory management instead.
|
|
8
|
-
* This constant is kept for backward compatibility with legacy turn-based memory.
|
|
9
|
-
*/
|
|
10
|
-
export const DEFAULT_MAX_TURNS_PER_SESSION = 50;
|
|
11
|
-
/**
|
|
12
|
-
* Default maximum number of sessions
|
|
13
|
-
*/
|
|
14
|
-
export const DEFAULT_MAX_SESSIONS = 50;
|
|
15
|
-
/**
|
|
16
|
-
* Number of messages per conversation turn (user + assistant)
|
|
17
|
-
*/
|
|
18
|
-
export const MESSAGES_PER_TURN = 2;
|
|
19
|
-
/**
|
|
20
|
-
* Conversation instructions for ongoing conversations
|
|
21
|
-
* Used to enhance system prompts when conversation history exists
|
|
22
|
-
*/
|
|
23
|
-
export const CONVERSATION_INSTRUCTIONS = `
|
|
24
|
-
|
|
25
|
-
IMPORTANT: You are continuing an ongoing conversation. The previous messages in this conversation contain important context including:
|
|
26
|
-
- Names, personal information, and preferences shared by the user
|
|
27
|
-
- Projects, tasks, and topics discussed previously
|
|
28
|
-
- Any decisions, agreements, or conclusions reached
|
|
29
|
-
|
|
30
|
-
Always reference and build upon this conversation history when relevant. If the user asks about information mentioned earlier in the conversation, refer to those previous messages to provide accurate, contextual responses.`;
|
|
31
|
-
/**
|
|
32
|
-
* Percentage of model context window to use for conversation memory threshold
|
|
33
|
-
* Default: 80% of model's context window
|
|
34
|
-
*/
|
|
35
|
-
export const MEMORY_THRESHOLD_PERCENTAGE = 0.8;
|
|
36
|
-
/**
|
|
37
|
-
* Fallback token threshold if model context unknown
|
|
38
|
-
*/
|
|
39
|
-
export const DEFAULT_FALLBACK_THRESHOLD = 50000;
|
|
40
|
-
/**
|
|
41
|
-
* Ratio of threshold to keep as recent unsummarized messages
|
|
42
|
-
* When summarization triggers, this percentage of tokens from the end
|
|
43
|
-
* are preserved as detailed messages, while older content gets summarized.
|
|
44
|
-
*/
|
|
45
|
-
export const RECENT_MESSAGES_RATIO = 0.3;
|
|
46
|
-
/**
|
|
47
|
-
* Structured output instructions for JSON/structured output mode
|
|
48
|
-
* Used to ensure AI providers output only valid JSON without conversational filler
|
|
49
|
-
* This addresses the issue where models add text like "Excellent!" before JSON output
|
|
50
|
-
* and the case where tools are used but final output must still be pure JSON
|
|
51
|
-
*/
|
|
52
|
-
export const STRUCTURED_OUTPUT_INSTRUCTIONS = `
|
|
53
|
-
Output ONLY valid JSON. No markdown, text, or decorations—ever.
|
|
54
|
-
|
|
55
|
-
FORBIDDEN: markdown code blocks, text before/after JSON, explanations, preambles, summaries, conversational text about tools.
|
|
56
|
-
|
|
57
|
-
REQUIRED: response starts with { and ends with }, valid JSON only, no additional characters.
|
|
58
|
-
|
|
59
|
-
IF YOU CALLED TOOLS: Incorporate data directly into the JSON structure. Do NOT explain what you did.
|
|
60
|
-
|
|
61
|
-
WRONG: \`\`\`json
|
|
62
|
-
{"field": "value"}
|
|
63
|
-
\`\`\`
|
|
64
|
-
WRONG: Based on the data, here's the result: {"field": "value"}
|
|
65
|
-
CORRECT: {"field": "value"}
|
|
66
|
-
|
|
67
|
-
Your entire response = raw JSON object. Nothing else.`;
|
|
68
|
-
/**
|
|
69
|
-
* Get default configuration values for conversation memory
|
|
70
|
-
* Reads environment variables when called (not at module load time)
|
|
71
|
-
*/
|
|
72
|
-
export function getConversationMemoryDefaults() {
|
|
73
|
-
return {
|
|
74
|
-
enabled: process.env.NEUROLINK_MEMORY_ENABLED === "true",
|
|
75
|
-
maxSessions: Number(process.env.NEUROLINK_MEMORY_MAX_SESSIONS) || DEFAULT_MAX_SESSIONS,
|
|
76
|
-
enableSummarization: process.env.NEUROLINK_SUMMARIZATION_ENABLED !== "false",
|
|
77
|
-
tokenThreshold: process.env.NEUROLINK_TOKEN_THRESHOLD
|
|
78
|
-
? Number(process.env.NEUROLINK_TOKEN_THRESHOLD)
|
|
79
|
-
: undefined,
|
|
80
|
-
summarizationProvider: process.env.NEUROLINK_SUMMARIZATION_PROVIDER || "vertex",
|
|
81
|
-
summarizationModel: process.env.NEUROLINK_SUMMARIZATION_MODEL || "gemini-2.5-flash",
|
|
82
|
-
// @deprecated — Turn-based fields are superseded by tokenThreshold-based memory.
|
|
83
|
-
// Kept for backward compatibility; will be removed in a future major version.
|
|
84
|
-
maxTurnsPerSession: DEFAULT_MAX_TURNS_PER_SESSION,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Task Classification Configuration
|
|
3
|
-
* Contains patterns, keywords, and scoring weights for task classification
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Regular expression patterns that indicate fast response tasks
|
|
7
|
-
*/
|
|
8
|
-
export const FAST_PATTERNS = [
|
|
9
|
-
// Greetings and social
|
|
10
|
-
/^(hi|hello|hey|good morning|good afternoon|good evening)/i,
|
|
11
|
-
/^(thanks?|thank you|thx)/i,
|
|
12
|
-
/^(yes|no|ok|okay|sure|fine)/i,
|
|
13
|
-
// Simple questions
|
|
14
|
-
/^what is\s+\w+\??$/i,
|
|
15
|
-
/^how are you/i,
|
|
16
|
-
/^tell me about\s+\w+$/i,
|
|
17
|
-
// Simple requests
|
|
18
|
-
/^(list|show|display)\s+/i,
|
|
19
|
-
/^give me\s+/i,
|
|
20
|
-
/^can you\s+(help|assist)/i,
|
|
21
|
-
// Simple definitions
|
|
22
|
-
/^define\s+/i,
|
|
23
|
-
/^meaning of\s+/i,
|
|
24
|
-
/^what does\s+\w+\s+mean/i,
|
|
25
|
-
// Quick facts
|
|
26
|
-
/^when (is|was|did)/i,
|
|
27
|
-
/^where (is|was)/i,
|
|
28
|
-
/^who (is|was)/i,
|
|
29
|
-
// Simple translations
|
|
30
|
-
/^translate\s+["'].*["']\s+to\s+\w+/i,
|
|
31
|
-
/^how do you say\s+/i,
|
|
32
|
-
];
|
|
33
|
-
/**
|
|
34
|
-
* Regular expression patterns that indicate reasoning tasks
|
|
35
|
-
*/
|
|
36
|
-
export const REASONING_PATTERNS = [
|
|
37
|
-
// Analysis and comparison
|
|
38
|
-
/\b(analyz|compar|evaluat|assess|examin)\w*/i,
|
|
39
|
-
/\b(pros and cons|advantages and disadvantages)/i,
|
|
40
|
-
/\b(better|worse|best|worst)\b.*\b(than|versus|vs)\b/i,
|
|
41
|
-
// Problem solving
|
|
42
|
-
/\b(solve|solution|problem|issue|challenge)\b/i,
|
|
43
|
-
/\b(how to|step by step|strategy|approach)\b/i,
|
|
44
|
-
/\b(optimize|improve|enhance|maximize|minimize)\b/i,
|
|
45
|
-
// Planning and design
|
|
46
|
-
/\b(plan|design|architect|structure|framework)\b/i,
|
|
47
|
-
/\b(implement|develop|build|create|construct)\b/i,
|
|
48
|
-
/\b(roadmap|timeline|schedule|phases)\b/i,
|
|
49
|
-
// Complex questions
|
|
50
|
-
/\b(why|explain|reason|cause|effect|impact)\b/i,
|
|
51
|
-
/\b(implications|consequences|considerations)\b/i,
|
|
52
|
-
/\b(should I|would you recommend|what if)\b/i,
|
|
53
|
-
// Research and investigation
|
|
54
|
-
/\b(research|investigate|explore|discover)\b/i,
|
|
55
|
-
/\b(evidence|proof|validate|verify)\b/i,
|
|
56
|
-
/\b(trends|patterns|insights|conclusions)\b/i,
|
|
57
|
-
// Business and strategy
|
|
58
|
-
/\b(business|strategy|market|competitive|financial)\b/i,
|
|
59
|
-
/\b(ROI|revenue|profit|investment|budget)\b/i,
|
|
60
|
-
/\b(stakeholder|customer|user experience|UX)\b/i,
|
|
61
|
-
// Technical complexity
|
|
62
|
-
/\b(algorithm|architecture|system|infrastructure)\b/i,
|
|
63
|
-
/\b(performance|scalability|security|reliability)\b/i,
|
|
64
|
-
/\b(integration|API|database|server)\b/i,
|
|
65
|
-
];
|
|
66
|
-
/**
|
|
67
|
-
* Keywords that indicate fast tasks regardless of context
|
|
68
|
-
*/
|
|
69
|
-
export const FAST_KEYWORDS = [
|
|
70
|
-
"quick",
|
|
71
|
-
"simple",
|
|
72
|
-
"brief",
|
|
73
|
-
"short",
|
|
74
|
-
"summary",
|
|
75
|
-
"overview",
|
|
76
|
-
"definition",
|
|
77
|
-
"meaning",
|
|
78
|
-
"list",
|
|
79
|
-
"show",
|
|
80
|
-
"display",
|
|
81
|
-
"name",
|
|
82
|
-
"tell",
|
|
83
|
-
"what",
|
|
84
|
-
"when",
|
|
85
|
-
"where",
|
|
86
|
-
"who",
|
|
87
|
-
"how many",
|
|
88
|
-
"count",
|
|
89
|
-
];
|
|
90
|
-
/**
|
|
91
|
-
* Keywords that indicate reasoning tasks regardless of context
|
|
92
|
-
*/
|
|
93
|
-
export const REASONING_KEYWORDS = [
|
|
94
|
-
"complex",
|
|
95
|
-
"detailed",
|
|
96
|
-
"comprehensive",
|
|
97
|
-
"thorough",
|
|
98
|
-
"in-depth",
|
|
99
|
-
"analyze",
|
|
100
|
-
"compare",
|
|
101
|
-
"evaluate",
|
|
102
|
-
"assess",
|
|
103
|
-
"research",
|
|
104
|
-
"investigate",
|
|
105
|
-
"strategy",
|
|
106
|
-
"plan",
|
|
107
|
-
"design",
|
|
108
|
-
"solve",
|
|
109
|
-
"optimize",
|
|
110
|
-
"recommend",
|
|
111
|
-
"explain",
|
|
112
|
-
"why",
|
|
113
|
-
"justify",
|
|
114
|
-
"pros",
|
|
115
|
-
"cons",
|
|
116
|
-
"trade-offs",
|
|
117
|
-
];
|
|
118
|
-
/**
|
|
119
|
-
* Scoring weights for different classification factors
|
|
120
|
-
*/
|
|
121
|
-
export const SCORING_WEIGHTS = {
|
|
122
|
-
SHORT_PROMPT_BONUS: 2,
|
|
123
|
-
LONG_PROMPT_BONUS: 1,
|
|
124
|
-
PATTERN_MATCH_SCORE: 3,
|
|
125
|
-
KEYWORD_MATCH_SCORE: 1,
|
|
126
|
-
MULTIPLE_QUESTIONS_BONUS: 1,
|
|
127
|
-
MULTI_SENTENCE_BONUS: 1,
|
|
128
|
-
TECHNICAL_DOMAIN_BONUS: 1,
|
|
129
|
-
SIMPLE_DEFINITION_BONUS: 2,
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Classification thresholds and constraints
|
|
133
|
-
*/
|
|
134
|
-
export const CLASSIFICATION_THRESHOLDS = {
|
|
135
|
-
SHORT_PROMPT_LENGTH: 50,
|
|
136
|
-
LONG_PROMPT_LENGTH: 200,
|
|
137
|
-
SIMPLE_DEFINITION_LENGTH: 100,
|
|
138
|
-
MIN_CONFIDENCE: 0.6,
|
|
139
|
-
MAX_CONFIDENCE: 0.95,
|
|
140
|
-
DEFAULT_CONFIDENCE: 0.5,
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Domain-specific patterns for enhanced classification
|
|
144
|
-
*/
|
|
145
|
-
export const DOMAIN_PATTERNS = {
|
|
146
|
-
TECHNICAL: /\b(code|programming|development|software)\b/i,
|
|
147
|
-
SIMPLE_DEFINITION: /\b(definition|meaning|what is)\b/i,
|
|
148
|
-
};
|
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context Window Registry
|
|
3
|
-
*
|
|
4
|
-
* Accurate per-provider, per-model context window sizes (INPUT token limits).
|
|
5
|
-
* These are distinct from OUTPUT token limits in tokens.ts.
|
|
6
|
-
*
|
|
7
|
-
* Sources:
|
|
8
|
-
* - Anthropic: https://docs.anthropic.com/en/docs/about-claude/models
|
|
9
|
-
* - OpenAI: https://platform.openai.com/docs/models
|
|
10
|
-
* - Google: https://ai.google.dev/gemini-api/docs/models
|
|
11
|
-
* - Others: Provider documentation as of Feb 2026
|
|
12
|
-
*/
|
|
13
|
-
import { DynamicModelProvider } from "../core/dynamicModels.js";
|
|
14
|
-
import { logger } from "../utils/logger.js";
|
|
15
|
-
/** Default context window when provider/model is unknown */
|
|
16
|
-
export const DEFAULT_CONTEXT_WINDOW = 128_000;
|
|
17
|
-
/** Maximum output reserve when maxTokens not specified */
|
|
18
|
-
export const MAX_DEFAULT_OUTPUT_RESERVE = 64_000;
|
|
19
|
-
/** Default output reserve ratio (35% of context) */
|
|
20
|
-
export const DEFAULT_OUTPUT_RESERVE_RATIO = 0.35;
|
|
21
|
-
/**
|
|
22
|
-
* Per-provider, per-model context window sizes.
|
|
23
|
-
* The "_default" key is the fallback for unknown models within a provider.
|
|
24
|
-
*/
|
|
25
|
-
export const MODEL_CONTEXT_WINDOWS = {
|
|
26
|
-
anthropic: {
|
|
27
|
-
_default: 200_000,
|
|
28
|
-
// Claude 4.6 (Feb 2026) — 1M context window
|
|
29
|
-
"claude-opus-4-6": 1_000_000,
|
|
30
|
-
"claude-sonnet-4-6": 1_000_000,
|
|
31
|
-
// Claude 4.5
|
|
32
|
-
"claude-opus-4-5-20251101": 200_000,
|
|
33
|
-
"claude-sonnet-4-5-20250929": 200_000,
|
|
34
|
-
"claude-haiku-4-5-20251001": 200_000,
|
|
35
|
-
// Claude 4.x
|
|
36
|
-
"claude-opus-4-1-20250805": 200_000,
|
|
37
|
-
"claude-opus-4-20250514": 200_000,
|
|
38
|
-
"claude-sonnet-4-20250514": 200_000,
|
|
39
|
-
// Claude 3.x
|
|
40
|
-
"claude-3-7-sonnet-20250219": 200_000,
|
|
41
|
-
"claude-3-5-sonnet-20241022": 200_000,
|
|
42
|
-
"claude-3-5-haiku-20241022": 200_000,
|
|
43
|
-
"claude-3-opus-20240229": 200_000,
|
|
44
|
-
"claude-3-sonnet-20240229": 200_000,
|
|
45
|
-
"claude-3-haiku-20240307": 200_000,
|
|
46
|
-
},
|
|
47
|
-
openai: {
|
|
48
|
-
_default: 128_000,
|
|
49
|
-
// GPT-5.4 family — 1.05M context
|
|
50
|
-
"gpt-5.4": 1_050_000,
|
|
51
|
-
"gpt-5.4-mini": 400_000,
|
|
52
|
-
"gpt-5.4-nano": 400_000,
|
|
53
|
-
"gpt-5.4-pro": 1_050_000,
|
|
54
|
-
// GPT-5.x family — 400K context
|
|
55
|
-
"gpt-5.3-codex": 400_000,
|
|
56
|
-
"gpt-5.2": 400_000,
|
|
57
|
-
"gpt-5.2-pro": 400_000,
|
|
58
|
-
"gpt-5.2-codex": 400_000,
|
|
59
|
-
"gpt-5.2-chat-latest": 128_000,
|
|
60
|
-
"gpt-5.1": 400_000,
|
|
61
|
-
"gpt-5.1-codex": 400_000,
|
|
62
|
-
"gpt-5.1-codex-max": 400_000,
|
|
63
|
-
"gpt-5.1-codex-mini": 400_000,
|
|
64
|
-
"gpt-5.1-chat-latest": 128_000,
|
|
65
|
-
"gpt-5": 400_000,
|
|
66
|
-
"gpt-5-mini": 400_000,
|
|
67
|
-
"gpt-5-nano": 400_000,
|
|
68
|
-
"gpt-5-pro": 400_000,
|
|
69
|
-
"gpt-5-codex": 400_000,
|
|
70
|
-
"gpt-5-chat-latest": 128_000,
|
|
71
|
-
// GPT Open Source
|
|
72
|
-
"gpt-oss-120b": 128_000,
|
|
73
|
-
"gpt-oss-20b": 128_000,
|
|
74
|
-
// GPT-4.1 family — 1M context
|
|
75
|
-
"gpt-4.1": 1_047_576,
|
|
76
|
-
"gpt-4.1-mini": 1_047_576,
|
|
77
|
-
"gpt-4.1-nano": 1_047_576,
|
|
78
|
-
// GPT-4o
|
|
79
|
-
"gpt-4o": 128_000,
|
|
80
|
-
"gpt-4o-mini": 128_000,
|
|
81
|
-
// O-series reasoning — 200K context
|
|
82
|
-
o1: 200_000,
|
|
83
|
-
"o1-mini": 128_000,
|
|
84
|
-
"o1-pro": 200_000,
|
|
85
|
-
o3: 200_000,
|
|
86
|
-
"o3-mini": 200_000,
|
|
87
|
-
"o3-pro": 200_000,
|
|
88
|
-
"o4-mini": 200_000,
|
|
89
|
-
// Legacy
|
|
90
|
-
"gpt-4-turbo": 128_000,
|
|
91
|
-
"gpt-4": 8_192,
|
|
92
|
-
"gpt-3.5-turbo": 16_385,
|
|
93
|
-
},
|
|
94
|
-
"google-ai": {
|
|
95
|
-
_default: 1_048_576,
|
|
96
|
-
// Gemini 3.1 Series (all require -preview suffix)
|
|
97
|
-
"gemini-3.1-pro-preview": 1_048_576,
|
|
98
|
-
"gemini-3.1-flash-lite-preview": 1_048_576,
|
|
99
|
-
"gemini-3.1-flash-image-preview": 1_048_576,
|
|
100
|
-
"gemini-3.1-pro-preview-customtools": 1_048_576,
|
|
101
|
-
// Gemini 3 Series
|
|
102
|
-
"gemini-3-flash-preview": 1_048_576,
|
|
103
|
-
"gemini-3-pro-image-preview": 65_536,
|
|
104
|
-
/** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
|
|
105
|
-
"gemini-3-pro-preview": 1_048_576,
|
|
106
|
-
"gemini-2.5-pro": 1_048_576,
|
|
107
|
-
"gemini-2.5-flash": 1_048_576,
|
|
108
|
-
"gemini-2.5-flash-lite": 1_048_576,
|
|
109
|
-
"gemini-2.5-flash-image": 32_768,
|
|
110
|
-
"gemini-2.0-flash": 1_048_576,
|
|
111
|
-
"gemini-1.5-pro": 2_097_152,
|
|
112
|
-
"gemini-1.5-flash": 1_048_576,
|
|
113
|
-
},
|
|
114
|
-
vertex: {
|
|
115
|
-
_default: 1_048_576,
|
|
116
|
-
// Claude on Vertex
|
|
117
|
-
"claude-opus-4-6": 1_000_000,
|
|
118
|
-
"claude-sonnet-4-6": 1_000_000,
|
|
119
|
-
"claude-sonnet-4-5": 200_000,
|
|
120
|
-
"claude-opus-4-5": 200_000,
|
|
121
|
-
"claude-haiku-4-5": 200_000,
|
|
122
|
-
"claude-sonnet-4": 200_000,
|
|
123
|
-
"claude-sonnet-4-20250514": 200_000,
|
|
124
|
-
"claude-opus-4-20250514": 200_000,
|
|
125
|
-
"claude-opus-4": 200_000,
|
|
126
|
-
// Gemini 3.1 on Vertex (all require -preview suffix)
|
|
127
|
-
"gemini-3.1-pro-preview": 1_048_576,
|
|
128
|
-
"gemini-3.1-flash-lite-preview": 1_048_576,
|
|
129
|
-
"gemini-3.1-flash-image-preview": 1_048_576,
|
|
130
|
-
"gemini-3.1-pro-preview-customtools": 1_048_576,
|
|
131
|
-
// Gemini 3 on Vertex
|
|
132
|
-
"gemini-3-flash-preview": 1_048_576,
|
|
133
|
-
"gemini-3-pro-image-preview": 65_536,
|
|
134
|
-
/** @deprecated SHUT DOWN March 9, 2026. Migrate to gemini-3.1-pro-preview. */
|
|
135
|
-
"gemini-3-pro-preview": 1_048_576,
|
|
136
|
-
// Gemini 2.x on Vertex
|
|
137
|
-
"gemini-2.5-pro": 1_048_576,
|
|
138
|
-
"gemini-2.5-flash": 1_048_576,
|
|
139
|
-
"gemini-2.0-flash": 1_048_576,
|
|
140
|
-
"gemini-1.5-pro": 2_097_152,
|
|
141
|
-
"gemini-1.5-flash": 1_048_576,
|
|
142
|
-
},
|
|
143
|
-
bedrock: {
|
|
144
|
-
_default: 200_000,
|
|
145
|
-
// Claude 4.6
|
|
146
|
-
"anthropic.claude-opus-4-6-v1:0": 1_000_000,
|
|
147
|
-
"anthropic.claude-sonnet-4-6": 1_000_000,
|
|
148
|
-
// Claude 4.5
|
|
149
|
-
"anthropic.claude-opus-4-5-20251124-v1:0": 200_000,
|
|
150
|
-
"anthropic.claude-sonnet-4-5-20250929-v1:0": 200_000,
|
|
151
|
-
"anthropic.claude-haiku-4-5-20251001-v1:0": 200_000,
|
|
152
|
-
// Claude legacy
|
|
153
|
-
"anthropic.claude-3-5-sonnet-20241022-v1:0": 200_000,
|
|
154
|
-
"anthropic.claude-3-5-haiku-20241022-v1:0": 200_000,
|
|
155
|
-
"anthropic.claude-3-opus-20240229-v1:0": 200_000,
|
|
156
|
-
"anthropic.claude-3-sonnet-20240229-v1:0": 200_000,
|
|
157
|
-
"anthropic.claude-3-haiku-20240307-v1:0": 200_000,
|
|
158
|
-
// Amazon Nova
|
|
159
|
-
"amazon.nova-pro-v1:0": 300_000,
|
|
160
|
-
"amazon.nova-lite-v1:0": 300_000,
|
|
161
|
-
"amazon.nova-2-lite-v1:0": 1_000_000,
|
|
162
|
-
// Writer
|
|
163
|
-
"writer.palmyra-x5-v1:0": 1_000_000,
|
|
164
|
-
"writer.palmyra-x4-v1:0": 128_000,
|
|
165
|
-
// NVIDIA
|
|
166
|
-
"nvidia.nemotron-nano-3-30b": 256_000,
|
|
167
|
-
},
|
|
168
|
-
azure: {
|
|
169
|
-
_default: 128_000,
|
|
170
|
-
// GPT-5.4
|
|
171
|
-
"gpt-5.4": 1_050_000,
|
|
172
|
-
"gpt-5.4-mini": 400_000,
|
|
173
|
-
"gpt-5.4-nano": 400_000,
|
|
174
|
-
"gpt-5.4-pro": 1_050_000,
|
|
175
|
-
// GPT-5.x
|
|
176
|
-
"gpt-5.2": 400_000,
|
|
177
|
-
"gpt-5.2-pro": 400_000,
|
|
178
|
-
"gpt-5.2-codex": 400_000,
|
|
179
|
-
"gpt-5.1": 400_000,
|
|
180
|
-
"gpt-5": 400_000,
|
|
181
|
-
"gpt-5-mini": 400_000,
|
|
182
|
-
// GPT-4.1
|
|
183
|
-
"gpt-4.1": 1_047_576,
|
|
184
|
-
"gpt-4.1-mini": 1_047_576,
|
|
185
|
-
// GPT-4o
|
|
186
|
-
"gpt-4o": 128_000,
|
|
187
|
-
"gpt-4o-mini": 128_000,
|
|
188
|
-
// O-series
|
|
189
|
-
o3: 200_000,
|
|
190
|
-
"o3-mini": 200_000,
|
|
191
|
-
"o4-mini": 200_000,
|
|
192
|
-
// Legacy
|
|
193
|
-
"gpt-4-turbo": 128_000,
|
|
194
|
-
"gpt-4": 8_192,
|
|
195
|
-
},
|
|
196
|
-
mistral: {
|
|
197
|
-
_default: 128_000,
|
|
198
|
-
"mistral-large-latest": 256_000,
|
|
199
|
-
"mistral-large-2512": 256_000,
|
|
200
|
-
"mistral-medium-latest": 128_000,
|
|
201
|
-
"mistral-small-latest": 128_000,
|
|
202
|
-
"codestral-latest": 256_000,
|
|
203
|
-
"codestral-2508": 256_000,
|
|
204
|
-
"devstral-2512": 256_000,
|
|
205
|
-
"devstral-small-2512": 256_000,
|
|
206
|
-
"magistral-medium-latest": 128_000,
|
|
207
|
-
"mistral-small-2603": 256_000,
|
|
208
|
-
},
|
|
209
|
-
ollama: {
|
|
210
|
-
_default: 128_000,
|
|
211
|
-
},
|
|
212
|
-
litellm: {
|
|
213
|
-
_default: 128_000,
|
|
214
|
-
},
|
|
215
|
-
huggingface: {
|
|
216
|
-
_default: 32_000,
|
|
217
|
-
},
|
|
218
|
-
sagemaker: {
|
|
219
|
-
_default: 128_000,
|
|
220
|
-
// NVIDIA Nemotron 3 Nano (February 2026) — 1M context
|
|
221
|
-
"nvidia-nemotron-3-nano-30b": 1_000_000,
|
|
222
|
-
// Qwen3 VL — 32K context
|
|
223
|
-
"qwen3-vl-8b-instruct": 32_768,
|
|
224
|
-
},
|
|
225
|
-
};
|
|
226
|
-
/**
|
|
227
|
-
* Resolve context window size for a provider/model combination.
|
|
228
|
-
*
|
|
229
|
-
* Priority:
|
|
230
|
-
* 0. Dynamic model registry (DynamicModelProvider) — resolves cross-provider
|
|
231
|
-
* models (e.g. Claude on Vertex) that the static table cannot handle
|
|
232
|
-
* 1. Exact model match under provider in static registry
|
|
233
|
-
* 2. Prefix match under provider in static registry
|
|
234
|
-
* 3. Provider's _default in static registry
|
|
235
|
-
* 4. Global DEFAULT_CONTEXT_WINDOW
|
|
236
|
-
*/
|
|
237
|
-
export function getContextWindowSize(provider, model) {
|
|
238
|
-
// Step 0: Check dynamic model registry first.
|
|
239
|
-
// This resolves cases where the runtime provider differs from the model's
|
|
240
|
-
// origin (e.g. Claude running via Vertex would hit Vertex's Gemini default
|
|
241
|
-
// in the static table). The dynamic registry knows the actual model metadata.
|
|
242
|
-
if (model) {
|
|
243
|
-
try {
|
|
244
|
-
const dynamicProvider = DynamicModelProvider.getInstance();
|
|
245
|
-
const modelConfig = dynamicProvider.resolveModel(provider, model);
|
|
246
|
-
if (modelConfig?.contextWindow) {
|
|
247
|
-
logger.debug(`[ContextWindow] Resolved via dynamic registry: provider=${provider}, model=${model}, contextWindow=${modelConfig.contextWindow}`);
|
|
248
|
-
return modelConfig.contextWindow;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
catch {
|
|
252
|
-
// Dynamic registry not initialized yet — fall through to static lookup
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
// Static fallback chain
|
|
256
|
-
const providerWindows = MODEL_CONTEXT_WINDOWS[provider];
|
|
257
|
-
if (!providerWindows) {
|
|
258
|
-
return DEFAULT_CONTEXT_WINDOW;
|
|
259
|
-
}
|
|
260
|
-
if (model && providerWindows[model] !== undefined) {
|
|
261
|
-
return providerWindows[model];
|
|
262
|
-
}
|
|
263
|
-
// Try partial match (model name may be a prefix)
|
|
264
|
-
if (model) {
|
|
265
|
-
for (const [key, value] of Object.entries(providerWindows)) {
|
|
266
|
-
if (key !== "_default" && model.startsWith(key)) {
|
|
267
|
-
return value;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
return providerWindows._default ?? DEFAULT_CONTEXT_WINDOW;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Calculate output token reserve for a given context window.
|
|
275
|
-
*
|
|
276
|
-
* @param contextWindow - Total context window size
|
|
277
|
-
* @param maxTokens - Explicit maxTokens from user config (if set)
|
|
278
|
-
* @returns Number of tokens reserved for output
|
|
279
|
-
*/
|
|
280
|
-
export function getOutputReserve(contextWindow, maxTokens) {
|
|
281
|
-
if (maxTokens !== undefined && maxTokens > 0) {
|
|
282
|
-
return maxTokens;
|
|
283
|
-
}
|
|
284
|
-
return Math.min(MAX_DEFAULT_OUTPUT_RESERVE, Math.ceil(contextWindow * DEFAULT_OUTPUT_RESERVE_RATIO));
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Calculate available input tokens for a given provider/model.
|
|
288
|
-
*
|
|
289
|
-
* available = contextWindow - outputReserve
|
|
290
|
-
*/
|
|
291
|
-
export function getAvailableInputTokens(provider, model, maxTokens) {
|
|
292
|
-
const contextWindow = getContextWindowSize(provider, model);
|
|
293
|
-
const outputReserve = getOutputReserve(contextWindow, maxTokens);
|
|
294
|
-
return contextWindow - outputReserve;
|
|
295
|
-
}
|