@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,420 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow/utils/workflowValidation.ts
|
|
3
|
-
* Validation utilities for workflow configurations and execution
|
|
4
|
-
*/
|
|
5
|
-
import { logger } from "../../utils/logger.js";
|
|
6
|
-
import { getAllJudges, hasJudge, MAX_SCORE, MIN_SCORE, validateWorkflowConfig, } from "../config.js";
|
|
7
|
-
const functionTag = "WorkflowValidation";
|
|
8
|
-
// ============================================================================
|
|
9
|
-
// VALIDATION FUNCTIONS
|
|
10
|
-
// ============================================================================
|
|
11
|
-
/**
|
|
12
|
-
* Comprehensive workflow validation
|
|
13
|
-
* @param config - Workflow configuration to validate
|
|
14
|
-
* @returns Validation result with errors and warnings
|
|
15
|
-
*/
|
|
16
|
-
export function validateWorkflow(config) {
|
|
17
|
-
const errors = [];
|
|
18
|
-
const warnings = [];
|
|
19
|
-
// Schema validation
|
|
20
|
-
const schemaResult = validateWorkflowConfig(config);
|
|
21
|
-
if (!schemaResult.success && schemaResult.error) {
|
|
22
|
-
schemaResult.error.issues.forEach((err) => {
|
|
23
|
-
errors.push({
|
|
24
|
-
field: err.path.join("."),
|
|
25
|
-
message: err.message,
|
|
26
|
-
code: "SCHEMA_VALIDATION_ERROR",
|
|
27
|
-
severity: "error",
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
// Validate models
|
|
32
|
-
const modelValidation = validateModels(config.models);
|
|
33
|
-
errors.push(...modelValidation.errors);
|
|
34
|
-
warnings.push(...modelValidation.warnings);
|
|
35
|
-
// Validate judge configuration (if present)
|
|
36
|
-
if (hasJudge(config)) {
|
|
37
|
-
const judgeValidation = validateJudges(getAllJudges(config));
|
|
38
|
-
errors.push(...judgeValidation.errors);
|
|
39
|
-
warnings.push(...judgeValidation.warnings);
|
|
40
|
-
}
|
|
41
|
-
// Validate workflow type-specific requirements
|
|
42
|
-
const typeValidation = validateWorkflowType(config);
|
|
43
|
-
errors.push(...typeValidation.errors);
|
|
44
|
-
warnings.push(...typeValidation.warnings);
|
|
45
|
-
// Validate execution configuration
|
|
46
|
-
const executionValidation = validateExecutionConfig(config);
|
|
47
|
-
errors.push(...executionValidation.errors);
|
|
48
|
-
warnings.push(...executionValidation.warnings);
|
|
49
|
-
// Check for conflicts
|
|
50
|
-
const conflictValidation = validateNoConflicts(config);
|
|
51
|
-
errors.push(...conflictValidation.errors);
|
|
52
|
-
warnings.push(...conflictValidation.warnings);
|
|
53
|
-
return {
|
|
54
|
-
valid: errors.length === 0,
|
|
55
|
-
errors,
|
|
56
|
-
warnings,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Validate model configurations
|
|
61
|
-
* @param models - Array of model configurations to validate
|
|
62
|
-
* @returns Validation issues including errors and warnings
|
|
63
|
-
*/
|
|
64
|
-
function validateModels(models) {
|
|
65
|
-
const errors = [];
|
|
66
|
-
const warnings = [];
|
|
67
|
-
if (models.length === 0) {
|
|
68
|
-
errors.push({
|
|
69
|
-
field: "models",
|
|
70
|
-
message: "At least one model is required",
|
|
71
|
-
code: "NO_MODELS",
|
|
72
|
-
severity: "critical",
|
|
73
|
-
});
|
|
74
|
-
return { errors, warnings };
|
|
75
|
-
}
|
|
76
|
-
// Validate each model
|
|
77
|
-
models.forEach((model, index) => {
|
|
78
|
-
if (!model.provider || model.provider.trim() === "") {
|
|
79
|
-
errors.push({
|
|
80
|
-
field: `models[${index}].provider`,
|
|
81
|
-
message: "Model provider is required",
|
|
82
|
-
code: "MISSING_PROVIDER",
|
|
83
|
-
severity: "error",
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
if (!model.model || model.model.trim() === "") {
|
|
87
|
-
errors.push({
|
|
88
|
-
field: `models[${index}].model`,
|
|
89
|
-
message: "Model name is required",
|
|
90
|
-
code: "MISSING_MODEL_NAME",
|
|
91
|
-
severity: "error",
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
// Validate temperature range
|
|
95
|
-
if (model.temperature !== undefined) {
|
|
96
|
-
if (model.temperature < 0 || model.temperature > 2) {
|
|
97
|
-
warnings.push({
|
|
98
|
-
field: `models[${index}].temperature`,
|
|
99
|
-
message: `Temperature ${model.temperature} is outside typical range (0-2)`,
|
|
100
|
-
code: "TEMPERATURE_OUT_OF_RANGE",
|
|
101
|
-
recommendation: "Use temperature between 0 and 1 for most use cases",
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Validate timeout
|
|
106
|
-
if (model.timeout !== undefined && model.timeout < 1000) {
|
|
107
|
-
warnings.push({
|
|
108
|
-
field: `models[${index}].timeout`,
|
|
109
|
-
message: `Timeout ${model.timeout}ms is very short`,
|
|
110
|
-
code: "SHORT_TIMEOUT",
|
|
111
|
-
recommendation: "Consider using at least 5000ms for model timeout",
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
// Validate weight
|
|
115
|
-
if (model.weight !== undefined) {
|
|
116
|
-
if (model.weight < 0 || model.weight > 1) {
|
|
117
|
-
errors.push({
|
|
118
|
-
field: `models[${index}].weight`,
|
|
119
|
-
message: `Weight must be between 0 and 1, got ${model.weight}`,
|
|
120
|
-
code: "INVALID_WEIGHT",
|
|
121
|
-
severity: "error",
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
// Check for duplicate models
|
|
127
|
-
const modelKeys = models.map((m) => `${m.provider}/${m.model}`);
|
|
128
|
-
const duplicates = modelKeys.filter((key, index) => modelKeys.indexOf(key) !== index);
|
|
129
|
-
if (duplicates.length > 0) {
|
|
130
|
-
warnings.push({
|
|
131
|
-
field: "models",
|
|
132
|
-
message: `Duplicate models detected: ${duplicates.join(", ")}`,
|
|
133
|
-
code: "DUPLICATE_MODELS",
|
|
134
|
-
recommendation: "Using the same model multiple times may not add value",
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
// Warn if too many models (cost concern)
|
|
138
|
-
if (models.length > 5) {
|
|
139
|
-
warnings.push({
|
|
140
|
-
field: "models",
|
|
141
|
-
message: `Using ${models.length} models may result in high costs and latency`,
|
|
142
|
-
code: "MANY_MODELS",
|
|
143
|
-
recommendation: "Consider using 2-4 models for optimal cost/quality balance",
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
return { errors, warnings };
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Validate judge configurations
|
|
150
|
-
* @param judges - Array of judge configurations to validate
|
|
151
|
-
* @returns Validation issues including errors and warnings
|
|
152
|
-
*/
|
|
153
|
-
function validateJudges(judges) {
|
|
154
|
-
const errors = [];
|
|
155
|
-
const warnings = [];
|
|
156
|
-
judges.forEach((judge, index) => {
|
|
157
|
-
const prefix = judges.length > 1 ? `judges[${index}]` : "judge";
|
|
158
|
-
// Validate required fields
|
|
159
|
-
if (!judge.provider || judge.provider.trim() === "") {
|
|
160
|
-
errors.push({
|
|
161
|
-
field: `${prefix}.provider`,
|
|
162
|
-
message: "Judge provider is required",
|
|
163
|
-
code: "MISSING_JUDGE_PROVIDER",
|
|
164
|
-
severity: "error",
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
if (!judge.model || judge.model.trim() === "") {
|
|
168
|
-
errors.push({
|
|
169
|
-
field: `${prefix}.model`,
|
|
170
|
-
message: "Judge model is required",
|
|
171
|
-
code: "MISSING_JUDGE_MODEL",
|
|
172
|
-
severity: "error",
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
if (!judge.criteria || judge.criteria.length === 0) {
|
|
176
|
-
errors.push({
|
|
177
|
-
field: `${prefix}.criteria`,
|
|
178
|
-
message: "At least one evaluation criterion is required",
|
|
179
|
-
code: "NO_CRITERIA",
|
|
180
|
-
severity: "error",
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
// Validate score scale (must be MIN_SCORE-MAX_SCORE for testing phase)
|
|
184
|
-
if (judge.scoreScale) {
|
|
185
|
-
if (judge.scoreScale.min !== MIN_SCORE ||
|
|
186
|
-
judge.scoreScale.max !== MAX_SCORE) {
|
|
187
|
-
errors.push({
|
|
188
|
-
field: "judge.scoreScale",
|
|
189
|
-
message: `Score scale must be ${MIN_SCORE}-${MAX_SCORE} for testing phase`,
|
|
190
|
-
code: "INVALID_SCORE_SCALE",
|
|
191
|
-
severity: "error",
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
// Check includeReasoning is true
|
|
196
|
-
if (!judge.includeReasoning) {
|
|
197
|
-
errors.push({
|
|
198
|
-
field: `${prefix}.includeReasoning`,
|
|
199
|
-
message: "includeReasoning must be true for testing phase",
|
|
200
|
-
code: "REASONING_REQUIRED",
|
|
201
|
-
severity: "error",
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
// Warn if temperature is high
|
|
205
|
-
if (judge.temperature !== undefined && judge.temperature > 0.3) {
|
|
206
|
-
warnings.push({
|
|
207
|
-
field: `${prefix}.temperature`,
|
|
208
|
-
message: `Judge temperature ${judge.temperature} is high`,
|
|
209
|
-
code: "HIGH_JUDGE_TEMPERATURE",
|
|
210
|
-
recommendation: "Use low temperature (0.1-0.2) for consistent judge evaluation",
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
// Warn if too many judges
|
|
215
|
-
if (judges.length > 3) {
|
|
216
|
-
warnings.push({
|
|
217
|
-
field: "judges",
|
|
218
|
-
message: `Using ${judges.length} judges may result in high costs`,
|
|
219
|
-
code: "MANY_JUDGES",
|
|
220
|
-
recommendation: "Consider using 1-2 judges for cost efficiency",
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
return { errors, warnings };
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Validate workflow type-specific requirements
|
|
227
|
-
* @param config - Workflow configuration to validate
|
|
228
|
-
* @returns Validation issues specific to workflow type
|
|
229
|
-
*/
|
|
230
|
-
function validateWorkflowType(config) {
|
|
231
|
-
const errors = [];
|
|
232
|
-
const warnings = [];
|
|
233
|
-
switch (config.type) {
|
|
234
|
-
case "ensemble":
|
|
235
|
-
if (config.models.length < 2) {
|
|
236
|
-
errors.push({
|
|
237
|
-
field: "models",
|
|
238
|
-
message: "Ensemble workflows require at least 2 models",
|
|
239
|
-
code: "INSUFFICIENT_MODELS",
|
|
240
|
-
severity: "error",
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
if (!hasJudge(config)) {
|
|
244
|
-
warnings.push({
|
|
245
|
-
field: "judge",
|
|
246
|
-
message: "Ensemble workflows typically benefit from judge scoring",
|
|
247
|
-
code: "NO_JUDGE",
|
|
248
|
-
recommendation: "Consider adding a judge to evaluate responses",
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
break;
|
|
252
|
-
case "chain":
|
|
253
|
-
// Chain workflows can have 1+ models
|
|
254
|
-
if (config.models.length === 1) {
|
|
255
|
-
warnings.push({
|
|
256
|
-
field: "models",
|
|
257
|
-
message: "Chain workflow has only one model",
|
|
258
|
-
code: "SINGLE_MODEL_CHAIN",
|
|
259
|
-
recommendation: "Chain workflows are most useful with multiple fallback models",
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
break;
|
|
263
|
-
case "adaptive":
|
|
264
|
-
if (config.models.length < 2) {
|
|
265
|
-
errors.push({
|
|
266
|
-
field: "models",
|
|
267
|
-
message: "Adaptive workflows require at least 2 models",
|
|
268
|
-
code: "INSUFFICIENT_MODELS",
|
|
269
|
-
severity: "error",
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
break;
|
|
273
|
-
case "custom":
|
|
274
|
-
// Custom workflows have flexible requirements
|
|
275
|
-
break;
|
|
276
|
-
}
|
|
277
|
-
return { errors, warnings };
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Validate execution configuration
|
|
281
|
-
* @param config - Workflow configuration with execution settings
|
|
282
|
-
* @returns Validation issues related to execution configuration
|
|
283
|
-
*/
|
|
284
|
-
function validateExecutionConfig(config) {
|
|
285
|
-
const errors = [];
|
|
286
|
-
const warnings = [];
|
|
287
|
-
if (!config.execution) {
|
|
288
|
-
return { errors, warnings };
|
|
289
|
-
}
|
|
290
|
-
const exec = config.execution;
|
|
291
|
-
// Validate timeout hierarchy
|
|
292
|
-
if (exec.timeout && exec.modelTimeout && exec.timeout < exec.modelTimeout) {
|
|
293
|
-
errors.push({
|
|
294
|
-
field: "execution.timeout",
|
|
295
|
-
message: "Total timeout cannot be less than model timeout",
|
|
296
|
-
code: "INVALID_TIMEOUT_HIERARCHY",
|
|
297
|
-
severity: "error",
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
// Validate minResponses vs model count
|
|
301
|
-
if (exec.minResponses && exec.minResponses > config.models.length) {
|
|
302
|
-
errors.push({
|
|
303
|
-
field: "execution.minResponses",
|
|
304
|
-
message: `minResponses (${exec.minResponses}) cannot exceed model count (${config.models.length})`,
|
|
305
|
-
code: "INVALID_MIN_RESPONSES",
|
|
306
|
-
severity: "error",
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
// Warn about aggressive parallelism
|
|
310
|
-
if (exec.parallelism && exec.parallelism > 20) {
|
|
311
|
-
warnings.push({
|
|
312
|
-
field: "execution.parallelism",
|
|
313
|
-
message: `High parallelism (${exec.parallelism}) may strain resources`,
|
|
314
|
-
code: "HIGH_PARALLELISM",
|
|
315
|
-
recommendation: "Consider using parallelism of 10-15 for stability",
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
return { errors, warnings };
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Check for configuration conflicts
|
|
322
|
-
* @param config - Workflow configuration to check for conflicts
|
|
323
|
-
* @returns Validation issues related to conflicting settings
|
|
324
|
-
*/
|
|
325
|
-
function validateNoConflicts(config) {
|
|
326
|
-
const errors = [];
|
|
327
|
-
const warnings = [];
|
|
328
|
-
// Cannot have both judge and judges
|
|
329
|
-
if (config.judge && config.judges && config.judges.length > 0) {
|
|
330
|
-
errors.push({
|
|
331
|
-
field: "judge",
|
|
332
|
-
message: 'Cannot specify both "judge" and "judges"',
|
|
333
|
-
code: "CONFLICTING_JUDGE_CONFIG",
|
|
334
|
-
severity: "error",
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
// Early termination requires minResponses
|
|
338
|
-
if (config.execution?.earlyTermination && !config.execution?.minResponses) {
|
|
339
|
-
warnings.push({
|
|
340
|
-
field: "execution.earlyTermination",
|
|
341
|
-
message: "Early termination without minResponses may stop too early",
|
|
342
|
-
code: "EARLY_TERMINATION_WITHOUT_MIN",
|
|
343
|
-
recommendation: "Set minResponses when using early termination",
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
return { errors, warnings };
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Log validation results
|
|
350
|
-
* @param workflowId - ID of the workflow being validated
|
|
351
|
-
* @param result - Validation result to log
|
|
352
|
-
*/
|
|
353
|
-
export function logValidationResults(workflowId, result) {
|
|
354
|
-
if (!result.valid) {
|
|
355
|
-
logger.error(`[${functionTag}] Workflow validation failed`, {
|
|
356
|
-
workflowId,
|
|
357
|
-
errorCount: result.errors.length,
|
|
358
|
-
errors: result.errors.map((e) => ({
|
|
359
|
-
field: e.field,
|
|
360
|
-
message: e.message,
|
|
361
|
-
code: e.code,
|
|
362
|
-
})),
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
if (result.warnings.length > 0) {
|
|
366
|
-
logger.warn(`[${functionTag}] Workflow validation warnings`, {
|
|
367
|
-
workflowId,
|
|
368
|
-
warningCount: result.warnings.length,
|
|
369
|
-
warnings: result.warnings.map((w) => ({
|
|
370
|
-
field: w.field,
|
|
371
|
-
message: w.message,
|
|
372
|
-
code: w.code,
|
|
373
|
-
})),
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
if (result.valid && result.warnings.length === 0) {
|
|
377
|
-
logger.debug(`[${functionTag}] Workflow validation passed`, {
|
|
378
|
-
workflowId,
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* Validate workflow at registration time
|
|
384
|
-
* @param config - Workflow configuration to validate for registration
|
|
385
|
-
* @returns Validation result with registration-specific checks
|
|
386
|
-
*/
|
|
387
|
-
export function validateForRegistration(config) {
|
|
388
|
-
const result = validateWorkflow(config);
|
|
389
|
-
// Additional registration-specific checks
|
|
390
|
-
if (!config.id || config.id.trim() === "") {
|
|
391
|
-
result.errors.push({
|
|
392
|
-
field: "id",
|
|
393
|
-
message: "Workflow ID is required for registration",
|
|
394
|
-
code: "MISSING_ID",
|
|
395
|
-
severity: "critical",
|
|
396
|
-
});
|
|
397
|
-
result.valid = false;
|
|
398
|
-
}
|
|
399
|
-
if (!config.name || config.name.trim() === "") {
|
|
400
|
-
result.errors.push({
|
|
401
|
-
field: "name",
|
|
402
|
-
message: "Workflow name is required for registration",
|
|
403
|
-
code: "MISSING_NAME",
|
|
404
|
-
severity: "critical",
|
|
405
|
-
});
|
|
406
|
-
result.valid = false;
|
|
407
|
-
}
|
|
408
|
-
return result;
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Validate workflow at execution time
|
|
412
|
-
* @param config - Workflow configuration to validate for execution
|
|
413
|
-
* @returns Validation result for execution-time checks
|
|
414
|
-
*/
|
|
415
|
-
export function validateForExecution(config) {
|
|
416
|
-
const result = validateWorkflow(config);
|
|
417
|
-
// Execution-time checks are less strict
|
|
418
|
-
// We allow warnings but fail on errors
|
|
419
|
-
return result;
|
|
420
|
-
}
|