@juspay/neurolink 9.32.0 → 9.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/auth/anthropicOAuth.js +1 -1
- package/dist/cli/commands/proxy.js +18 -5
- package/dist/client/aiSdkAdapter.js +1 -1
- package/dist/client/index.js +137 -501
- package/dist/core/factory.js +0 -1
- package/dist/core/redisConversationMemoryManager.js +1 -1
- package/dist/features/ppt/slideGenerator.js +0 -1
- package/dist/features/ppt/utils.js +0 -1
- package/dist/lib/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/mcp/elicitationProtocol.js +1 -1
- package/dist/mcp/servers/agent/directToolsServer.js +0 -1
- package/dist/providers/azureOpenai.js +1 -1
- package/dist/providers/huggingFace.js +0 -1
- package/dist/providers/openaiCompatible.js +0 -1
- package/dist/sdk/toolRegistration.js +0 -1
- package/dist/server/openapi/generator.js +1 -1
- package/dist/server/routes/claudeProxyRoutes.js +45 -9
- package/dist/types/configTypes.js +0 -5
- package/dist/types/modelTypes.js +0 -1
- package/dist/types/tools.js +0 -1
- package/dist/types/typeAliases.js +0 -1
- package/dist/types/utilities.js +1 -1
- package/dist/types/workflowTypes.js +0 -1
- package/dist/utils/providerRetry.js +0 -1
- package/dist/utils/providerUtils.js +0 -1
- package/package.json +2 -2
- package/dist/client/adapters/providerImageAdapter.js +0 -588
- package/dist/client/adapters/tts/googleTTSHandler.js +0 -344
- package/dist/client/adapters/video/directorPipeline.js +0 -516
- package/dist/client/adapters/video/ffmpegAdapter.js +0 -206
- package/dist/client/adapters/video/frameExtractor.js +0 -143
- package/dist/client/adapters/video/vertexVideoHandler.js +0 -763
- package/dist/client/adapters/video/videoAnalyzer.js +0 -238
- package/dist/client/adapters/video/videoMerger.js +0 -171
- package/dist/client/agent/directTools.js +0 -840
- package/dist/client/auth/AuthProviderFactory.js +0 -111
- package/dist/client/auth/AuthProviderRegistry.js +0 -190
- package/dist/client/auth/RequestContext.js +0 -78
- package/dist/client/auth/accountPool.js +0 -178
- package/dist/client/auth/anthropicOAuth.js +0 -974
- package/dist/client/auth/authContext.js +0 -314
- package/dist/client/auth/errors.js +0 -39
- package/dist/client/auth/index.js +0 -61
- package/dist/client/auth/middleware/AuthMiddleware.js +0 -519
- package/dist/client/auth/middleware/rateLimitByUser.js +0 -554
- package/dist/client/auth/providers/BaseAuthProvider.js +0 -723
- package/dist/client/auth/providers/CognitoProvider.js +0 -304
- package/dist/client/auth/providers/KeycloakProvider.js +0 -393
- package/dist/client/auth/providers/auth0.js +0 -274
- package/dist/client/auth/providers/betterAuth.js +0 -182
- package/dist/client/auth/providers/clerk.js +0 -317
- package/dist/client/auth/providers/custom.js +0 -112
- package/dist/client/auth/providers/firebase.js +0 -226
- package/dist/client/auth/providers/jwt.js +0 -212
- package/dist/client/auth/providers/oauth2.js +0 -303
- package/dist/client/auth/providers/supabase.js +0 -259
- package/dist/client/auth/providers/workos.js +0 -284
- package/dist/client/auth/serverBridge.js +0 -25
- package/dist/client/auth/sessionManager.js +0 -437
- package/dist/client/auth/tokenStore.js +0 -799
- package/dist/client/client/aiSdkAdapter.js +0 -487
- package/dist/client/client/auth.js +0 -473
- package/dist/client/client/errors.js +0 -552
- package/dist/client/client/httpClient.js +0 -837
- package/dist/client/client/index.js +0 -172
- package/dist/client/client/interceptors.js +0 -601
- package/dist/client/client/sseClient.js +0 -545
- package/dist/client/client/streamingClient.js +0 -917
- package/dist/client/client/wsClient.js +0 -369
- package/dist/client/config/configManager.js +0 -303
- package/dist/client/config/conversationMemory.js +0 -86
- package/dist/client/config/taskClassificationConfig.js +0 -148
- package/dist/client/constants/contextWindows.js +0 -295
- package/dist/client/constants/enums.js +0 -853
- package/dist/client/constants/index.js +0 -207
- package/dist/client/constants/performance.js +0 -389
- package/dist/client/constants/retry.js +0 -266
- package/dist/client/constants/timeouts.js +0 -182
- package/dist/client/constants/tokens.js +0 -380
- package/dist/client/constants/videoErrors.js +0 -46
- package/dist/client/context/budgetChecker.js +0 -98
- package/dist/client/context/contextCompactor.js +0 -205
- package/dist/client/context/emergencyTruncation.js +0 -88
- package/dist/client/context/errorDetection.js +0 -171
- package/dist/client/context/errors.js +0 -21
- package/dist/client/context/fileTokenBudget.js +0 -127
- package/dist/client/context/prompts/summarizationPrompt.js +0 -117
- package/dist/client/context/stages/fileReadDeduplicator.js +0 -66
- package/dist/client/context/stages/slidingWindowTruncator.js +0 -190
- package/dist/client/context/stages/structuredSummarizer.js +0 -99
- package/dist/client/context/stages/toolOutputPruner.js +0 -52
- package/dist/client/context/summarizationEngine.js +0 -136
- package/dist/client/context/toolOutputLimits.js +0 -78
- package/dist/client/context/toolPairRepair.js +0 -66
- package/dist/client/core/analytics.js +0 -88
- package/dist/client/core/baseProvider.js +0 -1385
- package/dist/client/core/constants.js +0 -140
- package/dist/client/core/conversationMemoryFactory.js +0 -141
- package/dist/client/core/conversationMemoryInitializer.js +0 -128
- package/dist/client/core/conversationMemoryManager.js +0 -344
- package/dist/client/core/dynamicModels.js +0 -358
- package/dist/client/core/evaluation.js +0 -309
- package/dist/client/core/evaluationProviders.js +0 -248
- package/dist/client/core/factory.js +0 -412
- package/dist/client/core/infrastructure/baseError.js +0 -22
- package/dist/client/core/infrastructure/baseFactory.js +0 -54
- package/dist/client/core/infrastructure/baseRegistry.js +0 -53
- package/dist/client/core/infrastructure/index.js +0 -5
- package/dist/client/core/infrastructure/retry.js +0 -20
- package/dist/client/core/infrastructure/typedEventEmitter.js +0 -23
- package/dist/client/core/modelConfiguration.js +0 -851
- package/dist/client/core/modules/GenerationHandler.js +0 -588
- package/dist/client/core/modules/MessageBuilder.js +0 -273
- package/dist/client/core/modules/StreamHandler.js +0 -185
- package/dist/client/core/modules/TelemetryHandler.js +0 -203
- package/dist/client/core/modules/ToolsManager.js +0 -499
- package/dist/client/core/modules/Utilities.js +0 -331
- package/dist/client/core/redisConversationMemoryManager.js +0 -1435
- package/dist/client/core/streamAnalytics.js +0 -131
- package/dist/client/evaluation/contextBuilder.js +0 -134
- package/dist/client/evaluation/index.js +0 -61
- package/dist/client/evaluation/prompts.js +0 -73
- package/dist/client/evaluation/ragasEvaluator.js +0 -110
- package/dist/client/evaluation/retryManager.js +0 -78
- package/dist/client/evaluation/scoring.js +0 -61
- package/dist/client/factories/providerFactory.js +0 -166
- package/dist/client/factories/providerRegistry.js +0 -166
- package/dist/client/features/ppt/constants.js +0 -896
- package/dist/client/features/ppt/contentPlanner.js +0 -529
- package/dist/client/features/ppt/presentationOrchestrator.js +0 -236
- package/dist/client/features/ppt/slideGenerator.js +0 -532
- package/dist/client/features/ppt/slideRenderers.js +0 -2383
- package/dist/client/features/ppt/slideTypeInference.js +0 -405
- package/dist/client/features/ppt/types.js +0 -13
- package/dist/client/features/ppt/utils.js +0 -443
- package/dist/client/files/fileReferenceRegistry.js +0 -1543
- package/dist/client/files/fileTools.js +0 -450
- package/dist/client/files/streamingReader.js +0 -321
- package/dist/client/files/types.js +0 -23
- package/dist/client/hitl/hitlErrors.js +0 -54
- package/dist/client/hitl/hitlManager.js +0 -460
- package/dist/client/mcp/agentExposure.js +0 -356
- package/dist/client/mcp/auth/index.js +0 -11
- package/dist/client/mcp/auth/oauthClientProvider.js +0 -325
- package/dist/client/mcp/auth/tokenStorage.js +0 -134
- package/dist/client/mcp/batching/index.js +0 -10
- package/dist/client/mcp/batching/requestBatcher.js +0 -441
- package/dist/client/mcp/caching/index.js +0 -10
- package/dist/client/mcp/caching/toolCache.js +0 -433
- package/dist/client/mcp/elicitation/elicitationManager.js +0 -376
- package/dist/client/mcp/elicitation/index.js +0 -11
- package/dist/client/mcp/elicitation/types.js +0 -10
- package/dist/client/mcp/elicitationProtocol.js +0 -375
- package/dist/client/mcp/enhancedToolDiscovery.js +0 -481
- package/dist/client/mcp/externalServerManager.js +0 -1478
- package/dist/client/mcp/factory.js +0 -161
- package/dist/client/mcp/flexibleToolValidator.js +0 -161
- package/dist/client/mcp/httpRateLimiter.js +0 -391
- package/dist/client/mcp/httpRetryHandler.js +0 -178
- package/dist/client/mcp/index.js +0 -74
- package/dist/client/mcp/mcpCircuitBreaker.js +0 -427
- package/dist/client/mcp/mcpClientFactory.js +0 -708
- package/dist/client/mcp/mcpRegistryClient.js +0 -488
- package/dist/client/mcp/mcpServerBase.js +0 -373
- package/dist/client/mcp/multiServerManager.js +0 -579
- package/dist/client/mcp/registry.js +0 -158
- package/dist/client/mcp/routing/index.js +0 -10
- package/dist/client/mcp/routing/toolRouter.js +0 -416
- package/dist/client/mcp/serverCapabilities.js +0 -502
- package/dist/client/mcp/servers/agent/directToolsServer.js +0 -150
- package/dist/client/mcp/toolAnnotations.js +0 -239
- package/dist/client/mcp/toolConverter.js +0 -258
- package/dist/client/mcp/toolDiscoveryService.js +0 -798
- package/dist/client/mcp/toolIntegration.js +0 -334
- package/dist/client/mcp/toolRegistry.js +0 -729
- package/dist/client/memory/hippocampusInitializer.js +0 -19
- package/dist/client/memory/memoryRetrievalTools.js +0 -166
- package/dist/client/middleware/builtin/analytics.js +0 -132
- package/dist/client/middleware/builtin/autoEvaluation.js +0 -203
- package/dist/client/middleware/builtin/guardrails.js +0 -109
- package/dist/client/middleware/builtin/lifecycle.js +0 -168
- package/dist/client/middleware/factory.js +0 -327
- package/dist/client/middleware/registry.js +0 -295
- package/dist/client/middleware/utils/guardrailsUtils.js +0 -396
- package/dist/client/models/anthropicModels.js +0 -527
- package/dist/client/neurolink.js +0 -8233
- package/dist/client/observability/exporterRegistry.js +0 -413
- package/dist/client/observability/exporters/arizeExporter.js +0 -138
- package/dist/client/observability/exporters/baseExporter.js +0 -190
- package/dist/client/observability/exporters/braintrustExporter.js +0 -154
- package/dist/client/observability/exporters/datadogExporter.js +0 -196
- package/dist/client/observability/exporters/laminarExporter.js +0 -302
- package/dist/client/observability/exporters/langfuseExporter.js +0 -209
- package/dist/client/observability/exporters/langsmithExporter.js +0 -143
- package/dist/client/observability/exporters/otelExporter.js +0 -164
- package/dist/client/observability/exporters/posthogExporter.js +0 -287
- package/dist/client/observability/exporters/sentryExporter.js +0 -165
- package/dist/client/observability/index.js +0 -31
- package/dist/client/observability/metricsAggregator.js +0 -556
- package/dist/client/observability/otelBridge.js +0 -131
- package/dist/client/observability/retryPolicy.js +0 -383
- package/dist/client/observability/sampling/samplers.js +0 -216
- package/dist/client/observability/spanProcessor.js +0 -303
- package/dist/client/observability/tokenTracker.js +0 -413
- package/dist/client/observability/types/exporterTypes.js +0 -5
- package/dist/client/observability/types/index.js +0 -4
- package/dist/client/observability/types/spanTypes.js +0 -92
- package/dist/client/observability/utils/safeMetadata.js +0 -25
- package/dist/client/observability/utils/spanSerializer.js +0 -292
- package/dist/client/processors/archive/ArchiveProcessor.js +0 -1308
- package/dist/client/processors/base/BaseFileProcessor.js +0 -614
- package/dist/client/processors/base/types.js +0 -82
- package/dist/client/processors/config/fileTypes.js +0 -520
- package/dist/client/processors/config/index.js +0 -92
- package/dist/client/processors/config/languageMap.js +0 -410
- package/dist/client/processors/config/mimeTypes.js +0 -363
- package/dist/client/processors/config/sizeLimits.js +0 -258
- package/dist/client/processors/document/ExcelProcessor.js +0 -590
- package/dist/client/processors/document/OpenDocumentProcessor.js +0 -212
- package/dist/client/processors/document/PptxProcessor.js +0 -157
- package/dist/client/processors/document/RtfProcessor.js +0 -361
- package/dist/client/processors/document/WordProcessor.js +0 -353
- package/dist/client/processors/errors/FileErrorCode.js +0 -255
- package/dist/client/processors/errors/errorHelpers.js +0 -386
- package/dist/client/processors/errors/errorSerializer.js +0 -507
- package/dist/client/processors/errors/index.js +0 -49
- package/dist/client/processors/markup/SvgProcessor.js +0 -240
- package/dist/client/processors/media/AudioProcessor.js +0 -707
- package/dist/client/processors/media/VideoProcessor.js +0 -1045
- package/dist/client/providers/amazonBedrock.js +0 -1512
- package/dist/client/providers/amazonSagemaker.js +0 -162
- package/dist/client/providers/anthropic.js +0 -831
- package/dist/client/providers/azureOpenai.js +0 -143
- package/dist/client/providers/googleAiStudio.js +0 -1200
- package/dist/client/providers/googleNativeGemini3.js +0 -543
- package/dist/client/providers/googleVertex.js +0 -2936
- package/dist/client/providers/huggingFace.js +0 -315
- package/dist/client/providers/litellm.js +0 -488
- package/dist/client/providers/mistral.js +0 -157
- package/dist/client/providers/ollama.js +0 -1579
- package/dist/client/providers/openAI.js +0 -627
- package/dist/client/providers/openRouter.js +0 -543
- package/dist/client/providers/openaiCompatible.js +0 -290
- package/dist/client/providers/providerTypeUtils.js +0 -46
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +0 -215
- package/dist/client/providers/sagemaker/client.js +0 -472
- package/dist/client/providers/sagemaker/config.js +0 -317
- package/dist/client/providers/sagemaker/detection.js +0 -606
- package/dist/client/providers/sagemaker/error-constants.js +0 -227
- package/dist/client/providers/sagemaker/errors.js +0 -299
- package/dist/client/providers/sagemaker/language-model.js +0 -775
- package/dist/client/providers/sagemaker/parsers.js +0 -634
- package/dist/client/providers/sagemaker/streaming.js +0 -331
- package/dist/client/providers/sagemaker/structured-parser.js +0 -625
- package/dist/client/proxy/accountQuota.js +0 -162
- package/dist/client/proxy/claudeFormat.js +0 -595
- package/dist/client/proxy/modelRouter.js +0 -29
- package/dist/client/proxy/oauthFetch.js +0 -367
- package/dist/client/proxy/proxyFetch.js +0 -586
- package/dist/client/proxy/requestLogger.js +0 -207
- package/dist/client/proxy/tokenRefresh.js +0 -124
- package/dist/client/proxy/usageStats.js +0 -74
- package/dist/client/proxy/utils/noProxyUtils.js +0 -149
- package/dist/client/rag/ChunkerFactory.js +0 -320
- package/dist/client/rag/ChunkerRegistry.js +0 -421
- package/dist/client/rag/chunkers/BaseChunker.js +0 -143
- package/dist/client/rag/chunkers/CharacterChunker.js +0 -28
- package/dist/client/rag/chunkers/HTMLChunker.js +0 -38
- package/dist/client/rag/chunkers/JSONChunker.js +0 -68
- package/dist/client/rag/chunkers/LaTeXChunker.js +0 -63
- package/dist/client/rag/chunkers/MarkdownChunker.js +0 -306
- package/dist/client/rag/chunkers/RecursiveChunker.js +0 -139
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +0 -138
- package/dist/client/rag/chunkers/SentenceChunker.js +0 -66
- package/dist/client/rag/chunkers/TokenChunker.js +0 -61
- package/dist/client/rag/chunkers/index.js +0 -15
- package/dist/client/rag/chunking/characterChunker.js +0 -142
- package/dist/client/rag/chunking/chunkerRegistry.js +0 -194
- package/dist/client/rag/chunking/htmlChunker.js +0 -247
- package/dist/client/rag/chunking/index.js +0 -17
- package/dist/client/rag/chunking/jsonChunker.js +0 -281
- package/dist/client/rag/chunking/latexChunker.js +0 -251
- package/dist/client/rag/chunking/markdownChunker.js +0 -373
- package/dist/client/rag/chunking/recursiveChunker.js +0 -148
- package/dist/client/rag/chunking/semanticChunker.js +0 -306
- package/dist/client/rag/chunking/sentenceChunker.js +0 -230
- package/dist/client/rag/chunking/tokenChunker.js +0 -183
- package/dist/client/rag/document/MDocument.js +0 -392
- package/dist/client/rag/document/index.js +0 -5
- package/dist/client/rag/document/loaders.js +0 -500
- package/dist/client/rag/errors/RAGError.js +0 -274
- package/dist/client/rag/errors/index.js +0 -6
- package/dist/client/rag/graphRag/graphRAG.js +0 -401
- package/dist/client/rag/graphRag/index.js +0 -4
- package/dist/client/rag/index.js +0 -141
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +0 -418
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +0 -362
- package/dist/client/rag/metadata/index.js +0 -9
- package/dist/client/rag/metadata/metadataExtractor.js +0 -280
- package/dist/client/rag/pipeline/RAGPipeline.js +0 -436
- package/dist/client/rag/pipeline/contextAssembly.js +0 -341
- package/dist/client/rag/pipeline/index.js +0 -5
- package/dist/client/rag/ragIntegration.js +0 -321
- package/dist/client/rag/reranker/RerankerFactory.js +0 -430
- package/dist/client/rag/reranker/RerankerRegistry.js +0 -402
- package/dist/client/rag/reranker/index.js +0 -9
- package/dist/client/rag/reranker/reranker.js +0 -277
- package/dist/client/rag/resilience/CircuitBreaker.js +0 -431
- package/dist/client/rag/resilience/RetryHandler.js +0 -304
- package/dist/client/rag/resilience/index.js +0 -7
- package/dist/client/rag/retrieval/hybridSearch.js +0 -335
- package/dist/client/rag/retrieval/index.js +0 -5
- package/dist/client/rag/retrieval/vectorQueryTool.js +0 -307
- package/dist/client/rag/types.js +0 -8
- package/dist/client/sdk/toolRegistration.js +0 -377
- package/dist/client/server/abstract/baseServerAdapter.js +0 -575
- package/dist/client/server/adapters/expressAdapter.js +0 -486
- package/dist/client/server/adapters/fastifyAdapter.js +0 -472
- package/dist/client/server/adapters/honoAdapter.js +0 -632
- package/dist/client/server/adapters/koaAdapter.js +0 -510
- package/dist/client/server/errors.js +0 -486
- package/dist/client/server/factory/serverAdapterFactory.js +0 -160
- package/dist/client/server/index.js +0 -108
- package/dist/client/server/middleware/abortSignal.js +0 -111
- package/dist/client/server/middleware/auth.js +0 -388
- package/dist/client/server/middleware/cache.js +0 -359
- package/dist/client/server/middleware/common.js +0 -281
- package/dist/client/server/middleware/deprecation.js +0 -190
- package/dist/client/server/middleware/mcpBodyAttachment.js +0 -63
- package/dist/client/server/middleware/rateLimit.js +0 -227
- package/dist/client/server/middleware/validation.js +0 -388
- package/dist/client/server/openapi/generator.js +0 -398
- package/dist/client/server/openapi/index.js +0 -36
- package/dist/client/server/openapi/schemas.js +0 -695
- package/dist/client/server/openapi/templates.js +0 -374
- package/dist/client/server/routes/agentRoutes.js +0 -189
- package/dist/client/server/routes/claudeProxyRoutes.js +0 -1600
- package/dist/client/server/routes/healthRoutes.js +0 -187
- package/dist/client/server/routes/index.js +0 -57
- package/dist/client/server/routes/mcpRoutes.js +0 -342
- package/dist/client/server/routes/memoryRoutes.js +0 -350
- package/dist/client/server/routes/openApiRoutes.js +0 -126
- package/dist/client/server/routes/toolRoutes.js +0 -199
- package/dist/client/server/streaming/dataStream.js +0 -486
- package/dist/client/server/streaming/index.js +0 -11
- package/dist/client/server/types.js +0 -67
- package/dist/client/server/utils/redaction.js +0 -334
- package/dist/client/server/utils/validation.js +0 -243
- package/dist/client/server/websocket/WebSocketHandler.js +0 -383
- package/dist/client/server/websocket/index.js +0 -4
- package/dist/client/services/server/ai/observability/instrumentation.js +0 -808
- package/dist/client/telemetry/attributes.js +0 -100
- package/dist/client/telemetry/index.js +0 -26
- package/dist/client/telemetry/telemetryService.js +0 -308
- package/dist/client/telemetry/tracers.js +0 -17
- package/dist/client/telemetry/withSpan.js +0 -34
- package/dist/client/types/actionTypes.js +0 -6
- package/dist/client/types/analytics.js +0 -5
- package/dist/client/types/authTypes.js +0 -9
- package/dist/client/types/circuitBreakerErrors.js +0 -34
- package/dist/client/types/cli.js +0 -21
- package/dist/client/types/clientTypes.js +0 -10
- package/dist/client/types/common.js +0 -51
- package/dist/client/types/configTypes.js +0 -49
- package/dist/client/types/content.js +0 -19
- package/dist/client/types/contextTypes.js +0 -400
- package/dist/client/types/conversation.js +0 -47
- package/dist/client/types/conversationMemoryInterface.js +0 -6
- package/dist/client/types/domainTypes.js +0 -5
- package/dist/client/types/errors.js +0 -167
- package/dist/client/types/evaluation.js +0 -5
- package/dist/client/types/evaluationProviders.js +0 -5
- package/dist/client/types/evaluationTypes.js +0 -1
- package/dist/client/types/externalMcp.js +0 -6
- package/dist/client/types/fileReferenceTypes.js +0 -8
- package/dist/client/types/fileTypes.js +0 -4
- package/dist/client/types/generateTypes.js +0 -1
- package/dist/client/types/guardrails.js +0 -1
- package/dist/client/types/hitlTypes.js +0 -8
- package/dist/client/types/index.js +0 -57
- package/dist/client/types/mcpTypes.js +0 -5
- package/dist/client/types/middlewareTypes.js +0 -1
- package/dist/client/types/modelTypes.js +0 -30
- package/dist/client/types/multimodal.js +0 -135
- package/dist/client/types/observability.js +0 -6
- package/dist/client/types/pptTypes.js +0 -82
- package/dist/client/types/providers.js +0 -111
- package/dist/client/types/proxyTypes.js +0 -16
- package/dist/client/types/ragTypes.js +0 -7
- package/dist/client/types/sdkTypes.js +0 -8
- package/dist/client/types/serviceTypes.js +0 -5
- package/dist/client/types/streamTypes.js +0 -1
- package/dist/client/types/subscriptionTypes.js +0 -9
- package/dist/client/types/taskClassificationTypes.js +0 -5
- package/dist/client/types/tools.js +0 -24
- package/dist/client/types/ttsTypes.js +0 -57
- package/dist/client/types/typeAliases.js +0 -48
- package/dist/client/types/utilities.js +0 -4
- package/dist/client/types/workflowTypes.js +0 -30
- package/dist/client/utils/async/withTimeout.js +0 -98
- package/dist/client/utils/asyncMutex.js +0 -60
- package/dist/client/utils/conversationMemory.js +0 -431
- package/dist/client/utils/csvProcessor.js +0 -846
- package/dist/client/utils/errorHandling.js +0 -936
- package/dist/client/utils/evaluationUtils.js +0 -131
- package/dist/client/utils/factoryProcessing.js +0 -589
- package/dist/client/utils/fileDetector.js +0 -2161
- package/dist/client/utils/imageCache.js +0 -376
- package/dist/client/utils/imageProcessor.js +0 -704
- package/dist/client/utils/logger.js +0 -491
- package/dist/client/utils/mcpDefaults.js +0 -134
- package/dist/client/utils/messageBuilder.js +0 -1653
- package/dist/client/utils/modelAliasResolver.js +0 -54
- package/dist/client/utils/modelDetection.js +0 -80
- package/dist/client/utils/modelRouter.js +0 -292
- package/dist/client/utils/multimodalOptionsBuilder.js +0 -65
- package/dist/client/utils/observabilityHelpers.js +0 -47
- package/dist/client/utils/parameterValidation.js +0 -966
- package/dist/client/utils/pdfProcessor.js +0 -410
- package/dist/client/utils/performance.js +0 -222
- package/dist/client/utils/pricing.js +0 -340
- package/dist/client/utils/promptRedaction.js +0 -62
- package/dist/client/utils/providerConfig.js +0 -1009
- package/dist/client/utils/providerHealth.js +0 -1237
- package/dist/client/utils/providerRetry.js +0 -112
- package/dist/client/utils/providerUtils.js +0 -434
- package/dist/client/utils/rateLimiter.js +0 -200
- package/dist/client/utils/redis.js +0 -368
- package/dist/client/utils/retryHandler.js +0 -269
- package/dist/client/utils/retryability.js +0 -22
- package/dist/client/utils/sanitizers/svg.js +0 -481
- package/dist/client/utils/schemaConversion.js +0 -255
- package/dist/client/utils/taskClassificationUtils.js +0 -149
- package/dist/client/utils/taskClassifier.js +0 -94
- package/dist/client/utils/thinkingConfig.js +0 -104
- package/dist/client/utils/timeout.js +0 -359
- package/dist/client/utils/tokenEstimation.js +0 -142
- package/dist/client/utils/tokenLimits.js +0 -125
- package/dist/client/utils/tokenUtils.js +0 -239
- package/dist/client/utils/toolUtils.js +0 -75
- package/dist/client/utils/transformationUtils.js +0 -554
- package/dist/client/utils/ttsProcessor.js +0 -286
- package/dist/client/utils/typeUtils.js +0 -97
- package/dist/client/utils/videoAnalysisProcessor.js +0 -67
- package/dist/client/workflow/config.js +0 -398
- package/dist/client/workflow/core/ensembleExecutor.js +0 -407
- package/dist/client/workflow/core/judgeScorer.js +0 -544
- package/dist/client/workflow/core/responseConditioner.js +0 -225
- package/dist/client/workflow/core/types/conditionerTypes.js +0 -7
- package/dist/client/workflow/core/types/ensembleTypes.js +0 -7
- package/dist/client/workflow/core/types/index.js +0 -7
- package/dist/client/workflow/core/types/judgeTypes.js +0 -7
- package/dist/client/workflow/core/types/layerTypes.js +0 -7
- package/dist/client/workflow/core/types/registryTypes.js +0 -7
- package/dist/client/workflow/core/workflowRegistry.js +0 -304
- package/dist/client/workflow/core/workflowRunner.js +0 -586
- package/dist/client/workflow/index.js +0 -50
- package/dist/client/workflow/types.js +0 -9
- package/dist/client/workflow/utils/types/index.js +0 -7
- package/dist/client/workflow/utils/workflowMetrics.js +0 -311
- package/dist/client/workflow/utils/workflowValidation.js +0 -420
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +0 -366
- package/dist/client/workflow/workflows/consensusWorkflow.js +0 -192
- package/dist/client/workflow/workflows/fallbackWorkflow.js +0 -225
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +0 -351
- /package/dist/client/{client/reactHooks.js → reactHooks.js} +0 -0
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error message constants and templates for Amazon SageMaker Provider
|
|
3
|
-
*
|
|
4
|
-
* This module contains all error message templates, prefixes, and constants
|
|
5
|
-
* used throughout the SageMaker provider for consistent error handling.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Error message prefixes for different error types
|
|
9
|
-
*/
|
|
10
|
-
export const ERROR_MESSAGE_PREFIXES = {
|
|
11
|
-
VALIDATION: "Invalid request parameters",
|
|
12
|
-
MODEL: "Model execution error",
|
|
13
|
-
INTERNAL: "Internal server error",
|
|
14
|
-
SERVICE_UNAVAILABLE: "SageMaker service is temporarily unavailable",
|
|
15
|
-
THROTTLING: "Request rate limit exceeded",
|
|
16
|
-
CREDENTIALS: "AWS credentials are invalid or missing",
|
|
17
|
-
NETWORK: "Network error while connecting to SageMaker",
|
|
18
|
-
ENDPOINT_NOT_FOUND: "SageMaker endpoint not found",
|
|
19
|
-
VALIDATION_FIELD: "Validation failed for",
|
|
20
|
-
CREDENTIALS_SETUP: "AWS credentials error",
|
|
21
|
-
NETWORK_CONNECTION: "Network error",
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Detailed error message templates for user guidance
|
|
25
|
-
*/
|
|
26
|
-
export const ERROR_MESSAGE_TEMPLATES = {
|
|
27
|
-
VALIDATION_ERROR: `❌ SageMaker Request Validation Error{endpointContext}
|
|
28
|
-
|
|
29
|
-
{originalMessage}
|
|
30
|
-
|
|
31
|
-
🔧 Common Solutions:
|
|
32
|
-
1. Check your request parameters and format
|
|
33
|
-
2. Verify the endpoint name is correct
|
|
34
|
-
3. Ensure your request body matches the expected model format
|
|
35
|
-
4. Validate that required parameters are included
|
|
36
|
-
|
|
37
|
-
💡 Tips:
|
|
38
|
-
- Double-check the endpoint name spelling
|
|
39
|
-
- Ensure JSON format is valid if using JSON content type
|
|
40
|
-
- Verify parameter types match model expectations`,
|
|
41
|
-
MODEL_ERROR: `❌ SageMaker Model Execution Error{endpointContext}
|
|
42
|
-
|
|
43
|
-
{originalMessage}
|
|
44
|
-
|
|
45
|
-
🔧 Common Solutions:
|
|
46
|
-
1. Check if the model is properly deployed and in 'InService' status
|
|
47
|
-
2. Verify your input format matches what the model expects
|
|
48
|
-
3. Ensure input size is within model limits
|
|
49
|
-
4. Check if the model container is healthy
|
|
50
|
-
|
|
51
|
-
💡 Tips:
|
|
52
|
-
- Try with a simpler input to test model health
|
|
53
|
-
- Check CloudWatch logs for detailed model errors
|
|
54
|
-
- Verify model dependencies are properly installed`,
|
|
55
|
-
INTERNAL_ERROR: `❌ SageMaker Internal Server Error{endpointContext}
|
|
56
|
-
|
|
57
|
-
{originalMessage}
|
|
58
|
-
|
|
59
|
-
🔧 Common Solutions:
|
|
60
|
-
1. Retry the request after a short delay
|
|
61
|
-
2. Check AWS Service Health Dashboard
|
|
62
|
-
3. Verify your endpoint is still active and healthy
|
|
63
|
-
4. Contact AWS support if issue persists
|
|
64
|
-
|
|
65
|
-
💡 Tips:
|
|
66
|
-
- This is usually a temporary issue
|
|
67
|
-
- Implement exponential backoff for retries
|
|
68
|
-
- Check if other endpoints are working`,
|
|
69
|
-
SERVICE_UNAVAILABLE: `❌ SageMaker Service Temporarily Unavailable{endpointContext}
|
|
70
|
-
|
|
71
|
-
{originalMessage}
|
|
72
|
-
|
|
73
|
-
🔧 Common Solutions:
|
|
74
|
-
1. Wait and retry after a few seconds
|
|
75
|
-
2. Check AWS region status
|
|
76
|
-
3. Verify your endpoint hasn't been deleted
|
|
77
|
-
4. Check if you've hit account limits
|
|
78
|
-
|
|
79
|
-
💡 Tips:
|
|
80
|
-
- Service issues are usually temporary
|
|
81
|
-
- Implement retry logic with backoff
|
|
82
|
-
- Monitor AWS Service Health Dashboard`,
|
|
83
|
-
CREDENTIALS_ERROR: `❌ AWS Credentials Error{endpointContext}
|
|
84
|
-
|
|
85
|
-
{originalMessage}
|
|
86
|
-
|
|
87
|
-
🔧 Required Steps:
|
|
88
|
-
1. Verify AWS_ACCESS_KEY_ID is set correctly
|
|
89
|
-
2. Verify AWS_SECRET_ACCESS_KEY is set correctly
|
|
90
|
-
3. Check AWS_SESSION_TOKEN if using temporary credentials
|
|
91
|
-
4. Ensure credentials have SageMaker permissions
|
|
92
|
-
|
|
93
|
-
🔑 Required IAM Permissions:
|
|
94
|
-
- sagemaker:InvokeEndpoint
|
|
95
|
-
- sagemaker:InvokeEndpointWithResponseStream
|
|
96
|
-
- sagemaker:DescribeEndpoint (optional, for debugging)
|
|
97
|
-
|
|
98
|
-
💡 Setup Help:
|
|
99
|
-
- Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables
|
|
100
|
-
- Check IAM user has necessary permissions
|
|
101
|
-
- Verify credentials haven't expired`,
|
|
102
|
-
NETWORK_ERROR: `❌ Network Connection Error{endpointContext}
|
|
103
|
-
|
|
104
|
-
{originalMessage}
|
|
105
|
-
|
|
106
|
-
🔧 Common Solutions:
|
|
107
|
-
1. Check your internet connection
|
|
108
|
-
2. Verify firewall/proxy settings
|
|
109
|
-
3. Try different DNS servers
|
|
110
|
-
4. Check if SageMaker service is accessible from your network
|
|
111
|
-
|
|
112
|
-
💡 Network Troubleshooting:
|
|
113
|
-
- Test connectivity to other AWS services
|
|
114
|
-
- Check for VPC/subnet restrictions if running in AWS
|
|
115
|
-
- Verify security group rules allow outbound HTTPS`,
|
|
116
|
-
ENDPOINT_NOT_FOUND: `❌ SageMaker Endpoint Not Found{endpointContext}
|
|
117
|
-
|
|
118
|
-
{originalMessage}
|
|
119
|
-
|
|
120
|
-
🔧 Common Solutions:
|
|
121
|
-
1. Verify the endpoint name is spelled correctly
|
|
122
|
-
2. Check if the endpoint exists in the correct AWS region
|
|
123
|
-
3. Ensure the endpoint is in 'InService' status
|
|
124
|
-
4. Verify you have permissions to access the endpoint
|
|
125
|
-
|
|
126
|
-
💡 Endpoint Management:
|
|
127
|
-
- List endpoints: aws sagemaker list-endpoints
|
|
128
|
-
- Check status: aws sagemaker describe-endpoint --endpoint-name <name>
|
|
129
|
-
- Ensure endpoint is deployed in the same region`,
|
|
130
|
-
THROTTLING_ERROR: `❌ Request Rate Limit Exceeded{endpointContext}
|
|
131
|
-
|
|
132
|
-
{originalMessage}
|
|
133
|
-
|
|
134
|
-
🔧 Common Solutions:
|
|
135
|
-
1. Implement exponential backoff retry logic
|
|
136
|
-
2. Reduce request rate
|
|
137
|
-
3. Consider using batch inference for large workloads
|
|
138
|
-
4. Request higher limits from AWS support if needed
|
|
139
|
-
|
|
140
|
-
💡 Rate Limiting Tips:
|
|
141
|
-
- Space out requests over time
|
|
142
|
-
- Use batch processing when possible
|
|
143
|
-
- Monitor your request patterns
|
|
144
|
-
- Consider auto-scaling your endpoint`,
|
|
145
|
-
UNKNOWN_ERROR: `❌ Unknown SageMaker Error{endpointContext}
|
|
146
|
-
|
|
147
|
-
{originalMessage}
|
|
148
|
-
|
|
149
|
-
🔧 General Troubleshooting:
|
|
150
|
-
1. Check AWS credentials and permissions
|
|
151
|
-
2. Verify endpoint name and status
|
|
152
|
-
3. Check network connectivity
|
|
153
|
-
4. Review request format and parameters
|
|
154
|
-
|
|
155
|
-
💡 Additional Help:
|
|
156
|
-
- Check CloudWatch logs for detailed errors
|
|
157
|
-
- Verify SageMaker service health
|
|
158
|
-
- Consult AWS SageMaker documentation
|
|
159
|
-
- Contact AWS support for persistent issues`,
|
|
160
|
-
DEFAULT: `❌ SageMaker Error{endpointContext}
|
|
161
|
-
|
|
162
|
-
{originalMessage}
|
|
163
|
-
|
|
164
|
-
🔧 General Troubleshooting:
|
|
165
|
-
1. Check AWS credentials and permissions
|
|
166
|
-
2. Verify endpoint name and status
|
|
167
|
-
3. Check network connectivity
|
|
168
|
-
4. Review request format and parameters
|
|
169
|
-
|
|
170
|
-
💡 Additional Help:
|
|
171
|
-
- Check CloudWatch logs for detailed errors
|
|
172
|
-
- Verify SageMaker service health
|
|
173
|
-
- Consult AWS SageMaker documentation
|
|
174
|
-
- Contact AWS support for persistent issues`,
|
|
175
|
-
};
|
|
176
|
-
/**
|
|
177
|
-
* Retry delay constants for different error types (in milliseconds)
|
|
178
|
-
*/
|
|
179
|
-
export const RETRY_DELAYS = {
|
|
180
|
-
THROTTLING_ERROR: 5000, // 5 seconds for throttling
|
|
181
|
-
SERVICE_UNAVAILABLE: 2000, // 2 seconds for service issues
|
|
182
|
-
NETWORK_ERROR: 1000, // 1 second for network issues
|
|
183
|
-
DEFAULT: 1000, // Default 1 second
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* List of retryable AWS SDK error names and conditions
|
|
187
|
-
*/
|
|
188
|
-
export const RETRYABLE_ERROR_CONDITIONS = {
|
|
189
|
-
ERROR_NAMES: [
|
|
190
|
-
"ServiceUnavailable",
|
|
191
|
-
"InternalFailure",
|
|
192
|
-
"ThrottlingException",
|
|
193
|
-
"NetworkingError",
|
|
194
|
-
],
|
|
195
|
-
ERROR_MESSAGE_KEYWORDS: [
|
|
196
|
-
"timeout",
|
|
197
|
-
"throttl",
|
|
198
|
-
"unavailable",
|
|
199
|
-
"internal",
|
|
200
|
-
"network",
|
|
201
|
-
],
|
|
202
|
-
};
|
|
203
|
-
/**
|
|
204
|
-
* AWS SDK error name mappings to SageMaker error codes
|
|
205
|
-
*/
|
|
206
|
-
export const AWS_ERROR_MAPPINGS = {
|
|
207
|
-
ValidationException: "VALIDATION_ERROR",
|
|
208
|
-
ModelError: "MODEL_ERROR",
|
|
209
|
-
InternalFailure: "INTERNAL_ERROR",
|
|
210
|
-
ServiceUnavailable: "SERVICE_UNAVAILABLE",
|
|
211
|
-
ThrottlingException: "THROTTLING_ERROR",
|
|
212
|
-
CredentialsError: "CREDENTIALS_ERROR",
|
|
213
|
-
NetworkingError: "NETWORK_ERROR",
|
|
214
|
-
};
|
|
215
|
-
/**
|
|
216
|
-
* Common error message keywords for pattern matching
|
|
217
|
-
*/
|
|
218
|
-
export const ERROR_KEYWORDS = {
|
|
219
|
-
VALIDATION: ["validation"],
|
|
220
|
-
MODEL: ["model error"],
|
|
221
|
-
INTERNAL: ["internal"],
|
|
222
|
-
SERVICE_UNAVAILABLE: ["unavailable"],
|
|
223
|
-
THROTTLING: ["throttl"],
|
|
224
|
-
CREDENTIALS: ["credential"],
|
|
225
|
-
NETWORK: ["network"],
|
|
226
|
-
ENDPOINT_NOT_FOUND: ["endpoint", "not found"],
|
|
227
|
-
};
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error handling system for Amazon SageMaker Provider
|
|
3
|
-
*
|
|
4
|
-
* This module provides comprehensive error handling, categorization,
|
|
5
|
-
* and user-friendly error messages for SageMaker operations.
|
|
6
|
-
*/
|
|
7
|
-
import { ERROR_MESSAGE_TEMPLATES, ERROR_MESSAGE_PREFIXES, RETRY_DELAYS, RETRYABLE_ERROR_CONDITIONS, ERROR_KEYWORDS, } from "./error-constants.js";
|
|
8
|
-
/**
|
|
9
|
-
* Custom error class for SageMaker-specific errors
|
|
10
|
-
*/
|
|
11
|
-
export class SageMakerError extends Error {
|
|
12
|
-
code;
|
|
13
|
-
statusCode;
|
|
14
|
-
cause;
|
|
15
|
-
endpoint;
|
|
16
|
-
requestId;
|
|
17
|
-
retryable;
|
|
18
|
-
constructor(message, options = {}) {
|
|
19
|
-
super(message);
|
|
20
|
-
this.name = "SageMakerError";
|
|
21
|
-
this.code = options.code ?? "UNKNOWN_ERROR";
|
|
22
|
-
this.statusCode = options.statusCode;
|
|
23
|
-
this.cause = options.cause;
|
|
24
|
-
this.endpoint = options.endpoint;
|
|
25
|
-
this.requestId = options.requestId;
|
|
26
|
-
this.retryable = options.retryable ?? false;
|
|
27
|
-
// Capture stack trace if available
|
|
28
|
-
if (Error.captureStackTrace) {
|
|
29
|
-
Error.captureStackTrace(this, SageMakerError);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Convert error to JSON for logging/serialization
|
|
34
|
-
*/
|
|
35
|
-
toJSON() {
|
|
36
|
-
return {
|
|
37
|
-
code: this.code,
|
|
38
|
-
message: this.message,
|
|
39
|
-
statusCode: this.statusCode,
|
|
40
|
-
cause: this.cause,
|
|
41
|
-
endpoint: this.endpoint,
|
|
42
|
-
requestId: this.requestId,
|
|
43
|
-
retryable: this.retryable,
|
|
44
|
-
stack: this.stack,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get user-friendly error message with troubleshooting guidance
|
|
49
|
-
*/
|
|
50
|
-
getUserFriendlyMessage() {
|
|
51
|
-
return getSageMakerErrorGuidance(this.code, this.message, this.endpoint);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Check if this error type is retryable
|
|
55
|
-
*/
|
|
56
|
-
isRetryable() {
|
|
57
|
-
return this.retryable;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Get recommended retry delay in milliseconds
|
|
61
|
-
*/
|
|
62
|
-
getRetryDelay() {
|
|
63
|
-
return (RETRY_DELAYS[this.code] ||
|
|
64
|
-
RETRY_DELAYS.DEFAULT);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Main error handler for SageMaker operations
|
|
69
|
-
*
|
|
70
|
-
* @param error - Original error from AWS SDK or other operations
|
|
71
|
-
* @param endpoint - Endpoint name where error occurred (optional)
|
|
72
|
-
* @returns Categorized SageMakerError with user guidance
|
|
73
|
-
*/
|
|
74
|
-
export function handleSageMakerError(error, endpoint) {
|
|
75
|
-
// Handle cases where error is already a SageMakerError
|
|
76
|
-
if (error instanceof SageMakerError) {
|
|
77
|
-
return error;
|
|
78
|
-
}
|
|
79
|
-
// Handle standard Error objects
|
|
80
|
-
if (error instanceof Error) {
|
|
81
|
-
const errorName = error.name;
|
|
82
|
-
const errorMessage = error.message.toLowerCase();
|
|
83
|
-
// AWS SDK specific errors using centralized constants
|
|
84
|
-
if (errorName === "ValidationException" ||
|
|
85
|
-
ERROR_KEYWORDS.VALIDATION.some((keyword) => errorMessage.includes(keyword))) {
|
|
86
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.VALIDATION}: ${error.message}`, {
|
|
87
|
-
code: "VALIDATION_ERROR",
|
|
88
|
-
statusCode: 400,
|
|
89
|
-
cause: error,
|
|
90
|
-
endpoint,
|
|
91
|
-
requestId: extractRequestId(error),
|
|
92
|
-
retryable: false,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if (errorName === "ModelError" ||
|
|
96
|
-
ERROR_KEYWORDS.MODEL.some((keyword) => errorMessage.includes(keyword))) {
|
|
97
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.MODEL}: ${error.message}`, {
|
|
98
|
-
code: "MODEL_ERROR",
|
|
99
|
-
statusCode: 500,
|
|
100
|
-
cause: error,
|
|
101
|
-
endpoint,
|
|
102
|
-
requestId: extractRequestId(error),
|
|
103
|
-
retryable: false,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
if (errorName === "InternalFailure" ||
|
|
107
|
-
ERROR_KEYWORDS.INTERNAL.some((keyword) => errorMessage.includes(keyword))) {
|
|
108
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.INTERNAL}: ${error.message}`, {
|
|
109
|
-
code: "INTERNAL_ERROR",
|
|
110
|
-
statusCode: 500,
|
|
111
|
-
cause: error,
|
|
112
|
-
endpoint,
|
|
113
|
-
requestId: extractRequestId(error),
|
|
114
|
-
retryable: true,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
if (errorName === "ServiceUnavailable" ||
|
|
118
|
-
ERROR_KEYWORDS.SERVICE_UNAVAILABLE.some((keyword) => errorMessage.includes(keyword))) {
|
|
119
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.SERVICE_UNAVAILABLE}: ${error.message}`, {
|
|
120
|
-
code: "SERVICE_UNAVAILABLE",
|
|
121
|
-
statusCode: 503,
|
|
122
|
-
cause: error,
|
|
123
|
-
endpoint,
|
|
124
|
-
requestId: extractRequestId(error),
|
|
125
|
-
retryable: true,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
if (errorName === "ThrottlingException" ||
|
|
129
|
-
ERROR_KEYWORDS.THROTTLING.some((keyword) => errorMessage.includes(keyword))) {
|
|
130
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.THROTTLING}: ${error.message}`, {
|
|
131
|
-
code: "THROTTLING_ERROR",
|
|
132
|
-
statusCode: 429,
|
|
133
|
-
cause: error,
|
|
134
|
-
endpoint,
|
|
135
|
-
requestId: extractRequestId(error),
|
|
136
|
-
retryable: true,
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
if (errorName === "CredentialsError" ||
|
|
140
|
-
ERROR_KEYWORDS.CREDENTIALS.some((keyword) => errorMessage.includes(keyword))) {
|
|
141
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.CREDENTIALS}: ${error.message}`, {
|
|
142
|
-
code: "CREDENTIALS_ERROR",
|
|
143
|
-
statusCode: 401,
|
|
144
|
-
cause: error,
|
|
145
|
-
endpoint,
|
|
146
|
-
requestId: undefined,
|
|
147
|
-
retryable: false,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
if (errorName === "NetworkingError" ||
|
|
151
|
-
ERROR_KEYWORDS.NETWORK.some((keyword) => errorMessage.includes(keyword))) {
|
|
152
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.NETWORK}: ${error.message}`, {
|
|
153
|
-
code: "NETWORK_ERROR",
|
|
154
|
-
statusCode: 0,
|
|
155
|
-
cause: error,
|
|
156
|
-
endpoint,
|
|
157
|
-
requestId: undefined,
|
|
158
|
-
retryable: true,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
if (ERROR_KEYWORDS.ENDPOINT_NOT_FOUND.every((keyword) => errorMessage.includes(keyword))) {
|
|
162
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.ENDPOINT_NOT_FOUND}: ${error.message}`, {
|
|
163
|
-
code: "ENDPOINT_NOT_FOUND",
|
|
164
|
-
statusCode: 404,
|
|
165
|
-
cause: error,
|
|
166
|
-
endpoint,
|
|
167
|
-
requestId: extractRequestId(error),
|
|
168
|
-
retryable: false,
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
// Generic error handling
|
|
172
|
-
return new SageMakerError(error.message, {
|
|
173
|
-
code: "UNKNOWN_ERROR",
|
|
174
|
-
statusCode: 500,
|
|
175
|
-
cause: error,
|
|
176
|
-
endpoint,
|
|
177
|
-
requestId: extractRequestId(error),
|
|
178
|
-
retryable: false,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
// Handle non-Error objects
|
|
182
|
-
const errorMessage = typeof error === "string" ? error : "Unknown error occurred";
|
|
183
|
-
return new SageMakerError(errorMessage, {
|
|
184
|
-
code: "UNKNOWN_ERROR",
|
|
185
|
-
statusCode: 500,
|
|
186
|
-
cause: undefined,
|
|
187
|
-
endpoint,
|
|
188
|
-
requestId: undefined,
|
|
189
|
-
retryable: false,
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Extract request ID from AWS SDK error for debugging
|
|
194
|
-
*
|
|
195
|
-
* @param error - Error object that might contain request ID
|
|
196
|
-
* @returns Request ID if found, undefined otherwise
|
|
197
|
-
*/
|
|
198
|
-
function extractRequestId(error) {
|
|
199
|
-
const errorAny = error;
|
|
200
|
-
return (errorAny.requestId ||
|
|
201
|
-
errorAny.RequestId ||
|
|
202
|
-
errorAny.$metadata?.requestId ||
|
|
203
|
-
undefined);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Get user-friendly error guidance based on error code
|
|
207
|
-
*
|
|
208
|
-
* @param code - SageMaker error code
|
|
209
|
-
* @param originalMessage - Original error message
|
|
210
|
-
* @param endpoint - Endpoint name (optional)
|
|
211
|
-
* @returns User-friendly error message with troubleshooting steps
|
|
212
|
-
*/
|
|
213
|
-
function getSageMakerErrorGuidance(code, originalMessage, endpoint) {
|
|
214
|
-
const endpointContext = endpoint ? ` (endpoint: ${endpoint})` : "";
|
|
215
|
-
// Get template for the error code, falling back to default
|
|
216
|
-
const template = ERROR_MESSAGE_TEMPLATES[code] || ERROR_MESSAGE_TEMPLATES.DEFAULT;
|
|
217
|
-
// Replace placeholders in the template
|
|
218
|
-
return template
|
|
219
|
-
.replace("{endpointContext}", endpointContext)
|
|
220
|
-
.replace("{originalMessage}", originalMessage);
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Create a validation error for configuration issues
|
|
224
|
-
*
|
|
225
|
-
* @param message - Validation error message
|
|
226
|
-
* @param field - Configuration field that failed validation
|
|
227
|
-
* @returns SageMakerError with validation details
|
|
228
|
-
*/
|
|
229
|
-
export function createValidationError(message, field) {
|
|
230
|
-
const fullMessage = field
|
|
231
|
-
? `${ERROR_MESSAGE_PREFIXES.VALIDATION_FIELD} '${field}': ${message}`
|
|
232
|
-
: message;
|
|
233
|
-
return new SageMakerError(fullMessage, {
|
|
234
|
-
code: "VALIDATION_ERROR",
|
|
235
|
-
statusCode: 400,
|
|
236
|
-
retryable: false,
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Create a credentials error with setup guidance
|
|
241
|
-
*
|
|
242
|
-
* @param message - Credentials error message
|
|
243
|
-
* @returns SageMakerError with credentials guidance
|
|
244
|
-
*/
|
|
245
|
-
export function createCredentialsError(message) {
|
|
246
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.CREDENTIALS_SETUP}: ${message}`, {
|
|
247
|
-
code: "CREDENTIALS_ERROR",
|
|
248
|
-
statusCode: 401,
|
|
249
|
-
retryable: false,
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Create a network error with connectivity guidance
|
|
254
|
-
*
|
|
255
|
-
* @param message - Network error message
|
|
256
|
-
* @param endpoint - Endpoint that failed to connect
|
|
257
|
-
* @returns SageMakerError with network guidance
|
|
258
|
-
*/
|
|
259
|
-
export function createNetworkError(message, endpoint) {
|
|
260
|
-
return new SageMakerError(`${ERROR_MESSAGE_PREFIXES.NETWORK_CONNECTION}: ${message}`, {
|
|
261
|
-
code: "NETWORK_ERROR",
|
|
262
|
-
statusCode: 0,
|
|
263
|
-
endpoint,
|
|
264
|
-
retryable: true,
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Check if an error is retryable based on its characteristics
|
|
269
|
-
*
|
|
270
|
-
* @param error - Error to check
|
|
271
|
-
* @returns True if the error suggests a retry might succeed
|
|
272
|
-
*/
|
|
273
|
-
export function isRetryableError(error) {
|
|
274
|
-
if (error instanceof SageMakerError) {
|
|
275
|
-
return error.isRetryable();
|
|
276
|
-
}
|
|
277
|
-
if (error instanceof Error) {
|
|
278
|
-
const errorMessage = error.message.toLowerCase();
|
|
279
|
-
const errorName = error.name;
|
|
280
|
-
// Check against retryable error names and message keywords
|
|
281
|
-
return (RETRYABLE_ERROR_CONDITIONS.ERROR_NAMES.includes(errorName) ||
|
|
282
|
-
RETRYABLE_ERROR_CONDITIONS.ERROR_MESSAGE_KEYWORDS.some((keyword) => errorMessage.includes(keyword)));
|
|
283
|
-
}
|
|
284
|
-
return false;
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Get recommended retry delay for an error
|
|
288
|
-
*
|
|
289
|
-
* @param error - Error to get retry delay for
|
|
290
|
-
* @param attempt - Current retry attempt number (for exponential backoff)
|
|
291
|
-
* @returns Recommended delay in milliseconds
|
|
292
|
-
*/
|
|
293
|
-
export function getRetryDelay(error, attempt = 1) {
|
|
294
|
-
if (error instanceof SageMakerError) {
|
|
295
|
-
return error.getRetryDelay() * Math.pow(2, attempt - 1);
|
|
296
|
-
}
|
|
297
|
-
// Default exponential backoff
|
|
298
|
-
return 1000 * Math.pow(2, attempt - 1);
|
|
299
|
-
}
|