@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,374 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAPI Templates
|
|
3
|
-
* Reusable OpenAPI path and operation templates
|
|
4
|
-
*/
|
|
5
|
-
// ============================================
|
|
6
|
-
// Response Templates
|
|
7
|
-
// ============================================
|
|
8
|
-
/**
|
|
9
|
-
* Create a success response template
|
|
10
|
-
*/
|
|
11
|
-
export function createSuccessResponse(description, schemaRef, contentType = "application/json") {
|
|
12
|
-
return {
|
|
13
|
-
description,
|
|
14
|
-
content: {
|
|
15
|
-
[contentType]: {
|
|
16
|
-
schema: {
|
|
17
|
-
$ref: `#/components/schemas/${schemaRef}`,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Create an error response template
|
|
25
|
-
*/
|
|
26
|
-
export function createErrorResponse(description, _statusCode = 400) {
|
|
27
|
-
return {
|
|
28
|
-
description,
|
|
29
|
-
content: {
|
|
30
|
-
"application/json": {
|
|
31
|
-
schema: {
|
|
32
|
-
$ref: "#/components/schemas/ErrorResponse",
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Create a streaming response template
|
|
40
|
-
*/
|
|
41
|
-
export function createStreamingResponse(description) {
|
|
42
|
-
return {
|
|
43
|
-
description,
|
|
44
|
-
content: {
|
|
45
|
-
"text/event-stream": {
|
|
46
|
-
schema: {
|
|
47
|
-
type: "string",
|
|
48
|
-
description: "Server-Sent Events stream",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Standard error responses for common HTTP status codes
|
|
56
|
-
*/
|
|
57
|
-
export const StandardErrorResponses = {
|
|
58
|
-
"400": createErrorResponse("Bad Request - Invalid input"),
|
|
59
|
-
"401": createErrorResponse("Unauthorized - Authentication required"),
|
|
60
|
-
"403": createErrorResponse("Forbidden - Insufficient permissions"),
|
|
61
|
-
"404": createErrorResponse("Not Found - Resource does not exist"),
|
|
62
|
-
"429": createErrorResponse("Too Many Requests - Rate limit exceeded"),
|
|
63
|
-
"500": createErrorResponse("Internal Server Error"),
|
|
64
|
-
};
|
|
65
|
-
// ============================================
|
|
66
|
-
// Parameter Templates
|
|
67
|
-
// ============================================
|
|
68
|
-
/**
|
|
69
|
-
* Create a path parameter template
|
|
70
|
-
*/
|
|
71
|
-
export function createPathParameter(name, description, schema = { type: "string" }) {
|
|
72
|
-
return {
|
|
73
|
-
name,
|
|
74
|
-
in: "path",
|
|
75
|
-
required: true,
|
|
76
|
-
description,
|
|
77
|
-
schema,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Create a query parameter template
|
|
82
|
-
*/
|
|
83
|
-
export function createQueryParameter(name, description, schema = { type: "string" }, required = false) {
|
|
84
|
-
return {
|
|
85
|
-
name,
|
|
86
|
-
in: "query",
|
|
87
|
-
required,
|
|
88
|
-
description,
|
|
89
|
-
schema,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Create a header parameter template
|
|
94
|
-
*/
|
|
95
|
-
export function createHeaderParameter(name, description, required = false) {
|
|
96
|
-
return {
|
|
97
|
-
name,
|
|
98
|
-
in: "header",
|
|
99
|
-
required,
|
|
100
|
-
description,
|
|
101
|
-
schema: {
|
|
102
|
-
type: "string",
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Common parameters
|
|
108
|
-
*/
|
|
109
|
-
export const CommonParameters = {
|
|
110
|
-
sessionId: createPathParameter("sessionId", "Session identifier"),
|
|
111
|
-
serverName: createPathParameter("name", "MCP server name"),
|
|
112
|
-
toolName: createPathParameter("name", "Tool name"),
|
|
113
|
-
limitQuery: createQueryParameter("limit", "Maximum number of items to return", { type: "integer", minimum: 1, maximum: 100, default: 25 }),
|
|
114
|
-
offsetQuery: createQueryParameter("offset", "Number of items to skip", {
|
|
115
|
-
type: "integer",
|
|
116
|
-
minimum: 0,
|
|
117
|
-
default: 0,
|
|
118
|
-
}),
|
|
119
|
-
searchQuery: createQueryParameter("q", "Search query string", {
|
|
120
|
-
type: "string",
|
|
121
|
-
}),
|
|
122
|
-
requestIdHeader: createHeaderParameter("X-Request-ID", "Unique request identifier for tracing"),
|
|
123
|
-
authorizationHeader: createHeaderParameter("Authorization", "Bearer token or API key", true),
|
|
124
|
-
};
|
|
125
|
-
// ============================================
|
|
126
|
-
// Operation Templates
|
|
127
|
-
// ============================================
|
|
128
|
-
/**
|
|
129
|
-
* Create a standard GET operation
|
|
130
|
-
*/
|
|
131
|
-
export function createGetOperation(summary, description, tags, responseSchema, parameters) {
|
|
132
|
-
return {
|
|
133
|
-
summary,
|
|
134
|
-
description,
|
|
135
|
-
tags,
|
|
136
|
-
parameters: parameters ?? [],
|
|
137
|
-
responses: {
|
|
138
|
-
"200": createSuccessResponse("Success", responseSchema),
|
|
139
|
-
...StandardErrorResponses,
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Create a standard POST operation
|
|
145
|
-
*/
|
|
146
|
-
export function createPostOperation(summary, description, tags, requestSchema, responseSchema, parameters) {
|
|
147
|
-
return {
|
|
148
|
-
summary,
|
|
149
|
-
description,
|
|
150
|
-
tags,
|
|
151
|
-
parameters: parameters ?? [],
|
|
152
|
-
requestBody: {
|
|
153
|
-
required: true,
|
|
154
|
-
content: {
|
|
155
|
-
"application/json": {
|
|
156
|
-
schema: {
|
|
157
|
-
$ref: `#/components/schemas/${requestSchema}`,
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
responses: {
|
|
163
|
-
"200": createSuccessResponse("Success", responseSchema),
|
|
164
|
-
...StandardErrorResponses,
|
|
165
|
-
},
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Create a streaming POST operation
|
|
170
|
-
*/
|
|
171
|
-
export function createStreamingPostOperation(summary, description, tags, requestSchema, parameters) {
|
|
172
|
-
return {
|
|
173
|
-
summary,
|
|
174
|
-
description,
|
|
175
|
-
tags,
|
|
176
|
-
parameters: parameters ?? [],
|
|
177
|
-
requestBody: {
|
|
178
|
-
required: true,
|
|
179
|
-
content: {
|
|
180
|
-
"application/json": {
|
|
181
|
-
schema: {
|
|
182
|
-
$ref: `#/components/schemas/${requestSchema}`,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
responses: {
|
|
188
|
-
"200": createStreamingResponse("Streaming response"),
|
|
189
|
-
...StandardErrorResponses,
|
|
190
|
-
},
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Create a DELETE operation
|
|
195
|
-
*/
|
|
196
|
-
export function createDeleteOperation(summary, description, tags, parameters) {
|
|
197
|
-
return {
|
|
198
|
-
summary,
|
|
199
|
-
description,
|
|
200
|
-
tags,
|
|
201
|
-
parameters,
|
|
202
|
-
responses: {
|
|
203
|
-
"204": {
|
|
204
|
-
description: "Successfully deleted",
|
|
205
|
-
},
|
|
206
|
-
...StandardErrorResponses,
|
|
207
|
-
},
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
// ============================================
|
|
211
|
-
// Security Scheme Templates
|
|
212
|
-
// ============================================
|
|
213
|
-
/**
|
|
214
|
-
* Bearer token security scheme
|
|
215
|
-
*/
|
|
216
|
-
export const BearerSecurityScheme = {
|
|
217
|
-
type: "http",
|
|
218
|
-
scheme: "bearer",
|
|
219
|
-
bearerFormat: "JWT",
|
|
220
|
-
description: "JWT Bearer token authentication",
|
|
221
|
-
};
|
|
222
|
-
/**
|
|
223
|
-
* API key security scheme (header)
|
|
224
|
-
*/
|
|
225
|
-
export const ApiKeySecurityScheme = {
|
|
226
|
-
type: "apiKey",
|
|
227
|
-
in: "header",
|
|
228
|
-
name: "X-API-Key",
|
|
229
|
-
description: "API key authentication via header",
|
|
230
|
-
};
|
|
231
|
-
/**
|
|
232
|
-
* Basic auth security scheme
|
|
233
|
-
*/
|
|
234
|
-
export const BasicSecurityScheme = {
|
|
235
|
-
type: "http",
|
|
236
|
-
scheme: "basic",
|
|
237
|
-
description: "HTTP Basic authentication",
|
|
238
|
-
};
|
|
239
|
-
// ============================================
|
|
240
|
-
// Tag Templates
|
|
241
|
-
// ============================================
|
|
242
|
-
/**
|
|
243
|
-
* Standard API tags
|
|
244
|
-
*/
|
|
245
|
-
export const StandardTags = [
|
|
246
|
-
{
|
|
247
|
-
name: "agent",
|
|
248
|
-
description: "Agent execution and streaming endpoints",
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
name: "tools",
|
|
252
|
-
description: "Tool discovery and execution endpoints",
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
name: "mcp",
|
|
256
|
-
description: "MCP server management endpoints",
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
name: "memory",
|
|
260
|
-
description: "Conversation memory and session management",
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
name: "health",
|
|
264
|
-
description: "Health check and metrics endpoints",
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
name: "streaming",
|
|
268
|
-
description: "Real-time streaming endpoints",
|
|
269
|
-
},
|
|
270
|
-
];
|
|
271
|
-
// ============================================
|
|
272
|
-
// Server Templates
|
|
273
|
-
// ============================================
|
|
274
|
-
/**
|
|
275
|
-
* Create a server definition
|
|
276
|
-
*/
|
|
277
|
-
export function createServer(url, description, variables) {
|
|
278
|
-
const server = {
|
|
279
|
-
url,
|
|
280
|
-
description,
|
|
281
|
-
};
|
|
282
|
-
if (variables) {
|
|
283
|
-
server.variables = Object.entries(variables).reduce((acc, [key, value]) => {
|
|
284
|
-
acc[key] = {
|
|
285
|
-
default: value.default,
|
|
286
|
-
description: value.description,
|
|
287
|
-
};
|
|
288
|
-
return acc;
|
|
289
|
-
}, {});
|
|
290
|
-
}
|
|
291
|
-
return server;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Default server configurations
|
|
295
|
-
*/
|
|
296
|
-
export const DefaultServers = [
|
|
297
|
-
createServer("http://localhost:3000", "Local development server"),
|
|
298
|
-
createServer("{protocol}://{host}:{port}", "Custom server", {
|
|
299
|
-
protocol: {
|
|
300
|
-
default: "http",
|
|
301
|
-
description: "Protocol (http or https)",
|
|
302
|
-
},
|
|
303
|
-
host: {
|
|
304
|
-
default: "localhost",
|
|
305
|
-
description: "Server hostname",
|
|
306
|
-
},
|
|
307
|
-
port: {
|
|
308
|
-
default: "3000",
|
|
309
|
-
description: "Server port",
|
|
310
|
-
},
|
|
311
|
-
}),
|
|
312
|
-
];
|
|
313
|
-
// ============================================
|
|
314
|
-
// Info Templates
|
|
315
|
-
// ============================================
|
|
316
|
-
/**
|
|
317
|
-
* Create API info section
|
|
318
|
-
*/
|
|
319
|
-
export function createApiInfo(title, version, description, options) {
|
|
320
|
-
const info = {
|
|
321
|
-
title,
|
|
322
|
-
version,
|
|
323
|
-
description,
|
|
324
|
-
};
|
|
325
|
-
if (options?.termsOfService) {
|
|
326
|
-
info.termsOfService = options.termsOfService;
|
|
327
|
-
}
|
|
328
|
-
if (options?.contact) {
|
|
329
|
-
info.contact = options.contact;
|
|
330
|
-
}
|
|
331
|
-
if (options?.license) {
|
|
332
|
-
info.license = options.license;
|
|
333
|
-
}
|
|
334
|
-
return info;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Default NeuroLink API info
|
|
338
|
-
*/
|
|
339
|
-
export const NeuroLinkApiInfo = createApiInfo("NeuroLink API", "1.0.0", `
|
|
340
|
-
NeuroLink Server API provides a unified interface to access AI capabilities
|
|
341
|
-
through multiple providers. This API supports:
|
|
342
|
-
|
|
343
|
-
- **Agent Execution**: Run AI agents with customizable parameters
|
|
344
|
-
- **Streaming**: Real-time streaming responses via Server-Sent Events
|
|
345
|
-
- **Tool Management**: Discover and execute tools from MCP servers
|
|
346
|
-
- **Memory Management**: Conversation session and context management
|
|
347
|
-
- **MCP Integration**: Manage external Model Context Protocol servers
|
|
348
|
-
|
|
349
|
-
## Authentication
|
|
350
|
-
|
|
351
|
-
The API supports multiple authentication methods:
|
|
352
|
-
- **Bearer Token**: JWT tokens in the Authorization header
|
|
353
|
-
- **API Key**: API key via X-API-Key header
|
|
354
|
-
- **Basic Auth**: HTTP Basic authentication
|
|
355
|
-
|
|
356
|
-
## Rate Limiting
|
|
357
|
-
|
|
358
|
-
Default rate limits apply to all endpoints:
|
|
359
|
-
- 100 requests per 15-minute window
|
|
360
|
-
- Custom limits may apply to specific endpoints
|
|
361
|
-
|
|
362
|
-
## Errors
|
|
363
|
-
|
|
364
|
-
All errors follow a consistent format with error code, message, and optional details.
|
|
365
|
-
`.trim(), {
|
|
366
|
-
contact: {
|
|
367
|
-
name: "NeuroLink Team",
|
|
368
|
-
url: "https://github.com/juspay/neurolink",
|
|
369
|
-
},
|
|
370
|
-
license: {
|
|
371
|
-
name: "Apache 2.0",
|
|
372
|
-
url: "https://www.apache.org/licenses/LICENSE-2.0",
|
|
373
|
-
},
|
|
374
|
-
});
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Routes
|
|
3
|
-
* Endpoints for agent execution and streaming
|
|
4
|
-
*/
|
|
5
|
-
import { ProviderFactory } from "../../factories/providerFactory.js";
|
|
6
|
-
import { createStreamRedactor } from "../utils/redaction.js";
|
|
7
|
-
import { AgentExecuteRequestSchema, createErrorResponse as createError, EmbedManyRequestSchema, EmbedRequestSchema, validateRequest, } from "../utils/validation.js";
|
|
8
|
-
/**
|
|
9
|
-
* Create agent routes
|
|
10
|
-
*/
|
|
11
|
-
export function createAgentRoutes(basePath = "/api") {
|
|
12
|
-
return {
|
|
13
|
-
prefix: `${basePath}/agent`,
|
|
14
|
-
routes: [
|
|
15
|
-
{
|
|
16
|
-
method: "POST",
|
|
17
|
-
path: `${basePath}/agent/execute`,
|
|
18
|
-
handler: async (ctx) => {
|
|
19
|
-
// Validate request body
|
|
20
|
-
const validation = validateRequest(AgentExecuteRequestSchema, ctx.body, ctx.requestId);
|
|
21
|
-
if (!validation.success) {
|
|
22
|
-
return validation.error;
|
|
23
|
-
}
|
|
24
|
-
const request = validation.data;
|
|
25
|
-
// Normalize input
|
|
26
|
-
const input = typeof request.input === "string"
|
|
27
|
-
? { text: request.input }
|
|
28
|
-
: request.input;
|
|
29
|
-
const result = await ctx.neurolink.generate({
|
|
30
|
-
input,
|
|
31
|
-
provider: request.provider,
|
|
32
|
-
model: request.model,
|
|
33
|
-
systemPrompt: request.systemPrompt,
|
|
34
|
-
temperature: request.temperature,
|
|
35
|
-
maxTokens: request.maxTokens,
|
|
36
|
-
// Note: tools should be passed as Record<string, Tool> in generate options
|
|
37
|
-
// If request.tools is an array of tool names, we skip them
|
|
38
|
-
context: {
|
|
39
|
-
// When an authenticated user context exists (set by auth middleware),
|
|
40
|
-
// always use its IDs to prevent caller-supplied impersonation.
|
|
41
|
-
sessionId: ctx.user
|
|
42
|
-
? ctx.session?.id
|
|
43
|
-
: (ctx.session?.id ?? request.sessionId),
|
|
44
|
-
userId: ctx.user ? ctx.user.id : request.userId,
|
|
45
|
-
userEmail: ctx.user?.email,
|
|
46
|
-
userRoles: ctx.user?.roles,
|
|
47
|
-
requestId: ctx.requestId,
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
// Map tool calls from SDK format to API format
|
|
51
|
-
const toolCalls = result.toolCalls?.map((tc) => ({
|
|
52
|
-
name: tc.toolName,
|
|
53
|
-
arguments: tc.args,
|
|
54
|
-
}));
|
|
55
|
-
return {
|
|
56
|
-
content: result.content || "",
|
|
57
|
-
provider: result.provider || request.provider || "unknown",
|
|
58
|
-
model: result.model || request.model || "unknown",
|
|
59
|
-
usage: result.usage,
|
|
60
|
-
toolCalls,
|
|
61
|
-
};
|
|
62
|
-
},
|
|
63
|
-
description: "Execute agent with prompt",
|
|
64
|
-
tags: ["agent"],
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
method: "POST",
|
|
68
|
-
path: `${basePath}/agent/stream`,
|
|
69
|
-
streaming: { enabled: true, contentType: "text/event-stream" },
|
|
70
|
-
handler: async (ctx) => {
|
|
71
|
-
// Validate request body
|
|
72
|
-
const validation = validateRequest(AgentExecuteRequestSchema, ctx.body, ctx.requestId);
|
|
73
|
-
if (!validation.success) {
|
|
74
|
-
return validation.error;
|
|
75
|
-
}
|
|
76
|
-
const request = validation.data;
|
|
77
|
-
// Normalize input
|
|
78
|
-
const input = typeof request.input === "string"
|
|
79
|
-
? { text: request.input }
|
|
80
|
-
: request.input;
|
|
81
|
-
const result = await ctx.neurolink.stream({
|
|
82
|
-
input,
|
|
83
|
-
provider: request.provider,
|
|
84
|
-
model: request.model,
|
|
85
|
-
systemPrompt: request.systemPrompt,
|
|
86
|
-
temperature: request.temperature,
|
|
87
|
-
maxTokens: request.maxTokens,
|
|
88
|
-
context: {
|
|
89
|
-
// When an authenticated user context exists (set by auth middleware),
|
|
90
|
-
// always use its IDs to prevent caller-supplied impersonation.
|
|
91
|
-
sessionId: ctx.user
|
|
92
|
-
? ctx.session?.id
|
|
93
|
-
: (ctx.session?.id ?? request.sessionId),
|
|
94
|
-
userId: ctx.user ? ctx.user.id : request.userId,
|
|
95
|
-
userEmail: ctx.user?.email,
|
|
96
|
-
userRoles: ctx.user?.roles,
|
|
97
|
-
requestId: ctx.requestId,
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
// Create redactor (no-op if redaction is not enabled)
|
|
101
|
-
const redactor = createStreamRedactor(ctx.redaction);
|
|
102
|
-
// Wrap stream to apply redaction to each chunk
|
|
103
|
-
async function* redactedStream() {
|
|
104
|
-
for await (const chunk of result.stream) {
|
|
105
|
-
// Apply redaction to chunk (returns unchanged if redaction disabled)
|
|
106
|
-
yield redactor(chunk);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return redactedStream();
|
|
110
|
-
},
|
|
111
|
-
description: "Stream agent response",
|
|
112
|
-
tags: ["agent", "streaming"],
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
method: "GET",
|
|
116
|
-
path: `${basePath}/agent/providers`,
|
|
117
|
-
handler: async () => {
|
|
118
|
-
// Get available providers dynamically from ProviderFactory
|
|
119
|
-
const providers = ProviderFactory.getAvailableProviders();
|
|
120
|
-
return {
|
|
121
|
-
providers,
|
|
122
|
-
total: providers.length,
|
|
123
|
-
};
|
|
124
|
-
},
|
|
125
|
-
description: "List available AI providers",
|
|
126
|
-
tags: ["agent", "providers"],
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
method: "POST",
|
|
130
|
-
path: `${basePath}/agent/embed`,
|
|
131
|
-
handler: async (ctx) => {
|
|
132
|
-
const validation = validateRequest(EmbedRequestSchema, ctx.body, ctx.requestId);
|
|
133
|
-
if (!validation.success) {
|
|
134
|
-
return validation.error;
|
|
135
|
-
}
|
|
136
|
-
const request = validation.data;
|
|
137
|
-
try {
|
|
138
|
-
const providerName = request.provider || "openai";
|
|
139
|
-
const provider = await ProviderFactory.createProvider(providerName, request.model);
|
|
140
|
-
const embedding = await provider.embed(request.text, request.model);
|
|
141
|
-
return {
|
|
142
|
-
embedding,
|
|
143
|
-
provider: providerName,
|
|
144
|
-
model: request.model || "default",
|
|
145
|
-
dimension: embedding.length,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
return createError("EXECUTION_FAILED", error instanceof Error
|
|
150
|
-
? error.message
|
|
151
|
-
: "Embedding generation failed", undefined, ctx.requestId);
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
description: "Generate embedding for a single text",
|
|
155
|
-
tags: ["agent", "embeddings"],
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
method: "POST",
|
|
159
|
-
path: `${basePath}/agent/embed-many`,
|
|
160
|
-
handler: async (ctx) => {
|
|
161
|
-
const validation = validateRequest(EmbedManyRequestSchema, ctx.body, ctx.requestId);
|
|
162
|
-
if (!validation.success) {
|
|
163
|
-
return validation.error;
|
|
164
|
-
}
|
|
165
|
-
const request = validation.data;
|
|
166
|
-
try {
|
|
167
|
-
const providerName = request.provider || "openai";
|
|
168
|
-
const provider = await ProviderFactory.createProvider(providerName, request.model);
|
|
169
|
-
const embeddings = await provider.embedMany(request.texts, request.model);
|
|
170
|
-
return {
|
|
171
|
-
embeddings,
|
|
172
|
-
provider: providerName,
|
|
173
|
-
model: request.model || "default",
|
|
174
|
-
count: embeddings.length,
|
|
175
|
-
dimension: embeddings[0]?.length ?? 0,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
return createError("EXECUTION_FAILED", error instanceof Error
|
|
180
|
-
? error.message
|
|
181
|
-
: "Batch embedding generation failed", undefined, ctx.requestId);
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
description: "Generate embeddings for multiple texts in a batch",
|
|
185
|
-
tags: ["agent", "embeddings"],
|
|
186
|
-
},
|
|
187
|
-
],
|
|
188
|
-
};
|
|
189
|
-
}
|