@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.
Files changed (232) hide show
  1. package/CHANGELOG.md +66 -6
  2. package/README.md +318 -27
  3. package/dist/agent/direct-tools.d.ts +6 -6
  4. package/dist/chat/client-utils.d.ts +92 -0
  5. package/dist/chat/client-utils.js +298 -0
  6. package/dist/chat/index.d.ts +27 -0
  7. package/dist/chat/index.js +41 -0
  8. package/dist/chat/session-storage.d.ts +77 -0
  9. package/dist/chat/session-storage.js +233 -0
  10. package/dist/chat/session.d.ts +95 -0
  11. package/dist/chat/session.js +257 -0
  12. package/dist/chat/sse-handler.d.ts +49 -0
  13. package/dist/chat/sse-handler.js +266 -0
  14. package/dist/chat/types.d.ts +73 -0
  15. package/dist/chat/types.js +5 -0
  16. package/dist/chat/websocket-chat-handler.d.ts +36 -0
  17. package/dist/chat/websocket-chat-handler.js +262 -0
  18. package/dist/cli/commands/config.js +12 -12
  19. package/dist/cli/commands/mcp.js +3 -4
  20. package/dist/cli/index.d.ts +0 -7
  21. package/dist/cli/index.js +247 -28
  22. package/dist/config/configManager.d.ts +60 -0
  23. package/dist/config/configManager.js +300 -0
  24. package/dist/config/types.d.ts +136 -0
  25. package/dist/config/types.js +43 -0
  26. package/dist/core/analytics.d.ts +23 -0
  27. package/dist/core/analytics.js +131 -0
  28. package/dist/core/constants.d.ts +41 -0
  29. package/dist/core/constants.js +50 -0
  30. package/dist/core/defaults.d.ts +18 -0
  31. package/dist/core/defaults.js +29 -0
  32. package/dist/core/evaluation-config.d.ts +29 -0
  33. package/dist/core/evaluation-config.js +144 -0
  34. package/dist/core/evaluation-providers.d.ts +30 -0
  35. package/dist/core/evaluation-providers.js +187 -0
  36. package/dist/core/evaluation.d.ts +117 -0
  37. package/dist/core/evaluation.js +528 -0
  38. package/dist/core/factory.js +33 -25
  39. package/dist/core/types.d.ts +165 -6
  40. package/dist/core/types.js +3 -4
  41. package/dist/index.d.ts +9 -4
  42. package/dist/index.js +25 -4
  43. package/dist/lib/agent/direct-tools.d.ts +6 -6
  44. package/dist/lib/chat/client-utils.d.ts +92 -0
  45. package/dist/lib/chat/client-utils.js +298 -0
  46. package/dist/lib/chat/index.d.ts +27 -0
  47. package/dist/lib/chat/index.js +41 -0
  48. package/dist/lib/chat/session-storage.d.ts +77 -0
  49. package/dist/lib/chat/session-storage.js +233 -0
  50. package/dist/lib/chat/session.d.ts +95 -0
  51. package/dist/lib/chat/session.js +257 -0
  52. package/dist/lib/chat/sse-handler.d.ts +49 -0
  53. package/dist/lib/chat/sse-handler.js +266 -0
  54. package/dist/lib/chat/types.d.ts +73 -0
  55. package/dist/lib/chat/types.js +5 -0
  56. package/dist/lib/chat/websocket-chat-handler.d.ts +36 -0
  57. package/dist/lib/chat/websocket-chat-handler.js +262 -0
  58. package/dist/lib/config/configManager.d.ts +60 -0
  59. package/dist/lib/config/configManager.js +300 -0
  60. package/dist/lib/config/types.d.ts +136 -0
  61. package/dist/lib/config/types.js +43 -0
  62. package/dist/lib/core/analytics.d.ts +23 -0
  63. package/dist/lib/core/analytics.js +131 -0
  64. package/dist/lib/core/constants.d.ts +41 -0
  65. package/dist/lib/core/constants.js +50 -0
  66. package/dist/lib/core/defaults.d.ts +18 -0
  67. package/dist/lib/core/defaults.js +29 -0
  68. package/dist/lib/core/evaluation-config.d.ts +29 -0
  69. package/dist/lib/core/evaluation-config.js +144 -0
  70. package/dist/lib/core/evaluation-providers.d.ts +30 -0
  71. package/dist/lib/core/evaluation-providers.js +187 -0
  72. package/dist/lib/core/evaluation.d.ts +117 -0
  73. package/dist/lib/core/evaluation.js +528 -0
  74. package/dist/lib/core/factory.js +33 -26
  75. package/dist/lib/core/types.d.ts +165 -6
  76. package/dist/lib/core/types.js +3 -4
  77. package/dist/lib/index.d.ts +9 -4
  78. package/dist/lib/index.js +25 -4
  79. package/dist/lib/mcp/contracts/mcpContract.d.ts +118 -0
  80. package/dist/lib/mcp/contracts/mcpContract.js +5 -0
  81. package/dist/lib/mcp/dynamic-chain-executor.d.ts +201 -0
  82. package/dist/lib/mcp/dynamic-chain-executor.js +489 -0
  83. package/dist/lib/mcp/dynamic-orchestrator.d.ts +109 -0
  84. package/dist/lib/mcp/dynamic-orchestrator.js +351 -0
  85. package/dist/lib/mcp/error-manager.d.ts +254 -0
  86. package/dist/lib/mcp/error-manager.js +501 -0
  87. package/dist/lib/mcp/error-recovery.d.ts +158 -0
  88. package/dist/lib/mcp/error-recovery.js +405 -0
  89. package/dist/lib/mcp/function-calling.js +11 -3
  90. package/dist/lib/mcp/health-monitor.d.ts +256 -0
  91. package/dist/lib/mcp/health-monitor.js +621 -0
  92. package/dist/lib/mcp/logging.js +5 -0
  93. package/dist/lib/mcp/neurolink-mcp-client.js +2 -1
  94. package/dist/lib/mcp/orchestrator.d.ts +136 -5
  95. package/dist/lib/mcp/orchestrator.js +332 -16
  96. package/dist/lib/mcp/registry.d.ts +71 -16
  97. package/dist/lib/mcp/registry.js +104 -6
  98. package/dist/lib/mcp/semaphore-manager.d.ts +137 -0
  99. package/dist/lib/mcp/semaphore-manager.js +329 -0
  100. package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
  101. package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.js +5 -4
  102. package/dist/lib/mcp/session-manager.d.ts +186 -0
  103. package/dist/lib/mcp/session-manager.js +400 -0
  104. package/dist/lib/mcp/session-persistence.d.ts +93 -0
  105. package/dist/lib/mcp/session-persistence.js +298 -0
  106. package/dist/lib/mcp/tool-integration.js +1 -1
  107. package/dist/lib/mcp/tool-registry.d.ts +55 -34
  108. package/dist/lib/mcp/tool-registry.js +111 -97
  109. package/dist/lib/mcp/transport-manager.d.ts +153 -0
  110. package/dist/lib/mcp/transport-manager.js +330 -0
  111. package/dist/lib/mcp/unified-mcp.js +6 -1
  112. package/dist/lib/mcp/unified-registry.d.ts +54 -5
  113. package/dist/lib/mcp/unified-registry.js +139 -6
  114. package/dist/lib/neurolink.d.ts +101 -0
  115. package/dist/lib/neurolink.js +147 -1
  116. package/dist/lib/providers/agent-enhanced-provider.d.ts +11 -2
  117. package/dist/lib/providers/agent-enhanced-provider.js +86 -15
  118. package/dist/lib/providers/amazonBedrock.d.ts +9 -1
  119. package/dist/lib/providers/amazonBedrock.js +26 -2
  120. package/dist/lib/providers/analytics-helper.d.ts +53 -0
  121. package/dist/lib/providers/analytics-helper.js +151 -0
  122. package/dist/lib/providers/anthropic.d.ts +11 -1
  123. package/dist/lib/providers/anthropic.js +29 -4
  124. package/dist/lib/providers/azureOpenAI.d.ts +3 -1
  125. package/dist/lib/providers/azureOpenAI.js +28 -4
  126. package/dist/lib/providers/function-calling-provider.d.ts +9 -1
  127. package/dist/lib/providers/function-calling-provider.js +14 -1
  128. package/dist/lib/providers/googleAIStudio.d.ts +15 -1
  129. package/dist/lib/providers/googleAIStudio.js +32 -2
  130. package/dist/lib/providers/googleVertexAI.d.ts +9 -1
  131. package/dist/lib/providers/googleVertexAI.js +31 -2
  132. package/dist/lib/providers/huggingFace.d.ts +3 -1
  133. package/dist/lib/providers/huggingFace.js +26 -3
  134. package/dist/lib/providers/mcp-provider.d.ts +9 -1
  135. package/dist/lib/providers/mcp-provider.js +12 -0
  136. package/dist/lib/providers/mistralAI.d.ts +3 -1
  137. package/dist/lib/providers/mistralAI.js +25 -2
  138. package/dist/lib/providers/ollama.d.ts +3 -1
  139. package/dist/lib/providers/ollama.js +27 -4
  140. package/dist/lib/providers/openAI.d.ts +15 -1
  141. package/dist/lib/providers/openAI.js +32 -2
  142. package/dist/lib/proxy/proxy-fetch.js +8 -7
  143. package/dist/lib/services/streaming/streaming-manager.d.ts +29 -0
  144. package/dist/lib/services/streaming/streaming-manager.js +244 -0
  145. package/dist/lib/services/types.d.ts +155 -0
  146. package/dist/lib/services/types.js +2 -0
  147. package/dist/lib/services/websocket/websocket-server.d.ts +34 -0
  148. package/dist/lib/services/websocket/websocket-server.js +304 -0
  149. package/dist/lib/telemetry/index.d.ts +15 -0
  150. package/dist/lib/telemetry/index.js +22 -0
  151. package/dist/lib/telemetry/telemetry-service.d.ts +47 -0
  152. package/dist/lib/telemetry/telemetry-service.js +259 -0
  153. package/dist/lib/utils/streaming-utils.d.ts +67 -0
  154. package/dist/lib/utils/streaming-utils.js +201 -0
  155. package/dist/mcp/contracts/mcpContract.d.ts +118 -0
  156. package/dist/mcp/contracts/mcpContract.js +5 -0
  157. package/dist/mcp/dynamic-chain-executor.d.ts +201 -0
  158. package/dist/mcp/dynamic-chain-executor.js +489 -0
  159. package/dist/mcp/dynamic-orchestrator.d.ts +109 -0
  160. package/dist/mcp/dynamic-orchestrator.js +351 -0
  161. package/dist/mcp/error-manager.d.ts +254 -0
  162. package/dist/mcp/error-manager.js +501 -0
  163. package/dist/mcp/error-recovery.d.ts +158 -0
  164. package/dist/mcp/error-recovery.js +405 -0
  165. package/dist/mcp/function-calling.js +11 -3
  166. package/dist/mcp/health-monitor.d.ts +256 -0
  167. package/dist/mcp/health-monitor.js +621 -0
  168. package/dist/mcp/logging.js +5 -0
  169. package/dist/mcp/neurolink-mcp-client.js +2 -1
  170. package/dist/mcp/orchestrator.d.ts +136 -5
  171. package/dist/mcp/orchestrator.js +332 -16
  172. package/dist/mcp/plugins/core/neurolink-mcp.json +15 -15
  173. package/dist/mcp/registry.d.ts +71 -16
  174. package/dist/mcp/registry.js +104 -6
  175. package/dist/mcp/semaphore-manager.d.ts +137 -0
  176. package/dist/mcp/semaphore-manager.js +329 -0
  177. package/dist/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
  178. package/dist/mcp/servers/ai-providers/ai-workflow-tools.js +5 -4
  179. package/dist/mcp/session-manager.d.ts +186 -0
  180. package/dist/mcp/session-manager.js +400 -0
  181. package/dist/mcp/session-persistence.d.ts +93 -0
  182. package/dist/mcp/session-persistence.js +299 -0
  183. package/dist/mcp/tool-integration.js +1 -1
  184. package/dist/mcp/tool-registry.d.ts +55 -34
  185. package/dist/mcp/tool-registry.js +111 -97
  186. package/dist/mcp/transport-manager.d.ts +153 -0
  187. package/dist/mcp/transport-manager.js +331 -0
  188. package/dist/mcp/unified-mcp.js +6 -1
  189. package/dist/mcp/unified-registry.d.ts +54 -5
  190. package/dist/mcp/unified-registry.js +139 -6
  191. package/dist/neurolink.d.ts +101 -0
  192. package/dist/neurolink.js +147 -1
  193. package/dist/providers/agent-enhanced-provider.d.ts +11 -2
  194. package/dist/providers/agent-enhanced-provider.js +86 -15
  195. package/dist/providers/amazonBedrock.d.ts +9 -1
  196. package/dist/providers/amazonBedrock.js +26 -2
  197. package/dist/providers/analytics-helper.d.ts +53 -0
  198. package/dist/providers/analytics-helper.js +151 -0
  199. package/dist/providers/anthropic.d.ts +11 -1
  200. package/dist/providers/anthropic.js +29 -4
  201. package/dist/providers/azureOpenAI.d.ts +3 -1
  202. package/dist/providers/azureOpenAI.js +29 -4
  203. package/dist/providers/function-calling-provider.d.ts +9 -1
  204. package/dist/providers/function-calling-provider.js +14 -1
  205. package/dist/providers/googleAIStudio.d.ts +15 -1
  206. package/dist/providers/googleAIStudio.js +32 -2
  207. package/dist/providers/googleVertexAI.d.ts +9 -1
  208. package/dist/providers/googleVertexAI.js +31 -2
  209. package/dist/providers/huggingFace.d.ts +3 -1
  210. package/dist/providers/huggingFace.js +26 -3
  211. package/dist/providers/mcp-provider.d.ts +9 -1
  212. package/dist/providers/mcp-provider.js +12 -0
  213. package/dist/providers/mistralAI.d.ts +3 -1
  214. package/dist/providers/mistralAI.js +25 -2
  215. package/dist/providers/ollama.d.ts +3 -1
  216. package/dist/providers/ollama.js +27 -4
  217. package/dist/providers/openAI.d.ts +15 -1
  218. package/dist/providers/openAI.js +33 -2
  219. package/dist/proxy/proxy-fetch.js +8 -7
  220. package/dist/services/streaming/streaming-manager.d.ts +29 -0
  221. package/dist/services/streaming/streaming-manager.js +244 -0
  222. package/dist/services/types.d.ts +155 -0
  223. package/dist/services/types.js +2 -0
  224. package/dist/services/websocket/websocket-server.d.ts +34 -0
  225. package/dist/services/websocket/websocket-server.js +304 -0
  226. package/dist/telemetry/index.d.ts +15 -0
  227. package/dist/telemetry/index.js +22 -0
  228. package/dist/telemetry/telemetry-service.d.ts +47 -0
  229. package/dist/telemetry/telemetry-service.js +261 -0
  230. package/dist/utils/streaming-utils.d.ts +67 -0
  231. package/dist/utils/streaming-utils.js +201 -0
  232. package/package.json +245 -228
@@ -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
- GEMINI_1_5_PRO_LATEST = "gemini-1.5-pro-latest",
48
- GEMINI_1_5_FLASH_LATEST = "gemini-1.5-flash-latest",
49
- GEMINI_2_0_FLASH_EXP = "gemini-2.0-flash-exp",
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<StreamTextResult<ToolSet, unknown> | null>;
103
- generateText(optionsOrPrompt: TextGenerationOptions | string, analysisSchema?: ZodType<unknown, ZodTypeDef, unknown> | Schema<unknown>): Promise<GenerateTextResult<ToolSet, unknown> | null>;
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
@@ -47,10 +47,9 @@ export var VertexModels;
47
47
  */
48
48
  export var GoogleAIModels;
49
49
  (function (GoogleAIModels) {
50
- GoogleAIModels["GEMINI_1_5_PRO_LATEST"] = "gemini-1.5-pro-latest";
51
- GoogleAIModels["GEMINI_1_5_FLASH_LATEST"] = "gemini-1.5-flash-latest";
52
- GoogleAIModels["GEMINI_2_0_FLASH_EXP"] = "gemini-2.0-flash-exp";
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
@@ -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,5 @@
1
+ /**
2
+ * MCP Contract - Core Type Definitions
3
+ * Industry standard camelCase interfaces for maximum flexibility
4
+ */
5
+ export {};
@@ -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;