@juspay/neurolink 3.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -6
- package/README.md +318 -27
- package/dist/agent/direct-tools.d.ts +6 -6
- package/dist/chat/client-utils.d.ts +92 -0
- package/dist/chat/client-utils.js +298 -0
- package/dist/chat/index.d.ts +27 -0
- package/dist/chat/index.js +41 -0
- package/dist/chat/session-storage.d.ts +77 -0
- package/dist/chat/session-storage.js +233 -0
- package/dist/chat/session.d.ts +95 -0
- package/dist/chat/session.js +257 -0
- package/dist/chat/sse-handler.d.ts +49 -0
- package/dist/chat/sse-handler.js +266 -0
- package/dist/chat/types.d.ts +73 -0
- package/dist/chat/types.js +5 -0
- package/dist/chat/websocket-chat-handler.d.ts +36 -0
- package/dist/chat/websocket-chat-handler.js +262 -0
- package/dist/cli/commands/config.js +12 -12
- package/dist/cli/commands/mcp.js +3 -4
- package/dist/cli/index.d.ts +0 -7
- package/dist/cli/index.js +247 -28
- package/dist/config/configManager.d.ts +60 -0
- package/dist/config/configManager.js +300 -0
- package/dist/config/types.d.ts +136 -0
- package/dist/config/types.js +43 -0
- package/dist/core/analytics.d.ts +23 -0
- package/dist/core/analytics.js +131 -0
- package/dist/core/constants.d.ts +41 -0
- package/dist/core/constants.js +50 -0
- package/dist/core/defaults.d.ts +18 -0
- package/dist/core/defaults.js +29 -0
- package/dist/core/evaluation-config.d.ts +29 -0
- package/dist/core/evaluation-config.js +144 -0
- package/dist/core/evaluation-providers.d.ts +30 -0
- package/dist/core/evaluation-providers.js +187 -0
- package/dist/core/evaluation.d.ts +117 -0
- package/dist/core/evaluation.js +528 -0
- package/dist/core/factory.js +33 -25
- package/dist/core/types.d.ts +165 -6
- package/dist/core/types.js +3 -4
- package/dist/index.d.ts +9 -4
- package/dist/index.js +25 -4
- package/dist/lib/agent/direct-tools.d.ts +6 -6
- package/dist/lib/chat/client-utils.d.ts +92 -0
- package/dist/lib/chat/client-utils.js +298 -0
- package/dist/lib/chat/index.d.ts +27 -0
- package/dist/lib/chat/index.js +41 -0
- package/dist/lib/chat/session-storage.d.ts +77 -0
- package/dist/lib/chat/session-storage.js +233 -0
- package/dist/lib/chat/session.d.ts +95 -0
- package/dist/lib/chat/session.js +257 -0
- package/dist/lib/chat/sse-handler.d.ts +49 -0
- package/dist/lib/chat/sse-handler.js +266 -0
- package/dist/lib/chat/types.d.ts +73 -0
- package/dist/lib/chat/types.js +5 -0
- package/dist/lib/chat/websocket-chat-handler.d.ts +36 -0
- package/dist/lib/chat/websocket-chat-handler.js +262 -0
- package/dist/lib/config/configManager.d.ts +60 -0
- package/dist/lib/config/configManager.js +300 -0
- package/dist/lib/config/types.d.ts +136 -0
- package/dist/lib/config/types.js +43 -0
- package/dist/lib/core/analytics.d.ts +23 -0
- package/dist/lib/core/analytics.js +131 -0
- package/dist/lib/core/constants.d.ts +41 -0
- package/dist/lib/core/constants.js +50 -0
- package/dist/lib/core/defaults.d.ts +18 -0
- package/dist/lib/core/defaults.js +29 -0
- package/dist/lib/core/evaluation-config.d.ts +29 -0
- package/dist/lib/core/evaluation-config.js +144 -0
- package/dist/lib/core/evaluation-providers.d.ts +30 -0
- package/dist/lib/core/evaluation-providers.js +187 -0
- package/dist/lib/core/evaluation.d.ts +117 -0
- package/dist/lib/core/evaluation.js +528 -0
- package/dist/lib/core/factory.js +33 -26
- package/dist/lib/core/types.d.ts +165 -6
- package/dist/lib/core/types.js +3 -4
- package/dist/lib/index.d.ts +9 -4
- package/dist/lib/index.js +25 -4
- package/dist/lib/mcp/contracts/mcpContract.d.ts +118 -0
- package/dist/lib/mcp/contracts/mcpContract.js +5 -0
- package/dist/lib/mcp/dynamic-chain-executor.d.ts +201 -0
- package/dist/lib/mcp/dynamic-chain-executor.js +489 -0
- package/dist/lib/mcp/dynamic-orchestrator.d.ts +109 -0
- package/dist/lib/mcp/dynamic-orchestrator.js +351 -0
- package/dist/lib/mcp/error-manager.d.ts +254 -0
- package/dist/lib/mcp/error-manager.js +501 -0
- package/dist/lib/mcp/error-recovery.d.ts +158 -0
- package/dist/lib/mcp/error-recovery.js +405 -0
- package/dist/lib/mcp/function-calling.js +11 -3
- package/dist/lib/mcp/health-monitor.d.ts +256 -0
- package/dist/lib/mcp/health-monitor.js +621 -0
- package/dist/lib/mcp/logging.js +5 -0
- package/dist/lib/mcp/neurolink-mcp-client.js +2 -1
- package/dist/lib/mcp/orchestrator.d.ts +136 -5
- package/dist/lib/mcp/orchestrator.js +332 -16
- package/dist/lib/mcp/registry.d.ts +71 -16
- package/dist/lib/mcp/registry.js +104 -6
- package/dist/lib/mcp/semaphore-manager.d.ts +137 -0
- package/dist/lib/mcp/semaphore-manager.js +329 -0
- package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
- package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.js +5 -4
- package/dist/lib/mcp/session-manager.d.ts +186 -0
- package/dist/lib/mcp/session-manager.js +400 -0
- package/dist/lib/mcp/session-persistence.d.ts +93 -0
- package/dist/lib/mcp/session-persistence.js +298 -0
- package/dist/lib/mcp/tool-integration.js +1 -1
- package/dist/lib/mcp/tool-registry.d.ts +55 -34
- package/dist/lib/mcp/tool-registry.js +111 -97
- package/dist/lib/mcp/transport-manager.d.ts +153 -0
- package/dist/lib/mcp/transport-manager.js +330 -0
- package/dist/lib/mcp/unified-mcp.js +6 -1
- package/dist/lib/mcp/unified-registry.d.ts +54 -5
- package/dist/lib/mcp/unified-registry.js +139 -6
- package/dist/lib/neurolink.d.ts +101 -0
- package/dist/lib/neurolink.js +147 -1
- package/dist/lib/providers/agent-enhanced-provider.d.ts +11 -2
- package/dist/lib/providers/agent-enhanced-provider.js +86 -15
- package/dist/lib/providers/amazonBedrock.d.ts +9 -1
- package/dist/lib/providers/amazonBedrock.js +26 -2
- package/dist/lib/providers/analytics-helper.d.ts +53 -0
- package/dist/lib/providers/analytics-helper.js +151 -0
- package/dist/lib/providers/anthropic.d.ts +11 -1
- package/dist/lib/providers/anthropic.js +29 -4
- package/dist/lib/providers/azureOpenAI.d.ts +3 -1
- package/dist/lib/providers/azureOpenAI.js +28 -4
- package/dist/lib/providers/function-calling-provider.d.ts +9 -1
- package/dist/lib/providers/function-calling-provider.js +14 -1
- package/dist/lib/providers/googleAIStudio.d.ts +15 -1
- package/dist/lib/providers/googleAIStudio.js +32 -2
- package/dist/lib/providers/googleVertexAI.d.ts +9 -1
- package/dist/lib/providers/googleVertexAI.js +31 -2
- package/dist/lib/providers/huggingFace.d.ts +3 -1
- package/dist/lib/providers/huggingFace.js +26 -3
- package/dist/lib/providers/mcp-provider.d.ts +9 -1
- package/dist/lib/providers/mcp-provider.js +12 -0
- package/dist/lib/providers/mistralAI.d.ts +3 -1
- package/dist/lib/providers/mistralAI.js +25 -2
- package/dist/lib/providers/ollama.d.ts +3 -1
- package/dist/lib/providers/ollama.js +27 -4
- package/dist/lib/providers/openAI.d.ts +15 -1
- package/dist/lib/providers/openAI.js +32 -2
- package/dist/lib/proxy/proxy-fetch.js +8 -7
- package/dist/lib/services/streaming/streaming-manager.d.ts +29 -0
- package/dist/lib/services/streaming/streaming-manager.js +244 -0
- package/dist/lib/services/types.d.ts +155 -0
- package/dist/lib/services/types.js +2 -0
- package/dist/lib/services/websocket/websocket-server.d.ts +34 -0
- package/dist/lib/services/websocket/websocket-server.js +304 -0
- package/dist/lib/telemetry/index.d.ts +15 -0
- package/dist/lib/telemetry/index.js +22 -0
- package/dist/lib/telemetry/telemetry-service.d.ts +47 -0
- package/dist/lib/telemetry/telemetry-service.js +259 -0
- package/dist/lib/utils/streaming-utils.d.ts +67 -0
- package/dist/lib/utils/streaming-utils.js +201 -0
- package/dist/mcp/contracts/mcpContract.d.ts +118 -0
- package/dist/mcp/contracts/mcpContract.js +5 -0
- package/dist/mcp/dynamic-chain-executor.d.ts +201 -0
- package/dist/mcp/dynamic-chain-executor.js +489 -0
- package/dist/mcp/dynamic-orchestrator.d.ts +109 -0
- package/dist/mcp/dynamic-orchestrator.js +351 -0
- package/dist/mcp/error-manager.d.ts +254 -0
- package/dist/mcp/error-manager.js +501 -0
- package/dist/mcp/error-recovery.d.ts +158 -0
- package/dist/mcp/error-recovery.js +405 -0
- package/dist/mcp/function-calling.js +11 -3
- package/dist/mcp/health-monitor.d.ts +256 -0
- package/dist/mcp/health-monitor.js +621 -0
- package/dist/mcp/logging.js +5 -0
- package/dist/mcp/neurolink-mcp-client.js +2 -1
- package/dist/mcp/orchestrator.d.ts +136 -5
- package/dist/mcp/orchestrator.js +332 -16
- package/dist/mcp/plugins/core/neurolink-mcp.json +15 -15
- package/dist/mcp/registry.d.ts +71 -16
- package/dist/mcp/registry.js +104 -6
- package/dist/mcp/semaphore-manager.d.ts +137 -0
- package/dist/mcp/semaphore-manager.js +329 -0
- package/dist/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
- package/dist/mcp/servers/ai-providers/ai-workflow-tools.js +5 -4
- package/dist/mcp/session-manager.d.ts +186 -0
- package/dist/mcp/session-manager.js +400 -0
- package/dist/mcp/session-persistence.d.ts +93 -0
- package/dist/mcp/session-persistence.js +299 -0
- package/dist/mcp/tool-integration.js +1 -1
- package/dist/mcp/tool-registry.d.ts +55 -34
- package/dist/mcp/tool-registry.js +111 -97
- package/dist/mcp/transport-manager.d.ts +153 -0
- package/dist/mcp/transport-manager.js +331 -0
- package/dist/mcp/unified-mcp.js +6 -1
- package/dist/mcp/unified-registry.d.ts +54 -5
- package/dist/mcp/unified-registry.js +139 -6
- package/dist/neurolink.d.ts +101 -0
- package/dist/neurolink.js +147 -1
- package/dist/providers/agent-enhanced-provider.d.ts +11 -2
- package/dist/providers/agent-enhanced-provider.js +86 -15
- package/dist/providers/amazonBedrock.d.ts +9 -1
- package/dist/providers/amazonBedrock.js +26 -2
- package/dist/providers/analytics-helper.d.ts +53 -0
- package/dist/providers/analytics-helper.js +151 -0
- package/dist/providers/anthropic.d.ts +11 -1
- package/dist/providers/anthropic.js +29 -4
- package/dist/providers/azureOpenAI.d.ts +3 -1
- package/dist/providers/azureOpenAI.js +29 -4
- package/dist/providers/function-calling-provider.d.ts +9 -1
- package/dist/providers/function-calling-provider.js +14 -1
- package/dist/providers/googleAIStudio.d.ts +15 -1
- package/dist/providers/googleAIStudio.js +32 -2
- package/dist/providers/googleVertexAI.d.ts +9 -1
- package/dist/providers/googleVertexAI.js +31 -2
- package/dist/providers/huggingFace.d.ts +3 -1
- package/dist/providers/huggingFace.js +26 -3
- package/dist/providers/mcp-provider.d.ts +9 -1
- package/dist/providers/mcp-provider.js +12 -0
- package/dist/providers/mistralAI.d.ts +3 -1
- package/dist/providers/mistralAI.js +25 -2
- package/dist/providers/ollama.d.ts +3 -1
- package/dist/providers/ollama.js +27 -4
- package/dist/providers/openAI.d.ts +15 -1
- package/dist/providers/openAI.js +33 -2
- package/dist/proxy/proxy-fetch.js +8 -7
- package/dist/services/streaming/streaming-manager.d.ts +29 -0
- package/dist/services/streaming/streaming-manager.js +244 -0
- package/dist/services/types.d.ts +155 -0
- package/dist/services/types.js +2 -0
- package/dist/services/websocket/websocket-server.d.ts +34 -0
- package/dist/services/websocket/websocket-server.js +304 -0
- package/dist/telemetry/index.d.ts +15 -0
- package/dist/telemetry/index.js +22 -0
- package/dist/telemetry/telemetry-service.d.ts +47 -0
- package/dist/telemetry/telemetry-service.js +261 -0
- package/dist/utils/streaming-utils.d.ts +67 -0
- package/dist/utils/streaming-utils.js +201 -0
- package/package.json +245 -228
package/dist/lib/core/types.d.ts
CHANGED
|
@@ -44,10 +44,9 @@ export declare enum VertexModels {
|
|
|
44
44
|
* Supported Models for Google AI Studio
|
|
45
45
|
*/
|
|
46
46
|
export declare enum GoogleAIModels {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
GEMINI_1_0_PRO = "gemini-1.0-pro"
|
|
47
|
+
GEMINI_2_5_PRO = "gemini-2.5-pro",
|
|
48
|
+
GEMINI_2_5_FLASH = "gemini-2.5-flash",
|
|
49
|
+
GEMINI_1_5_FLASH_LITE = "gemini-2.5-flash-lite"
|
|
51
50
|
}
|
|
52
51
|
/**
|
|
53
52
|
* Union type of all supported model names
|
|
@@ -81,6 +80,15 @@ export interface TextGenerationOptions {
|
|
|
81
80
|
schema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>;
|
|
82
81
|
tools?: Record<string, Tool>;
|
|
83
82
|
timeout?: number | string;
|
|
83
|
+
enableEvaluation?: boolean;
|
|
84
|
+
enableAnalytics?: boolean;
|
|
85
|
+
context?: Record<string, any>;
|
|
86
|
+
evaluationDomain?: string;
|
|
87
|
+
toolUsageContext?: string;
|
|
88
|
+
conversationHistory?: Array<{
|
|
89
|
+
role: string;
|
|
90
|
+
content: string;
|
|
91
|
+
}>;
|
|
84
92
|
}
|
|
85
93
|
/**
|
|
86
94
|
* Stream text options interface
|
|
@@ -94,13 +102,164 @@ export interface StreamTextOptions {
|
|
|
94
102
|
schema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>;
|
|
95
103
|
tools?: Record<string, Tool>;
|
|
96
104
|
timeout?: number | string;
|
|
105
|
+
enableEvaluation?: boolean;
|
|
106
|
+
enableAnalytics?: boolean;
|
|
107
|
+
context?: Record<string, any>;
|
|
108
|
+
evaluationDomain?: string;
|
|
109
|
+
toolUsageContext?: string;
|
|
110
|
+
conversationHistory?: Array<{
|
|
111
|
+
role: string;
|
|
112
|
+
content: string;
|
|
113
|
+
}>;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Analytics data for usage tracking
|
|
117
|
+
*/
|
|
118
|
+
export interface AnalyticsData {
|
|
119
|
+
provider: string;
|
|
120
|
+
model: string;
|
|
121
|
+
tokens: {
|
|
122
|
+
input: number;
|
|
123
|
+
output: number;
|
|
124
|
+
total: number;
|
|
125
|
+
};
|
|
126
|
+
cost?: number;
|
|
127
|
+
responseTime: number;
|
|
128
|
+
timestamp: string;
|
|
129
|
+
context?: Record<string, any>;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Response quality evaluation scores (Lighthouse-Compatible Schema)
|
|
133
|
+
* Updated to match Lighthouse's exact evaluation interface for consistency
|
|
134
|
+
*/
|
|
135
|
+
export interface EvaluationData {
|
|
136
|
+
relevanceScore: number;
|
|
137
|
+
accuracyScore: number;
|
|
138
|
+
completenessScore: number;
|
|
139
|
+
overall: number;
|
|
140
|
+
isOffTopic: boolean;
|
|
141
|
+
alertSeverity: "low" | "medium" | "high" | "none";
|
|
142
|
+
reasoning: string;
|
|
143
|
+
suggestedImprovements?: string;
|
|
144
|
+
evaluationModel: string;
|
|
145
|
+
evaluationTime: number;
|
|
146
|
+
evaluationProvider?: string;
|
|
147
|
+
evaluationAttempt?: number;
|
|
148
|
+
evaluationConfig?: {
|
|
149
|
+
mode: string;
|
|
150
|
+
fallbackUsed: boolean;
|
|
151
|
+
costEstimate: number;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* BACKWARD COMPATIBILITY: Legacy evaluation interface
|
|
156
|
+
* Maintains existing field names for backward compatibility
|
|
157
|
+
*/
|
|
158
|
+
export interface LegacyEvaluationData {
|
|
159
|
+
relevance: number;
|
|
160
|
+
accuracy: number;
|
|
161
|
+
completeness: number;
|
|
162
|
+
overall: number;
|
|
163
|
+
isOffTopic: boolean;
|
|
164
|
+
alertSeverity: "low" | "medium" | "high" | "none";
|
|
165
|
+
reasoning: string;
|
|
166
|
+
suggestedImprovements?: string;
|
|
167
|
+
evaluationModel: string;
|
|
168
|
+
evaluationTime: number;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Evaluation system configuration for multi-provider support
|
|
172
|
+
*/
|
|
173
|
+
export interface EvaluationConfig {
|
|
174
|
+
provider: string;
|
|
175
|
+
model: string;
|
|
176
|
+
mode: "fast" | "balanced" | "quality";
|
|
177
|
+
fallbackEnabled: boolean;
|
|
178
|
+
fallbackProviders: string[];
|
|
179
|
+
timeout: number;
|
|
180
|
+
maxTokens: number;
|
|
181
|
+
temperature: number;
|
|
182
|
+
preferCheap: boolean;
|
|
183
|
+
maxCostPerEval: number;
|
|
184
|
+
retryAttempts: number;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Provider model configuration for evaluation
|
|
188
|
+
*/
|
|
189
|
+
export interface ProviderModelConfig {
|
|
190
|
+
provider: string;
|
|
191
|
+
models: {
|
|
192
|
+
fast: string;
|
|
193
|
+
balanced: string;
|
|
194
|
+
quality: string;
|
|
195
|
+
};
|
|
196
|
+
costPerToken: {
|
|
197
|
+
input: number;
|
|
198
|
+
output: number;
|
|
199
|
+
};
|
|
200
|
+
requiresApiKey: string[];
|
|
201
|
+
performance: {
|
|
202
|
+
speed: number;
|
|
203
|
+
quality: number;
|
|
204
|
+
cost: number;
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Enhanced result interfaces with optional analytics/evaluation
|
|
209
|
+
*/
|
|
210
|
+
export interface EnhancedGenerateTextResult extends GenerateTextResult<ToolSet, unknown> {
|
|
211
|
+
analytics?: AnalyticsData;
|
|
212
|
+
evaluation?: EvaluationData;
|
|
213
|
+
}
|
|
214
|
+
export interface EnhancedStreamTextResult extends StreamTextResult<ToolSet, unknown> {
|
|
215
|
+
analytics?: AnalyticsData;
|
|
216
|
+
evaluation?: EvaluationData;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Phase 2: Enhanced Streaming Infrastructure
|
|
220
|
+
* Progress tracking and metadata for streaming operations
|
|
221
|
+
*/
|
|
222
|
+
export interface StreamingProgressData {
|
|
223
|
+
chunkCount: number;
|
|
224
|
+
totalBytes: number;
|
|
225
|
+
chunkSize: number;
|
|
226
|
+
elapsedTime: number;
|
|
227
|
+
estimatedRemaining?: number;
|
|
228
|
+
streamId?: string;
|
|
229
|
+
phase: "initializing" | "streaming" | "processing" | "complete" | "error";
|
|
230
|
+
}
|
|
231
|
+
export interface StreamingMetadata {
|
|
232
|
+
startTime: number;
|
|
233
|
+
endTime?: number;
|
|
234
|
+
totalDuration?: number;
|
|
235
|
+
averageChunkSize: number;
|
|
236
|
+
maxChunkSize: number;
|
|
237
|
+
minChunkSize: number;
|
|
238
|
+
throughputBytesPerSecond?: number;
|
|
239
|
+
streamingProvider: string;
|
|
240
|
+
modelUsed: string;
|
|
241
|
+
}
|
|
242
|
+
export type ProgressCallback = (progress: StreamingProgressData) => void;
|
|
243
|
+
export interface EnhancedStreamTextOptions extends StreamTextOptions {
|
|
244
|
+
enableProgressTracking?: boolean;
|
|
245
|
+
progressCallback?: ProgressCallback;
|
|
246
|
+
includeStreamingMetadata?: boolean;
|
|
247
|
+
streamingBufferSize?: number;
|
|
248
|
+
enableStreamingHeaders?: boolean;
|
|
249
|
+
customStreamingConfig?: {
|
|
250
|
+
chunkDelayMs?: number;
|
|
251
|
+
maxConcurrentChunks?: number;
|
|
252
|
+
compressionEnabled?: boolean;
|
|
253
|
+
};
|
|
97
254
|
}
|
|
98
255
|
/**
|
|
99
256
|
* AI Provider interface with flexible parameter support
|
|
100
257
|
*/
|
|
101
258
|
export interface AIProvider {
|
|
102
|
-
streamText(optionsOrPrompt: StreamTextOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<
|
|
103
|
-
generateText(optionsOrPrompt: TextGenerationOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<
|
|
259
|
+
streamText(optionsOrPrompt: StreamTextOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<EnhancedStreamTextResult | null>;
|
|
260
|
+
generateText(optionsOrPrompt: TextGenerationOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<EnhancedGenerateTextResult | null>;
|
|
261
|
+
generate(optionsOrPrompt: TextGenerationOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<EnhancedGenerateTextResult | null>;
|
|
262
|
+
gen(optionsOrPrompt: TextGenerationOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<EnhancedGenerateTextResult | null>;
|
|
104
263
|
}
|
|
105
264
|
/**
|
|
106
265
|
* Provider attempt result for iteration tracking
|
package/dist/lib/core/types.js
CHANGED
|
@@ -47,10 +47,9 @@ export var VertexModels;
|
|
|
47
47
|
*/
|
|
48
48
|
export var GoogleAIModels;
|
|
49
49
|
(function (GoogleAIModels) {
|
|
50
|
-
GoogleAIModels["
|
|
51
|
-
GoogleAIModels["
|
|
52
|
-
GoogleAIModels["
|
|
53
|
-
GoogleAIModels["GEMINI_1_0_PRO"] = "gemini-1.0-pro";
|
|
50
|
+
GoogleAIModels["GEMINI_2_5_PRO"] = "gemini-2.5-pro";
|
|
51
|
+
GoogleAIModels["GEMINI_2_5_FLASH"] = "gemini-2.5-flash";
|
|
52
|
+
GoogleAIModels["GEMINI_1_5_FLASH_LITE"] = "gemini-2.5-flash-lite";
|
|
54
53
|
})(GoogleAIModels || (GoogleAIModels = {}));
|
|
55
54
|
/**
|
|
56
55
|
* Default provider configurations
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare const VERSION = "1.0.0";
|
|
|
22
22
|
*
|
|
23
23
|
* @example
|
|
24
24
|
* ```typescript
|
|
25
|
-
* import { createAIProvider } from 'neurolink';
|
|
25
|
+
* import { createAIProvider } from '@juspay/neurolink';
|
|
26
26
|
*
|
|
27
27
|
* const provider = await createAIProvider('bedrock');
|
|
28
28
|
* const result = await provider.streamText('Hello, AI!');
|
|
@@ -34,7 +34,7 @@ export declare function createAIProvider(providerName?: string, modelName?: stri
|
|
|
34
34
|
*
|
|
35
35
|
* @example
|
|
36
36
|
* ```typescript
|
|
37
|
-
* import { createAIProviderWithFallback } from 'neurolink';
|
|
37
|
+
* import { createAIProviderWithFallback } from '@juspay/neurolink';
|
|
38
38
|
*
|
|
39
39
|
* const { primary, fallback } = await createAIProviderWithFallback('bedrock', 'vertex');
|
|
40
40
|
* ```
|
|
@@ -48,7 +48,7 @@ export declare function createAIProviderWithFallback(primaryProvider?: string, f
|
|
|
48
48
|
*
|
|
49
49
|
* @example
|
|
50
50
|
* ```typescript
|
|
51
|
-
* import { createBestAIProvider } from 'neurolink';
|
|
51
|
+
* import { createBestAIProvider } from '@juspay/neurolink';
|
|
52
52
|
*
|
|
53
53
|
* const provider = await createBestAIProvider();
|
|
54
54
|
* ```
|
|
@@ -62,7 +62,7 @@ export declare function createBestAIProvider(requestedProvider?: string, modelNa
|
|
|
62
62
|
*
|
|
63
63
|
* @example
|
|
64
64
|
* ```typescript
|
|
65
|
-
* import { mcpEcosystem, readFile, writeFile } from 'neurolink';
|
|
65
|
+
* import { mcpEcosystem, readFile, writeFile } from '@juspay/neurolink';
|
|
66
66
|
*
|
|
67
67
|
* // Initialize the ecosystem
|
|
68
68
|
* await mcpEcosystem.initialize();
|
|
@@ -77,3 +77,8 @@ export declare function createBestAIProvider(requestedProvider?: string, modelNa
|
|
|
77
77
|
*/
|
|
78
78
|
export { MCPEcosystem, mcpEcosystem, initializeMCPEcosystem, PluginManager, pluginManager, listMCPs, executeMCP, getMCPStats, readFile, writeFile, listFiles, createDirectory, MCP, SecurityManager, mcpLogger, FileSystemMCP, } from "./mcp/index.js";
|
|
79
79
|
export type { MCPMetadata, ExecutionContext, MCPConstructor, MCPInstance, DiscoveredMCP, LogLevel, } from "./mcp/index.js";
|
|
80
|
+
export declare function initializeTelemetry(): Promise<boolean>;
|
|
81
|
+
export declare function getTelemetryStatus(): {
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
initialized: boolean;
|
|
84
|
+
};
|
package/dist/lib/index.js
CHANGED
|
@@ -25,7 +25,7 @@ export const VERSION = "1.0.0";
|
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* ```typescript
|
|
28
|
-
* import { createAIProvider } from 'neurolink';
|
|
28
|
+
* import { createAIProvider } from '@juspay/neurolink';
|
|
29
29
|
*
|
|
30
30
|
* const provider = await createAIProvider('bedrock');
|
|
31
31
|
* const result = await provider.streamText('Hello, AI!');
|
|
@@ -39,7 +39,7 @@ export async function createAIProvider(providerName, modelName) {
|
|
|
39
39
|
*
|
|
40
40
|
* @example
|
|
41
41
|
* ```typescript
|
|
42
|
-
* import { createAIProviderWithFallback } from 'neurolink';
|
|
42
|
+
* import { createAIProviderWithFallback } from '@juspay/neurolink';
|
|
43
43
|
*
|
|
44
44
|
* const { primary, fallback } = await createAIProviderWithFallback('bedrock', 'vertex');
|
|
45
45
|
* ```
|
|
@@ -52,7 +52,7 @@ export async function createAIProviderWithFallback(primaryProvider, fallbackProv
|
|
|
52
52
|
*
|
|
53
53
|
* @example
|
|
54
54
|
* ```typescript
|
|
55
|
-
* import { createBestAIProvider } from 'neurolink';
|
|
55
|
+
* import { createBestAIProvider } from '@juspay/neurolink';
|
|
56
56
|
*
|
|
57
57
|
* const provider = await createBestAIProvider();
|
|
58
58
|
* ```
|
|
@@ -71,7 +71,7 @@ export async function createBestAIProvider(requestedProvider, modelName) {
|
|
|
71
71
|
*
|
|
72
72
|
* @example
|
|
73
73
|
* ```typescript
|
|
74
|
-
* import { mcpEcosystem, readFile, writeFile } from 'neurolink';
|
|
74
|
+
* import { mcpEcosystem, readFile, writeFile } from '@juspay/neurolink';
|
|
75
75
|
*
|
|
76
76
|
* // Initialize the ecosystem
|
|
77
77
|
* await mcpEcosystem.initialize();
|
|
@@ -95,3 +95,24 @@ readFile, writeFile, listFiles, createDirectory,
|
|
|
95
95
|
MCP, SecurityManager, mcpLogger,
|
|
96
96
|
// Core plugins
|
|
97
97
|
FileSystemMCP, } from "./mcp/index.js";
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// REAL-TIME SERVICES & TELEMETRY - Enterprise Platform Features
|
|
100
|
+
// ============================================================================
|
|
101
|
+
// Real-time Services (Phase 1) - Basic SSE functionality only
|
|
102
|
+
// export { createEnhancedChatService } from './chat/index.js';
|
|
103
|
+
// export type * from './services/types.js';
|
|
104
|
+
// Optional Telemetry (Phase 2) - Conditional export based on feature flag
|
|
105
|
+
export async function initializeTelemetry() {
|
|
106
|
+
if (process.env.NEUROLINK_TELEMETRY_ENABLED === "true") {
|
|
107
|
+
const { initializeTelemetry: init } = await import("./telemetry/index.js");
|
|
108
|
+
const result = await init();
|
|
109
|
+
return !!result; // Convert TelemetryService to boolean
|
|
110
|
+
}
|
|
111
|
+
return Promise.resolve(false);
|
|
112
|
+
}
|
|
113
|
+
export function getTelemetryStatus() {
|
|
114
|
+
if (process.env.NEUROLINK_TELEMETRY_ENABLED === "true") {
|
|
115
|
+
return { enabled: true, initialized: false };
|
|
116
|
+
}
|
|
117
|
+
return { enabled: false, initialized: false };
|
|
118
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Contract - Core Type Definitions
|
|
3
|
+
* Industry standard camelCase interfaces for maximum flexibility
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Generic execution context for MCP operations
|
|
7
|
+
* All properties optional for maximum flexibility
|
|
8
|
+
*/
|
|
9
|
+
export interface ExecutionContext<T = Record<string, unknown>> {
|
|
10
|
+
sessionId?: string;
|
|
11
|
+
userId?: string;
|
|
12
|
+
config?: T;
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
14
|
+
cacheOptions?: CacheOptions;
|
|
15
|
+
fallbackOptions?: FallbackOptions;
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
startTime?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Cache configuration options
|
|
21
|
+
*/
|
|
22
|
+
export interface CacheOptions {
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
ttlMs?: number;
|
|
25
|
+
strategy?: "memory" | "writeThrough" | "cacheAside";
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Fallback configuration options
|
|
29
|
+
*/
|
|
30
|
+
export interface FallbackOptions {
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
maxAttempts?: number;
|
|
33
|
+
delayMs?: number;
|
|
34
|
+
circuitBreaker?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Tool information with extensibility
|
|
38
|
+
*/
|
|
39
|
+
export interface ToolInfo {
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
category?: string;
|
|
43
|
+
serverId?: string;
|
|
44
|
+
inputSchema?: Record<string, unknown>;
|
|
45
|
+
outputSchema?: Record<string, unknown>;
|
|
46
|
+
[key: string]: unknown;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Discovered MCP server/plugin definition
|
|
50
|
+
*/
|
|
51
|
+
export interface DiscoveredMcp<TTools = Record<string, unknown>> {
|
|
52
|
+
metadata: McpMetadata;
|
|
53
|
+
tools?: TTools;
|
|
54
|
+
capabilities?: string[];
|
|
55
|
+
version?: string;
|
|
56
|
+
configuration?: Record<string, string | number | boolean>;
|
|
57
|
+
[key: string]: unknown;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* MCP server metadata
|
|
61
|
+
*/
|
|
62
|
+
export interface McpMetadata {
|
|
63
|
+
name: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
version?: string;
|
|
66
|
+
author?: string;
|
|
67
|
+
homepage?: string;
|
|
68
|
+
repository?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Tool definition schema
|
|
72
|
+
*/
|
|
73
|
+
export interface ToolDefinition {
|
|
74
|
+
description?: string;
|
|
75
|
+
inputSchema?: Record<string, unknown>;
|
|
76
|
+
outputSchema?: Record<string, unknown>;
|
|
77
|
+
category?: string;
|
|
78
|
+
examples?: Array<{
|
|
79
|
+
input: Record<string, unknown>;
|
|
80
|
+
output: Record<string, unknown>;
|
|
81
|
+
description?: string;
|
|
82
|
+
}>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Tool execution result
|
|
86
|
+
*/
|
|
87
|
+
export interface ToolExecutionResult<T = unknown> {
|
|
88
|
+
result: T;
|
|
89
|
+
context?: ExecutionContext;
|
|
90
|
+
performance?: {
|
|
91
|
+
duration: number;
|
|
92
|
+
tokensUsed?: number;
|
|
93
|
+
cost?: number;
|
|
94
|
+
};
|
|
95
|
+
validation?: ValidationResult;
|
|
96
|
+
cached?: boolean;
|
|
97
|
+
fallback?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Validation result for runtime checks
|
|
101
|
+
*/
|
|
102
|
+
export interface ValidationResult {
|
|
103
|
+
valid: boolean;
|
|
104
|
+
missing: string[];
|
|
105
|
+
warnings: string[];
|
|
106
|
+
recommendations: string[];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Provider status information
|
|
110
|
+
*/
|
|
111
|
+
export interface ProviderStatus {
|
|
112
|
+
available: boolean;
|
|
113
|
+
lastCheck: number;
|
|
114
|
+
reason?: string;
|
|
115
|
+
model?: string;
|
|
116
|
+
cost?: number;
|
|
117
|
+
latencyMs?: number;
|
|
118
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamic AI Tool Chain Executor
|
|
3
|
+
* Allows AI to dynamically decide tool execution sequences based on context and results
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPOrchestrator } from "./orchestrator.js";
|
|
6
|
+
import type { MCPRegistry } from "./registry.js";
|
|
7
|
+
import type { NeuroLinkExecutionContext } from "./factory.js";
|
|
8
|
+
import { ErrorManager } from "./error-manager.js";
|
|
9
|
+
/**
|
|
10
|
+
* Tool execution result with metadata
|
|
11
|
+
*/
|
|
12
|
+
export interface ToolExecutionResult {
|
|
13
|
+
toolName: string;
|
|
14
|
+
success: boolean;
|
|
15
|
+
result?: any;
|
|
16
|
+
error?: Error;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
executionTime: number;
|
|
19
|
+
context?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Chain execution step
|
|
23
|
+
*/
|
|
24
|
+
export interface ChainStep {
|
|
25
|
+
stepId: string;
|
|
26
|
+
toolName: string;
|
|
27
|
+
parameters: any;
|
|
28
|
+
reasoning: string;
|
|
29
|
+
confidence: number;
|
|
30
|
+
expectedOutcome: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Chain execution context
|
|
34
|
+
*/
|
|
35
|
+
export interface ChainExecutionContext {
|
|
36
|
+
goal: string;
|
|
37
|
+
currentStep: number;
|
|
38
|
+
totalSteps?: number;
|
|
39
|
+
executionHistory: ToolExecutionResult[];
|
|
40
|
+
accumulatedContext: Record<string, any>;
|
|
41
|
+
userContext?: NeuroLinkExecutionContext;
|
|
42
|
+
maxSteps: number;
|
|
43
|
+
aiModel?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Chain execution result
|
|
47
|
+
*/
|
|
48
|
+
export interface ChainExecutionResult {
|
|
49
|
+
success: boolean;
|
|
50
|
+
goal: string;
|
|
51
|
+
totalSteps: number;
|
|
52
|
+
executionTime: number;
|
|
53
|
+
results: ToolExecutionResult[];
|
|
54
|
+
finalResult?: any;
|
|
55
|
+
reasoning: string;
|
|
56
|
+
error?: Error;
|
|
57
|
+
metadata: {
|
|
58
|
+
toolsUsed: string[];
|
|
59
|
+
averageConfidence: number;
|
|
60
|
+
contextEvolution: Record<string, any>[];
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* AI Tool Chain Planner interface
|
|
65
|
+
*/
|
|
66
|
+
export interface AIChainPlanner {
|
|
67
|
+
name: string;
|
|
68
|
+
planNextStep(goal: string, availableTools: Array<{
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
inputSchema: any;
|
|
72
|
+
}>, executionHistory: ToolExecutionResult[], accumulatedContext: Record<string, any>): Promise<ChainStep | null>;
|
|
73
|
+
evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<{
|
|
74
|
+
goalAchieved: boolean;
|
|
75
|
+
confidence: number;
|
|
76
|
+
nextAction: "continue" | "retry" | "abort" | "complete";
|
|
77
|
+
reasoning: string;
|
|
78
|
+
}>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Simple AI Chain Planner using heuristics
|
|
82
|
+
*/
|
|
83
|
+
export declare class HeuristicChainPlanner implements AIChainPlanner {
|
|
84
|
+
name: string;
|
|
85
|
+
planNextStep(goal: string, availableTools: Array<{
|
|
86
|
+
name: string;
|
|
87
|
+
description: string;
|
|
88
|
+
inputSchema: any;
|
|
89
|
+
}>, executionHistory: ToolExecutionResult[], accumulatedContext: Record<string, any>): Promise<ChainStep | null>;
|
|
90
|
+
evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<{
|
|
91
|
+
goalAchieved: boolean;
|
|
92
|
+
confidence: number;
|
|
93
|
+
nextAction: "continue" | "retry" | "abort" | "complete";
|
|
94
|
+
reasoning: string;
|
|
95
|
+
}>;
|
|
96
|
+
private generateParameters;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Advanced AI Chain Planner using actual AI model
|
|
100
|
+
*/
|
|
101
|
+
export declare class AIModelChainPlanner implements AIChainPlanner {
|
|
102
|
+
name: string;
|
|
103
|
+
private aiModel;
|
|
104
|
+
constructor(aiModel?: string);
|
|
105
|
+
planNextStep(goal: string, availableTools: Array<{
|
|
106
|
+
name: string;
|
|
107
|
+
description: string;
|
|
108
|
+
inputSchema: any;
|
|
109
|
+
}>, executionHistory: ToolExecutionResult[], accumulatedContext: Record<string, any>): Promise<ChainStep | null>;
|
|
110
|
+
evaluateResult(step: ChainStep, result: ToolExecutionResult, goal: string): Promise<{
|
|
111
|
+
goalAchieved: boolean;
|
|
112
|
+
confidence: number;
|
|
113
|
+
nextAction: "continue" | "retry" | "abort" | "complete";
|
|
114
|
+
reasoning: string;
|
|
115
|
+
}>;
|
|
116
|
+
private buildPlanningPrompt;
|
|
117
|
+
private buildEvaluationPrompt;
|
|
118
|
+
private callAIModel;
|
|
119
|
+
private parseAIResponse;
|
|
120
|
+
private parseEvaluationResponse;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Dynamic Chain Executor
|
|
124
|
+
*/
|
|
125
|
+
export declare class DynamicChainExecutor {
|
|
126
|
+
private orchestrator;
|
|
127
|
+
private registry;
|
|
128
|
+
private errorManager;
|
|
129
|
+
private planner;
|
|
130
|
+
constructor(orchestrator: MCPOrchestrator, registry: MCPRegistry, errorManager: ErrorManager, planner?: AIChainPlanner);
|
|
131
|
+
/**
|
|
132
|
+
* Execute dynamic tool chain to achieve a goal
|
|
133
|
+
*
|
|
134
|
+
* @param goal The goal to achieve
|
|
135
|
+
* @param initialContext Initial context data
|
|
136
|
+
* @param userContext User execution context
|
|
137
|
+
* @param options Execution options
|
|
138
|
+
* @returns Chain execution result
|
|
139
|
+
*/
|
|
140
|
+
executeChain(goal: string, initialContext?: Record<string, any>, userContext?: NeuroLinkExecutionContext, options?: {
|
|
141
|
+
maxSteps?: number;
|
|
142
|
+
aiModel?: string;
|
|
143
|
+
timeout?: number;
|
|
144
|
+
}): Promise<ChainExecutionResult>;
|
|
145
|
+
/**
|
|
146
|
+
* Execute chain steps iteratively
|
|
147
|
+
*
|
|
148
|
+
* @private
|
|
149
|
+
*/
|
|
150
|
+
private executeChainSteps;
|
|
151
|
+
/**
|
|
152
|
+
* Execute a single step
|
|
153
|
+
*
|
|
154
|
+
* @private
|
|
155
|
+
*/
|
|
156
|
+
private executeStep;
|
|
157
|
+
/**
|
|
158
|
+
* Update accumulated context with new result
|
|
159
|
+
*
|
|
160
|
+
* @private
|
|
161
|
+
*/
|
|
162
|
+
private updateAccumulatedContext;
|
|
163
|
+
/**
|
|
164
|
+
* Calculate average confidence across execution history
|
|
165
|
+
*
|
|
166
|
+
* @private
|
|
167
|
+
*/
|
|
168
|
+
private calculateAverageConfidence;
|
|
169
|
+
/**
|
|
170
|
+
* Track context evolution through execution
|
|
171
|
+
*
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
private trackContextEvolution;
|
|
175
|
+
/**
|
|
176
|
+
* Set AI planner
|
|
177
|
+
*
|
|
178
|
+
* @param planner AI chain planner instance
|
|
179
|
+
*/
|
|
180
|
+
setPlanner(planner: AIChainPlanner): void;
|
|
181
|
+
/**
|
|
182
|
+
* Get current planner
|
|
183
|
+
*
|
|
184
|
+
* @returns Current AI chain planner
|
|
185
|
+
*/
|
|
186
|
+
getPlanner(): AIChainPlanner;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Default dynamic chain executor instance
|
|
190
|
+
*/
|
|
191
|
+
export declare let defaultDynamicChainExecutor: DynamicChainExecutor | null;
|
|
192
|
+
/**
|
|
193
|
+
* Initialize default dynamic chain executor
|
|
194
|
+
*
|
|
195
|
+
* @param orchestrator MCP orchestrator
|
|
196
|
+
* @param registry Tool registry
|
|
197
|
+
* @param errorManager Error manager
|
|
198
|
+
* @param planner Optional AI planner
|
|
199
|
+
* @returns Dynamic chain executor instance
|
|
200
|
+
*/
|
|
201
|
+
export declare function initializeDynamicChainExecutor(orchestrator: MCPOrchestrator, registry: MCPRegistry, errorManager: ErrorManager, planner?: AIChainPlanner): DynamicChainExecutor;
|