@juspay/neurolink 9.30.0 → 9.31.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 +20 -0
- package/README.md +2 -3
- package/dist/adapters/providerImageAdapter.js +13 -22
- package/dist/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/adapters/video/videoAnalyzer.js +3 -3
- package/dist/agent/directTools.d.ts +20 -289
- package/dist/agent/directTools.js +11 -10
- package/dist/auth/accountPool.d.ts +68 -0
- package/dist/auth/accountPool.js +178 -0
- package/dist/auth/anthropicOAuth.d.ts +15 -5
- package/dist/auth/anthropicOAuth.js +117 -57
- package/dist/auth/index.d.ts +7 -5
- package/dist/auth/index.js +6 -2
- package/dist/auth/tokenStore.d.ts +71 -27
- package/dist/auth/tokenStore.js +342 -64
- package/dist/cli/commands/auth.d.ts +39 -2
- package/dist/cli/commands/auth.js +585 -36
- package/dist/cli/commands/config.d.ts +47 -574
- package/dist/cli/commands/config.js +142 -24
- package/dist/cli/commands/docs.d.ts +1 -5
- package/dist/cli/commands/observability.d.ts +1 -17
- package/dist/cli/commands/ollama.js +1 -1
- package/dist/cli/commands/proxy.d.ts +20 -0
- package/dist/cli/commands/proxy.js +1254 -0
- package/dist/cli/commands/setup-anthropic.js +1 -1
- package/dist/cli/commands/setup-azure.js +1 -1
- package/dist/cli/commands/setup-bedrock.js +2 -2
- package/dist/cli/commands/setup-gcp.js +1 -1
- package/dist/cli/commands/setup-google-ai.js +1 -1
- package/dist/cli/commands/setup-huggingface.js +2 -2
- package/dist/cli/commands/setup-mistral.js +1 -1
- package/dist/cli/commands/setup-openai.js +1 -1
- package/dist/cli/commands/setup.js +3 -3
- package/dist/cli/commands/telemetry.d.ts +1 -22
- package/dist/cli/factories/authCommandFactory.d.ts +16 -11
- package/dist/cli/factories/authCommandFactory.js +96 -1
- package/dist/cli/factories/ollamaCommandFactory.js +1 -1
- package/dist/cli/factories/sagemakerCommandFactory.js +25 -6
- package/dist/cli/index.d.ts +0 -6
- package/dist/cli/index.js +5 -2
- package/dist/cli/loop/conversationSelector.js +7 -2
- package/dist/cli/parser.js +19 -1
- package/dist/cli/utils/envManager.js +2 -2
- package/dist/cli/utils/ollamaUtils.d.ts +1 -2
- package/dist/client/adapters/providerImageAdapter.js +588 -0
- package/dist/client/adapters/tts/googleTTSHandler.js +344 -0
- package/dist/client/adapters/video/directorPipeline.js +516 -0
- package/dist/client/adapters/video/ffmpegAdapter.js +206 -0
- package/dist/client/adapters/video/frameExtractor.js +143 -0
- package/dist/client/adapters/video/vertexVideoHandler.js +763 -0
- package/dist/client/adapters/video/videoAnalyzer.js +238 -0
- package/dist/client/adapters/video/videoMerger.js +171 -0
- package/dist/client/agent/directTools.js +840 -0
- package/dist/client/aiSdkAdapter.d.ts +196 -0
- package/dist/client/aiSdkAdapter.js +487 -0
- package/dist/client/auth/anthropicOAuth.js +974 -0
- package/dist/client/auth/tokenStore.js +799 -0
- package/dist/client/auth.d.ts +248 -0
- package/dist/client/auth.js +473 -0
- package/dist/client/client/aiSdkAdapter.js +487 -0
- package/dist/client/client/auth.js +473 -0
- package/dist/client/client/errors.js +552 -0
- package/dist/client/client/httpClient.js +837 -0
- package/dist/client/client/index.js +172 -0
- package/dist/client/client/interceptors.js +601 -0
- package/dist/client/client/reactHooks.js +1159 -0
- package/dist/client/client/sseClient.js +545 -0
- package/dist/client/client/streamingClient.js +917 -0
- package/dist/client/client/wsClient.js +369 -0
- package/dist/client/config/configManager.js +303 -0
- package/dist/client/config/conversationMemory.js +86 -0
- package/dist/client/config/taskClassificationConfig.js +148 -0
- package/dist/client/constants/contextWindows.js +295 -0
- package/dist/client/constants/enums.js +853 -0
- package/dist/client/constants/index.js +207 -0
- package/dist/client/constants/performance.js +389 -0
- package/dist/client/constants/retry.js +266 -0
- package/dist/client/constants/timeouts.js +182 -0
- package/dist/client/constants/tokens.js +380 -0
- package/dist/client/constants/videoErrors.js +46 -0
- package/dist/client/context/budgetChecker.js +98 -0
- package/dist/client/context/contextCompactor.js +205 -0
- package/dist/client/context/emergencyTruncation.js +88 -0
- package/dist/client/context/errorDetection.js +171 -0
- package/dist/client/context/errors.js +21 -0
- package/dist/client/context/fileTokenBudget.js +127 -0
- package/dist/client/context/prompts/summarizationPrompt.js +117 -0
- package/dist/client/context/stages/fileReadDeduplicator.js +66 -0
- package/dist/client/context/stages/slidingWindowTruncator.js +190 -0
- package/dist/client/context/stages/structuredSummarizer.js +99 -0
- package/dist/client/context/stages/toolOutputPruner.js +52 -0
- package/dist/client/context/summarizationEngine.js +136 -0
- package/dist/client/context/toolOutputLimits.js +78 -0
- package/dist/client/context/toolPairRepair.js +66 -0
- package/dist/client/core/analytics.js +88 -0
- package/dist/client/core/baseProvider.js +1385 -0
- package/dist/client/core/constants.js +140 -0
- package/dist/client/core/conversationMemoryFactory.js +141 -0
- package/dist/client/core/conversationMemoryInitializer.js +128 -0
- package/dist/client/core/conversationMemoryManager.js +344 -0
- package/dist/client/core/dynamicModels.js +358 -0
- package/dist/client/core/evaluation.js +309 -0
- package/dist/client/core/evaluationProviders.js +248 -0
- package/dist/client/core/factory.js +412 -0
- package/dist/client/core/infrastructure/baseError.js +22 -0
- package/dist/client/core/infrastructure/baseFactory.js +54 -0
- package/dist/client/core/infrastructure/baseRegistry.js +49 -0
- package/dist/client/core/infrastructure/index.js +5 -0
- package/dist/client/core/infrastructure/retry.js +20 -0
- package/dist/client/core/infrastructure/typedEventEmitter.js +23 -0
- package/dist/client/core/modelConfiguration.js +851 -0
- package/dist/client/core/modules/GenerationHandler.js +588 -0
- package/dist/client/core/modules/MessageBuilder.js +273 -0
- package/dist/client/core/modules/StreamHandler.js +185 -0
- package/dist/client/core/modules/TelemetryHandler.js +203 -0
- package/dist/client/core/modules/ToolsManager.js +499 -0
- package/dist/client/core/modules/Utilities.js +331 -0
- package/dist/client/core/redisConversationMemoryManager.js +1435 -0
- package/dist/client/core/streamAnalytics.js +131 -0
- package/dist/client/errors.d.ts +299 -0
- package/dist/client/errors.js +552 -0
- package/dist/client/evaluation/contextBuilder.js +134 -0
- package/dist/client/evaluation/index.js +61 -0
- package/dist/client/evaluation/prompts.js +73 -0
- package/dist/client/evaluation/ragasEvaluator.js +110 -0
- package/dist/client/evaluation/retryManager.js +78 -0
- package/dist/client/evaluation/scoring.js +61 -0
- package/dist/client/factories/providerFactory.js +166 -0
- package/dist/client/factories/providerRegistry.js +166 -0
- package/dist/client/features/ppt/constants.js +896 -0
- package/dist/client/features/ppt/contentPlanner.js +529 -0
- package/dist/client/features/ppt/presentationOrchestrator.js +236 -0
- package/dist/client/features/ppt/slideGenerator.js +532 -0
- package/dist/client/features/ppt/slideRenderers.js +2383 -0
- package/dist/client/features/ppt/slideTypeInference.js +405 -0
- package/dist/client/features/ppt/types.js +13 -0
- package/dist/client/features/ppt/utils.js +443 -0
- package/dist/client/files/fileReferenceRegistry.js +1543 -0
- package/dist/client/files/fileTools.js +450 -0
- package/dist/client/files/streamingReader.js +321 -0
- package/dist/client/files/types.js +23 -0
- package/dist/client/hitl/hitlErrors.js +54 -0
- package/dist/client/hitl/hitlManager.js +460 -0
- package/dist/client/httpClient.d.ts +297 -0
- package/dist/client/httpClient.js +837 -0
- package/dist/client/index.d.ts +111 -0
- package/dist/client/index.js +511 -0
- package/dist/client/interceptors.d.ts +283 -0
- package/dist/client/interceptors.js +601 -0
- package/dist/client/mcp/agentExposure.js +356 -0
- package/dist/client/mcp/auth/index.js +11 -0
- package/dist/client/mcp/auth/oauthClientProvider.js +325 -0
- package/dist/client/mcp/auth/tokenStorage.js +134 -0
- package/dist/client/mcp/batching/index.js +10 -0
- package/dist/client/mcp/batching/requestBatcher.js +441 -0
- package/dist/client/mcp/caching/index.js +10 -0
- package/dist/client/mcp/caching/toolCache.js +433 -0
- package/dist/client/mcp/elicitation/elicitationManager.js +376 -0
- package/dist/client/mcp/elicitation/index.js +11 -0
- package/dist/client/mcp/elicitation/types.js +10 -0
- package/dist/client/mcp/elicitationProtocol.js +375 -0
- package/dist/client/mcp/enhancedToolDiscovery.js +481 -0
- package/dist/client/mcp/externalServerManager.js +1478 -0
- package/dist/client/mcp/factory.js +161 -0
- package/dist/client/mcp/flexibleToolValidator.js +161 -0
- package/dist/client/mcp/httpRateLimiter.js +391 -0
- package/dist/client/mcp/httpRetryHandler.js +178 -0
- package/dist/client/mcp/index.js +74 -0
- package/dist/client/mcp/mcpCircuitBreaker.js +427 -0
- package/dist/client/mcp/mcpClientFactory.js +708 -0
- package/dist/client/mcp/mcpRegistryClient.js +488 -0
- package/dist/client/mcp/mcpServerBase.js +373 -0
- package/dist/client/mcp/multiServerManager.js +579 -0
- package/dist/client/mcp/registry.js +158 -0
- package/dist/client/mcp/routing/index.js +10 -0
- package/dist/client/mcp/routing/toolRouter.js +416 -0
- package/dist/client/mcp/serverCapabilities.js +502 -0
- package/dist/client/mcp/servers/agent/directToolsServer.js +150 -0
- package/dist/client/mcp/toolAnnotations.js +239 -0
- package/dist/client/mcp/toolConverter.js +258 -0
- package/dist/client/mcp/toolDiscoveryService.js +798 -0
- package/dist/client/mcp/toolIntegration.js +334 -0
- package/dist/client/mcp/toolRegistry.js +719 -0
- package/dist/client/memory/hippocampusInitializer.js +19 -0
- package/dist/client/memory/memoryRetrievalTools.js +166 -0
- package/dist/client/middleware/builtin/analytics.js +132 -0
- package/dist/client/middleware/builtin/autoEvaluation.js +203 -0
- package/dist/client/middleware/builtin/guardrails.js +109 -0
- package/dist/client/middleware/builtin/lifecycle.js +168 -0
- package/dist/client/middleware/factory.js +327 -0
- package/dist/client/middleware/registry.js +295 -0
- package/dist/client/middleware/utils/guardrailsUtils.js +396 -0
- package/dist/client/models/anthropicModels.js +527 -0
- package/dist/client/neurolink.js +8015 -0
- package/dist/client/observability/exporterRegistry.js +413 -0
- package/dist/client/observability/exporters/arizeExporter.js +138 -0
- package/dist/client/observability/exporters/baseExporter.js +190 -0
- package/dist/client/observability/exporters/braintrustExporter.js +154 -0
- package/dist/client/observability/exporters/datadogExporter.js +196 -0
- package/dist/client/observability/exporters/laminarExporter.js +302 -0
- package/dist/client/observability/exporters/langfuseExporter.js +209 -0
- package/dist/client/observability/exporters/langsmithExporter.js +143 -0
- package/dist/client/observability/exporters/otelExporter.js +164 -0
- package/dist/client/observability/exporters/posthogExporter.js +287 -0
- package/dist/client/observability/exporters/sentryExporter.js +165 -0
- package/dist/client/observability/index.js +31 -0
- package/dist/client/observability/metricsAggregator.js +556 -0
- package/dist/client/observability/otelBridge.js +131 -0
- package/dist/client/observability/retryPolicy.js +383 -0
- package/dist/client/observability/sampling/samplers.js +216 -0
- package/dist/client/observability/spanProcessor.js +303 -0
- package/dist/client/observability/tokenTracker.js +413 -0
- package/dist/client/observability/types/exporterTypes.js +5 -0
- package/dist/client/observability/types/index.js +4 -0
- package/dist/client/observability/types/spanTypes.js +92 -0
- package/dist/client/observability/utils/safeMetadata.js +25 -0
- package/dist/client/observability/utils/spanSerializer.js +292 -0
- package/dist/client/processors/archive/ArchiveProcessor.js +1308 -0
- package/dist/client/processors/base/BaseFileProcessor.js +614 -0
- package/dist/client/processors/base/types.js +82 -0
- package/dist/client/processors/config/fileTypes.js +520 -0
- package/dist/client/processors/config/index.js +92 -0
- package/dist/client/processors/config/languageMap.js +410 -0
- package/dist/client/processors/config/mimeTypes.js +363 -0
- package/dist/client/processors/config/sizeLimits.js +258 -0
- package/dist/client/processors/document/ExcelProcessor.js +590 -0
- package/dist/client/processors/document/OpenDocumentProcessor.js +212 -0
- package/dist/client/processors/document/PptxProcessor.js +157 -0
- package/dist/client/processors/document/RtfProcessor.js +361 -0
- package/dist/client/processors/document/WordProcessor.js +353 -0
- package/dist/client/processors/errors/FileErrorCode.js +255 -0
- package/dist/client/processors/errors/errorHelpers.js +386 -0
- package/dist/client/processors/errors/errorSerializer.js +507 -0
- package/dist/client/processors/errors/index.js +49 -0
- package/dist/client/processors/markup/SvgProcessor.js +240 -0
- package/dist/client/processors/media/AudioProcessor.js +707 -0
- package/dist/client/processors/media/VideoProcessor.js +1045 -0
- package/dist/client/providers/amazonBedrock.js +1512 -0
- package/dist/client/providers/amazonSagemaker.js +162 -0
- package/dist/client/providers/anthropic.js +831 -0
- package/dist/client/providers/azureOpenai.js +143 -0
- package/dist/client/providers/googleAiStudio.js +1200 -0
- package/dist/client/providers/googleNativeGemini3.js +543 -0
- package/dist/client/providers/googleVertex.js +2936 -0
- package/dist/client/providers/huggingFace.js +315 -0
- package/dist/client/providers/litellm.js +488 -0
- package/dist/client/providers/mistral.js +157 -0
- package/dist/client/providers/ollama.js +1579 -0
- package/dist/client/providers/openAI.js +627 -0
- package/dist/client/providers/openRouter.js +543 -0
- package/dist/client/providers/openaiCompatible.js +290 -0
- package/dist/client/providers/providerTypeUtils.js +46 -0
- package/dist/client/providers/sagemaker/adaptive-semaphore.js +215 -0
- package/dist/client/providers/sagemaker/client.js +472 -0
- package/dist/client/providers/sagemaker/config.js +317 -0
- package/dist/client/providers/sagemaker/detection.js +606 -0
- package/dist/client/providers/sagemaker/error-constants.js +227 -0
- package/dist/client/providers/sagemaker/errors.js +299 -0
- package/dist/client/providers/sagemaker/language-model.js +775 -0
- package/dist/client/providers/sagemaker/parsers.js +634 -0
- package/dist/client/providers/sagemaker/streaming.js +331 -0
- package/dist/client/providers/sagemaker/structured-parser.js +625 -0
- package/dist/client/proxy/accountQuota.js +162 -0
- package/dist/client/proxy/claudeFormat.js +595 -0
- package/dist/client/proxy/modelRouter.js +29 -0
- package/dist/client/proxy/oauthFetch.js +367 -0
- package/dist/client/proxy/proxyFetch.js +586 -0
- package/dist/client/proxy/requestLogger.js +207 -0
- package/dist/client/proxy/tokenRefresh.js +124 -0
- package/dist/client/proxy/usageStats.js +74 -0
- package/dist/client/proxy/utils/noProxyUtils.js +149 -0
- package/dist/client/rag/ChunkerFactory.js +320 -0
- package/dist/client/rag/ChunkerRegistry.js +421 -0
- package/dist/client/rag/chunkers/BaseChunker.js +143 -0
- package/dist/client/rag/chunkers/CharacterChunker.js +28 -0
- package/dist/client/rag/chunkers/HTMLChunker.js +38 -0
- package/dist/client/rag/chunkers/JSONChunker.js +68 -0
- package/dist/client/rag/chunkers/LaTeXChunker.js +63 -0
- package/dist/client/rag/chunkers/MarkdownChunker.js +306 -0
- package/dist/client/rag/chunkers/RecursiveChunker.js +139 -0
- package/dist/client/rag/chunkers/SemanticMarkdownChunker.js +138 -0
- package/dist/client/rag/chunkers/SentenceChunker.js +66 -0
- package/dist/client/rag/chunkers/TokenChunker.js +61 -0
- package/dist/client/rag/chunkers/index.js +15 -0
- package/dist/client/rag/chunking/characterChunker.js +142 -0
- package/dist/client/rag/chunking/chunkerRegistry.js +194 -0
- package/dist/client/rag/chunking/htmlChunker.js +247 -0
- package/dist/client/rag/chunking/index.js +17 -0
- package/dist/client/rag/chunking/jsonChunker.js +281 -0
- package/dist/client/rag/chunking/latexChunker.js +251 -0
- package/dist/client/rag/chunking/markdownChunker.js +373 -0
- package/dist/client/rag/chunking/recursiveChunker.js +148 -0
- package/dist/client/rag/chunking/semanticChunker.js +306 -0
- package/dist/client/rag/chunking/sentenceChunker.js +230 -0
- package/dist/client/rag/chunking/tokenChunker.js +183 -0
- package/dist/client/rag/document/MDocument.js +392 -0
- package/dist/client/rag/document/index.js +5 -0
- package/dist/client/rag/document/loaders.js +500 -0
- package/dist/client/rag/errors/RAGError.js +274 -0
- package/dist/client/rag/errors/index.js +6 -0
- package/dist/client/rag/graphRag/graphRAG.js +401 -0
- package/dist/client/rag/graphRag/index.js +4 -0
- package/dist/client/rag/index.js +141 -0
- package/dist/client/rag/metadata/MetadataExtractorFactory.js +418 -0
- package/dist/client/rag/metadata/MetadataExtractorRegistry.js +362 -0
- package/dist/client/rag/metadata/index.js +9 -0
- package/dist/client/rag/metadata/metadataExtractor.js +280 -0
- package/dist/client/rag/pipeline/RAGPipeline.js +436 -0
- package/dist/client/rag/pipeline/contextAssembly.js +341 -0
- package/dist/client/rag/pipeline/index.js +5 -0
- package/dist/client/rag/ragIntegration.js +321 -0
- package/dist/client/rag/reranker/RerankerFactory.js +430 -0
- package/dist/client/rag/reranker/RerankerRegistry.js +402 -0
- package/dist/client/rag/reranker/index.js +9 -0
- package/dist/client/rag/reranker/reranker.js +277 -0
- package/dist/client/rag/resilience/CircuitBreaker.js +431 -0
- package/dist/client/rag/resilience/RetryHandler.js +304 -0
- package/dist/client/rag/resilience/index.js +7 -0
- package/dist/client/rag/retrieval/hybridSearch.js +335 -0
- package/dist/client/rag/retrieval/index.js +5 -0
- package/dist/client/rag/retrieval/vectorQueryTool.js +307 -0
- package/dist/client/rag/types.js +8 -0
- package/dist/client/reactHooks.d.ts +239 -0
- package/dist/client/reactHooks.tsx +1483 -0
- package/dist/client/sdk/toolRegistration.js +377 -0
- package/dist/client/server/abstract/baseServerAdapter.js +575 -0
- package/dist/client/server/adapters/expressAdapter.js +486 -0
- package/dist/client/server/adapters/fastifyAdapter.js +472 -0
- package/dist/client/server/adapters/honoAdapter.js +632 -0
- package/dist/client/server/adapters/koaAdapter.js +510 -0
- package/dist/client/server/errors.js +486 -0
- package/dist/client/server/factory/serverAdapterFactory.js +160 -0
- package/dist/client/server/index.js +108 -0
- package/dist/client/server/middleware/abortSignal.js +111 -0
- package/dist/client/server/middleware/auth.js +388 -0
- package/dist/client/server/middleware/cache.js +359 -0
- package/dist/client/server/middleware/common.js +281 -0
- package/dist/client/server/middleware/deprecation.js +190 -0
- package/dist/client/server/middleware/mcpBodyAttachment.js +63 -0
- package/dist/client/server/middleware/rateLimit.js +227 -0
- package/dist/client/server/middleware/validation.js +388 -0
- package/dist/client/server/openapi/generator.js +398 -0
- package/dist/client/server/openapi/index.js +36 -0
- package/dist/client/server/openapi/schemas.js +695 -0
- package/dist/client/server/openapi/templates.js +374 -0
- package/dist/client/server/routes/agentRoutes.js +171 -0
- package/dist/client/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/client/server/routes/healthRoutes.js +187 -0
- package/dist/client/server/routes/index.js +57 -0
- package/dist/client/server/routes/mcpRoutes.js +342 -0
- package/dist/client/server/routes/memoryRoutes.js +350 -0
- package/dist/client/server/routes/openApiRoutes.js +126 -0
- package/dist/client/server/routes/toolRoutes.js +199 -0
- package/dist/client/server/streaming/dataStream.js +486 -0
- package/dist/client/server/streaming/index.js +11 -0
- package/dist/client/server/types.js +67 -0
- package/dist/client/server/utils/redaction.js +334 -0
- package/dist/client/server/utils/validation.js +243 -0
- package/dist/client/server/websocket/WebSocketHandler.js +383 -0
- package/dist/client/server/websocket/index.js +4 -0
- package/dist/client/services/server/ai/observability/instrumentation.js +808 -0
- package/dist/client/sseClient.d.ts +156 -0
- package/dist/client/sseClient.js +545 -0
- package/dist/client/streamingClient.d.ts +327 -0
- package/dist/client/streamingClient.js +917 -0
- package/dist/client/telemetry/attributes.js +100 -0
- package/dist/client/telemetry/index.js +26 -0
- package/dist/client/telemetry/telemetryService.js +308 -0
- package/dist/client/telemetry/tracers.js +17 -0
- package/dist/client/telemetry/withSpan.js +34 -0
- package/dist/client/types/actionTypes.js +6 -0
- package/dist/client/types/analytics.js +5 -0
- package/dist/client/types/authTypes.js +8 -0
- package/dist/client/types/circuitBreakerErrors.js +34 -0
- package/dist/client/types/cli.js +21 -0
- package/dist/client/types/clientTypes.js +10 -0
- package/dist/client/types/common.js +51 -0
- package/dist/client/types/configTypes.js +49 -0
- package/dist/client/types/content.js +19 -0
- package/dist/client/types/contextTypes.js +400 -0
- package/dist/client/types/conversation.js +47 -0
- package/dist/client/types/conversationMemoryInterface.js +6 -0
- package/dist/client/types/domainTypes.js +5 -0
- package/dist/client/types/errors.js +167 -0
- package/dist/client/types/evaluation.js +5 -0
- package/dist/client/types/evaluationProviders.js +5 -0
- package/dist/client/types/evaluationTypes.js +1 -0
- package/dist/client/types/externalMcp.js +6 -0
- package/dist/client/types/fileReferenceTypes.js +8 -0
- package/dist/client/types/fileTypes.js +4 -0
- package/dist/client/types/generateTypes.js +1 -0
- package/dist/client/types/guardrails.js +1 -0
- package/dist/client/types/hitlTypes.js +8 -0
- package/dist/client/types/index.js +57 -0
- package/dist/client/types/mcpTypes.js +5 -0
- package/dist/client/types/middlewareTypes.js +1 -0
- package/dist/client/types/modelTypes.js +30 -0
- package/dist/client/types/multimodal.js +135 -0
- package/dist/client/types/observability.js +6 -0
- package/dist/client/types/pptTypes.js +82 -0
- package/dist/client/types/providers.js +111 -0
- package/dist/client/types/proxyTypes.js +16 -0
- package/dist/client/types/ragTypes.js +7 -0
- package/dist/client/types/sdkTypes.js +8 -0
- package/dist/client/types/serviceTypes.js +5 -0
- package/dist/client/types/streamTypes.js +1 -0
- package/dist/client/types/subscriptionTypes.js +9 -0
- package/dist/client/types/taskClassificationTypes.js +5 -0
- package/dist/client/types/tools.js +24 -0
- package/dist/client/types/ttsTypes.js +57 -0
- package/dist/client/types/typeAliases.js +48 -0
- package/dist/client/types/utilities.js +4 -0
- package/dist/client/types/workflowTypes.js +30 -0
- package/dist/client/utils/async/withTimeout.js +98 -0
- package/dist/client/utils/asyncMutex.js +60 -0
- package/dist/client/utils/conversationMemory.js +431 -0
- package/dist/client/utils/csvProcessor.js +846 -0
- package/dist/client/utils/errorHandling.js +936 -0
- package/dist/client/utils/evaluationUtils.js +131 -0
- package/dist/client/utils/factoryProcessing.js +589 -0
- package/dist/client/utils/fileDetector.js +2161 -0
- package/dist/client/utils/imageCache.js +376 -0
- package/dist/client/utils/imageProcessor.js +704 -0
- package/dist/client/utils/logger.js +491 -0
- package/dist/client/utils/mcpDefaults.js +134 -0
- package/dist/client/utils/messageBuilder.js +1653 -0
- package/dist/client/utils/modelAliasResolver.js +54 -0
- package/dist/client/utils/modelDetection.js +80 -0
- package/dist/client/utils/modelRouter.js +292 -0
- package/dist/client/utils/multimodalOptionsBuilder.js +65 -0
- package/dist/client/utils/observabilityHelpers.js +47 -0
- package/dist/client/utils/parameterValidation.js +966 -0
- package/dist/client/utils/pdfProcessor.js +410 -0
- package/dist/client/utils/performance.js +222 -0
- package/dist/client/utils/pricing.js +340 -0
- package/dist/client/utils/promptRedaction.js +62 -0
- package/dist/client/utils/providerConfig.js +1009 -0
- package/dist/client/utils/providerHealth.js +1237 -0
- package/dist/client/utils/providerRetry.js +112 -0
- package/dist/client/utils/providerUtils.js +434 -0
- package/dist/client/utils/rateLimiter.js +200 -0
- package/dist/client/utils/redis.js +368 -0
- package/dist/client/utils/retryHandler.js +269 -0
- package/dist/client/utils/retryability.js +22 -0
- package/dist/client/utils/sanitizers/svg.js +481 -0
- package/dist/client/utils/schemaConversion.js +255 -0
- package/dist/client/utils/taskClassificationUtils.js +149 -0
- package/dist/client/utils/taskClassifier.js +94 -0
- package/dist/client/utils/thinkingConfig.js +104 -0
- package/dist/client/utils/timeout.js +359 -0
- package/dist/client/utils/tokenEstimation.js +142 -0
- package/dist/client/utils/tokenLimits.js +125 -0
- package/dist/client/utils/tokenUtils.js +239 -0
- package/dist/client/utils/toolUtils.js +75 -0
- package/dist/client/utils/transformationUtils.js +554 -0
- package/dist/client/utils/ttsProcessor.js +286 -0
- package/dist/client/utils/typeUtils.js +97 -0
- package/dist/client/utils/videoAnalysisProcessor.js +67 -0
- package/dist/client/workflow/config.js +398 -0
- package/dist/client/workflow/core/ensembleExecutor.js +407 -0
- package/dist/client/workflow/core/judgeScorer.js +544 -0
- package/dist/client/workflow/core/responseConditioner.js +225 -0
- package/dist/client/workflow/core/types/conditionerTypes.js +7 -0
- package/dist/client/workflow/core/types/ensembleTypes.js +7 -0
- package/dist/client/workflow/core/types/index.js +7 -0
- package/dist/client/workflow/core/types/judgeTypes.js +7 -0
- package/dist/client/workflow/core/types/layerTypes.js +7 -0
- package/dist/client/workflow/core/types/registryTypes.js +7 -0
- package/dist/client/workflow/core/workflowRegistry.js +304 -0
- package/dist/client/workflow/core/workflowRunner.js +586 -0
- package/dist/client/workflow/index.js +50 -0
- package/dist/client/workflow/types.js +9 -0
- package/dist/client/workflow/utils/types/index.js +7 -0
- package/dist/client/workflow/utils/workflowMetrics.js +311 -0
- package/dist/client/workflow/utils/workflowValidation.js +420 -0
- package/dist/client/workflow/workflows/adaptiveWorkflow.js +366 -0
- package/dist/client/workflow/workflows/consensusWorkflow.js +192 -0
- package/dist/client/workflow/workflows/fallbackWorkflow.js +225 -0
- package/dist/client/workflow/workflows/multiJudgeWorkflow.js +351 -0
- package/dist/client/wsClient.d.ts +130 -0
- package/dist/client/wsClient.js +369 -0
- package/dist/config/configManager.js +2 -2
- package/dist/constants/contextWindows.js +15 -13
- package/dist/constants/enums.d.ts +10 -16
- package/dist/constants/enums.js +12 -18
- package/dist/constants/index.d.ts +0 -10
- package/dist/constants/index.js +1 -1
- package/dist/constants/tokens.d.ts +29 -16
- package/dist/constants/tokens.js +23 -16
- package/dist/core/baseProvider.d.ts +5 -5
- package/dist/core/baseProvider.js +6 -6
- package/dist/core/constants.js +6 -1
- package/dist/core/dynamicModels.js +10 -6
- package/dist/core/evaluationProviders.js +1 -1
- package/dist/core/infrastructure/baseError.d.ts +1 -1
- package/dist/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/core/infrastructure/index.d.ts +6 -4
- package/dist/core/infrastructure/index.js +2 -2
- package/dist/core/modelConfiguration.js +3 -1
- package/dist/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/core/modules/GenerationHandler.js +49 -41
- package/dist/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/core/modules/MessageBuilder.js +4 -6
- package/dist/core/modules/StreamHandler.js +26 -12
- package/dist/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/core/modules/TelemetryHandler.js +7 -6
- package/dist/core/modules/ToolsManager.d.ts +2 -12
- package/dist/core/modules/ToolsManager.js +20 -4
- package/dist/core/modules/Utilities.js +3 -1
- package/dist/core/redisConversationMemoryManager.js +3 -3
- package/dist/core/streamAnalytics.js +23 -9
- package/dist/evaluation/contextBuilder.d.ts +2 -2
- package/dist/evaluation/contextBuilder.js +2 -2
- package/dist/evaluation/index.d.ts +2 -2
- package/dist/evaluation/retryManager.js +1 -1
- package/dist/factories/providerFactory.js +2 -2
- package/dist/features/ppt/constants.js +1 -1
- package/dist/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/features/ppt/slideGenerator.js +6 -1
- package/dist/files/fileTools.d.ts +16 -247
- package/dist/files/fileTools.js +16 -15
- package/dist/index.d.ts +5 -3
- package/dist/index.js +20 -3
- package/dist/lib/adapters/providerImageAdapter.js +13 -22
- package/dist/lib/adapters/video/videoAnalyzer.d.ts +4 -4
- package/dist/lib/adapters/video/videoAnalyzer.js +3 -3
- package/dist/lib/agent/directTools.d.ts +20 -289
- package/dist/lib/agent/directTools.js +11 -10
- package/dist/lib/auth/accountPool.d.ts +68 -0
- package/dist/lib/auth/accountPool.js +179 -0
- package/dist/lib/auth/anthropicOAuth.d.ts +15 -5
- package/dist/lib/auth/anthropicOAuth.js +117 -57
- package/dist/lib/auth/index.d.ts +7 -5
- package/dist/lib/auth/index.js +6 -2
- package/dist/lib/auth/tokenStore.d.ts +71 -27
- package/dist/lib/auth/tokenStore.js +342 -64
- package/dist/lib/client/aiSdkAdapter.d.ts +196 -0
- package/dist/lib/client/aiSdkAdapter.js +488 -0
- package/dist/lib/client/auth.d.ts +248 -0
- package/dist/lib/client/auth.js +474 -0
- package/dist/lib/client/errors.d.ts +299 -0
- package/dist/lib/client/errors.js +553 -0
- package/dist/lib/client/httpClient.d.ts +297 -0
- package/dist/lib/client/httpClient.js +838 -0
- package/dist/lib/client/index.d.ts +111 -0
- package/dist/lib/client/index.js +173 -0
- package/dist/lib/client/interceptors.d.ts +283 -0
- package/dist/lib/client/interceptors.js +602 -0
- package/dist/lib/client/reactHooks.d.ts +239 -0
- package/dist/lib/client/reactHooks.js +1160 -0
- package/dist/lib/client/sseClient.d.ts +156 -0
- package/dist/lib/client/sseClient.js +546 -0
- package/dist/lib/client/streamingClient.d.ts +327 -0
- package/dist/lib/client/streamingClient.js +918 -0
- package/dist/lib/client/wsClient.d.ts +130 -0
- package/dist/lib/client/wsClient.js +370 -0
- package/dist/lib/config/configManager.js +2 -2
- package/dist/lib/constants/contextWindows.js +15 -13
- package/dist/lib/constants/enums.d.ts +10 -16
- package/dist/lib/constants/enums.js +12 -18
- package/dist/lib/constants/index.d.ts +0 -10
- package/dist/lib/constants/index.js +1 -1
- package/dist/lib/constants/tokens.d.ts +29 -16
- package/dist/lib/constants/tokens.js +23 -16
- package/dist/lib/core/baseProvider.d.ts +5 -5
- package/dist/lib/core/baseProvider.js +6 -6
- package/dist/lib/core/constants.js +6 -1
- package/dist/lib/core/dynamicModels.js +10 -6
- package/dist/lib/core/evaluationProviders.js +1 -1
- package/dist/lib/core/infrastructure/baseError.d.ts +1 -1
- package/dist/lib/core/infrastructure/baseFactory.d.ts +1 -6
- package/dist/lib/core/infrastructure/baseRegistry.d.ts +6 -5
- package/dist/lib/core/infrastructure/index.d.ts +6 -4
- package/dist/lib/core/infrastructure/index.js +2 -2
- package/dist/lib/core/modelConfiguration.js +3 -1
- package/dist/lib/core/modules/GenerationHandler.d.ts +3 -3
- package/dist/lib/core/modules/GenerationHandler.js +49 -41
- package/dist/lib/core/modules/MessageBuilder.d.ts +5 -5
- package/dist/lib/core/modules/MessageBuilder.js +4 -6
- package/dist/lib/core/modules/StreamHandler.js +26 -12
- package/dist/lib/core/modules/TelemetryHandler.d.ts +4 -6
- package/dist/lib/core/modules/TelemetryHandler.js +7 -6
- package/dist/lib/core/modules/ToolsManager.d.ts +2 -12
- package/dist/lib/core/modules/ToolsManager.js +20 -4
- package/dist/lib/core/modules/Utilities.js +3 -1
- package/dist/lib/core/redisConversationMemoryManager.js +3 -3
- package/dist/lib/core/streamAnalytics.js +23 -9
- package/dist/lib/evaluation/contextBuilder.d.ts +2 -2
- package/dist/lib/evaluation/contextBuilder.js +2 -2
- package/dist/lib/evaluation/index.d.ts +2 -2
- package/dist/lib/evaluation/retryManager.js +1 -1
- package/dist/lib/factories/providerFactory.js +2 -2
- package/dist/lib/features/ppt/constants.js +1 -1
- package/dist/lib/features/ppt/presentationOrchestrator.js +7 -3
- package/dist/lib/features/ppt/slideGenerator.d.ts +2 -1
- package/dist/lib/features/ppt/slideGenerator.js +6 -1
- package/dist/lib/files/fileTools.d.ts +16 -247
- package/dist/lib/files/fileTools.js +16 -15
- package/dist/lib/index.d.ts +5 -3
- package/dist/lib/index.js +20 -3
- package/dist/lib/mcp/batching/requestBatcher.js +1 -1
- package/dist/lib/mcp/externalServerManager.js +5 -2
- package/dist/lib/mcp/factory.js +1 -1
- package/dist/lib/mcp/index.d.ts +1 -1
- package/dist/lib/mcp/index.js +1 -1
- package/dist/lib/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/lib/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/lib/mcp/mcpClientFactory.js +33 -4
- package/dist/lib/mcp/toolDiscoveryService.js +52 -5
- package/dist/lib/mcp/toolRegistry.js +7 -1
- package/dist/lib/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/lib/memory/memoryRetrievalTools.js +1 -1
- package/dist/lib/middleware/builtin/analytics.js +3 -0
- package/dist/lib/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/lib/middleware/builtin/guardrails.js +4 -0
- package/dist/lib/middleware/builtin/lifecycle.js +10 -6
- package/dist/lib/middleware/factory.d.ts +3 -3
- package/dist/lib/middleware/factory.js +3 -2
- package/dist/lib/middleware/index.d.ts +1 -1
- package/dist/lib/middleware/registry.d.ts +2 -2
- package/dist/lib/middleware/registry.js +1 -0
- package/dist/lib/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/lib/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/lib/neurolink.d.ts +9 -20
- package/dist/lib/neurolink.js +278 -186
- package/dist/lib/observability/retryPolicy.d.ts +2 -13
- package/dist/lib/observability/sampling/samplers.d.ts +2 -11
- package/dist/lib/observability/spanProcessor.d.ts +2 -14
- package/dist/lib/processors/base/BaseFileProcessor.js +1 -1
- package/dist/lib/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/lib/processors/media/VideoProcessor.js +157 -101
- package/dist/lib/providers/amazonBedrock.js +12 -5
- package/dist/lib/providers/amazonSagemaker.d.ts +5 -5
- package/dist/lib/providers/amazonSagemaker.js +6 -2
- package/dist/lib/providers/anthropic.d.ts +3 -3
- package/dist/lib/providers/anthropic.js +23 -192
- package/dist/lib/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/lib/providers/anthropicBaseProvider.js +24 -13
- package/dist/lib/providers/azureOpenai.d.ts +2 -2
- package/dist/lib/providers/azureOpenai.js +6 -6
- package/dist/lib/providers/googleAiStudio.d.ts +2 -2
- package/dist/lib/providers/googleAiStudio.js +15 -7
- package/dist/lib/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/lib/providers/googleNativeGemini3.js +14 -10
- package/dist/lib/providers/googleVertex.d.ts +6 -6
- package/dist/lib/providers/googleVertex.js +32 -26
- package/dist/lib/providers/huggingFace.d.ts +4 -4
- package/dist/lib/providers/huggingFace.js +15 -5
- package/dist/lib/providers/litellm.d.ts +4 -4
- package/dist/lib/providers/litellm.js +54 -42
- package/dist/lib/providers/mistral.d.ts +2 -2
- package/dist/lib/providers/mistral.js +5 -4
- package/dist/lib/providers/ollama.d.ts +7 -4
- package/dist/lib/providers/ollama.js +30 -8
- package/dist/lib/providers/openAI.d.ts +2 -2
- package/dist/lib/providers/openAI.js +46 -21
- package/dist/lib/providers/openRouter.d.ts +4 -4
- package/dist/lib/providers/openRouter.js +63 -35
- package/dist/lib/providers/openaiCompatible.d.ts +2 -2
- package/dist/lib/providers/openaiCompatible.js +18 -9
- package/dist/lib/providers/providerTypeUtils.d.ts +28 -0
- package/dist/lib/providers/providerTypeUtils.js +47 -0
- package/dist/lib/providers/sagemaker/config.js +5 -5
- package/dist/lib/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/lib/providers/sagemaker/language-model.js +20 -8
- package/dist/lib/proxy/accountQuota.d.ts +33 -0
- package/dist/lib/proxy/accountQuota.js +163 -0
- package/dist/lib/proxy/claudeFormat.d.ts +143 -0
- package/dist/lib/proxy/claudeFormat.js +596 -0
- package/dist/lib/proxy/cloaking/index.d.ts +44 -0
- package/dist/lib/proxy/cloaking/index.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/headerScrubber.js +87 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/lib/proxy/cloaking/plugins/sessionIdentity.js +66 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/lib/proxy/cloaking/plugins/systemPromptInjector.js +84 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/lib/proxy/cloaking/plugins/tlsFingerprint.js +39 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/lib/proxy/cloaking/plugins/wordObfuscator.js +122 -0
- package/dist/lib/proxy/cloaking/types.d.ts +1 -0
- package/dist/lib/proxy/cloaking/types.js +2 -0
- package/dist/lib/proxy/modelRouter.d.ts +10 -0
- package/dist/lib/proxy/modelRouter.js +30 -0
- package/dist/lib/proxy/oauthFetch.d.ts +36 -0
- package/dist/lib/proxy/oauthFetch.js +368 -0
- package/dist/lib/proxy/proxyConfig.d.ts +42 -0
- package/dist/lib/proxy/proxyConfig.js +500 -0
- package/dist/lib/proxy/proxyFetch.js +2 -1
- package/dist/lib/proxy/requestLogger.d.ts +50 -0
- package/dist/lib/proxy/requestLogger.js +208 -0
- package/dist/lib/proxy/tokenRefresh.d.ts +4 -0
- package/dist/lib/proxy/tokenRefresh.js +125 -0
- package/dist/lib/proxy/usageStats.d.ts +13 -0
- package/dist/lib/proxy/usageStats.js +75 -0
- package/dist/lib/rag/document/loaders.js +1 -1
- package/dist/lib/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/lib/rag/ragIntegration.d.ts +2 -14
- package/dist/lib/rag/ragIntegration.js +1 -1
- package/dist/lib/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/lib/rag/resilience/RetryHandler.js +1 -1
- package/dist/lib/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/lib/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/lib/sdk/toolRegistration.js +12 -1
- package/dist/lib/server/abstract/baseServerAdapter.js +2 -2
- package/dist/lib/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/lib/server/adapters/honoAdapter.js +76 -10
- package/dist/lib/server/middleware/cache.js +3 -0
- package/dist/lib/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/lib/server/routes/claudeProxyRoutes.js +1601 -0
- package/dist/lib/server/routes/healthRoutes.js +18 -1
- package/dist/lib/server/routes/index.d.ts +7 -0
- package/dist/lib/server/routes/index.js +8 -0
- package/dist/lib/server/streaming/dataStream.d.ts +1 -5
- package/dist/lib/server/streaming/dataStream.js +3 -0
- package/dist/lib/server/utils/validation.d.ts +24 -124
- package/dist/lib/server/utils/validation.js +2 -2
- package/dist/lib/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/lib/telemetry/attributes.d.ts +38 -0
- package/dist/lib/telemetry/attributes.js +40 -0
- package/dist/lib/telemetry/tracers.d.ts +1 -0
- package/dist/lib/telemetry/tracers.js +1 -0
- package/dist/lib/types/authTypes.d.ts +56 -0
- package/dist/lib/types/authTypes.js +9 -0
- package/dist/lib/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/lib/types/circuitBreakerErrors.js +35 -0
- package/dist/lib/types/cli.d.ts +258 -0
- package/dist/lib/types/clientTypes.d.ts +1050 -0
- package/dist/lib/types/clientTypes.js +11 -0
- package/dist/lib/types/common.d.ts +123 -0
- package/dist/lib/types/configTypes.d.ts +49 -0
- package/dist/lib/types/configTypes.js +4 -0
- package/dist/lib/types/conversation.d.ts +0 -5
- package/dist/lib/types/evaluationTypes.d.ts +2 -2
- package/dist/lib/types/fileTypes.d.ts +47 -0
- package/dist/lib/types/generateTypes.d.ts +7 -3
- package/dist/lib/types/guardrails.d.ts +2 -2
- package/dist/lib/types/index.d.ts +4 -1
- package/dist/lib/types/index.js +5 -0
- package/dist/lib/types/middlewareTypes.d.ts +3 -3
- package/dist/lib/types/modelTypes.d.ts +7 -97
- package/dist/lib/types/modelTypes.js +3 -3
- package/dist/lib/types/observability.d.ts +37 -0
- package/dist/lib/types/providers.d.ts +107 -0
- package/dist/lib/types/proxyTypes.d.ts +536 -0
- package/dist/lib/types/proxyTypes.js +17 -0
- package/dist/lib/types/ragTypes.d.ts +49 -1
- package/dist/lib/types/streamTypes.d.ts +37 -13
- package/dist/lib/types/subscriptionTypes.d.ts +77 -0
- package/dist/lib/types/subscriptionTypes.js +2 -0
- package/dist/lib/types/tools.d.ts +45 -1
- package/dist/lib/types/typeAliases.d.ts +8 -0
- package/dist/lib/types/typeAliases.js +1 -0
- package/dist/lib/utils/async/retry.d.ts +4 -33
- package/dist/lib/utils/asyncMutex.d.ts +14 -0
- package/dist/lib/utils/asyncMutex.js +61 -0
- package/dist/lib/utils/errorHandling.d.ts +2 -1
- package/dist/lib/utils/errorHandling.js +14 -6
- package/dist/lib/utils/fileDetector.d.ts +13 -1
- package/dist/lib/utils/fileDetector.js +114 -32
- package/dist/lib/utils/imageProcessor.js +7 -7
- package/dist/lib/utils/json/safeParse.d.ts +1 -8
- package/dist/lib/utils/mcpDefaults.d.ts +1 -1
- package/dist/lib/utils/mcpDefaults.js +11 -2
- package/dist/lib/utils/messageBuilder.d.ts +5 -5
- package/dist/lib/utils/messageBuilder.js +106 -80
- package/dist/lib/utils/modelChoices.d.ts +1 -8
- package/dist/lib/utils/pdfProcessor.d.ts +1 -25
- package/dist/lib/utils/pdfProcessor.js +5 -4
- package/dist/lib/utils/pricing.js +28 -5
- package/dist/lib/utils/providerHealth.d.ts +1 -1
- package/dist/lib/utils/rateLimiter.d.ts +1 -15
- package/dist/lib/utils/redis.d.ts +1 -1
- package/dist/lib/utils/redis.js +3 -3
- package/dist/lib/utils/sanitizers/filename.d.ts +2 -22
- package/dist/lib/utils/sanitizers/index.d.ts +4 -2
- package/dist/lib/utils/sanitizers/svg.d.ts +1 -11
- package/dist/lib/utils/schemaConversion.js +4 -1
- package/dist/lib/utils/thinkingConfig.d.ts +1 -33
- package/dist/lib/utils/tokenUtils.d.ts +1 -39
- package/dist/lib/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/lib/utils/videoAnalysisProcessor.js +2 -2
- package/dist/lib/workflow/config.d.ts +89 -1257
- package/dist/lib/workflow/utils/workflowValidation.js +1 -1
- package/dist/mcp/batching/requestBatcher.js +1 -1
- package/dist/mcp/externalServerManager.js +5 -2
- package/dist/mcp/factory.js +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/mcpCircuitBreaker.d.ts +1 -0
- package/dist/mcp/mcpCircuitBreaker.js +30 -4
- package/dist/mcp/mcpClientFactory.js +33 -4
- package/dist/mcp/toolDiscoveryService.js +52 -5
- package/dist/mcp/toolRegistry.js +7 -1
- package/dist/memory/memoryRetrievalTools.d.ts +5 -89
- package/dist/memory/memoryRetrievalTools.js +1 -1
- package/dist/middleware/builtin/analytics.js +3 -0
- package/dist/middleware/builtin/autoEvaluation.js +46 -24
- package/dist/middleware/builtin/guardrails.js +4 -0
- package/dist/middleware/builtin/lifecycle.js +10 -6
- package/dist/middleware/factory.d.ts +3 -3
- package/dist/middleware/factory.js +3 -2
- package/dist/middleware/index.d.ts +1 -1
- package/dist/middleware/registry.d.ts +2 -2
- package/dist/middleware/registry.js +1 -0
- package/dist/middleware/utils/guardrailsUtils.d.ts +5 -6
- package/dist/middleware/utils/guardrailsUtils.js +15 -6
- package/dist/neurolink.d.ts +9 -20
- package/dist/neurolink.js +278 -186
- package/dist/observability/retryPolicy.d.ts +2 -13
- package/dist/observability/sampling/samplers.d.ts +2 -11
- package/dist/observability/spanProcessor.d.ts +2 -14
- package/dist/processors/base/BaseFileProcessor.js +1 -1
- package/dist/processors/document/OpenDocumentProcessor.js +5 -3
- package/dist/processors/media/VideoProcessor.js +157 -101
- package/dist/providers/amazonBedrock.js +12 -5
- package/dist/providers/amazonSagemaker.d.ts +5 -5
- package/dist/providers/amazonSagemaker.js +6 -2
- package/dist/providers/anthropic.d.ts +3 -3
- package/dist/providers/anthropic.js +23 -192
- package/dist/providers/anthropicBaseProvider.d.ts +4 -4
- package/dist/providers/anthropicBaseProvider.js +24 -13
- package/dist/providers/azureOpenai.d.ts +2 -2
- package/dist/providers/azureOpenai.js +6 -6
- package/dist/providers/googleAiStudio.d.ts +2 -2
- package/dist/providers/googleAiStudio.js +15 -7
- package/dist/providers/googleNativeGemini3.d.ts +3 -54
- package/dist/providers/googleNativeGemini3.js +14 -10
- package/dist/providers/googleVertex.d.ts +6 -6
- package/dist/providers/googleVertex.js +32 -26
- package/dist/providers/huggingFace.d.ts +4 -4
- package/dist/providers/huggingFace.js +15 -5
- package/dist/providers/litellm.d.ts +4 -4
- package/dist/providers/litellm.js +54 -42
- package/dist/providers/mistral.d.ts +2 -2
- package/dist/providers/mistral.js +5 -4
- package/dist/providers/ollama.d.ts +7 -4
- package/dist/providers/ollama.js +30 -8
- package/dist/providers/openAI.d.ts +2 -2
- package/dist/providers/openAI.js +46 -21
- package/dist/providers/openRouter.d.ts +4 -4
- package/dist/providers/openRouter.js +63 -35
- package/dist/providers/openaiCompatible.d.ts +2 -2
- package/dist/providers/openaiCompatible.js +18 -9
- package/dist/providers/providerTypeUtils.d.ts +28 -0
- package/dist/providers/providerTypeUtils.js +46 -0
- package/dist/providers/sagemaker/config.js +5 -5
- package/dist/providers/sagemaker/language-model.d.ts +23 -13
- package/dist/providers/sagemaker/language-model.js +20 -8
- package/dist/proxy/accountQuota.d.ts +33 -0
- package/dist/proxy/accountQuota.js +162 -0
- package/dist/proxy/claudeFormat.d.ts +143 -0
- package/dist/proxy/claudeFormat.js +595 -0
- package/dist/proxy/cloaking/index.d.ts +44 -0
- package/dist/proxy/cloaking/index.js +86 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/headerScrubber.js +86 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.d.ts +15 -0
- package/dist/proxy/cloaking/plugins/sessionIdentity.js +65 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.d.ts +11 -0
- package/dist/proxy/cloaking/plugins/systemPromptInjector.js +83 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.d.ts +14 -0
- package/dist/proxy/cloaking/plugins/tlsFingerprint.js +38 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.d.ts +9 -0
- package/dist/proxy/cloaking/plugins/wordObfuscator.js +121 -0
- package/dist/proxy/cloaking/types.d.ts +1 -0
- package/dist/proxy/cloaking/types.js +1 -0
- package/dist/proxy/modelRouter.d.ts +10 -0
- package/dist/proxy/modelRouter.js +29 -0
- package/dist/proxy/oauthFetch.d.ts +36 -0
- package/dist/proxy/oauthFetch.js +367 -0
- package/dist/proxy/proxyConfig.d.ts +42 -0
- package/dist/proxy/proxyConfig.js +499 -0
- package/dist/proxy/proxyFetch.js +2 -1
- package/dist/proxy/requestLogger.d.ts +50 -0
- package/dist/proxy/requestLogger.js +207 -0
- package/dist/proxy/tokenRefresh.d.ts +4 -0
- package/dist/proxy/tokenRefresh.js +124 -0
- package/dist/proxy/usageStats.d.ts +13 -0
- package/dist/proxy/usageStats.js +74 -0
- package/dist/rag/document/loaders.js +1 -1
- package/dist/rag/pipeline/contextAssembly.d.ts +4 -7
- package/dist/rag/ragIntegration.d.ts +2 -14
- package/dist/rag/ragIntegration.js +1 -1
- package/dist/rag/resilience/CircuitBreaker.d.ts +5 -44
- package/dist/rag/resilience/RetryHandler.js +1 -1
- package/dist/rag/retrieval/vectorQueryTool.d.ts +1 -9
- package/dist/rag/retrieval/vectorQueryTool.js +1 -1
- package/dist/sdk/toolRegistration.js +12 -1
- package/dist/server/abstract/baseServerAdapter.js +2 -2
- package/dist/server/adapters/honoAdapter.d.ts +6 -0
- package/dist/server/adapters/honoAdapter.js +76 -10
- package/dist/server/middleware/cache.js +3 -0
- package/dist/server/routes/claudeProxyRoutes.d.ts +44 -0
- package/dist/server/routes/claudeProxyRoutes.js +1600 -0
- package/dist/server/routes/healthRoutes.js +18 -1
- package/dist/server/routes/index.d.ts +7 -0
- package/dist/server/routes/index.js +8 -0
- package/dist/server/streaming/dataStream.d.ts +1 -5
- package/dist/server/streaming/dataStream.js +3 -0
- package/dist/server/utils/validation.d.ts +24 -124
- package/dist/server/utils/validation.js +2 -2
- package/dist/services/server/ai/observability/instrumentation.js +4 -0
- package/dist/telemetry/attributes.d.ts +38 -0
- package/dist/telemetry/attributes.js +40 -0
- package/dist/telemetry/tracers.d.ts +1 -0
- package/dist/telemetry/tracers.js +1 -0
- package/dist/types/authTypes.d.ts +56 -0
- package/dist/types/authTypes.js +8 -0
- package/dist/types/circuitBreakerErrors.d.ts +30 -0
- package/dist/types/circuitBreakerErrors.js +34 -0
- package/dist/types/cli.d.ts +258 -0
- package/dist/types/clientTypes.d.ts +1050 -0
- package/dist/types/clientTypes.js +10 -0
- package/dist/types/common.d.ts +123 -0
- package/dist/types/configTypes.d.ts +49 -0
- package/dist/types/configTypes.js +4 -0
- package/dist/types/conversation.d.ts +0 -5
- package/dist/types/evaluationTypes.d.ts +2 -2
- package/dist/types/fileTypes.d.ts +47 -0
- package/dist/types/generateTypes.d.ts +7 -3
- package/dist/types/guardrails.d.ts +2 -2
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.js +5 -0
- package/dist/types/middlewareTypes.d.ts +3 -3
- package/dist/types/modelTypes.d.ts +7 -97
- package/dist/types/modelTypes.js +3 -3
- package/dist/types/observability.d.ts +37 -0
- package/dist/types/providers.d.ts +107 -0
- package/dist/types/proxyTypes.d.ts +536 -0
- package/dist/types/proxyTypes.js +16 -0
- package/dist/types/ragTypes.d.ts +49 -1
- package/dist/types/streamTypes.d.ts +37 -13
- package/dist/types/subscriptionTypes.d.ts +77 -0
- package/dist/types/subscriptionTypes.js +2 -0
- package/dist/types/tools.d.ts +45 -1
- package/dist/types/typeAliases.d.ts +8 -0
- package/dist/types/typeAliases.js +1 -0
- package/dist/utils/async/retry.d.ts +4 -33
- package/dist/utils/asyncMutex.d.ts +14 -0
- package/dist/utils/asyncMutex.js +60 -0
- package/dist/utils/errorHandling.d.ts +2 -1
- package/dist/utils/errorHandling.js +14 -6
- package/dist/utils/fileDetector.d.ts +13 -1
- package/dist/utils/fileDetector.js +114 -32
- package/dist/utils/imageProcessor.js +7 -7
- package/dist/utils/json/safeParse.d.ts +1 -8
- package/dist/utils/mcpDefaults.d.ts +1 -1
- package/dist/utils/mcpDefaults.js +11 -2
- package/dist/utils/messageBuilder.d.ts +5 -5
- package/dist/utils/messageBuilder.js +106 -80
- package/dist/utils/modelChoices.d.ts +1 -8
- package/dist/utils/pdfProcessor.d.ts +1 -25
- package/dist/utils/pdfProcessor.js +5 -4
- package/dist/utils/pricing.js +28 -5
- package/dist/utils/rateLimiter.d.ts +1 -15
- package/dist/utils/redis.d.ts +1 -1
- package/dist/utils/redis.js +3 -3
- package/dist/utils/sanitizers/filename.d.ts +2 -22
- package/dist/utils/sanitizers/index.d.ts +4 -2
- package/dist/utils/sanitizers/svg.d.ts +1 -11
- package/dist/utils/schemaConversion.js +4 -1
- package/dist/utils/thinkingConfig.d.ts +1 -33
- package/dist/utils/tokenUtils.d.ts +1 -39
- package/dist/utils/videoAnalysisProcessor.d.ts +5 -5
- package/dist/utils/videoAnalysisProcessor.js +2 -2
- package/dist/workflow/config.d.ts +89 -1257
- package/dist/workflow/utils/workflowValidation.js +1 -1
- package/docs-site/mcp-server/index.js +2 -3
- package/package.json +138 -105
- package/dist/lib/memory/mem0Initializer.d.ts +0 -46
- package/dist/lib/memory/mem0Initializer.js +0 -85
- package/dist/memory/mem0Initializer.d.ts +0 -46
- package/dist/memory/mem0Initializer.js +0 -84
|
@@ -0,0 +1,1050 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client SDK Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive type definitions for the NeuroLink client SDK system.
|
|
5
|
+
* These types enable type-safe API access from JavaScript/TypeScript applications
|
|
6
|
+
* and React applications with hooks for agents, workflows, and real-time streaming.
|
|
7
|
+
*
|
|
8
|
+
* @module @neurolink/client/types
|
|
9
|
+
*/
|
|
10
|
+
import type { JsonValue, JsonObject, UnknownRecord } from "./common.js";
|
|
11
|
+
import type { ToolCall, ToolResult } from "./streamTypes.js";
|
|
12
|
+
/**
|
|
13
|
+
* Client configuration options for initializing the NeuroLink client
|
|
14
|
+
*/
|
|
15
|
+
export type ClientConfig = {
|
|
16
|
+
/** Base URL for the NeuroLink API */
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
/** API key for authentication (header-based) */
|
|
19
|
+
apiKey?: string;
|
|
20
|
+
/** Bearer token for authentication */
|
|
21
|
+
token?: string;
|
|
22
|
+
/** Default timeout in milliseconds (default: 30000) */
|
|
23
|
+
timeout?: number;
|
|
24
|
+
/** Default headers to include in all requests */
|
|
25
|
+
headers?: Record<string, string>;
|
|
26
|
+
/** Retry configuration for failed requests */
|
|
27
|
+
retry?: RetryConfig;
|
|
28
|
+
/** Enable debug logging */
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
/** Custom fetch implementation (for environments without native fetch) */
|
|
31
|
+
fetch?: typeof fetch;
|
|
32
|
+
/** WebSocket URL override (defaults to ws(s) version of baseUrl) */
|
|
33
|
+
wsUrl?: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Retry configuration for failed requests
|
|
37
|
+
*/
|
|
38
|
+
export type RetryConfig = {
|
|
39
|
+
/** Maximum number of retry attempts (default: 3) */
|
|
40
|
+
maxAttempts: number;
|
|
41
|
+
/** Initial delay in milliseconds before first retry (default: 1000) */
|
|
42
|
+
initialDelayMs: number;
|
|
43
|
+
/** Maximum delay in milliseconds between retries (default: 10000) */
|
|
44
|
+
maxDelayMs: number;
|
|
45
|
+
/** Backoff multiplier for exponential backoff (default: 2) */
|
|
46
|
+
backoffMultiplier: number;
|
|
47
|
+
/** HTTP status codes to retry on (default: [408, 429, 500, 502, 503, 504]) */
|
|
48
|
+
retryableStatusCodes?: number[];
|
|
49
|
+
/** Whether to retry on network errors (default: true) */
|
|
50
|
+
retryOnNetworkError?: boolean;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Request options that can be passed to individual API calls
|
|
54
|
+
*/
|
|
55
|
+
export type RequestOptions = {
|
|
56
|
+
/** Request timeout override in milliseconds */
|
|
57
|
+
timeout?: number;
|
|
58
|
+
/** Signal for request cancellation */
|
|
59
|
+
signal?: AbortSignal;
|
|
60
|
+
/** Additional headers for this request */
|
|
61
|
+
headers?: Record<string, string>;
|
|
62
|
+
/** Skip retry for this request */
|
|
63
|
+
skipRetry?: boolean;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Response wrapper with metadata for all API responses
|
|
67
|
+
*/
|
|
68
|
+
export type ApiResponse<T> = {
|
|
69
|
+
/** Response data */
|
|
70
|
+
data: T;
|
|
71
|
+
/** HTTP status code */
|
|
72
|
+
status: number;
|
|
73
|
+
/** Response headers */
|
|
74
|
+
headers: Record<string, string>;
|
|
75
|
+
/** Request duration in milliseconds */
|
|
76
|
+
duration: number;
|
|
77
|
+
/** Request ID for tracing */
|
|
78
|
+
requestId?: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Error response from API
|
|
82
|
+
*/
|
|
83
|
+
export type ApiError = {
|
|
84
|
+
/** Error code (e.g., "RATE_LIMIT_EXCEEDED", "INVALID_REQUEST") */
|
|
85
|
+
code: string;
|
|
86
|
+
/** Human-readable error message */
|
|
87
|
+
message: string;
|
|
88
|
+
/** HTTP status code */
|
|
89
|
+
status: number;
|
|
90
|
+
/** Additional error details */
|
|
91
|
+
details?: JsonObject;
|
|
92
|
+
/** Whether the error is retryable */
|
|
93
|
+
retryable?: boolean;
|
|
94
|
+
/** Request ID for tracing */
|
|
95
|
+
requestId?: string;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Provider status information
|
|
99
|
+
*/
|
|
100
|
+
export type ProviderStatus = {
|
|
101
|
+
/** Provider name */
|
|
102
|
+
name: string;
|
|
103
|
+
/** Provider availability status */
|
|
104
|
+
status: "available" | "degraded" | "unavailable";
|
|
105
|
+
/** Available models for this provider */
|
|
106
|
+
models: string[];
|
|
107
|
+
/** Provider capabilities */
|
|
108
|
+
capabilities?: {
|
|
109
|
+
streaming: boolean;
|
|
110
|
+
tools: boolean;
|
|
111
|
+
vision: boolean;
|
|
112
|
+
audio: boolean;
|
|
113
|
+
};
|
|
114
|
+
/** Last health check timestamp */
|
|
115
|
+
lastChecked?: number;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Stream event types for real-time communication
|
|
119
|
+
*/
|
|
120
|
+
export type StreamEventType = "text" | "tool-call" | "tool-result" | "error" | "done" | "metadata" | "audio" | "thinking";
|
|
121
|
+
/**
|
|
122
|
+
* Stream event from SSE/WebSocket
|
|
123
|
+
*/
|
|
124
|
+
export type StreamEvent = {
|
|
125
|
+
/** Event type */
|
|
126
|
+
type: StreamEventType;
|
|
127
|
+
/** Text content (for text events) */
|
|
128
|
+
content?: string;
|
|
129
|
+
/** Tool call data (for tool-call events) */
|
|
130
|
+
toolCall?: ToolCall;
|
|
131
|
+
/** Tool result data (for tool-result events) */
|
|
132
|
+
toolResult?: ToolResult;
|
|
133
|
+
/** Error data (for error events) */
|
|
134
|
+
error?: ApiError;
|
|
135
|
+
/** Metadata (for metadata events) */
|
|
136
|
+
metadata?: JsonObject;
|
|
137
|
+
/** Audio data (for audio events) */
|
|
138
|
+
audio?: {
|
|
139
|
+
data: string;
|
|
140
|
+
format: string;
|
|
141
|
+
sampleRate?: number;
|
|
142
|
+
};
|
|
143
|
+
/** Thinking/reasoning content (for thinking events) */
|
|
144
|
+
thinking?: string;
|
|
145
|
+
/** Event timestamp */
|
|
146
|
+
timestamp: number;
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Streaming callback handlers
|
|
150
|
+
*/
|
|
151
|
+
export type StreamCallbacks = {
|
|
152
|
+
/** Called for each text chunk */
|
|
153
|
+
onText?: (text: string) => void;
|
|
154
|
+
/** Called for each tool call */
|
|
155
|
+
onToolCall?: (toolCall: ToolCall) => void;
|
|
156
|
+
/** Called for each tool result */
|
|
157
|
+
onToolResult?: (toolResult: ToolResult) => void;
|
|
158
|
+
/** Called on stream error */
|
|
159
|
+
onError?: (error: ApiError) => void;
|
|
160
|
+
/** Called when stream completes */
|
|
161
|
+
onDone?: (result: StreamResult) => void;
|
|
162
|
+
/** Called for metadata updates */
|
|
163
|
+
onMetadata?: (metadata: JsonObject) => void;
|
|
164
|
+
/** Called for audio chunks */
|
|
165
|
+
onAudio?: (audio: {
|
|
166
|
+
data: string;
|
|
167
|
+
format: string;
|
|
168
|
+
}) => void;
|
|
169
|
+
/** Called for thinking/reasoning output */
|
|
170
|
+
onThinking?: (thinking: string) => void;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Stream result with full response data
|
|
174
|
+
*/
|
|
175
|
+
export type StreamResult = {
|
|
176
|
+
/** Full accumulated text content */
|
|
177
|
+
content: string;
|
|
178
|
+
/** All tool calls made */
|
|
179
|
+
toolCalls?: ToolCall[];
|
|
180
|
+
/** All tool results */
|
|
181
|
+
toolResults?: ToolResult[];
|
|
182
|
+
/** Token usage information */
|
|
183
|
+
usage?: {
|
|
184
|
+
promptTokens: number;
|
|
185
|
+
completionTokens: number;
|
|
186
|
+
totalTokens: number;
|
|
187
|
+
};
|
|
188
|
+
/** Finish reason */
|
|
189
|
+
finishReason?: string;
|
|
190
|
+
/** Response metadata */
|
|
191
|
+
metadata?: JsonObject;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* Generate request options (client-side version)
|
|
195
|
+
*/
|
|
196
|
+
export type GenerateRequestOptions = {
|
|
197
|
+
/** Input for generation */
|
|
198
|
+
input: {
|
|
199
|
+
text: string;
|
|
200
|
+
images?: string[];
|
|
201
|
+
files?: string[];
|
|
202
|
+
};
|
|
203
|
+
/** Provider to use */
|
|
204
|
+
provider?: string;
|
|
205
|
+
/** Model to use */
|
|
206
|
+
model?: string;
|
|
207
|
+
/** Temperature for generation */
|
|
208
|
+
temperature?: number;
|
|
209
|
+
/** Maximum tokens to generate */
|
|
210
|
+
maxTokens?: number;
|
|
211
|
+
/** System prompt */
|
|
212
|
+
systemPrompt?: string;
|
|
213
|
+
/** Enable tool usage */
|
|
214
|
+
enableTools?: boolean;
|
|
215
|
+
/** Specific tools to enable */
|
|
216
|
+
tools?: string[];
|
|
217
|
+
/** Context data */
|
|
218
|
+
context?: UnknownRecord;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Generate response (client-side version)
|
|
222
|
+
*/
|
|
223
|
+
export type GenerateResponse = {
|
|
224
|
+
/** Generated content */
|
|
225
|
+
content: string;
|
|
226
|
+
/** Provider used */
|
|
227
|
+
provider?: string;
|
|
228
|
+
/** Model used */
|
|
229
|
+
model?: string;
|
|
230
|
+
/** Token usage */
|
|
231
|
+
usage?: {
|
|
232
|
+
promptTokens: number;
|
|
233
|
+
completionTokens: number;
|
|
234
|
+
totalTokens: number;
|
|
235
|
+
};
|
|
236
|
+
/** Tool calls made */
|
|
237
|
+
toolCalls?: ToolCall[];
|
|
238
|
+
/** Tool results */
|
|
239
|
+
toolResults?: ToolResult[];
|
|
240
|
+
/** Finish reason */
|
|
241
|
+
finishReason?: string;
|
|
242
|
+
/** Response metadata */
|
|
243
|
+
metadata?: JsonObject;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Stream request options (client-side version)
|
|
247
|
+
*/
|
|
248
|
+
export type StreamRequestOptions = GenerateRequestOptions & {
|
|
249
|
+
/** Enable streaming */
|
|
250
|
+
stream: true;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Agent execution options
|
|
254
|
+
*/
|
|
255
|
+
export type AgentExecuteOptions = {
|
|
256
|
+
/** Agent ID */
|
|
257
|
+
agentId: string;
|
|
258
|
+
/** Input message */
|
|
259
|
+
input: string;
|
|
260
|
+
/** Session ID for conversation continuity */
|
|
261
|
+
sessionId?: string;
|
|
262
|
+
/** User context */
|
|
263
|
+
context?: UnknownRecord;
|
|
264
|
+
/** Stream the response */
|
|
265
|
+
stream?: boolean;
|
|
266
|
+
/** Tool execution options */
|
|
267
|
+
tools?: {
|
|
268
|
+
/** Enabled tools */
|
|
269
|
+
enabled?: string[];
|
|
270
|
+
/** Disabled tools */
|
|
271
|
+
disabled?: string[];
|
|
272
|
+
/** Tool execution mode */
|
|
273
|
+
mode?: "auto" | "manual" | "confirm";
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* Agent execution result
|
|
278
|
+
*/
|
|
279
|
+
export type AgentExecuteResult = {
|
|
280
|
+
/** Response content */
|
|
281
|
+
content: string;
|
|
282
|
+
/** Agent ID */
|
|
283
|
+
agentId: string;
|
|
284
|
+
/** Session ID */
|
|
285
|
+
sessionId: string;
|
|
286
|
+
/** Tools used */
|
|
287
|
+
toolsUsed?: string[];
|
|
288
|
+
/** Tool executions */
|
|
289
|
+
toolExecutions?: Array<{
|
|
290
|
+
name: string;
|
|
291
|
+
input: UnknownRecord;
|
|
292
|
+
output: unknown;
|
|
293
|
+
duration: number;
|
|
294
|
+
}>;
|
|
295
|
+
/** Token usage */
|
|
296
|
+
usage?: {
|
|
297
|
+
promptTokens: number;
|
|
298
|
+
completionTokens: number;
|
|
299
|
+
totalTokens: number;
|
|
300
|
+
};
|
|
301
|
+
/** Response metadata */
|
|
302
|
+
metadata?: JsonObject;
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* Agent information
|
|
306
|
+
*/
|
|
307
|
+
export type AgentInfo = {
|
|
308
|
+
/** Agent ID */
|
|
309
|
+
id: string;
|
|
310
|
+
/** Agent name */
|
|
311
|
+
name: string;
|
|
312
|
+
/** Agent description */
|
|
313
|
+
description: string;
|
|
314
|
+
/** Available tools for this agent */
|
|
315
|
+
tools?: string[];
|
|
316
|
+
/** Agent capabilities */
|
|
317
|
+
capabilities?: {
|
|
318
|
+
streaming: boolean;
|
|
319
|
+
multimodal: boolean;
|
|
320
|
+
memory: boolean;
|
|
321
|
+
};
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* Workflow execution options
|
|
325
|
+
*/
|
|
326
|
+
export type WorkflowExecuteOptions = {
|
|
327
|
+
/** Workflow ID */
|
|
328
|
+
workflowId: string;
|
|
329
|
+
/** Workflow input data */
|
|
330
|
+
input: UnknownRecord;
|
|
331
|
+
/** Session ID for state persistence */
|
|
332
|
+
sessionId?: string;
|
|
333
|
+
/** Resume from a suspended state */
|
|
334
|
+
resumeToken?: string;
|
|
335
|
+
/** Callback URL for async completion */
|
|
336
|
+
callbackUrl?: string;
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* Workflow execution result
|
|
340
|
+
*/
|
|
341
|
+
export type WorkflowExecuteResult = {
|
|
342
|
+
/** Workflow run ID */
|
|
343
|
+
runId: string;
|
|
344
|
+
/** Workflow ID */
|
|
345
|
+
workflowId: string;
|
|
346
|
+
/** Execution status */
|
|
347
|
+
status: "running" | "completed" | "failed" | "suspended";
|
|
348
|
+
/** Output data (if completed) */
|
|
349
|
+
output?: UnknownRecord;
|
|
350
|
+
/** Error information (if failed) */
|
|
351
|
+
error?: ApiError;
|
|
352
|
+
/** Suspend token (if suspended) */
|
|
353
|
+
suspendToken?: string;
|
|
354
|
+
/** Step results */
|
|
355
|
+
steps?: Array<{
|
|
356
|
+
stepId: string;
|
|
357
|
+
status: "completed" | "failed" | "skipped";
|
|
358
|
+
output?: unknown;
|
|
359
|
+
duration: number;
|
|
360
|
+
}>;
|
|
361
|
+
/** Total execution duration */
|
|
362
|
+
duration?: number;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* Workflow information
|
|
366
|
+
*/
|
|
367
|
+
export type WorkflowInfo = {
|
|
368
|
+
/** Workflow ID */
|
|
369
|
+
id: string;
|
|
370
|
+
/** Workflow name */
|
|
371
|
+
name: string;
|
|
372
|
+
/** Workflow description */
|
|
373
|
+
description: string;
|
|
374
|
+
/** Workflow version */
|
|
375
|
+
version: string;
|
|
376
|
+
/** Steps in the workflow */
|
|
377
|
+
steps?: Array<{
|
|
378
|
+
id: string;
|
|
379
|
+
name: string;
|
|
380
|
+
type: string;
|
|
381
|
+
}>;
|
|
382
|
+
};
|
|
383
|
+
/**
|
|
384
|
+
* Tool information for client use
|
|
385
|
+
*/
|
|
386
|
+
export type ToolInfo = {
|
|
387
|
+
/** Tool name */
|
|
388
|
+
name: string;
|
|
389
|
+
/** Tool description */
|
|
390
|
+
description: string;
|
|
391
|
+
/** Tool category */
|
|
392
|
+
category?: string;
|
|
393
|
+
/** Server ID */
|
|
394
|
+
serverId: string;
|
|
395
|
+
/** Input schema */
|
|
396
|
+
inputSchema: JsonObject;
|
|
397
|
+
/** Whether tool requires confirmation */
|
|
398
|
+
requiresConfirmation?: boolean;
|
|
399
|
+
};
|
|
400
|
+
/**
|
|
401
|
+
* Middleware function type
|
|
402
|
+
*/
|
|
403
|
+
export type Middleware = (request: MiddlewareRequest, next: () => Promise<MiddlewareResponse>) => Promise<MiddlewareResponse>;
|
|
404
|
+
/**
|
|
405
|
+
* Middleware request object
|
|
406
|
+
*/
|
|
407
|
+
export type MiddlewareRequest = {
|
|
408
|
+
/** Request URL */
|
|
409
|
+
url: string;
|
|
410
|
+
/** HTTP method */
|
|
411
|
+
method: string;
|
|
412
|
+
/** Request headers */
|
|
413
|
+
headers: Record<string, string>;
|
|
414
|
+
/** Request body */
|
|
415
|
+
body?: unknown;
|
|
416
|
+
/** Middleware context */
|
|
417
|
+
context: MiddlewareContext;
|
|
418
|
+
};
|
|
419
|
+
/**
|
|
420
|
+
* Middleware response object
|
|
421
|
+
*/
|
|
422
|
+
export type MiddlewareResponse = {
|
|
423
|
+
/** HTTP status code */
|
|
424
|
+
status: number;
|
|
425
|
+
/** Response headers */
|
|
426
|
+
headers: Record<string, string>;
|
|
427
|
+
/** Response body */
|
|
428
|
+
body: unknown;
|
|
429
|
+
/** Middleware context */
|
|
430
|
+
context: MiddlewareContext;
|
|
431
|
+
};
|
|
432
|
+
/**
|
|
433
|
+
* Middleware context for passing data between middleware
|
|
434
|
+
*/
|
|
435
|
+
export type MiddlewareContext = {
|
|
436
|
+
/** Request start time */
|
|
437
|
+
startTime: number;
|
|
438
|
+
/** Request ID */
|
|
439
|
+
requestId: string;
|
|
440
|
+
/** Retry count */
|
|
441
|
+
retryCount: number;
|
|
442
|
+
/** Additional context data */
|
|
443
|
+
[key: string]: unknown;
|
|
444
|
+
};
|
|
445
|
+
/**
|
|
446
|
+
* Props for the NeuroLinkProvider React component.
|
|
447
|
+
*
|
|
448
|
+
* `children` is typed as `unknown` so this module stays React-agnostic;
|
|
449
|
+
* the provider component in reactHooks.tsx narrows it to `ReactNode`.
|
|
450
|
+
*/
|
|
451
|
+
export type NeuroLinkProviderProps = {
|
|
452
|
+
/** Client configuration */
|
|
453
|
+
config: ClientConfig;
|
|
454
|
+
/** Child components (ReactNode at runtime) */
|
|
455
|
+
children: unknown;
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* Chat message for useChat hook
|
|
459
|
+
*/
|
|
460
|
+
export type ChatMessage = {
|
|
461
|
+
/** Unique message ID */
|
|
462
|
+
id: string;
|
|
463
|
+
/** Message role */
|
|
464
|
+
role: "user" | "assistant" | "system" | "tool";
|
|
465
|
+
/** Message content */
|
|
466
|
+
content: string;
|
|
467
|
+
/** Tool calls in this message */
|
|
468
|
+
toolCalls?: ToolCall[];
|
|
469
|
+
/** Tool results in this message */
|
|
470
|
+
toolResults?: ToolResult[];
|
|
471
|
+
/** Message timestamp */
|
|
472
|
+
createdAt: Date;
|
|
473
|
+
/** Additional metadata */
|
|
474
|
+
metadata?: JsonObject;
|
|
475
|
+
};
|
|
476
|
+
/**
|
|
477
|
+
* useChat hook options
|
|
478
|
+
*/
|
|
479
|
+
export type UseChatOptions = {
|
|
480
|
+
/** API endpoint for chat */
|
|
481
|
+
api?: string;
|
|
482
|
+
/** Agent ID to use */
|
|
483
|
+
agentId?: string;
|
|
484
|
+
/** Initial messages */
|
|
485
|
+
initialMessages?: ChatMessage[];
|
|
486
|
+
/** Session ID for conversation continuity */
|
|
487
|
+
sessionId?: string;
|
|
488
|
+
/** System prompt */
|
|
489
|
+
systemPrompt?: string;
|
|
490
|
+
/** Called when response starts */
|
|
491
|
+
onResponse?: (response: Response) => void | Promise<void>;
|
|
492
|
+
/** Called when response finishes */
|
|
493
|
+
onFinish?: (message: ChatMessage) => void;
|
|
494
|
+
/** Called on error */
|
|
495
|
+
onError?: (error: ApiError) => void;
|
|
496
|
+
/** Called for each tool call */
|
|
497
|
+
onToolCall?: (toolCall: ToolCall) => void;
|
|
498
|
+
/** Request body customization */
|
|
499
|
+
body?: UnknownRecord;
|
|
500
|
+
/** Request headers */
|
|
501
|
+
headers?: Record<string, string>;
|
|
502
|
+
/** Credentials mode */
|
|
503
|
+
credentials?: RequestCredentials;
|
|
504
|
+
/** Generate message ID */
|
|
505
|
+
generateId?: () => string;
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* useChat hook return type
|
|
509
|
+
*/
|
|
510
|
+
export type UseChatReturn = {
|
|
511
|
+
/** Chat messages */
|
|
512
|
+
messages: ChatMessage[];
|
|
513
|
+
/** Current input value */
|
|
514
|
+
input: string;
|
|
515
|
+
/** Set input value */
|
|
516
|
+
setInput: (input: string) => void;
|
|
517
|
+
/** Handle input change */
|
|
518
|
+
handleInputChange: (e: {
|
|
519
|
+
target: {
|
|
520
|
+
value: string;
|
|
521
|
+
};
|
|
522
|
+
}) => void;
|
|
523
|
+
/** Submit message */
|
|
524
|
+
handleSubmit: (e?: {
|
|
525
|
+
preventDefault?: () => void;
|
|
526
|
+
}, options?: {
|
|
527
|
+
data?: UnknownRecord;
|
|
528
|
+
}) => void;
|
|
529
|
+
/** Append a message */
|
|
530
|
+
append: (message: Omit<ChatMessage, "id" | "createdAt">) => Promise<string | null | undefined>;
|
|
531
|
+
/** Reload the last message */
|
|
532
|
+
reload: () => Promise<string | null | undefined>;
|
|
533
|
+
/** Stop generation */
|
|
534
|
+
stop: () => void;
|
|
535
|
+
/** Set messages directly */
|
|
536
|
+
setMessages: (messages: ChatMessage[]) => void;
|
|
537
|
+
/** Loading state */
|
|
538
|
+
isLoading: boolean;
|
|
539
|
+
/** Error state */
|
|
540
|
+
error: ApiError | null;
|
|
541
|
+
/** Clear error */
|
|
542
|
+
clearError: () => void;
|
|
543
|
+
/** Current tool calls being executed */
|
|
544
|
+
toolCalls: ToolCall[];
|
|
545
|
+
};
|
|
546
|
+
/**
|
|
547
|
+
* useAgent hook options
|
|
548
|
+
*/
|
|
549
|
+
export type UseAgentOptions = {
|
|
550
|
+
/** Agent ID */
|
|
551
|
+
agentId: string;
|
|
552
|
+
/** Initial session ID */
|
|
553
|
+
sessionId?: string;
|
|
554
|
+
/** Called on agent response */
|
|
555
|
+
onResponse?: (result: AgentExecuteResult) => void;
|
|
556
|
+
/** Called on error */
|
|
557
|
+
onError?: (error: ApiError) => void;
|
|
558
|
+
/** Called when tool is called */
|
|
559
|
+
onToolCall?: (toolCall: ToolCall) => void;
|
|
560
|
+
/** Auto-execute on mount with initial input */
|
|
561
|
+
initialInput?: string;
|
|
562
|
+
};
|
|
563
|
+
/**
|
|
564
|
+
* useAgent hook return type
|
|
565
|
+
*/
|
|
566
|
+
export type UseAgentReturn = {
|
|
567
|
+
/** Execute the agent */
|
|
568
|
+
execute: (input: string, options?: Partial<AgentExecuteOptions>) => Promise<AgentExecuteResult>;
|
|
569
|
+
/** Stream execution */
|
|
570
|
+
stream: (input: string, callbacks?: StreamCallbacks) => Promise<void>;
|
|
571
|
+
/** Current session ID */
|
|
572
|
+
sessionId: string | null;
|
|
573
|
+
/** Set session ID */
|
|
574
|
+
setSessionId: (sessionId: string | null) => void;
|
|
575
|
+
/** Loading state */
|
|
576
|
+
isLoading: boolean;
|
|
577
|
+
/** Streaming state */
|
|
578
|
+
isStreaming: boolean;
|
|
579
|
+
/** Last result */
|
|
580
|
+
result: AgentExecuteResult | null;
|
|
581
|
+
/** Error state */
|
|
582
|
+
error: ApiError | null;
|
|
583
|
+
/** Clear error */
|
|
584
|
+
clearError: () => void;
|
|
585
|
+
/** Abort current execution */
|
|
586
|
+
abort: () => void;
|
|
587
|
+
};
|
|
588
|
+
/**
|
|
589
|
+
* useWorkflow hook options
|
|
590
|
+
*/
|
|
591
|
+
export type UseWorkflowOptions = {
|
|
592
|
+
/** Workflow ID */
|
|
593
|
+
workflowId: string;
|
|
594
|
+
/** Called on workflow completion */
|
|
595
|
+
onComplete?: (result: WorkflowExecuteResult) => void;
|
|
596
|
+
/** Called on workflow error */
|
|
597
|
+
onError?: (error: ApiError) => void;
|
|
598
|
+
/** Called on step completion */
|
|
599
|
+
onStepComplete?: (step: {
|
|
600
|
+
stepId: string;
|
|
601
|
+
status: string;
|
|
602
|
+
output?: unknown;
|
|
603
|
+
}) => void;
|
|
604
|
+
/** Poll interval for status updates (ms) */
|
|
605
|
+
pollInterval?: number;
|
|
606
|
+
};
|
|
607
|
+
/**
|
|
608
|
+
* useWorkflow hook return type
|
|
609
|
+
*/
|
|
610
|
+
export type UseWorkflowReturn = {
|
|
611
|
+
/** Execute the workflow */
|
|
612
|
+
execute: (input: UnknownRecord, options?: Partial<WorkflowExecuteOptions>) => Promise<WorkflowExecuteResult>;
|
|
613
|
+
/** Resume a suspended workflow */
|
|
614
|
+
resume: (resumeToken: string, resumeData?: UnknownRecord) => Promise<WorkflowExecuteResult>;
|
|
615
|
+
/** Get workflow status */
|
|
616
|
+
getStatus: (runId: string) => Promise<WorkflowExecuteResult>;
|
|
617
|
+
/** Cancel workflow execution */
|
|
618
|
+
cancel: (runId: string) => Promise<void>;
|
|
619
|
+
/** Current run ID */
|
|
620
|
+
runId: string | null;
|
|
621
|
+
/** Execution status */
|
|
622
|
+
status: WorkflowExecuteResult["status"] | null;
|
|
623
|
+
/** Loading state */
|
|
624
|
+
isLoading: boolean;
|
|
625
|
+
/** Last result */
|
|
626
|
+
result: WorkflowExecuteResult | null;
|
|
627
|
+
/** Error state */
|
|
628
|
+
error: ApiError | null;
|
|
629
|
+
/** Clear error */
|
|
630
|
+
clearError: () => void;
|
|
631
|
+
};
|
|
632
|
+
/**
|
|
633
|
+
* useVoice hook options
|
|
634
|
+
*/
|
|
635
|
+
export type UseVoiceOptions = {
|
|
636
|
+
/** Voice for TTS */
|
|
637
|
+
voice?: string;
|
|
638
|
+
/** Language */
|
|
639
|
+
language?: string;
|
|
640
|
+
/** Auto-play responses */
|
|
641
|
+
autoPlay?: boolean;
|
|
642
|
+
/** Called when speech starts */
|
|
643
|
+
onSpeechStart?: () => void;
|
|
644
|
+
/** Called when speech ends */
|
|
645
|
+
onSpeechEnd?: () => void;
|
|
646
|
+
/** Called on error */
|
|
647
|
+
onError?: (error: ApiError) => void;
|
|
648
|
+
/** API endpoint for voice */
|
|
649
|
+
api?: string;
|
|
650
|
+
/** Enable speech recognition */
|
|
651
|
+
enableSpeechRecognition?: boolean;
|
|
652
|
+
};
|
|
653
|
+
/**
|
|
654
|
+
* useVoice hook return type
|
|
655
|
+
*/
|
|
656
|
+
export type UseVoiceReturn = {
|
|
657
|
+
/** Start listening for voice input */
|
|
658
|
+
startListening: () => void;
|
|
659
|
+
/** Stop listening */
|
|
660
|
+
stopListening: () => void;
|
|
661
|
+
/** Speak text */
|
|
662
|
+
speak: (text: string) => Promise<void>;
|
|
663
|
+
/** Stop speaking */
|
|
664
|
+
stopSpeaking: () => void;
|
|
665
|
+
/** Submit voice input */
|
|
666
|
+
submit: (text: string) => Promise<string>;
|
|
667
|
+
/** Whether currently listening */
|
|
668
|
+
isListening: boolean;
|
|
669
|
+
/** Whether currently speaking */
|
|
670
|
+
isSpeaking: boolean;
|
|
671
|
+
/** Whether processing */
|
|
672
|
+
isProcessing: boolean;
|
|
673
|
+
/** Current transcript */
|
|
674
|
+
transcript: string;
|
|
675
|
+
/** Last response */
|
|
676
|
+
response: string | null;
|
|
677
|
+
/** Error state */
|
|
678
|
+
error: ApiError | null;
|
|
679
|
+
/** Supported by browser */
|
|
680
|
+
isSupported: boolean;
|
|
681
|
+
};
|
|
682
|
+
/**
|
|
683
|
+
* useStream hook options
|
|
684
|
+
*/
|
|
685
|
+
export type UseStreamOptions = {
|
|
686
|
+
/** API endpoint */
|
|
687
|
+
api?: string;
|
|
688
|
+
/** Stream callbacks */
|
|
689
|
+
callbacks?: StreamCallbacks;
|
|
690
|
+
};
|
|
691
|
+
/**
|
|
692
|
+
* useStream hook return type
|
|
693
|
+
*/
|
|
694
|
+
export type UseStreamReturn = {
|
|
695
|
+
/** Start streaming */
|
|
696
|
+
start: (options: {
|
|
697
|
+
prompt: string;
|
|
698
|
+
} & UnknownRecord) => void;
|
|
699
|
+
/** Stop streaming */
|
|
700
|
+
stop: () => void;
|
|
701
|
+
/** Current text content */
|
|
702
|
+
text: string;
|
|
703
|
+
/** All events received */
|
|
704
|
+
events: StreamEvent[];
|
|
705
|
+
/** Streaming state */
|
|
706
|
+
isStreaming: boolean;
|
|
707
|
+
/** Error state */
|
|
708
|
+
error: ApiError | null;
|
|
709
|
+
};
|
|
710
|
+
/**
|
|
711
|
+
* useTools hook options
|
|
712
|
+
*/
|
|
713
|
+
export type UseToolsOptions = {
|
|
714
|
+
/** Filter tools by category */
|
|
715
|
+
category?: string;
|
|
716
|
+
/** Filter tools by server */
|
|
717
|
+
serverId?: string;
|
|
718
|
+
/** Auto-refresh interval (ms) */
|
|
719
|
+
refreshInterval?: number;
|
|
720
|
+
};
|
|
721
|
+
/**
|
|
722
|
+
* useTools hook return type
|
|
723
|
+
*/
|
|
724
|
+
export type UseToolsReturn = {
|
|
725
|
+
/** Available tools */
|
|
726
|
+
tools: ToolInfo[];
|
|
727
|
+
/** Execute a tool */
|
|
728
|
+
execute: (toolName: string, params: UnknownRecord) => Promise<unknown>;
|
|
729
|
+
/** Refresh tool list */
|
|
730
|
+
refresh: () => Promise<void>;
|
|
731
|
+
/** Loading state */
|
|
732
|
+
isLoading: boolean;
|
|
733
|
+
/** Error state */
|
|
734
|
+
error: ApiError | null;
|
|
735
|
+
};
|
|
736
|
+
/**
|
|
737
|
+
* AI SDK Language Model interface (Vercel AI SDK compatible)
|
|
738
|
+
*/
|
|
739
|
+
export type LanguageModel = {
|
|
740
|
+
/** Model specification string */
|
|
741
|
+
modelId: string;
|
|
742
|
+
/** Provider name */
|
|
743
|
+
provider: string;
|
|
744
|
+
/** Generate non-streaming response */
|
|
745
|
+
doGenerate: (options: LanguageModelCallOptions) => Promise<LanguageModelResponse>;
|
|
746
|
+
/** Generate streaming response */
|
|
747
|
+
doStream: (options: LanguageModelCallOptions) => Promise<LanguageModelStreamResponse>;
|
|
748
|
+
};
|
|
749
|
+
/**
|
|
750
|
+
* Language model call options
|
|
751
|
+
*/
|
|
752
|
+
export type LanguageModelCallOptions = {
|
|
753
|
+
/** Input prompt */
|
|
754
|
+
prompt: string;
|
|
755
|
+
/** System prompt */
|
|
756
|
+
system?: string;
|
|
757
|
+
/** Messages for conversation */
|
|
758
|
+
messages?: Array<{
|
|
759
|
+
role: "user" | "assistant" | "system";
|
|
760
|
+
content: string;
|
|
761
|
+
}>;
|
|
762
|
+
/** Temperature */
|
|
763
|
+
temperature?: number;
|
|
764
|
+
/** Maximum tokens */
|
|
765
|
+
maxTokens?: number;
|
|
766
|
+
/** Stop sequences */
|
|
767
|
+
stopSequences?: string[];
|
|
768
|
+
/** Abort signal */
|
|
769
|
+
abortSignal?: AbortSignal;
|
|
770
|
+
};
|
|
771
|
+
/**
|
|
772
|
+
* Language model response
|
|
773
|
+
*/
|
|
774
|
+
export type LanguageModelResponse = {
|
|
775
|
+
/** Generated text */
|
|
776
|
+
text: string;
|
|
777
|
+
/** Finish reason */
|
|
778
|
+
finishReason: "stop" | "length" | "tool-calls" | "content-filter" | "error" | "other";
|
|
779
|
+
/** Usage information */
|
|
780
|
+
usage: {
|
|
781
|
+
promptTokens: number;
|
|
782
|
+
completionTokens: number;
|
|
783
|
+
};
|
|
784
|
+
/** Raw response */
|
|
785
|
+
rawResponse?: unknown;
|
|
786
|
+
};
|
|
787
|
+
/**
|
|
788
|
+
* Language model stream response
|
|
789
|
+
*/
|
|
790
|
+
export type LanguageModelStreamResponse = {
|
|
791
|
+
/** Stream of text deltas */
|
|
792
|
+
stream: AsyncIterable<{
|
|
793
|
+
type: "text-delta" | "finish";
|
|
794
|
+
textDelta?: string;
|
|
795
|
+
finishReason?: string;
|
|
796
|
+
usage?: {
|
|
797
|
+
promptTokens: number;
|
|
798
|
+
completionTokens: number;
|
|
799
|
+
};
|
|
800
|
+
}>;
|
|
801
|
+
/** Raw response */
|
|
802
|
+
rawResponse?: unknown;
|
|
803
|
+
};
|
|
804
|
+
/**
|
|
805
|
+
* NeuroLink provider options for AI SDK adapter
|
|
806
|
+
*/
|
|
807
|
+
export type NeuroLinkProviderOptions = {
|
|
808
|
+
/** Base URL for the NeuroLink API */
|
|
809
|
+
baseUrl: string;
|
|
810
|
+
/** API key for authentication */
|
|
811
|
+
apiKey?: string;
|
|
812
|
+
/** Bearer token for authentication */
|
|
813
|
+
token?: string;
|
|
814
|
+
/** Default model to use */
|
|
815
|
+
defaultModel?: string;
|
|
816
|
+
/** Default provider */
|
|
817
|
+
defaultProvider?: string;
|
|
818
|
+
/** Custom headers */
|
|
819
|
+
headers?: Record<string, string>;
|
|
820
|
+
};
|
|
821
|
+
/**
|
|
822
|
+
* Model creation options for AI SDK adapter
|
|
823
|
+
*/
|
|
824
|
+
export type ModelOptions = {
|
|
825
|
+
/** Model ID */
|
|
826
|
+
modelId?: string;
|
|
827
|
+
/** Provider name */
|
|
828
|
+
provider?: string;
|
|
829
|
+
/** Temperature */
|
|
830
|
+
temperature?: number;
|
|
831
|
+
/** Maximum tokens */
|
|
832
|
+
maxTokens?: number;
|
|
833
|
+
};
|
|
834
|
+
/**
|
|
835
|
+
* WebSocket connection options
|
|
836
|
+
*/
|
|
837
|
+
export type WebSocketOptions = {
|
|
838
|
+
/** WebSocket URL */
|
|
839
|
+
url: string;
|
|
840
|
+
/** Protocols */
|
|
841
|
+
protocols?: string | string[];
|
|
842
|
+
/** Auto-reconnect on disconnect */
|
|
843
|
+
autoReconnect?: boolean;
|
|
844
|
+
/** Reconnect interval in ms */
|
|
845
|
+
reconnectInterval?: number;
|
|
846
|
+
/** Maximum reconnect attempts */
|
|
847
|
+
maxReconnectAttempts?: number;
|
|
848
|
+
/** Heartbeat interval in ms */
|
|
849
|
+
heartbeatInterval?: number;
|
|
850
|
+
};
|
|
851
|
+
/**
|
|
852
|
+
* WebSocket connection state
|
|
853
|
+
*/
|
|
854
|
+
export type WebSocketState = "connecting" | "connected" | "disconnecting" | "disconnected" | "reconnecting";
|
|
855
|
+
/**
|
|
856
|
+
* WebSocket message handler
|
|
857
|
+
*/
|
|
858
|
+
export type WebSocketMessageHandler = (data: unknown) => void;
|
|
859
|
+
/**
|
|
860
|
+
* Connection state for the dedicated NeuroLinkWebSocket client
|
|
861
|
+
*/
|
|
862
|
+
export type WSClientState = "connecting" | "connected" | "disconnected" | "error";
|
|
863
|
+
/**
|
|
864
|
+
* Configuration for the dedicated NeuroLinkWebSocket client
|
|
865
|
+
*/
|
|
866
|
+
export type WSClientConfig = ClientConfig & {
|
|
867
|
+
/** Auto-reconnect on disconnect (default: true) */
|
|
868
|
+
autoReconnect?: boolean;
|
|
869
|
+
/** Maximum reconnection attempts (default: 10) */
|
|
870
|
+
maxReconnectAttempts?: number;
|
|
871
|
+
/** Initial reconnection delay in ms (default: 1000) */
|
|
872
|
+
reconnectDelay?: number;
|
|
873
|
+
/** Maximum reconnection delay in ms (default: 30000) */
|
|
874
|
+
maxReconnectDelay?: number;
|
|
875
|
+
/** Heartbeat interval in ms (default: 30000) */
|
|
876
|
+
heartbeatInterval?: number;
|
|
877
|
+
/** Message queue size when disconnected (default: 100) */
|
|
878
|
+
queueSize?: number;
|
|
879
|
+
};
|
|
880
|
+
/**
|
|
881
|
+
* WebSocket message for the dedicated NeuroLinkWebSocket client
|
|
882
|
+
*/
|
|
883
|
+
export type WSClientMessage = {
|
|
884
|
+
type: "subscribe" | "unsubscribe" | "message" | "ping" | "pong";
|
|
885
|
+
channel?: string;
|
|
886
|
+
payload?: unknown;
|
|
887
|
+
id?: string;
|
|
888
|
+
};
|
|
889
|
+
/**
|
|
890
|
+
* Event handlers for the dedicated NeuroLinkWebSocket client
|
|
891
|
+
*/
|
|
892
|
+
export type WSClientEventHandlers = {
|
|
893
|
+
onOpen?: () => void;
|
|
894
|
+
onClose?: (code: number, reason: string) => void;
|
|
895
|
+
onError?: (error: Error) => void;
|
|
896
|
+
onMessage?: (event: StreamEvent) => void;
|
|
897
|
+
onReconnect?: (attempt: number) => void;
|
|
898
|
+
onStateChange?: (state: WSClientState) => void;
|
|
899
|
+
};
|
|
900
|
+
/**
|
|
901
|
+
* Speech recognition result
|
|
902
|
+
*/
|
|
903
|
+
export type SpeechRecognitionResult = {
|
|
904
|
+
/** Transcript text */
|
|
905
|
+
transcript: string;
|
|
906
|
+
/** Confidence score (0-1) */
|
|
907
|
+
confidence: number;
|
|
908
|
+
/** Whether this is the final result */
|
|
909
|
+
isFinal: boolean;
|
|
910
|
+
};
|
|
911
|
+
/**
|
|
912
|
+
* Speech synthesis options
|
|
913
|
+
*/
|
|
914
|
+
export type SpeechSynthesisOptions = {
|
|
915
|
+
/** Voice to use */
|
|
916
|
+
voice?: string;
|
|
917
|
+
/** Speaking rate (0.1-10) */
|
|
918
|
+
rate?: number;
|
|
919
|
+
/** Pitch (0-2) */
|
|
920
|
+
pitch?: number;
|
|
921
|
+
/** Volume (0-1) */
|
|
922
|
+
volume?: number;
|
|
923
|
+
/** Language code */
|
|
924
|
+
lang?: string;
|
|
925
|
+
};
|
|
926
|
+
/**
|
|
927
|
+
* Authentication configuration options
|
|
928
|
+
*/
|
|
929
|
+
export type AuthConfig = {
|
|
930
|
+
/** API key for header-based authentication */
|
|
931
|
+
apiKey?: string;
|
|
932
|
+
/** Bearer token for JWT/OAuth authentication */
|
|
933
|
+
token?: string;
|
|
934
|
+
/** Token refresh function for automatic token renewal */
|
|
935
|
+
refreshToken?: () => Promise<string>;
|
|
936
|
+
/** Token expiry time in milliseconds */
|
|
937
|
+
tokenExpiresAt?: number;
|
|
938
|
+
/** Buffer time before expiry to refresh token (default: 60000ms) */
|
|
939
|
+
refreshBufferMs?: number;
|
|
940
|
+
/** Custom authorization header name (default: "Authorization") */
|
|
941
|
+
headerName?: string;
|
|
942
|
+
/** Custom API key header name (default: "X-API-Key") */
|
|
943
|
+
apiKeyHeaderName?: string;
|
|
944
|
+
};
|
|
945
|
+
/**
|
|
946
|
+
* OAuth2 client credentials configuration
|
|
947
|
+
*/
|
|
948
|
+
export type OAuth2Config = {
|
|
949
|
+
/** Token endpoint URL */
|
|
950
|
+
tokenUrl: string;
|
|
951
|
+
/** OAuth2 client ID */
|
|
952
|
+
clientId: string;
|
|
953
|
+
/** OAuth2 client secret */
|
|
954
|
+
clientSecret: string;
|
|
955
|
+
/** OAuth2 scope (optional) */
|
|
956
|
+
scope?: string;
|
|
957
|
+
/** Audience for the token (optional) */
|
|
958
|
+
audience?: string;
|
|
959
|
+
};
|
|
960
|
+
/**
|
|
961
|
+
* Token refresh result
|
|
962
|
+
*/
|
|
963
|
+
export type TokenRefreshResult = {
|
|
964
|
+
/** Access token */
|
|
965
|
+
accessToken: string;
|
|
966
|
+
/** Token expiry time in seconds */
|
|
967
|
+
expiresIn: number;
|
|
968
|
+
/** Token type (usually "Bearer") */
|
|
969
|
+
tokenType: string;
|
|
970
|
+
/** Refresh token (if provided) */
|
|
971
|
+
refreshToken?: string;
|
|
972
|
+
/** OAuth2 scope (if provided) */
|
|
973
|
+
scope?: string;
|
|
974
|
+
};
|
|
975
|
+
/**
|
|
976
|
+
* Web Speech API event map for SpeechRecognition
|
|
977
|
+
*/
|
|
978
|
+
export interface SpeechRecognitionEventMap {
|
|
979
|
+
audioend: Event;
|
|
980
|
+
audiostart: Event;
|
|
981
|
+
end: Event;
|
|
982
|
+
error: SpeechRecognitionErrorEventInternal;
|
|
983
|
+
nomatch: SpeechRecognitionEventInternal;
|
|
984
|
+
result: SpeechRecognitionEventInternal;
|
|
985
|
+
soundend: Event;
|
|
986
|
+
soundstart: Event;
|
|
987
|
+
speechend: Event;
|
|
988
|
+
speechstart: Event;
|
|
989
|
+
start: Event;
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Internal speech recognition event with results
|
|
993
|
+
*/
|
|
994
|
+
export interface SpeechRecognitionEventInternal extends Event {
|
|
995
|
+
readonly resultIndex: number;
|
|
996
|
+
readonly results: SpeechRecognitionResultList;
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* Internal speech recognition error event
|
|
1000
|
+
*/
|
|
1001
|
+
export interface SpeechRecognitionErrorEventInternal extends Event {
|
|
1002
|
+
readonly error: string;
|
|
1003
|
+
readonly message: string;
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Internal speech recognition interface for browser Web Speech API
|
|
1007
|
+
*/
|
|
1008
|
+
export interface SpeechRecognitionInternal extends EventTarget {
|
|
1009
|
+
continuous: boolean;
|
|
1010
|
+
grammars: SpeechGrammarList;
|
|
1011
|
+
interimResults: boolean;
|
|
1012
|
+
lang: string;
|
|
1013
|
+
maxAlternatives: number;
|
|
1014
|
+
onaudioend: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1015
|
+
onaudiostart: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1016
|
+
onend: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1017
|
+
onerror: ((this: SpeechRecognitionInternal, ev: SpeechRecognitionErrorEventInternal) => unknown) | null;
|
|
1018
|
+
onnomatch: ((this: SpeechRecognitionInternal, ev: SpeechRecognitionEventInternal) => unknown) | null;
|
|
1019
|
+
onresult: ((this: SpeechRecognitionInternal, ev: SpeechRecognitionEventInternal) => unknown) | null;
|
|
1020
|
+
onsoundend: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1021
|
+
onsoundstart: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1022
|
+
onspeechend: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1023
|
+
onspeechstart: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1024
|
+
onstart: ((this: SpeechRecognitionInternal, ev: Event) => unknown) | null;
|
|
1025
|
+
abort(): void;
|
|
1026
|
+
start(): void;
|
|
1027
|
+
stop(): void;
|
|
1028
|
+
}
|
|
1029
|
+
/**
|
|
1030
|
+
* Speech grammar list interface
|
|
1031
|
+
*/
|
|
1032
|
+
export interface SpeechGrammarList {
|
|
1033
|
+
readonly length: number;
|
|
1034
|
+
addFromString(string: string, weight?: number): void;
|
|
1035
|
+
addFromURI(src: string, weight?: number): void;
|
|
1036
|
+
item(index: number): SpeechGrammar;
|
|
1037
|
+
[index: number]: SpeechGrammar;
|
|
1038
|
+
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Speech grammar interface
|
|
1041
|
+
*/
|
|
1042
|
+
export interface SpeechGrammar {
|
|
1043
|
+
src: string;
|
|
1044
|
+
weight: number;
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Re-export common types for convenience
|
|
1048
|
+
*/
|
|
1049
|
+
export type { JsonValue, JsonObject, UnknownRecord };
|
|
1050
|
+
export type { ToolCall, ToolResult };
|