@juspay/neurolink 9.30.0 → 9.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -3
- package/dist/adapters/providerImageAdapter.js +13 -22
- package/dist/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/adapters/video/videoAnalyzer.js +3 -3
- package/dist/agent/directTools.d.ts +20 -289
- package/dist/agent/directTools.js +11 -10
- package/dist/auth/accountPool.d.ts +68 -0
- package/dist/auth/accountPool.js +178 -0
- package/dist/auth/anthropicOAuth.d.ts +15 -5
- package/dist/auth/anthropicOAuth.js +117 -57
- package/dist/auth/index.d.ts +7 -5
- package/dist/auth/index.js +6 -2
- package/dist/auth/tokenStore.d.ts +71 -27
- package/dist/auth/tokenStore.js +342 -64
- package/dist/cli/commands/auth.d.ts +39 -2
- package/dist/cli/commands/auth.js +585 -36
- package/dist/cli/commands/config.d.ts +47 -574
- package/dist/cli/commands/config.js +142 -24
- package/dist/cli/commands/docs.d.ts +1 -5
- package/dist/cli/commands/observability.d.ts +1 -17
- package/dist/cli/commands/ollama.js +1 -1
- package/dist/cli/commands/proxy.d.ts +20 -0
- package/dist/cli/commands/proxy.js +1254 -0
- package/dist/cli/commands/setup-anthropic.js +1 -1
- package/dist/cli/commands/setup-azure.js +1 -1
- package/dist/cli/commands/setup-bedrock.js +2 -2
- package/dist/cli/commands/setup-gcp.js +1 -1
- package/dist/cli/commands/setup-google-ai.js +1 -1
- package/dist/cli/commands/setup-huggingface.js +2 -2
- package/dist/cli/commands/setup-mistral.js +1 -1
- package/dist/cli/commands/setup-openai.js +1 -1
- package/dist/cli/commands/setup.js +3 -3
- package/dist/cli/commands/telemetry.d.ts +1 -22
- package/dist/cli/factories/authCommandFactory.d.ts +16 -11
- package/dist/cli/factories/authCommandFactory.js +96 -1
- package/dist/cli/factories/ollamaCommandFactory.js +1 -1
- package/dist/cli/factories/sagemakerCommandFactory.js +25 -6
- package/dist/cli/index.d.ts +0 -6
- package/dist/cli/index.js +5 -2
- package/dist/cli/loop/conversationSelector.js +7 -2
- package/dist/cli/parser.js +19 -1
- package/dist/cli/utils/envManager.js +2 -2
- package/dist/cli/utils/ollamaUtils.d.ts +1 -2
- package/dist/client/adapters/providerImageAdapter.js +588 -0
- package/dist/client/adapters/tts/googleTTSHandler.js +344 -0
- package/dist/client/adapters/video/directorPipeline.js +516 -0
- package/dist/client/adapters/video/ffmpegAdapter.js +206 -0
- package/dist/client/adapters/video/frameExtractor.js +143 -0
- package/dist/client/adapters/video/vertexVideoHandler.js +763 -0
- package/dist/client/adapters/video/videoAnalyzer.js +238 -0
- package/dist/client/adapters/video/videoMerger.js +171 -0
- package/dist/client/agent/directTools.js +840 -0
- package/dist/client/aiSdkAdapter.d.ts +196 -0
- package/dist/client/aiSdkAdapter.js +487 -0
- package/dist/client/auth/anthropicOAuth.js +974 -0
- package/dist/client/auth/tokenStore.js +799 -0
- package/dist/client/auth.d.ts +248 -0
- package/dist/client/auth.js +473 -0
- package/dist/client/client/aiSdkAdapter.js +487 -0
- package/dist/client/client/auth.js +473 -0
- package/dist/client/client/errors.js +552 -0
- package/dist/client/client/httpClient.js +837 -0
- package/dist/client/client/index.js +172 -0
- package/dist/client/client/interceptors.js +601 -0
- package/dist/client/client/reactHooks.js +1159 -0
- package/dist/client/client/sseClient.js +545 -0
- package/dist/client/client/streamingClient.js +917 -0
- package/dist/client/client/wsClient.js +369 -0
- package/dist/client/config/configManager.js +303 -0
- package/dist/client/config/conversationMemory.js +86 -0
- package/dist/client/config/taskClassificationConfig.js +148 -0
- package/dist/client/constants/contextWindows.js +295 -0
- package/dist/client/constants/enums.js +853 -0
- package/dist/client/constants/index.js +207 -0
- package/dist/client/constants/performance.js +389 -0
- package/dist/client/constants/retry.js +266 -0
- package/dist/client/constants/timeouts.js +182 -0
- package/dist/client/constants/tokens.js +380 -0
- package/dist/client/constants/videoErrors.js +46 -0
- package/dist/client/context/budgetChecker.js +98 -0
- package/dist/client/context/contextCompactor.js +205 -0
- package/dist/client/context/emergencyTruncation.js +88 -0
- package/dist/client/context/errorDetection.js +171 -0
- package/dist/client/context/errors.js +21 -0
- package/dist/client/context/fileTokenBudget.js +127 -0
- package/dist/client/context/prompts/summarizationPrompt.js +117 -0
- package/dist/client/context/stages/fileReadDeduplicator.js +66 -0
- package/dist/client/context/stages/slidingWindowTruncator.js +190 -0
- package/dist/client/context/stages/structuredSummarizer.js +99 -0
- package/dist/client/context/stages/toolOutputPruner.js +52 -0
- package/dist/client/context/summarizationEngine.js +136 -0
- package/dist/client/context/toolOutputLimits.js +78 -0
- package/dist/client/context/toolPairRepair.js +66 -0
- package/dist/client/core/analytics.js +88 -0
- package/dist/client/core/baseProvider.js +1385 -0
- package/dist/client/core/constants.js +140 -0
- package/dist/client/core/conversationMemoryFactory.js +141 -0
- package/dist/client/core/conversationMemoryInitializer.js +128 -0
- package/dist/client/core/conversationMemoryManager.js +344 -0
- package/dist/client/core/dynamicModels.js +358 -0
- package/dist/client/core/evaluation.js +309 -0
- package/dist/client/core/evaluationProviders.js +248 -0
- package/dist/client/core/factory.js +412 -0
- package/dist/client/core/infrastructure/baseError.js +22 -0
- package/dist/client/core/infrastructure/baseFactory.js +54 -0
- package/dist/client/core/infrastructure/baseRegistry.js +49 -0
- package/dist/client/core/infrastructure/index.js +5 -0
- package/dist/client/core/infrastructure/retry.js +20 -0
- package/dist/client/core/infrastructure/typedEventEmitter.js +23 -0
- package/dist/client/core/modelConfiguration.js +851 -0
- package/dist/client/core/modules/GenerationHandler.js +588 -0
- package/dist/client/core/modules/MessageBuilder.js +273 -0
- package/dist/client/core/modules/StreamHandler.js +185 -0
- package/dist/client/core/modules/TelemetryHandler.js +203 -0
- package/dist/client/core/modules/ToolsManager.js +499 -0
- package/dist/client/core/modules/Utilities.js +331 -0
- package/dist/client/core/redisConversationMemoryManager.js +1435 -0
- package/dist/client/core/streamAnalytics.js +131 -0
- package/dist/client/errors.d.ts +299 -0
- package/dist/client/errors.js +552 -0
- package/dist/client/evaluation/contextBuilder.js +134 -0
- package/dist/client/evaluation/index.js +61 -0
- package/dist/client/evaluation/prompts.js +73 -0
- package/dist/client/evaluation/ragasEvaluator.js +110 -0
- package/dist/client/evaluation/retryManager.js +78 -0
- package/dist/client/evaluation/scoring.js +61 -0
- package/dist/client/factories/providerFactory.js +166 -0
- package/dist/client/factories/providerRegistry.js +166 -0
- package/dist/client/features/ppt/constants.js +896 -0
- package/dist/client/features/ppt/contentPlanner.js +529 -0
- package/dist/client/features/ppt/presentationOrchestrator.js +236 -0
- package/dist/client/features/ppt/slideGenerator.js +532 -0
- package/dist/client/features/ppt/slideRenderers.js +2383 -0
- package/dist/client/features/ppt/slideTypeInference.js +405 -0
- package/dist/client/features/ppt/types.js +13 -0
- package/dist/client/features/ppt/utils.js +443 -0
- package/dist/client/files/fileReferenceRegistry.js +1543 -0
- package/dist/client/files/fileTools.js +450 -0
- package/dist/client/files/streamingReader.js +321 -0
- package/dist/client/files/types.js +23 -0
- package/dist/client/hitl/hitlErrors.js +54 -0
- package/dist/client/hitl/hitlManager.js +460 -0
- package/dist/client/httpClient.d.ts +297 -0
- package/dist/client/httpClient.js +837 -0
- package/dist/client/index.d.ts +111 -0
- package/dist/client/index.js +511 -0
- package/dist/client/interceptors.d.ts +283 -0
- package/dist/client/interceptors.js +601 -0
- package/dist/client/mcp/agentExposure.js +356 -0
- package/dist/client/mcp/auth/index.js +11 -0
- package/dist/client/mcp/auth/oauthClientProvider.js +325 -0
- package/dist/client/mcp/auth/tokenStorage.js +134 -0
- package/dist/client/mcp/batching/index.js +10 -0
- package/dist/client/mcp/batching/requestBatcher.js +441 -0
- package/dist/client/mcp/caching/index.js +10 -0
- package/dist/client/mcp/caching/toolCache.js +433 -0
- package/dist/client/mcp/elicitation/elicitationManager.js +376 -0
- package/dist/client/mcp/elicitation/index.js +11 -0
- package/dist/client/mcp/elicitation/types.js +10 -0
- package/dist/client/mcp/elicitationProtocol.js +375 -0
- package/dist/client/mcp/enhancedToolDiscovery.js +481 -0
- package/dist/client/mcp/externalServerManager.js +1478 -0
- package/dist/client/mcp/factory.js +161 -0
- package/dist/client/mcp/flexibleToolValidator.js +161 -0
- package/dist/client/mcp/httpRateLimiter.js +391 -0
- package/dist/client/mcp/httpRetryHandler.js +178 -0
- package/dist/client/mcp/index.js +74 -0
- package/dist/client/mcp/mcpCircuitBreaker.js +427 -0
- package/dist/client/mcp/mcpClientFactory.js +708 -0
- package/dist/client/mcp/mcpRegistryClient.js +488 -0
- package/dist/client/mcp/mcpServerBase.js +373 -0
- package/dist/client/mcp/multiServerManager.js +579 -0
- package/dist/client/mcp/registry.js +158 -0
- package/dist/client/mcp/routing/index.js +10 -0
- package/dist/client/mcp/routing/toolRouter.js +416 -0
- package/dist/client/mcp/serverCapabilities.js +502 -0
- package/dist/client/mcp/servers/agent/directToolsServer.js +150 -0
- package/dist/client/mcp/toolAnnotations.js +239 -0
- package/dist/client/mcp/toolConverter.js +258 -0
- package/dist/client/mcp/toolDiscoveryService.js +798 -0
- package/dist/client/mcp/toolIntegration.js +334 -0
- package/dist/client/mcp/toolRegistry.js +719 -0
- package/dist/client/memory/hippocampusInitializer.js +19 -0
- package/dist/client/memory/memoryRetrievalTools.js +166 -0
- package/dist/client/middleware/builtin/analytics.js +132 -0
- package/dist/client/middleware/builtin/autoEvaluation.js +203 -0
- package/dist/client/middleware/builtin/guardrails.js +109 -0
- package/dist/client/middleware/builtin/lifecycle.js +168 -0
- package/dist/client/middleware/factory.js +327 -0
- package/dist/client/middleware/registry.js +295 -0
- package/dist/client/middleware/utils/guardrailsUtils.js +396 -0
- package/dist/client/models/anthropicModels.js +527 -0
- package/dist/client/neurolink.js +8015 -0
- package/dist/client/observability/exporterRegistry.js +413 -0
- package/dist/client/observability/exporters/arizeExporter.js +138 -0
- package/dist/client/observability/exporters/baseExporter.js +190 -0
- package/dist/client/observability/exporters/braintrustExporter.js +154 -0
- package/dist/client/observability/exporters/datadogExporter.js +196 -0
- package/dist/client/observability/exporters/laminarExporter.js +302 -0
- package/dist/client/observability/exporters/langfuseExporter.js +209 -0
- package/dist/client/observability/exporters/langsmithExporter.js +143 -0
- package/dist/client/observability/exporters/otelExporter.js +164 -0
- package/dist/client/observability/exporters/posthogExporter.js +287 -0
- package/dist/client/observability/exporters/sentryExporter.js +165 -0
- package/dist/client/observability/index.js +31 -0
- package/dist/client/observability/metricsAggregator.js +556 -0
- package/dist/client/observability/otelBridge.js +131 -0
- package/dist/client/observability/retryPolicy.js +383 -0
- package/dist/client/observability/sampling/samplers.js +216 -0
- package/dist/client/observability/spanProcessor.js +303 -0
- package/dist/client/observability/tokenTracker.js +413 -0
- package/dist/client/observability/types/exporterTypes.js +5 -0
- package/dist/client/observability/types/index.js +4 -0
- package/dist/client/observability/types/spanTypes.js +92 -0
- package/dist/client/observability/utils/safeMetadata.js +25 -0
- package/dist/client/observability/utils/spanSerializer.js +292 -0
- package/dist/client/processors/archive/ArchiveProcessor.js +1308 -0
- package/dist/client/processors/base/BaseFileProcessor.js +614 -0
- package/dist/client/processors/base/types.js +82 -0
- package/dist/client/processors/config/fileTypes.js +520 -0
- package/dist/client/processors/config/index.js +92 -0
- package/dist/client/processors/config/languageMap.js +410 -0
- package/dist/client/processors/config/mimeTypes.js +363 -0
- package/dist/client/processors/config/sizeLimits.js +258 -0
- package/dist/client/processors/document/ExcelProcessor.js +590 -0
- package/dist/client/processors/document/OpenDocumentProcessor.js +212 -0
- package/dist/client/processors/document/PptxProcessor.js +157 -0
- package/dist/client/processors/document/RtfProcessor.js +361 -0
- package/dist/client/processors/document/WordProcessor.js +353 -0
- package/dist/client/processors/errors/FileErrorCode.js +255 -0
- package/dist/client/processors/errors/errorHelpers.js +386 -0
- package/dist/client/processors/errors/errorSerializer.js +507 -0
- package/dist/client/processors/errors/index.js +49 -0
- package/dist/client/processors/markup/SvgProcessor.js +240 -0
- package/dist/client/processors/media/AudioProcessor.js +707 -0
- package/dist/client/processors/media/VideoProcessor.js +1045 -0
- package/dist/client/providers/amazonBedrock.js +1512 -0
- package/dist/client/providers/amazonSagemaker.js +162 -0
- package/dist/client/providers/anthropic.js +831 -0
- package/dist/client/providers/azureOpenai.js +143 -0
- package/dist/client/providers/googleAiStudio.js +1200 -0
- package/dist/client/providers/googleNativeGemini3.js +543 -0
- package/dist/client/providers/googleVertex.js +2936 -0
- package/dist/client/providers/huggingFace.js +315 -0
- package/dist/client/providers/litellm.js +488 -0
- package/dist/client/providers/mistral.js +157 -0
- package/dist/client/providers/ollama.js +1579 -0
- package/dist/client/providers/openAI.js +627 -0
- package/dist/client/providers/openRouter.js +543 -0
- package/dist/client/providers/openaiCompatible.js +290 -0
- package/dist/client/providers/providerTypeUtils.js +46 -0
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +215 -0
- package/dist/client/providers/sagemaker/client.js +472 -0
- package/dist/client/providers/sagemaker/config.js +317 -0
- package/dist/client/providers/sagemaker/detection.js +606 -0
- package/dist/client/providers/sagemaker/error-constants.js +227 -0
- package/dist/client/providers/sagemaker/errors.js +299 -0
- package/dist/client/providers/sagemaker/language-model.js +775 -0
- package/dist/client/providers/sagemaker/parsers.js +634 -0
- package/dist/client/providers/sagemaker/streaming.js +331 -0
- package/dist/client/providers/sagemaker/structured-parser.js +625 -0
- package/dist/client/proxy/accountQuota.js +162 -0
- package/dist/client/proxy/claudeFormat.js +595 -0
- package/dist/client/proxy/modelRouter.js +29 -0
- package/dist/client/proxy/oauthFetch.js +367 -0
- package/dist/client/proxy/proxyFetch.js +586 -0
- package/dist/client/proxy/requestLogger.js +207 -0
- package/dist/client/proxy/tokenRefresh.js +124 -0
- package/dist/client/proxy/usageStats.js +74 -0
- package/dist/client/proxy/utils/noProxyUtils.js +149 -0
- package/dist/client/rag/ChunkerFactory.js +320 -0
- package/dist/client/rag/ChunkerRegistry.js +421 -0
- package/dist/client/rag/chunkers/BaseChunker.js +143 -0
- package/dist/client/rag/chunkers/CharacterChunker.js +28 -0
- package/dist/client/rag/chunkers/HTMLChunker.js +38 -0
- package/dist/client/rag/chunkers/JSONChunker.js +68 -0
- package/dist/client/rag/chunkers/LaTeXChunker.js +63 -0
- package/dist/client/rag/chunkers/MarkdownChunker.js +306 -0
- package/dist/client/rag/chunkers/RecursiveChunker.js +139 -0
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +138 -0
- package/dist/client/rag/chunkers/SentenceChunker.js +66 -0
- package/dist/client/rag/chunkers/TokenChunker.js +61 -0
- package/dist/client/rag/chunkers/index.js +15 -0
- package/dist/client/rag/chunking/characterChunker.js +142 -0
- package/dist/client/rag/chunking/chunkerRegistry.js +194 -0
- package/dist/client/rag/chunking/htmlChunker.js +247 -0
- package/dist/client/rag/chunking/index.js +17 -0
- package/dist/client/rag/chunking/jsonChunker.js +281 -0
- package/dist/client/rag/chunking/latexChunker.js +251 -0
- package/dist/client/rag/chunking/markdownChunker.js +373 -0
- package/dist/client/rag/chunking/recursiveChunker.js +148 -0
- package/dist/client/rag/chunking/semanticChunker.js +306 -0
- package/dist/client/rag/chunking/sentenceChunker.js +230 -0
- package/dist/client/rag/chunking/tokenChunker.js +183 -0
- package/dist/client/rag/document/MDocument.js +392 -0
- package/dist/client/rag/document/index.js +5 -0
- package/dist/client/rag/document/loaders.js +500 -0
- package/dist/client/rag/errors/RAGError.js +274 -0
- package/dist/client/rag/errors/index.js +6 -0
- package/dist/client/rag/graphRag/graphRAG.js +401 -0
- package/dist/client/rag/graphRag/index.js +4 -0
- package/dist/client/rag/index.js +141 -0
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +418 -0
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +362 -0
- package/dist/client/rag/metadata/index.js +9 -0
- package/dist/client/rag/metadata/metadataExtractor.js +280 -0
- package/dist/client/rag/pipeline/RAGPipeline.js +436 -0
- package/dist/client/rag/pipeline/contextAssembly.js +341 -0
- package/dist/client/rag/pipeline/index.js +5 -0
- package/dist/client/rag/ragIntegration.js +321 -0
- package/dist/client/rag/reranker/RerankerFactory.js +430 -0
- package/dist/client/rag/reranker/RerankerRegistry.js +402 -0
- package/dist/client/rag/reranker/index.js +9 -0
- package/dist/client/rag/reranker/reranker.js +277 -0
- package/dist/client/rag/resilience/CircuitBreaker.js +431 -0
- package/dist/client/rag/resilience/RetryHandler.js +304 -0
- package/dist/client/rag/resilience/index.js +7 -0
- package/dist/client/rag/retrieval/hybridSearch.js +335 -0
- package/dist/client/rag/retrieval/index.js +5 -0
- package/dist/client/rag/retrieval/vectorQueryTool.js +307 -0
- package/dist/client/rag/types.js +8 -0
- package/dist/client/reactHooks.d.ts +239 -0
- package/dist/client/reactHooks.tsx +1483 -0
- package/dist/client/sdk/toolRegistration.js +377 -0
- package/dist/client/server/abstract/baseServerAdapter.js +575 -0
- package/dist/client/server/adapters/expressAdapter.js +486 -0
- package/dist/client/server/adapters/fastifyAdapter.js +472 -0
- package/dist/client/server/adapters/honoAdapter.js +632 -0
- package/dist/client/server/adapters/koaAdapter.js +510 -0
- package/dist/client/server/errors.js +486 -0
- package/dist/client/server/factory/serverAdapterFactory.js +160 -0
- package/dist/client/server/index.js +108 -0
- package/dist/client/server/middleware/abortSignal.js +111 -0
- package/dist/client/server/middleware/auth.js +388 -0
- package/dist/client/server/middleware/cache.js +359 -0
- package/dist/client/server/middleware/common.js +281 -0
- package/dist/client/server/middleware/deprecation.js +190 -0
- package/dist/client/server/middleware/mcpBodyAttachment.js +63 -0
- package/dist/client/server/middleware/rateLimit.js +227 -0
- package/dist/client/server/middleware/validation.js +388 -0
- package/dist/client/server/openapi/generator.js +398 -0
- package/dist/client/server/openapi/index.js +36 -0
- package/dist/client/server/openapi/schemas.js +695 -0
- package/dist/client/server/openapi/templates.js +374 -0
- package/dist/client/server/routes/agentRoutes.js +171 -0
- package/dist/client/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/client/server/routes/healthRoutes.js +187 -0
- package/dist/client/server/routes/index.js +57 -0
- package/dist/client/server/routes/mcpRoutes.js +342 -0
- package/dist/client/server/routes/memoryRoutes.js +350 -0
- package/dist/client/server/routes/openApiRoutes.js +126 -0
- package/dist/client/server/routes/toolRoutes.js +199 -0
- package/dist/client/server/streaming/dataStream.js +486 -0
- package/dist/client/server/streaming/index.js +11 -0
- package/dist/client/server/types.js +67 -0
- package/dist/client/server/utils/redaction.js +334 -0
- package/dist/client/server/utils/validation.js +243 -0
- package/dist/client/server/websocket/WebSocketHandler.js +383 -0
- package/dist/client/server/websocket/index.js +4 -0
- package/dist/client/services/server/ai/observability/instrumentation.js +808 -0
- package/dist/client/sseClient.d.ts +156 -0
- package/dist/client/sseClient.js +545 -0
- package/dist/client/streamingClient.d.ts +327 -0
- package/dist/client/streamingClient.js +917 -0
- package/dist/client/telemetry/attributes.js +100 -0
- package/dist/client/telemetry/index.js +26 -0
- package/dist/client/telemetry/telemetryService.js +308 -0
- package/dist/client/telemetry/tracers.js +17 -0
- package/dist/client/telemetry/withSpan.js +34 -0
- package/dist/client/types/actionTypes.js +6 -0
- package/dist/client/types/analytics.js +5 -0
- package/dist/client/types/authTypes.js +8 -0
- package/dist/client/types/circuitBreakerErrors.js +34 -0
- package/dist/client/types/cli.js +21 -0
- package/dist/client/types/clientTypes.js +10 -0
- package/dist/client/types/common.js +51 -0
- package/dist/client/types/configTypes.js +49 -0
- package/dist/client/types/content.js +19 -0
- package/dist/client/types/contextTypes.js +400 -0
- package/dist/client/types/conversation.js +47 -0
- package/dist/client/types/conversationMemoryInterface.js +6 -0
- package/dist/client/types/domainTypes.js +5 -0
- package/dist/client/types/errors.js +167 -0
- package/dist/client/types/evaluation.js +5 -0
- package/dist/client/types/evaluationProviders.js +5 -0
- package/dist/client/types/evaluationTypes.js +1 -0
- package/dist/client/types/externalMcp.js +6 -0
- package/dist/client/types/fileReferenceTypes.js +8 -0
- package/dist/client/types/fileTypes.js +4 -0
- package/dist/client/types/generateTypes.js +1 -0
- package/dist/client/types/guardrails.js +1 -0
- package/dist/client/types/hitlTypes.js +8 -0
- package/dist/client/types/index.js +57 -0
- package/dist/client/types/mcpTypes.js +5 -0
- package/dist/client/types/middlewareTypes.js +1 -0
- package/dist/client/types/modelTypes.js +30 -0
- package/dist/client/types/multimodal.js +135 -0
- package/dist/client/types/observability.js +6 -0
- package/dist/client/types/pptTypes.js +82 -0
- package/dist/client/types/providers.js +111 -0
- package/dist/client/types/proxyTypes.js +16 -0
- package/dist/client/types/ragTypes.js +7 -0
- package/dist/client/types/sdkTypes.js +8 -0
- package/dist/client/types/serviceTypes.js +5 -0
- package/dist/client/types/streamTypes.js +1 -0
- package/dist/client/types/subscriptionTypes.js +9 -0
- package/dist/client/types/taskClassificationTypes.js +5 -0
- package/dist/client/types/tools.js +24 -0
- package/dist/client/types/ttsTypes.js +57 -0
- package/dist/client/types/typeAliases.js +48 -0
- package/dist/client/types/utilities.js +4 -0
- package/dist/client/types/workflowTypes.js +30 -0
- package/dist/client/utils/async/withTimeout.js +98 -0
- package/dist/client/utils/asyncMutex.js +60 -0
- package/dist/client/utils/conversationMemory.js +431 -0
- package/dist/client/utils/csvProcessor.js +846 -0
- package/dist/client/utils/errorHandling.js +936 -0
- package/dist/client/utils/evaluationUtils.js +131 -0
- package/dist/client/utils/factoryProcessing.js +589 -0
- package/dist/client/utils/fileDetector.js +2161 -0
- package/dist/client/utils/imageCache.js +376 -0
- package/dist/client/utils/imageProcessor.js +704 -0
- package/dist/client/utils/logger.js +491 -0
- package/dist/client/utils/mcpDefaults.js +134 -0
- package/dist/client/utils/messageBuilder.js +1653 -0
- package/dist/client/utils/modelAliasResolver.js +54 -0
- package/dist/client/utils/modelDetection.js +80 -0
- package/dist/client/utils/modelRouter.js +292 -0
- package/dist/client/utils/multimodalOptionsBuilder.js +65 -0
- package/dist/client/utils/observabilityHelpers.js +47 -0
- package/dist/client/utils/parameterValidation.js +966 -0
- package/dist/client/utils/pdfProcessor.js +410 -0
- package/dist/client/utils/performance.js +222 -0
- package/dist/client/utils/pricing.js +340 -0
- package/dist/client/utils/promptRedaction.js +62 -0
- package/dist/client/utils/providerConfig.js +1009 -0
- package/dist/client/utils/providerHealth.js +1237 -0
- package/dist/client/utils/providerRetry.js +112 -0
- package/dist/client/utils/providerUtils.js +434 -0
- package/dist/client/utils/rateLimiter.js +200 -0
- package/dist/client/utils/redis.js +368 -0
- package/dist/client/utils/retryHandler.js +269 -0
- package/dist/client/utils/retryability.js +22 -0
- package/dist/client/utils/sanitizers/svg.js +481 -0
- package/dist/client/utils/schemaConversion.js +255 -0
- package/dist/client/utils/taskClassificationUtils.js +149 -0
- package/dist/client/utils/taskClassifier.js +94 -0
- package/dist/client/utils/thinkingConfig.js +104 -0
- package/dist/client/utils/timeout.js +359 -0
- package/dist/client/utils/tokenEstimation.js +142 -0
- package/dist/client/utils/tokenLimits.js +125 -0
- package/dist/client/utils/tokenUtils.js +239 -0
- package/dist/client/utils/toolUtils.js +75 -0
- package/dist/client/utils/transformationUtils.js +554 -0
- package/dist/client/utils/ttsProcessor.js +286 -0
- package/dist/client/utils/typeUtils.js +97 -0
- package/dist/client/utils/videoAnalysisProcessor.js +67 -0
- package/dist/client/workflow/config.js +398 -0
- package/dist/client/workflow/core/ensembleExecutor.js +407 -0
- package/dist/client/workflow/core/judgeScorer.js +544 -0
- package/dist/client/workflow/core/responseConditioner.js +225 -0
- package/dist/client/workflow/core/types/conditionerTypes.js +7 -0
- package/dist/client/workflow/core/types/ensembleTypes.js +7 -0
- package/dist/client/workflow/core/types/index.js +7 -0
- package/dist/client/workflow/core/types/judgeTypes.js +7 -0
- package/dist/client/workflow/core/types/layerTypes.js +7 -0
- package/dist/client/workflow/core/types/registryTypes.js +7 -0
- package/dist/client/workflow/core/workflowRegistry.js +304 -0
- package/dist/client/workflow/core/workflowRunner.js +586 -0
- package/dist/client/workflow/index.js +50 -0
- package/dist/client/workflow/types.js +9 -0
- package/dist/client/workflow/utils/types/index.js +7 -0
- package/dist/client/workflow/utils/workflowMetrics.js +311 -0
- package/dist/client/workflow/utils/workflowValidation.js +420 -0
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +366 -0
- package/dist/client/workflow/workflows/consensusWorkflow.js +192 -0
- package/dist/client/workflow/workflows/fallbackWorkflow.js +225 -0
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +351 -0
- package/dist/client/wsClient.d.ts +130 -0
- package/dist/client/wsClient.js +369 -0
- package/dist/config/configManager.js +2 -2
- package/dist/constants/contextWindows.js +15 -13
- package/dist/constants/enums.d.ts +10 -16
- package/dist/constants/enums.js +12 -18
- package/dist/constants/index.d.ts +0 -10
- package/dist/constants/index.js +1 -1
- package/dist/constants/tokens.d.ts +29 -16
- package/dist/constants/tokens.js +23 -16
- package/dist/core/baseProvider.d.ts +5 -5
- package/dist/core/baseProvider.js +6 -6
- package/dist/core/constants.js +6 -1
- package/dist/core/dynamicModels.js +10 -6
- package/dist/core/evaluationProviders.js +1 -1
- package/dist/core/infrastructure/baseError.d.ts +1 -1
- package/dist/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/core/infrastructure/index.d.ts +6 -4
- package/dist/core/infrastructure/index.js +2 -2
- package/dist/core/modelConfiguration.js +3 -1
- package/dist/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/core/modules/GenerationHandler.js +49 -41
- package/dist/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/core/modules/MessageBuilder.js +4 -6
- package/dist/core/modules/StreamHandler.js +26 -12
- package/dist/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/core/modules/TelemetryHandler.js +7 -6
- package/dist/core/modules/ToolsManager.d.ts +2 -12
- package/dist/core/modules/ToolsManager.js +20 -4
- package/dist/core/modules/Utilities.js +3 -1
- package/dist/core/redisConversationMemoryManager.js +3 -3
- package/dist/core/streamAnalytics.js +23 -9
- package/dist/evaluation/contextBuilder.d.ts +2 -2
- package/dist/evaluation/contextBuilder.js +2 -2
- package/dist/evaluation/index.d.ts +2 -2
- package/dist/evaluation/retryManager.js +1 -1
- package/dist/factories/providerFactory.js +2 -2
- package/dist/features/ppt/constants.js +1 -1
- package/dist/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/features/ppt/slideGenerator.js +6 -1
- package/dist/files/fileTools.d.ts +16 -247
- package/dist/files/fileTools.js +16 -15
- package/dist/index.d.ts +5 -3
- package/dist/index.js +20 -3
- package/dist/lib/adapters/providerImageAdapter.js +13 -22
- package/dist/lib/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/lib/adapters/video/videoAnalyzer.js +3 -3
- package/dist/lib/agent/directTools.d.ts +20 -289
- package/dist/lib/agent/directTools.js +11 -10
- package/dist/lib/auth/accountPool.d.ts +68 -0
- package/dist/lib/auth/accountPool.js +179 -0
- package/dist/lib/auth/anthropicOAuth.d.ts +15 -5
- package/dist/lib/auth/anthropicOAuth.js +117 -57
- package/dist/lib/auth/index.d.ts +7 -5
- package/dist/lib/auth/index.js +6 -2
- package/dist/lib/auth/tokenStore.d.ts +71 -27
- package/dist/lib/auth/tokenStore.js +342 -64
- package/dist/lib/client/aiSdkAdapter.d.ts +196 -0
- package/dist/lib/client/aiSdkAdapter.js +488 -0
- package/dist/lib/client/auth.d.ts +248 -0
- package/dist/lib/client/auth.js +474 -0
- package/dist/lib/client/errors.d.ts +299 -0
- package/dist/lib/client/errors.js +553 -0
- package/dist/lib/client/httpClient.d.ts +297 -0
- package/dist/lib/client/httpClient.js +838 -0
- package/dist/lib/client/index.d.ts +111 -0
- package/dist/lib/client/index.js +173 -0
- package/dist/lib/client/interceptors.d.ts +283 -0
- package/dist/lib/client/interceptors.js +602 -0
- package/dist/lib/client/reactHooks.d.ts +239 -0
- package/dist/lib/client/reactHooks.js +1160 -0
- package/dist/lib/client/sseClient.d.ts +156 -0
- package/dist/lib/client/sseClient.js +546 -0
- package/dist/lib/client/streamingClient.d.ts +327 -0
- package/dist/lib/client/streamingClient.js +918 -0
- package/dist/lib/client/wsClient.d.ts +130 -0
- package/dist/lib/client/wsClient.js +370 -0
- package/dist/lib/config/configManager.js +2 -2
- package/dist/lib/constants/contextWindows.js +15 -13
- package/dist/lib/constants/enums.d.ts +10 -16
- package/dist/lib/constants/enums.js +12 -18
- package/dist/lib/constants/index.d.ts +0 -10
- package/dist/lib/constants/index.js +1 -1
- package/dist/lib/constants/tokens.d.ts +29 -16
- package/dist/lib/constants/tokens.js +23 -16
- package/dist/lib/core/baseProvider.d.ts +5 -5
- package/dist/lib/core/baseProvider.js +6 -6
- package/dist/lib/core/constants.js +6 -1
- package/dist/lib/core/dynamicModels.js +10 -6
- package/dist/lib/core/evaluationProviders.js +1 -1
- package/dist/lib/core/infrastructure/baseError.d.ts +1 -1
- package/dist/lib/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/lib/core/infrastructure/index.d.ts +6 -4
- package/dist/lib/core/infrastructure/index.js +2 -2
- package/dist/lib/core/modelConfiguration.js +3 -1
- package/dist/lib/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/lib/core/modules/GenerationHandler.js +49 -41
- package/dist/lib/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/lib/core/modules/MessageBuilder.js +4 -6
- package/dist/lib/core/modules/StreamHandler.js +26 -12
- package/dist/lib/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/lib/core/modules/TelemetryHandler.js +7 -6
- package/dist/lib/core/modules/ToolsManager.d.ts +2 -12
- package/dist/lib/core/modules/ToolsManager.js +20 -4
- package/dist/lib/core/modules/Utilities.js +3 -1
- package/dist/lib/core/redisConversationMemoryManager.js +3 -3
- package/dist/lib/core/streamAnalytics.js +23 -9
- package/dist/lib/evaluation/contextBuilder.d.ts +2 -2
- package/dist/lib/evaluation/contextBuilder.js +2 -2
- package/dist/lib/evaluation/index.d.ts +2 -2
- package/dist/lib/evaluation/retryManager.js +1 -1
- package/dist/lib/factories/providerFactory.js +2 -2
- package/dist/lib/features/ppt/constants.js +1 -1
- package/dist/lib/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/lib/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/lib/features/ppt/slideGenerator.js +6 -1
- package/dist/lib/files/fileTools.d.ts +16 -247
- package/dist/lib/files/fileTools.js +16 -15
- package/dist/lib/index.d.ts +5 -3
- package/dist/lib/index.js +20 -3
- package/dist/lib/mcp/batching/requestBatcher.js +1 -1
- package/dist/lib/mcp/externalServerManager.js +5 -2
- package/dist/lib/mcp/factory.js +1 -1
- package/dist/lib/mcp/index.d.ts +1 -1
- package/dist/lib/mcp/index.js +1 -1
- package/dist/lib/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/lib/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/lib/mcp/mcpClientFactory.js +33 -4
- package/dist/lib/mcp/toolDiscoveryService.js +52 -5
- package/dist/lib/mcp/toolRegistry.js +7 -1
- package/dist/lib/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/lib/memory/memoryRetrievalTools.js +1 -1
- package/dist/lib/middleware/builtin/analytics.js +3 -0
- package/dist/lib/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/lib/middleware/builtin/guardrails.js +4 -0
- package/dist/lib/middleware/builtin/lifecycle.js +10 -6
- package/dist/lib/middleware/factory.d.ts +3 -3
- package/dist/lib/middleware/factory.js +3 -2
- package/dist/lib/middleware/index.d.ts +1 -1
- package/dist/lib/middleware/registry.d.ts +2 -2
- package/dist/lib/middleware/registry.js +1 -0
- package/dist/lib/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/lib/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/lib/neurolink.d.ts +9 -20
- package/dist/lib/neurolink.js +278 -186
- package/dist/lib/observability/retryPolicy.d.ts +2 -13
- package/dist/lib/observability/sampling/samplers.d.ts +2 -11
- package/dist/lib/observability/spanProcessor.d.ts +2 -14
- package/dist/lib/processors/base/BaseFileProcessor.js +1 -1
- package/dist/lib/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/lib/processors/media/VideoProcessor.js +157 -101
- package/dist/lib/providers/amazonBedrock.js +12 -5
- package/dist/lib/providers/amazonSagemaker.d.ts +5 -5
- package/dist/lib/providers/amazonSagemaker.js +6 -2
- package/dist/lib/providers/anthropic.d.ts +3 -3
- package/dist/lib/providers/anthropic.js +23 -192
- package/dist/lib/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/lib/providers/anthropicBaseProvider.js +24 -13
- package/dist/lib/providers/azureOpenai.d.ts +2 -2
- package/dist/lib/providers/azureOpenai.js +6 -6
- package/dist/lib/providers/googleAiStudio.d.ts +2 -2
- package/dist/lib/providers/googleAiStudio.js +15 -7
- package/dist/lib/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/lib/providers/googleNativeGemini3.js +14 -10
- package/dist/lib/providers/googleVertex.d.ts +6 -6
- package/dist/lib/providers/googleVertex.js +32 -26
- package/dist/lib/providers/huggingFace.d.ts +4 -4
- package/dist/lib/providers/huggingFace.js +15 -5
- package/dist/lib/providers/litellm.d.ts +4 -4
- package/dist/lib/providers/litellm.js +54 -42
- package/dist/lib/providers/mistral.d.ts +2 -2
- package/dist/lib/providers/mistral.js +5 -4
- package/dist/lib/providers/ollama.d.ts +7 -4
- package/dist/lib/providers/ollama.js +30 -8
- package/dist/lib/providers/openAI.d.ts +2 -2
- package/dist/lib/providers/openAI.js +46 -21
- package/dist/lib/providers/openRouter.d.ts +4 -4
- package/dist/lib/providers/openRouter.js +63 -35
- package/dist/lib/providers/openaiCompatible.d.ts +2 -2
- package/dist/lib/providers/openaiCompatible.js +18 -9
- package/dist/lib/providers/providerTypeUtils.d.ts +28 -0
- package/dist/lib/providers/providerTypeUtils.js +47 -0
- package/dist/lib/providers/sagemaker/config.js +5 -5
- package/dist/lib/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/lib/providers/sagemaker/language-model.js +20 -8
- package/dist/lib/proxy/accountQuota.d.ts +33 -0
- package/dist/lib/proxy/accountQuota.js +163 -0
- package/dist/lib/proxy/claudeFormat.d.ts +143 -0
- package/dist/lib/proxy/claudeFormat.js +596 -0
- package/dist/lib/proxy/cloaking/index.d.ts +44 -0
- package/dist/lib/proxy/cloaking/index.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.js +66 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.js +84 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.js +39 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.js +122 -0
- package/dist/lib/proxy/cloaking/types.d.ts +1 -0
- package/dist/lib/proxy/cloaking/types.js +2 -0
- package/dist/lib/proxy/modelRouter.d.ts +10 -0
- package/dist/lib/proxy/modelRouter.js +30 -0
- package/dist/lib/proxy/oauthFetch.d.ts +36 -0
- package/dist/lib/proxy/oauthFetch.js +368 -0
- package/dist/lib/proxy/proxyConfig.d.ts +42 -0
- package/dist/lib/proxy/proxyConfig.js +500 -0
- package/dist/lib/proxy/proxyFetch.js +2 -1
- package/dist/lib/proxy/requestLogger.d.ts +50 -0
- package/dist/lib/proxy/requestLogger.js +208 -0
- package/dist/lib/proxy/tokenRefresh.d.ts +4 -0
- package/dist/lib/proxy/tokenRefresh.js +125 -0
- package/dist/lib/proxy/usageStats.d.ts +13 -0
- package/dist/lib/proxy/usageStats.js +75 -0
- package/dist/lib/rag/document/loaders.js +1 -1
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/lib/rag/ragIntegration.d.ts +2 -14
- package/dist/lib/rag/ragIntegration.js +1 -1
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/lib/rag/resilience/RetryHandler.js +1 -1
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/lib/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/lib/sdk/toolRegistration.js +12 -1
- package/dist/lib/server/abstract/baseServerAdapter.js +2 -2
- package/dist/lib/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/lib/server/adapters/honoAdapter.js +76 -10
- package/dist/lib/server/middleware/cache.js +3 -0
- package/dist/lib/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/lib/server/routes/claudeProxyRoutes.js +1601 -0
- package/dist/lib/server/routes/healthRoutes.js +18 -1
- package/dist/lib/server/routes/index.d.ts +7 -0
- package/dist/lib/server/routes/index.js +8 -0
- package/dist/lib/server/streaming/dataStream.d.ts +1 -5
- package/dist/lib/server/streaming/dataStream.js +3 -0
- package/dist/lib/server/utils/validation.d.ts +24 -124
- package/dist/lib/server/utils/validation.js +2 -2
- package/dist/lib/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/lib/telemetry/attributes.d.ts +38 -0
- package/dist/lib/telemetry/attributes.js +40 -0
- package/dist/lib/telemetry/tracers.d.ts +1 -0
- package/dist/lib/telemetry/tracers.js +1 -0
- package/dist/lib/types/authTypes.d.ts +56 -0
- package/dist/lib/types/authTypes.js +9 -0
- package/dist/lib/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/lib/types/circuitBreakerErrors.js +35 -0
- package/dist/lib/types/cli.d.ts +258 -0
- package/dist/lib/types/clientTypes.d.ts +1050 -0
- package/dist/lib/types/clientTypes.js +11 -0
- package/dist/lib/types/common.d.ts +123 -0
- package/dist/lib/types/configTypes.d.ts +49 -0
- package/dist/lib/types/configTypes.js +4 -0
- package/dist/lib/types/conversation.d.ts +0 -5
- package/dist/lib/types/evaluationTypes.d.ts +2 -2
- package/dist/lib/types/fileTypes.d.ts +47 -0
- package/dist/lib/types/generateTypes.d.ts +7 -3
- package/dist/lib/types/guardrails.d.ts +2 -2
- package/dist/lib/types/index.d.ts +4 -1
- package/dist/lib/types/index.js +5 -0
- package/dist/lib/types/middlewareTypes.d.ts +3 -3
- package/dist/lib/types/modelTypes.d.ts +7 -97
- package/dist/lib/types/modelTypes.js +3 -3
- package/dist/lib/types/observability.d.ts +37 -0
- package/dist/lib/types/providers.d.ts +107 -0
- package/dist/lib/types/proxyTypes.d.ts +536 -0
- package/dist/lib/types/proxyTypes.js +17 -0
- package/dist/lib/types/ragTypes.d.ts +49 -1
- package/dist/lib/types/streamTypes.d.ts +37 -13
- package/dist/lib/types/subscriptionTypes.d.ts +77 -0
- package/dist/lib/types/subscriptionTypes.js +2 -0
- package/dist/lib/types/tools.d.ts +45 -1
- package/dist/lib/types/typeAliases.d.ts +8 -0
- package/dist/lib/types/typeAliases.js +1 -0
- package/dist/lib/utils/async/retry.d.ts +4 -33
- package/dist/lib/utils/asyncMutex.d.ts +14 -0
- package/dist/lib/utils/asyncMutex.js +61 -0
- package/dist/lib/utils/errorHandling.d.ts +2 -1
- package/dist/lib/utils/errorHandling.js +14 -6
- package/dist/lib/utils/fileDetector.d.ts +13 -1
- package/dist/lib/utils/fileDetector.js +114 -32
- package/dist/lib/utils/imageProcessor.js +7 -7
- package/dist/lib/utils/json/safeParse.d.ts +1 -8
- package/dist/lib/utils/mcpDefaults.d.ts +1 -1
- package/dist/lib/utils/mcpDefaults.js +11 -2
- package/dist/lib/utils/messageBuilder.d.ts +5 -5
- package/dist/lib/utils/messageBuilder.js +106 -80
- package/dist/lib/utils/modelChoices.d.ts +1 -8
- package/dist/lib/utils/pdfProcessor.d.ts +1 -25
- package/dist/lib/utils/pdfProcessor.js +5 -4
- package/dist/lib/utils/pricing.js +28 -5
- package/dist/lib/utils/providerHealth.d.ts +1 -1
- package/dist/lib/utils/rateLimiter.d.ts +1 -15
- package/dist/lib/utils/redis.d.ts +1 -1
- package/dist/lib/utils/redis.js +3 -3
- package/dist/lib/utils/sanitizers/filename.d.ts +2 -22
- package/dist/lib/utils/sanitizers/index.d.ts +4 -2
- package/dist/lib/utils/sanitizers/svg.d.ts +1 -11
- package/dist/lib/utils/schemaConversion.js +4 -1
- package/dist/lib/utils/thinkingConfig.d.ts +1 -33
- package/dist/lib/utils/tokenUtils.d.ts +1 -39
- package/dist/lib/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/lib/utils/videoAnalysisProcessor.js +2 -2
- package/dist/lib/workflow/config.d.ts +89 -1257
- package/dist/lib/workflow/utils/workflowValidation.js +1 -1
- package/dist/mcp/batching/requestBatcher.js +1 -1
- package/dist/mcp/externalServerManager.js +5 -2
- package/dist/mcp/factory.js +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/mcp/mcpClientFactory.js +33 -4
- package/dist/mcp/toolDiscoveryService.js +52 -5
- package/dist/mcp/toolRegistry.js +7 -1
- package/dist/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/memory/memoryRetrievalTools.js +1 -1
- package/dist/middleware/builtin/analytics.js +3 -0
- package/dist/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/middleware/builtin/guardrails.js +4 -0
- package/dist/middleware/builtin/lifecycle.js +10 -6
- package/dist/middleware/factory.d.ts +3 -3
- package/dist/middleware/factory.js +3 -2
- package/dist/middleware/index.d.ts +1 -1
- package/dist/middleware/registry.d.ts +2 -2
- package/dist/middleware/registry.js +1 -0
- package/dist/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/neurolink.d.ts +9 -20
- package/dist/neurolink.js +278 -186
- package/dist/observability/retryPolicy.d.ts +2 -13
- package/dist/observability/sampling/samplers.d.ts +2 -11
- package/dist/observability/spanProcessor.d.ts +2 -14
- package/dist/processors/base/BaseFileProcessor.js +1 -1
- package/dist/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/processors/media/VideoProcessor.js +157 -101
- package/dist/providers/amazonBedrock.js +12 -5
- package/dist/providers/amazonSagemaker.d.ts +5 -5
- package/dist/providers/amazonSagemaker.js +6 -2
- package/dist/providers/anthropic.d.ts +3 -3
- package/dist/providers/anthropic.js +23 -192
- package/dist/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/providers/anthropicBaseProvider.js +24 -13
- package/dist/providers/azureOpenai.d.ts +2 -2
- package/dist/providers/azureOpenai.js +6 -6
- package/dist/providers/googleAiStudio.d.ts +2 -2
- package/dist/providers/googleAiStudio.js +15 -7
- package/dist/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/providers/googleNativeGemini3.js +14 -10
- package/dist/providers/googleVertex.d.ts +6 -6
- package/dist/providers/googleVertex.js +32 -26
- package/dist/providers/huggingFace.d.ts +4 -4
- package/dist/providers/huggingFace.js +15 -5
- package/dist/providers/litellm.d.ts +4 -4
- package/dist/providers/litellm.js +54 -42
- package/dist/providers/mistral.d.ts +2 -2
- package/dist/providers/mistral.js +5 -4
- package/dist/providers/ollama.d.ts +7 -4
- package/dist/providers/ollama.js +30 -8
- package/dist/providers/openAI.d.ts +2 -2
- package/dist/providers/openAI.js +46 -21
- package/dist/providers/openRouter.d.ts +4 -4
- package/dist/providers/openRouter.js +63 -35
- package/dist/providers/openaiCompatible.d.ts +2 -2
- package/dist/providers/openaiCompatible.js +18 -9
- package/dist/providers/providerTypeUtils.d.ts +28 -0
- package/dist/providers/providerTypeUtils.js +46 -0
- package/dist/providers/sagemaker/config.js +5 -5
- package/dist/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/providers/sagemaker/language-model.js +20 -8
- package/dist/proxy/accountQuota.d.ts +33 -0
- package/dist/proxy/accountQuota.js +162 -0
- package/dist/proxy/claudeFormat.d.ts +143 -0
- package/dist/proxy/claudeFormat.js +595 -0
- package/dist/proxy/cloaking/index.d.ts +44 -0
- package/dist/proxy/cloaking/index.js +86 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.js +86 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.js +65 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.js +83 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.js +38 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.js +121 -0
- package/dist/proxy/cloaking/types.d.ts +1 -0
- package/dist/proxy/cloaking/types.js +1 -0
- package/dist/proxy/modelRouter.d.ts +10 -0
- package/dist/proxy/modelRouter.js +29 -0
- package/dist/proxy/oauthFetch.d.ts +36 -0
- package/dist/proxy/oauthFetch.js +367 -0
- package/dist/proxy/proxyConfig.d.ts +42 -0
- package/dist/proxy/proxyConfig.js +499 -0
- package/dist/proxy/proxyFetch.js +2 -1
- package/dist/proxy/requestLogger.d.ts +50 -0
- package/dist/proxy/requestLogger.js +207 -0
- package/dist/proxy/tokenRefresh.d.ts +4 -0
- package/dist/proxy/tokenRefresh.js +124 -0
- package/dist/proxy/usageStats.d.ts +13 -0
- package/dist/proxy/usageStats.js +74 -0
- package/dist/rag/document/loaders.js +1 -1
- package/dist/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/rag/ragIntegration.d.ts +2 -14
- package/dist/rag/ragIntegration.js +1 -1
- package/dist/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/rag/resilience/RetryHandler.js +1 -1
- package/dist/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/sdk/toolRegistration.js +12 -1
- package/dist/server/abstract/baseServerAdapter.js +2 -2
- package/dist/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/server/adapters/honoAdapter.js +76 -10
- package/dist/server/middleware/cache.js +3 -0
- package/dist/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/server/routes/healthRoutes.js +18 -1
- package/dist/server/routes/index.d.ts +7 -0
- package/dist/server/routes/index.js +8 -0
- package/dist/server/streaming/dataStream.d.ts +1 -5
- package/dist/server/streaming/dataStream.js +3 -0
- package/dist/server/utils/validation.d.ts +24 -124
- package/dist/server/utils/validation.js +2 -2
- package/dist/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/telemetry/attributes.d.ts +38 -0
- package/dist/telemetry/attributes.js +40 -0
- package/dist/telemetry/tracers.d.ts +1 -0
- package/dist/telemetry/tracers.js +1 -0
- package/dist/types/authTypes.d.ts +56 -0
- package/dist/types/authTypes.js +8 -0
- package/dist/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/types/circuitBreakerErrors.js +34 -0
- package/dist/types/cli.d.ts +258 -0
- package/dist/types/clientTypes.d.ts +1050 -0
- package/dist/types/clientTypes.js +10 -0
- package/dist/types/common.d.ts +123 -0
- package/dist/types/configTypes.d.ts +49 -0
- package/dist/types/configTypes.js +4 -0
- package/dist/types/conversation.d.ts +0 -5
- package/dist/types/evaluationTypes.d.ts +2 -2
- package/dist/types/fileTypes.d.ts +47 -0
- package/dist/types/generateTypes.d.ts +7 -3
- package/dist/types/guardrails.d.ts +2 -2
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.js +5 -0
- package/dist/types/middlewareTypes.d.ts +3 -3
- package/dist/types/modelTypes.d.ts +7 -97
- package/dist/types/modelTypes.js +3 -3
- package/dist/types/observability.d.ts +37 -0
- package/dist/types/providers.d.ts +107 -0
- package/dist/types/proxyTypes.d.ts +536 -0
- package/dist/types/proxyTypes.js +16 -0
- package/dist/types/ragTypes.d.ts +49 -1
- package/dist/types/streamTypes.d.ts +37 -13
- package/dist/types/subscriptionTypes.d.ts +77 -0
- package/dist/types/subscriptionTypes.js +2 -0
- package/dist/types/tools.d.ts +45 -1
- package/dist/types/typeAliases.d.ts +8 -0
- package/dist/types/typeAliases.js +1 -0
- package/dist/utils/async/retry.d.ts +4 -33
- package/dist/utils/asyncMutex.d.ts +14 -0
- package/dist/utils/asyncMutex.js +60 -0
- package/dist/utils/errorHandling.d.ts +2 -1
- package/dist/utils/errorHandling.js +14 -6
- package/dist/utils/fileDetector.d.ts +13 -1
- package/dist/utils/fileDetector.js +114 -32
- package/dist/utils/imageProcessor.js +7 -7
- package/dist/utils/json/safeParse.d.ts +1 -8
- package/dist/utils/mcpDefaults.d.ts +1 -1
- package/dist/utils/mcpDefaults.js +11 -2
- package/dist/utils/messageBuilder.d.ts +5 -5
- package/dist/utils/messageBuilder.js +106 -80
- package/dist/utils/modelChoices.d.ts +1 -8
- package/dist/utils/pdfProcessor.d.ts +1 -25
- package/dist/utils/pdfProcessor.js +5 -4
- package/dist/utils/pricing.js +28 -5
- package/dist/utils/rateLimiter.d.ts +1 -15
- package/dist/utils/redis.d.ts +1 -1
- package/dist/utils/redis.js +3 -3
- package/dist/utils/sanitizers/filename.d.ts +2 -22
- package/dist/utils/sanitizers/index.d.ts +4 -2
- package/dist/utils/sanitizers/svg.d.ts +1 -11
- package/dist/utils/schemaConversion.js +4 -1
- package/dist/utils/thinkingConfig.d.ts +1 -33
- package/dist/utils/tokenUtils.d.ts +1 -39
- package/dist/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/utils/videoAnalysisProcessor.js +2 -2
- package/dist/workflow/config.d.ts +89 -1257
- package/dist/workflow/utils/workflowValidation.js +1 -1
- package/docs-site/mcp-server/index.js +2 -3
- package/package.json +138 -105
- package/dist/lib/memory/mem0Initializer.d.ts +0 -46
- package/dist/lib/memory/mem0Initializer.js +0 -85
- package/dist/memory/mem0Initializer.d.ts +0 -46
- package/dist/memory/mem0Initializer.js +0 -84
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AccountPool — manages a pool of proxy accounts with round-robin / fill-first
|
|
3
|
+
* selection and exponential-backoff cooldowns for quota-exceeded accounts.
|
|
4
|
+
*
|
|
5
|
+
* @module auth/accountPool
|
|
6
|
+
*/
|
|
7
|
+
import { tokenStore } from "./tokenStore.js";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// CONSTANTS
|
|
10
|
+
// =============================================================================
|
|
11
|
+
const DEFAULT_COOLDOWN_MS = 300_000;
|
|
12
|
+
const DEFAULT_MAX_COOLDOWN_MS = 1_800_000;
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// IMPLEMENTATION
|
|
15
|
+
// =============================================================================
|
|
16
|
+
export class AccountPool {
|
|
17
|
+
accounts = new Map();
|
|
18
|
+
cursor = 0;
|
|
19
|
+
config;
|
|
20
|
+
constructor(config = {}) {
|
|
21
|
+
this.config = {
|
|
22
|
+
strategy: config.strategy ?? "round-robin",
|
|
23
|
+
defaultCooldownMs: config.defaultCooldownMs ?? DEFAULT_COOLDOWN_MS,
|
|
24
|
+
maxCooldownMs: config.maxCooldownMs ?? DEFAULT_MAX_COOLDOWN_MS,
|
|
25
|
+
maxRetryAccounts: config.maxRetryAccounts ?? 0,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Add (or replace) an account in the pool. */
|
|
29
|
+
addAccount(account) {
|
|
30
|
+
// Clear any stale token refresher for a previously-registered account
|
|
31
|
+
// with the same id — wireTokenRefresh() captures the old account object
|
|
32
|
+
// in its closure, so leaving it behind would refresh the wrong tokens.
|
|
33
|
+
tokenStore.clearTokenRefresher(account.id);
|
|
34
|
+
this.accounts.set(account.id, { ...account });
|
|
35
|
+
}
|
|
36
|
+
/** Remove an account from the pool by id. */
|
|
37
|
+
removeAccount(id) {
|
|
38
|
+
tokenStore.clearTokenRefresher(id);
|
|
39
|
+
this.accounts.delete(id);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Return the next healthy account according to the configured strategy.
|
|
43
|
+
* Returns `null` when no healthy accounts are available.
|
|
44
|
+
*/
|
|
45
|
+
getNextAccount() {
|
|
46
|
+
this._expireCooldowns();
|
|
47
|
+
const healthy = this._getHealthyAccounts();
|
|
48
|
+
if (healthy.length === 0) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
if (this.config.strategy === "fill-first") {
|
|
52
|
+
const account = healthy[0];
|
|
53
|
+
account.requestCount++;
|
|
54
|
+
account.lastUsed = Date.now();
|
|
55
|
+
return account;
|
|
56
|
+
}
|
|
57
|
+
// round-robin
|
|
58
|
+
const index = this.cursor % healthy.length;
|
|
59
|
+
this.cursor++;
|
|
60
|
+
const account = healthy[index];
|
|
61
|
+
account.requestCount++;
|
|
62
|
+
account.lastUsed = Date.now();
|
|
63
|
+
return account;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Mark an account as quota-exceeded. The account enters a cooldown state
|
|
67
|
+
* with exponential backoff capped at `maxCooldownMs`.
|
|
68
|
+
*
|
|
69
|
+
* @deprecated Proxy routes now use `RuntimeAccountState` in `claudeProxyRoutes.ts`
|
|
70
|
+
* for runtime account state management. This method is retained for public API compatibility.
|
|
71
|
+
*
|
|
72
|
+
* @param id Account id
|
|
73
|
+
* @param retryAfterMs Optional explicit retry-after duration (from server header)
|
|
74
|
+
*/
|
|
75
|
+
markQuotaExceeded(id, retryAfterMs) {
|
|
76
|
+
const account = this.accounts.get(id);
|
|
77
|
+
if (!account) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
account.consecutiveFailures++;
|
|
81
|
+
const backoff = Math.min(this.config.defaultCooldownMs *
|
|
82
|
+
Math.pow(2, account.consecutiveFailures - 1), this.config.maxCooldownMs);
|
|
83
|
+
account.cooldownUntil = Date.now() + (retryAfterMs ?? backoff);
|
|
84
|
+
account.status = "cooling";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Manually mark an account as available (healthy), clearing its cooldown.
|
|
88
|
+
*
|
|
89
|
+
* @deprecated Proxy routes now use `RuntimeAccountState` in `claudeProxyRoutes.ts`
|
|
90
|
+
* for runtime account state management. This method is retained for public API compatibility.
|
|
91
|
+
*/
|
|
92
|
+
markAvailable(id) {
|
|
93
|
+
const account = this.accounts.get(id);
|
|
94
|
+
if (!account) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
account.status = "healthy";
|
|
98
|
+
account.cooldownUntil = undefined;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Mark an account as having completed a request successfully.
|
|
102
|
+
*
|
|
103
|
+
* @deprecated Proxy routes now use `RuntimeAccountState` in `claudeProxyRoutes.ts`
|
|
104
|
+
* for runtime account state management. This method is retained for public API compatibility.
|
|
105
|
+
*/
|
|
106
|
+
markSuccess(id) {
|
|
107
|
+
const account = this.accounts.get(id);
|
|
108
|
+
if (!account) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
account.status = "healthy";
|
|
112
|
+
account.cooldownUntil = undefined;
|
|
113
|
+
account.consecutiveFailures = 0;
|
|
114
|
+
}
|
|
115
|
+
/** Return the number of currently healthy (not cooling/disabled) accounts. */
|
|
116
|
+
getHealthyCount() {
|
|
117
|
+
this._expireCooldowns();
|
|
118
|
+
return this._getHealthyAccounts().length;
|
|
119
|
+
}
|
|
120
|
+
/** Return a snapshot of all accounts in the pool. */
|
|
121
|
+
getAllAccounts() {
|
|
122
|
+
return Array.from(this.accounts.values());
|
|
123
|
+
}
|
|
124
|
+
/** Return the configured selection strategy. */
|
|
125
|
+
getStrategy() {
|
|
126
|
+
return this.config.strategy;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Wire automatic token refresh for an OAuth account.
|
|
130
|
+
* Call after addAccount() for OAuth accounts that have a refresh token.
|
|
131
|
+
*
|
|
132
|
+
* @param accountId The account id to wire refresh for
|
|
133
|
+
* @param refreshFn Function that takes a refresh token and returns new token data
|
|
134
|
+
*/
|
|
135
|
+
wireTokenRefresh(accountId, refreshFn) {
|
|
136
|
+
const account = this.accounts.get(accountId);
|
|
137
|
+
if (!account || account.type !== "oauth" || !account.tokens?.refreshToken) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
tokenStore.setTokenRefresher(accountId, async (refreshToken) => {
|
|
141
|
+
const result = await refreshFn(refreshToken);
|
|
142
|
+
const newTokens = {
|
|
143
|
+
accessToken: result.accessToken,
|
|
144
|
+
refreshToken: result.refreshToken ?? refreshToken,
|
|
145
|
+
expiresAt: result.expiresAt instanceof Date
|
|
146
|
+
? result.expiresAt.getTime()
|
|
147
|
+
: result.expiresAt,
|
|
148
|
+
tokenType: result.tokenType ?? "Bearer",
|
|
149
|
+
};
|
|
150
|
+
// Update in-memory account
|
|
151
|
+
if (account.tokens) {
|
|
152
|
+
account.tokens.accessToken = newTokens.accessToken;
|
|
153
|
+
account.tokens.expiresAt = newTokens.expiresAt;
|
|
154
|
+
if (newTokens.refreshToken) {
|
|
155
|
+
account.tokens.refreshToken = newTokens.refreshToken;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return newTokens;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
// Private helpers
|
|
163
|
+
// ---------------------------------------------------------------------------
|
|
164
|
+
_getHealthyAccounts() {
|
|
165
|
+
return Array.from(this.accounts.values()).filter((a) => a.status === "healthy");
|
|
166
|
+
}
|
|
167
|
+
_expireCooldowns() {
|
|
168
|
+
const now = Date.now();
|
|
169
|
+
for (const account of this.accounts.values()) {
|
|
170
|
+
if (account.status === "cooling" &&
|
|
171
|
+
account.cooldownUntil &&
|
|
172
|
+
now >= account.cooldownUntil) {
|
|
173
|
+
account.status = "healthy";
|
|
174
|
+
account.cooldownUntil = undefined;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=accountPool.js.map
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
* @module auth/anthropicOAuth
|
|
16
16
|
*/
|
|
17
17
|
import type { Server } from "http";
|
|
18
|
-
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "../types/errors.js";
|
|
19
18
|
/**
|
|
20
19
|
* Claude Code's official OAuth client ID
|
|
21
20
|
* Used to authenticate with Anthropic's OAuth system
|
|
@@ -26,9 +25,13 @@ export declare const CLAUDE_CODE_CLIENT_ID = "9d1c250a-e61b-44d9-88ed-5944d1962f
|
|
|
26
25
|
*/
|
|
27
26
|
export declare const ANTHROPIC_AUTH_URL = "https://claude.ai/oauth/authorize";
|
|
28
27
|
/**
|
|
29
|
-
* Anthropic OAuth token endpoint
|
|
28
|
+
* Anthropic OAuth token endpoint (primary — lighter Cloudflare)
|
|
30
29
|
*/
|
|
31
|
-
export declare const ANTHROPIC_TOKEN_URL = "https://
|
|
30
|
+
export declare const ANTHROPIC_TOKEN_URL = "https://api.anthropic.com/v1/oauth/token";
|
|
31
|
+
/**
|
|
32
|
+
* Anthropic OAuth token endpoint (fallback)
|
|
33
|
+
*/
|
|
34
|
+
export declare const ANTHROPIC_TOKEN_URL_FALLBACK = "https://console.anthropic.com/v1/oauth/token";
|
|
32
35
|
/**
|
|
33
36
|
* Anthropic OAuth redirect URI (official callback)
|
|
34
37
|
*/
|
|
@@ -63,8 +66,7 @@ export declare const DEFAULT_REDIRECT_URI = "https://console.anthropic.com/oauth
|
|
|
63
66
|
* Default local callback server port (for local testing only)
|
|
64
67
|
*/
|
|
65
68
|
export declare const DEFAULT_CALLBACK_PORT = 8787;
|
|
66
|
-
import type { OAuthFlowTokens, TokenValidationResult, AnthropicOAuthConfig, PKCEParams, CallbackResult } from "../types/
|
|
67
|
-
export type { OAuthTokenResponse, OAuthFlowTokens, OAuthFlowTokens as OAuthTokens, TokenValidationResult, AnthropicOAuthConfig, PKCEParams, CallbackResult, } from "../types/subscriptionTypes.js";
|
|
69
|
+
import type { OAuthFlowTokens, TokenValidationResult, AnthropicOAuthConfig, PKCEParams, CallbackResult } from "../types/index.js";
|
|
68
70
|
/**
|
|
69
71
|
* AnthropicOAuth - OAuth 2.0 authentication for Claude Pro/Max subscriptions
|
|
70
72
|
*
|
|
@@ -251,6 +253,14 @@ export declare class AnthropicOAuth {
|
|
|
251
253
|
* @throws OAuthTokenRevocationError if revocation fails
|
|
252
254
|
*/
|
|
253
255
|
revokeToken(token: string, tokenType?: "access_token" | "refresh_token"): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* Build the list of token endpoint URLs to try, with optional fallback.
|
|
258
|
+
*
|
|
259
|
+
* When a custom tokenUrl was provided (via config param OR constructor), never
|
|
260
|
+
* fall back to the default Anthropic endpoint — leaking credentials to an
|
|
261
|
+
* unexpected endpoint is a security risk.
|
|
262
|
+
*/
|
|
263
|
+
private getTokenUrls;
|
|
254
264
|
/**
|
|
255
265
|
* Parses a token response into structured OAuthFlowTokens
|
|
256
266
|
*/
|
|
@@ -38,8 +38,6 @@ function redactTokens(s) {
|
|
|
38
38
|
.replace(/[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+\.[A-Za-z0-9\-_]+/g, "[JWT]")
|
|
39
39
|
.replace(/\b[A-Za-z0-9\-_]{32,}\b/g, "[TOKEN]");
|
|
40
40
|
}
|
|
41
|
-
// Re-export error classes for backward compatibility
|
|
42
|
-
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "../types/errors.js";
|
|
43
41
|
// =============================================================================
|
|
44
42
|
// OAUTH CONSTANTS (Claude Code Official)
|
|
45
43
|
// =============================================================================
|
|
@@ -53,9 +51,13 @@ export const CLAUDE_CODE_CLIENT_ID = "9d1c250a-e61b-44d9-88ed-5944d1962f5e";
|
|
|
53
51
|
*/
|
|
54
52
|
export const ANTHROPIC_AUTH_URL = "https://claude.ai/oauth/authorize";
|
|
55
53
|
/**
|
|
56
|
-
* Anthropic OAuth token endpoint
|
|
54
|
+
* Anthropic OAuth token endpoint (primary — lighter Cloudflare)
|
|
57
55
|
*/
|
|
58
|
-
export const ANTHROPIC_TOKEN_URL = "https://
|
|
56
|
+
export const ANTHROPIC_TOKEN_URL = "https://api.anthropic.com/v1/oauth/token";
|
|
57
|
+
/**
|
|
58
|
+
* Anthropic OAuth token endpoint (fallback)
|
|
59
|
+
*/
|
|
60
|
+
export const ANTHROPIC_TOKEN_URL_FALLBACK = "https://console.anthropic.com/v1/oauth/token";
|
|
59
61
|
/**
|
|
60
62
|
* Anthropic OAuth redirect URI (official callback)
|
|
61
63
|
*/
|
|
@@ -339,37 +341,54 @@ export class AnthropicOAuth {
|
|
|
339
341
|
if (clientSecret) {
|
|
340
342
|
body.client_secret = clientSecret;
|
|
341
343
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
344
|
+
const urls = this.getTokenUrls(config.tokenUrl);
|
|
345
|
+
let lastError;
|
|
346
|
+
for (const url of urls) {
|
|
347
|
+
const controller = new AbortController();
|
|
348
|
+
const timeoutId = setTimeout(() => controller.abort(), 10_000);
|
|
349
|
+
try {
|
|
350
|
+
const response = await fetch(url, {
|
|
351
|
+
method: "POST",
|
|
352
|
+
headers: {
|
|
353
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
354
|
+
Accept: "application/json",
|
|
355
|
+
},
|
|
356
|
+
body: new URLSearchParams(body).toString(),
|
|
357
|
+
signal: controller.signal,
|
|
358
|
+
});
|
|
359
|
+
if (!response.ok) {
|
|
360
|
+
const errorBody = await response.text();
|
|
361
|
+
logger.error("Token exchange failed", {
|
|
362
|
+
url,
|
|
363
|
+
status: response.status,
|
|
364
|
+
error: redactTokens(errorBody).slice(0, 500),
|
|
365
|
+
});
|
|
366
|
+
lastError = new OAuthTokenExchangeError(`Token exchange failed: ${response.status} - ${errorBody}`, response.status);
|
|
367
|
+
continue;
|
|
368
|
+
}
|
|
369
|
+
const tokenResponse = await response.json();
|
|
370
|
+
const tokens = this.parseTokenResponse(tokenResponse);
|
|
371
|
+
logger.info("Token exchange successful", {
|
|
372
|
+
expiresAt: tokens.expiresAt.toISOString(),
|
|
373
|
+
hasRefreshToken: !!tokens.refreshToken,
|
|
356
374
|
});
|
|
357
|
-
|
|
375
|
+
return tokens;
|
|
358
376
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
throw error;
|
|
377
|
+
catch (error) {
|
|
378
|
+
if (error instanceof OAuthError) {
|
|
379
|
+
lastError = error;
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
lastError = new OAuthTokenExchangeError(`Failed to exchange authorization code: ${error instanceof Error ? error.message : String(error)}`);
|
|
383
|
+
continue;
|
|
384
|
+
}
|
|
385
|
+
finally {
|
|
386
|
+
clearTimeout(timeoutId);
|
|
370
387
|
}
|
|
371
|
-
throw new OAuthTokenExchangeError(`Failed to exchange authorization code: ${error instanceof Error ? error.message : String(error)}`);
|
|
372
388
|
}
|
|
389
|
+
throw lastError instanceof OAuthError
|
|
390
|
+
? lastError
|
|
391
|
+
: new OAuthTokenExchangeError(`Failed to exchange authorization code: ${lastError instanceof Error ? lastError.message : String(lastError)}`);
|
|
373
392
|
}
|
|
374
393
|
// =============================================================================
|
|
375
394
|
// TOKEN REFRESH
|
|
@@ -405,36 +424,58 @@ export class AnthropicOAuth {
|
|
|
405
424
|
if (clientSecret) {
|
|
406
425
|
body.client_secret = clientSecret;
|
|
407
426
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
427
|
+
const headers = {
|
|
428
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
429
|
+
Accept: "application/json",
|
|
430
|
+
"User-Agent": CLAUDE_CLI_USER_AGENT,
|
|
431
|
+
};
|
|
432
|
+
const urls = this.getTokenUrls(config.tokenUrl);
|
|
433
|
+
let lastError;
|
|
434
|
+
for (const url of urls) {
|
|
435
|
+
const controller = new AbortController();
|
|
436
|
+
const timeoutId = setTimeout(() => controller.abort(), 10_000);
|
|
437
|
+
try {
|
|
438
|
+
const response = await fetch(url, {
|
|
439
|
+
method: "POST",
|
|
440
|
+
headers,
|
|
441
|
+
body: new URLSearchParams(body).toString(),
|
|
442
|
+
signal: controller.signal,
|
|
443
|
+
});
|
|
444
|
+
if (!response.ok) {
|
|
445
|
+
const errorBody = await response.text();
|
|
446
|
+
logger.error("Token refresh failed", {
|
|
447
|
+
url,
|
|
448
|
+
status: response.status,
|
|
449
|
+
error: redactTokens(errorBody).slice(0, 500),
|
|
450
|
+
});
|
|
451
|
+
lastError = new OAuthTokenRefreshError(`Token refresh failed: ${response.status} - ${errorBody}`, response.status);
|
|
452
|
+
// Try fallback URL if available
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
const tokenResponse = await response.json();
|
|
456
|
+
const tokens = this.parseTokenResponse(tokenResponse);
|
|
457
|
+
logger.info("Access token refreshed successfully", {
|
|
458
|
+
expiresAt: tokens.expiresAt.toISOString(),
|
|
422
459
|
});
|
|
423
|
-
|
|
460
|
+
return tokens;
|
|
424
461
|
}
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
462
|
+
catch (error) {
|
|
463
|
+
if (error instanceof OAuthError) {
|
|
464
|
+
lastError = error;
|
|
465
|
+
// Try fallback URL if available
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
lastError = new OAuthTokenRefreshError(`Failed to refresh access token: ${error instanceof Error ? error.message : String(error)}`);
|
|
469
|
+
continue;
|
|
470
|
+
}
|
|
471
|
+
finally {
|
|
472
|
+
clearTimeout(timeoutId);
|
|
435
473
|
}
|
|
436
|
-
throw new OAuthTokenRefreshError(`Failed to refresh access token: ${error instanceof Error ? error.message : String(error)}`);
|
|
437
474
|
}
|
|
475
|
+
// All URLs exhausted — throw the last error
|
|
476
|
+
throw lastError instanceof OAuthError
|
|
477
|
+
? lastError
|
|
478
|
+
: new OAuthTokenRefreshError(`Failed to refresh access token: ${lastError instanceof Error ? lastError.message : String(lastError)}`);
|
|
438
479
|
}
|
|
439
480
|
// =============================================================================
|
|
440
481
|
// TOKEN VALIDATION
|
|
@@ -471,6 +512,7 @@ export class AnthropicOAuth {
|
|
|
471
512
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
472
513
|
Accept: "application/json",
|
|
473
514
|
Authorization: `Bearer ${accessToken}`,
|
|
515
|
+
"User-Agent": CLAUDE_CLI_USER_AGENT,
|
|
474
516
|
},
|
|
475
517
|
body: new URLSearchParams({
|
|
476
518
|
token: accessToken,
|
|
@@ -513,6 +555,7 @@ export class AnthropicOAuth {
|
|
|
513
555
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
514
556
|
Accept: "application/json",
|
|
515
557
|
Authorization: `Bearer ${accessToken}`,
|
|
558
|
+
"User-Agent": CLAUDE_CLI_USER_AGENT,
|
|
516
559
|
},
|
|
517
560
|
body: new URLSearchParams({
|
|
518
561
|
token: accessToken,
|
|
@@ -605,6 +648,23 @@ export class AnthropicOAuth {
|
|
|
605
648
|
// =============================================================================
|
|
606
649
|
// HELPER METHODS
|
|
607
650
|
// =============================================================================
|
|
651
|
+
/**
|
|
652
|
+
* Build the list of token endpoint URLs to try, with optional fallback.
|
|
653
|
+
*
|
|
654
|
+
* When a custom tokenUrl was provided (via config param OR constructor), never
|
|
655
|
+
* fall back to the default Anthropic endpoint — leaking credentials to an
|
|
656
|
+
* unexpected endpoint is a security risk.
|
|
657
|
+
*/
|
|
658
|
+
getTokenUrls(configTokenUrl) {
|
|
659
|
+
if (configTokenUrl) {
|
|
660
|
+
return [configTokenUrl];
|
|
661
|
+
}
|
|
662
|
+
const isCustomConstructorUrl = this.tokenUrl !== ANTHROPIC_TOKEN_URL;
|
|
663
|
+
if (isCustomConstructorUrl) {
|
|
664
|
+
return [this.tokenUrl];
|
|
665
|
+
}
|
|
666
|
+
return [this.tokenUrl, ANTHROPIC_TOKEN_URL_FALLBACK];
|
|
667
|
+
}
|
|
608
668
|
/**
|
|
609
669
|
* Parses a token response into structured OAuthFlowTokens
|
|
610
670
|
*/
|
package/dist/lib/auth/index.d.ts
CHANGED
|
@@ -11,10 +11,12 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { ANTHROPIC_OAUTH_BASE_URL, DEFAULT_SCOPES, DEFAULT_REDIRECT_URI, DEFAULT_CALLBACK_PORT, } from "./anthropicOAuth.js";
|
|
13
13
|
export { AnthropicOAuth } from "./anthropicOAuth.js";
|
|
14
|
-
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "
|
|
14
|
+
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "../types/errors.js";
|
|
15
15
|
export { createAnthropicOAuth, createAnthropicOAuthConfig, hasAnthropicOAuthCredentials, startCallbackServer, stopCallbackServer, performOAuthFlow, } from "./anthropicOAuth.js";
|
|
16
|
-
export type { OAuthTokenResponse, OAuthFlowTokens, OAuthFlowTokens as OAuthTokens, TokenValidationResult, AnthropicOAuthConfig, PKCEParams, CallbackResult, } from "
|
|
16
|
+
export type { OAuthTokenResponse, OAuthFlowTokens, OAuthFlowTokens as OAuthTokens, TokenValidationResult, AnthropicOAuthConfig, PKCEParams, CallbackResult, } from "../types/index.js";
|
|
17
17
|
export { TokenStore, tokenStore, defaultTokenStore } from "./tokenStore.js";
|
|
18
|
-
export { TokenStoreError } from "
|
|
19
|
-
export type { StoredOAuthTokens,
|
|
20
|
-
export type { NeuroLinkAuthOptions, AuthStatus
|
|
18
|
+
export { TokenStoreError } from "../types/errors.js";
|
|
19
|
+
export type { StoredOAuthTokens, TokenRefresher } from "../types/authTypes.js";
|
|
20
|
+
export type { NeuroLinkAuthOptions, AuthStatus } from "../types/index.js";
|
|
21
|
+
export { AccountPool } from "./accountPool.js";
|
|
22
|
+
export type { ProxyAccount, AccountPoolConfig } from "../types/index.js";
|
package/dist/lib/auth/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export { ANTHROPIC_OAUTH_BASE_URL, DEFAULT_SCOPES, DEFAULT_REDIRECT_URI, DEFAULT
|
|
|
17
17
|
// Main OAuth class
|
|
18
18
|
export { AnthropicOAuth } from "./anthropicOAuth.js";
|
|
19
19
|
// OAuth error classes (canonical definitions in types/errors.ts)
|
|
20
|
-
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "
|
|
20
|
+
export { OAuthError, OAuthConfigurationError, OAuthTokenExchangeError, OAuthTokenRefreshError, OAuthTokenValidationError, OAuthTokenRevocationError, OAuthCallbackServerError, } from "../types/errors.js";
|
|
21
21
|
// OAuth helper functions
|
|
22
22
|
export { createAnthropicOAuth, createAnthropicOAuthConfig, hasAnthropicOAuthCredentials, startCallbackServer, stopCallbackServer, performOAuthFlow, } from "./anthropicOAuth.js";
|
|
23
23
|
// =============================================================================
|
|
@@ -26,5 +26,9 @@ export { createAnthropicOAuth, createAnthropicOAuthConfig, hasAnthropicOAuthCred
|
|
|
26
26
|
// Main TokenStore class and instances
|
|
27
27
|
export { TokenStore, tokenStore, defaultTokenStore } from "./tokenStore.js";
|
|
28
28
|
// Token store error class (canonical definition in types/errors.ts)
|
|
29
|
-
export { TokenStoreError } from "
|
|
29
|
+
export { TokenStoreError } from "../types/errors.js";
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// ACCOUNT POOL - Multi-account rotation with cooldowns
|
|
32
|
+
// =============================================================================
|
|
33
|
+
export { AccountPool } from "./accountPool.js";
|
|
30
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -12,32 +12,8 @@
|
|
|
12
12
|
* - Automatic token refresh via configurable refresher functions
|
|
13
13
|
* - Cross-platform support (Unix/macOS/Windows)
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* OAuth tokens structure for storage.
|
|
18
|
-
* Stricter version of OAuthTokens from subscriptionTypes with required fields.
|
|
19
|
-
*/
|
|
20
|
-
export interface StoredOAuthTokens {
|
|
21
|
-
/** The access token for API authentication */
|
|
22
|
-
accessToken: string;
|
|
23
|
-
/** The refresh token for obtaining new access tokens (optional for some OAuth flows) */
|
|
24
|
-
refreshToken?: string;
|
|
25
|
-
/** Unix timestamp (ms) when the access token expires */
|
|
26
|
-
expiresAt: number;
|
|
27
|
-
/** Token type, typically "Bearer" */
|
|
28
|
-
tokenType: string;
|
|
29
|
-
/** Optional OAuth scopes granted */
|
|
30
|
-
scope?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated Use StoredOAuthTokens instead
|
|
34
|
-
*/
|
|
35
|
-
export type OAuthTokens = StoredOAuthTokens;
|
|
36
|
-
/**
|
|
37
|
-
* Token refresher function type
|
|
38
|
-
* Takes a refresh token and returns new tokens
|
|
39
|
-
*/
|
|
40
|
-
export type TokenRefresher = (refreshToken: string) => Promise<StoredOAuthTokens>;
|
|
15
|
+
import type { StoredOAuthTokens, TokenRefresher } from "../types/authTypes.js";
|
|
16
|
+
export type { StoredOAuthTokens, TokenRefresher };
|
|
41
17
|
/**
|
|
42
18
|
* Secure token storage for OAuth tokens with multi-provider support
|
|
43
19
|
*
|
|
@@ -76,12 +52,14 @@ export declare class TokenStore {
|
|
|
76
52
|
private static readonly TOKEN_FILE;
|
|
77
53
|
private static readonly FILE_PERMISSIONS;
|
|
78
54
|
private static readonly DIR_PERMISSIONS;
|
|
79
|
-
/** Default expiration buffer:
|
|
55
|
+
/** Default expiration buffer: 1 hour (proactive refresh before actual expiry) */
|
|
80
56
|
private static readonly DEFAULT_EXPIRY_BUFFER_MS;
|
|
81
57
|
private readonly storagePath;
|
|
82
58
|
private readonly encryptionEnabled;
|
|
83
59
|
private readonly encryptionKey;
|
|
84
60
|
private readonly tokenRefreshers;
|
|
61
|
+
private readonly inFlightRefreshes;
|
|
62
|
+
private readonly _mutex;
|
|
85
63
|
/**
|
|
86
64
|
* Creates a new TokenStore instance
|
|
87
65
|
*
|
|
@@ -107,6 +85,10 @@ export declare class TokenStore {
|
|
|
107
85
|
* @throws TokenStoreError if storage fails
|
|
108
86
|
*/
|
|
109
87
|
saveTokens(provider: string, tokens: StoredOAuthTokens): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Internal save without mutex — callers must already hold the mutex.
|
|
90
|
+
*/
|
|
91
|
+
private _saveTokensInternal;
|
|
110
92
|
/**
|
|
111
93
|
* Loads stored OAuth tokens for a specific provider
|
|
112
94
|
*
|
|
@@ -115,6 +97,10 @@ export declare class TokenStore {
|
|
|
115
97
|
* @throws TokenStoreError if reading fails (other than file not found)
|
|
116
98
|
*/
|
|
117
99
|
loadTokens(provider: string): Promise<StoredOAuthTokens | null>;
|
|
100
|
+
/**
|
|
101
|
+
* Internal load without mutex — callers must already hold the mutex.
|
|
102
|
+
*/
|
|
103
|
+
private _loadTokensInternal;
|
|
118
104
|
/**
|
|
119
105
|
* Clears stored tokens for a specific provider
|
|
120
106
|
*
|
|
@@ -170,6 +156,64 @@ export declare class TokenStore {
|
|
|
170
156
|
* @returns Array of provider names
|
|
171
157
|
*/
|
|
172
158
|
listProviders(): Promise<string[]>;
|
|
159
|
+
/**
|
|
160
|
+
* Lists all provider keys that start with the given prefix
|
|
161
|
+
*
|
|
162
|
+
* @param prefix - The prefix to filter by (e.g., "anthropic:")
|
|
163
|
+
* @returns Array of matching provider keys
|
|
164
|
+
*/
|
|
165
|
+
listByPrefix(prefix: string): Promise<string[]>;
|
|
166
|
+
/**
|
|
167
|
+
* Marks a provider's tokens as permanently disabled (persisted to disk).
|
|
168
|
+
*
|
|
169
|
+
* Disabled accounts are skipped immediately by consumers — no wasted
|
|
170
|
+
* round-trips. The state survives proxy restarts because it is stored
|
|
171
|
+
* alongside the tokens in the JSON file.
|
|
172
|
+
*
|
|
173
|
+
* @param provider - The provider key (e.g., "anthropic:user@example.com")
|
|
174
|
+
* @param reason - Optional human-readable reason (e.g., "refresh_failed")
|
|
175
|
+
*/
|
|
176
|
+
markDisabled(provider: string, reason?: string): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Re-enables a previously disabled provider (persisted to disk).
|
|
179
|
+
*
|
|
180
|
+
* Clears the disabled flag, timestamp, and reason so the account can
|
|
181
|
+
* be used again by the proxy pool.
|
|
182
|
+
*
|
|
183
|
+
* @param provider - The provider key (e.g., "anthropic:user@example.com")
|
|
184
|
+
*/
|
|
185
|
+
markEnabled(provider: string): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Checks whether a provider's tokens are currently disabled.
|
|
188
|
+
*
|
|
189
|
+
* Returns false for providers that don't exist in the store (no tokens
|
|
190
|
+
* at all) and for entries that predate the disabled field (backward compat).
|
|
191
|
+
*
|
|
192
|
+
* @param provider - The provider key
|
|
193
|
+
* @returns true if the provider entry exists and is disabled
|
|
194
|
+
*/
|
|
195
|
+
isDisabled(provider: string): Promise<boolean>;
|
|
196
|
+
/**
|
|
197
|
+
* Lists all provider keys that are currently disabled.
|
|
198
|
+
*
|
|
199
|
+
* @returns Array of disabled provider keys (empty if none or no storage file)
|
|
200
|
+
*/
|
|
201
|
+
listDisabled(): Promise<string[]>;
|
|
202
|
+
/**
|
|
203
|
+
* Removes expired and unrefreshable token entries from disk.
|
|
204
|
+
*
|
|
205
|
+
* An entry is pruned when:
|
|
206
|
+
* - Its access token is expired (with optional buffer) AND it has no
|
|
207
|
+
* refresh token, AND it is NOT manually disabled.
|
|
208
|
+
*
|
|
209
|
+
* Manually disabled entries are preserved so that `auth enable` can
|
|
210
|
+
* re-enable them later. They are only removed via explicit `clearTokens`.
|
|
211
|
+
*
|
|
212
|
+
* @param bufferMs - Extra buffer in milliseconds to subtract from expiresAt
|
|
213
|
+
* when checking expiry (default: 0 — strict expiry check)
|
|
214
|
+
* @returns Array of provider keys that were removed
|
|
215
|
+
*/
|
|
216
|
+
pruneExpired(bufferMs?: number): Promise<string[]>;
|
|
173
217
|
/**
|
|
174
218
|
* Clears all stored tokens for all providers
|
|
175
219
|
*
|