@juspay/neurolink 7.6.1 → 7.7.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.
Files changed (138) hide show
  1. package/CHANGELOG.md +15 -4
  2. package/README.md +78 -3
  3. package/dist/cli/commands/config.d.ts +275 -3
  4. package/dist/cli/commands/config.js +121 -0
  5. package/dist/cli/commands/mcp.js +77 -28
  6. package/dist/cli/factories/commandFactory.js +359 -6
  7. package/dist/core/analytics.js +7 -27
  8. package/dist/core/baseProvider.js +43 -4
  9. package/dist/core/constants.d.ts +46 -0
  10. package/dist/core/constants.js +47 -0
  11. package/dist/core/dynamicModels.d.ts +16 -4
  12. package/dist/core/dynamicModels.js +130 -26
  13. package/dist/core/evaluation.js +5 -1
  14. package/dist/core/evaluationProviders.d.ts +6 -2
  15. package/dist/core/evaluationProviders.js +41 -125
  16. package/dist/core/factory.d.ts +5 -0
  17. package/dist/core/factory.js +62 -50
  18. package/dist/core/modelConfiguration.d.ts +246 -0
  19. package/dist/core/modelConfiguration.js +775 -0
  20. package/dist/core/types.d.ts +22 -3
  21. package/dist/core/types.js +5 -1
  22. package/dist/factories/providerRegistry.js +3 -3
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/lib/core/analytics.js +7 -27
  26. package/dist/lib/core/baseProvider.js +43 -4
  27. package/dist/lib/core/constants.d.ts +46 -0
  28. package/dist/lib/core/constants.js +47 -0
  29. package/dist/lib/core/dynamicModels.d.ts +16 -4
  30. package/dist/lib/core/dynamicModels.js +130 -26
  31. package/dist/lib/core/evaluation.js +5 -1
  32. package/dist/lib/core/evaluationProviders.d.ts +6 -2
  33. package/dist/lib/core/evaluationProviders.js +41 -125
  34. package/dist/lib/core/factory.d.ts +5 -0
  35. package/dist/lib/core/factory.js +63 -50
  36. package/dist/lib/core/modelConfiguration.d.ts +246 -0
  37. package/dist/lib/core/modelConfiguration.js +775 -0
  38. package/dist/lib/core/types.d.ts +22 -3
  39. package/dist/lib/core/types.js +5 -1
  40. package/dist/lib/factories/providerRegistry.js +3 -3
  41. package/dist/lib/index.d.ts +1 -1
  42. package/dist/lib/index.js +1 -1
  43. package/dist/lib/mcp/factory.d.ts +5 -5
  44. package/dist/lib/mcp/factory.js +2 -2
  45. package/dist/lib/mcp/servers/utilities/utilityServer.d.ts +1 -1
  46. package/dist/lib/mcp/servers/utilities/utilityServer.js +1 -1
  47. package/dist/lib/mcp/toolRegistry.js +2 -2
  48. package/dist/lib/neurolink.d.ts +168 -12
  49. package/dist/lib/neurolink.js +685 -123
  50. package/dist/lib/providers/anthropic.js +52 -2
  51. package/dist/lib/providers/googleAiStudio.js +4 -0
  52. package/dist/lib/providers/googleVertex.d.ts +75 -9
  53. package/dist/lib/providers/googleVertex.js +365 -46
  54. package/dist/lib/providers/huggingFace.d.ts +52 -11
  55. package/dist/lib/providers/huggingFace.js +180 -42
  56. package/dist/lib/providers/litellm.d.ts +9 -9
  57. package/dist/lib/providers/litellm.js +103 -16
  58. package/dist/lib/providers/ollama.d.ts +52 -17
  59. package/dist/lib/providers/ollama.js +276 -68
  60. package/dist/lib/sdk/toolRegistration.d.ts +42 -0
  61. package/dist/lib/sdk/toolRegistration.js +269 -27
  62. package/dist/lib/telemetry/telemetryService.d.ts +6 -0
  63. package/dist/lib/telemetry/telemetryService.js +38 -3
  64. package/dist/lib/types/contextTypes.d.ts +75 -11
  65. package/dist/lib/types/contextTypes.js +227 -1
  66. package/dist/lib/types/domainTypes.d.ts +62 -0
  67. package/dist/lib/types/domainTypes.js +5 -0
  68. package/dist/lib/types/generateTypes.d.ts +52 -0
  69. package/dist/lib/types/index.d.ts +1 -0
  70. package/dist/lib/types/mcpTypes.d.ts +1 -1
  71. package/dist/lib/types/mcpTypes.js +1 -1
  72. package/dist/lib/types/streamTypes.d.ts +14 -0
  73. package/dist/lib/types/universalProviderOptions.d.ts +1 -1
  74. package/dist/lib/utils/errorHandling.d.ts +142 -0
  75. package/dist/lib/utils/errorHandling.js +316 -0
  76. package/dist/lib/utils/factoryProcessing.d.ts +74 -0
  77. package/dist/lib/utils/factoryProcessing.js +588 -0
  78. package/dist/lib/utils/optionsConversion.d.ts +54 -0
  79. package/dist/lib/utils/optionsConversion.js +126 -0
  80. package/dist/lib/utils/optionsUtils.d.ts +246 -0
  81. package/dist/lib/utils/optionsUtils.js +960 -0
  82. package/dist/lib/utils/providerConfig.js +6 -2
  83. package/dist/lib/utils/providerHealth.d.ts +107 -0
  84. package/dist/lib/utils/providerHealth.js +543 -0
  85. package/dist/lib/utils/providerUtils.d.ts +17 -0
  86. package/dist/lib/utils/providerUtils.js +271 -16
  87. package/dist/lib/utils/timeout.js +1 -1
  88. package/dist/lib/utils/tokenLimits.d.ts +33 -0
  89. package/dist/lib/utils/tokenLimits.js +118 -0
  90. package/dist/mcp/factory.d.ts +5 -5
  91. package/dist/mcp/factory.js +2 -2
  92. package/dist/mcp/servers/utilities/utilityServer.d.ts +1 -1
  93. package/dist/mcp/servers/utilities/utilityServer.js +1 -1
  94. package/dist/mcp/toolRegistry.js +2 -2
  95. package/dist/neurolink.d.ts +168 -12
  96. package/dist/neurolink.js +685 -123
  97. package/dist/providers/anthropic.js +52 -2
  98. package/dist/providers/googleAiStudio.js +4 -0
  99. package/dist/providers/googleVertex.d.ts +75 -9
  100. package/dist/providers/googleVertex.js +365 -46
  101. package/dist/providers/huggingFace.d.ts +52 -11
  102. package/dist/providers/huggingFace.js +181 -43
  103. package/dist/providers/litellm.d.ts +9 -9
  104. package/dist/providers/litellm.js +103 -16
  105. package/dist/providers/ollama.d.ts +52 -17
  106. package/dist/providers/ollama.js +276 -68
  107. package/dist/sdk/toolRegistration.d.ts +42 -0
  108. package/dist/sdk/toolRegistration.js +269 -27
  109. package/dist/telemetry/telemetryService.d.ts +6 -0
  110. package/dist/telemetry/telemetryService.js +38 -3
  111. package/dist/types/contextTypes.d.ts +75 -11
  112. package/dist/types/contextTypes.js +227 -2
  113. package/dist/types/domainTypes.d.ts +62 -0
  114. package/dist/types/domainTypes.js +5 -0
  115. package/dist/types/generateTypes.d.ts +52 -0
  116. package/dist/types/index.d.ts +1 -0
  117. package/dist/types/mcpTypes.d.ts +1 -1
  118. package/dist/types/mcpTypes.js +1 -1
  119. package/dist/types/streamTypes.d.ts +14 -0
  120. package/dist/types/universalProviderOptions.d.ts +1 -1
  121. package/dist/types/universalProviderOptions.js +0 -1
  122. package/dist/utils/errorHandling.d.ts +142 -0
  123. package/dist/utils/errorHandling.js +316 -0
  124. package/dist/utils/factoryProcessing.d.ts +74 -0
  125. package/dist/utils/factoryProcessing.js +588 -0
  126. package/dist/utils/optionsConversion.d.ts +54 -0
  127. package/dist/utils/optionsConversion.js +126 -0
  128. package/dist/utils/optionsUtils.d.ts +246 -0
  129. package/dist/utils/optionsUtils.js +960 -0
  130. package/dist/utils/providerConfig.js +6 -2
  131. package/dist/utils/providerHealth.d.ts +107 -0
  132. package/dist/utils/providerHealth.js +543 -0
  133. package/dist/utils/providerUtils.d.ts +17 -0
  134. package/dist/utils/providerUtils.js +271 -16
  135. package/dist/utils/timeout.js +1 -1
  136. package/dist/utils/tokenLimits.d.ts +33 -0
  137. package/dist/utils/tokenLimits.js +118 -0
  138. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,16 +1,27 @@
1
- ## [7.6.1](https://github.com/juspay/neurolink/compare/v7.6.0...v7.6.1) (2025-08-09)
1
+ ## [7.7.1](https://github.com/juspay/neurolink/compare/v7.7.0...v7.7.1) (2025-08-11)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * **docs:** resolve documentation deployment and broken links ([e78d7e8](https://github.com/juspay/neurolink/commit/e78d7e8da6ff16ee266a88beec70a26b67145da2))
6
+ * **providers:** resolve ESLint errors and improve validation in Vertex AI health checker ([a5822ee](https://github.com/juspay/neurolink/commit/a5822eee3f8b6beaf3d2168ebb8888a6beaa5cb4))
7
7
 
8
- # [7.6.0](https://github.com/juspay/neurolink/compare/v7.5.0...v7.6.0) (2025-08-09)
8
+ # [7.7.0](https://github.com/juspay/neurolink/compare/v7.6.1...v7.7.0) (2025-08-10)
9
+
10
+ ### Features
11
+
12
+ - **tools:** add Lighthouse compatibility with unified registerTools API ([5200da2](https://github.com/juspay/neurolink/commit/5200da22b130b57c6b235346bd9db80970703900))
9
13
 
14
+ ## [7.6.1](https://github.com/juspay/neurolink/compare/v7.6.0...v7.6.1) (2025-08-09)
15
+
16
+ ### Bug Fixes
17
+
18
+ - **docs:** resolve documentation deployment and broken links ([e78d7e8](https://github.com/juspay/neurolink/commit/e78d7e8da6ff16ee266a88beec70a26b67145da2))
19
+
20
+ # [7.6.0](https://github.com/juspay/neurolink/compare/v7.5.0...v7.6.0) (2025-08-09)
10
21
 
11
22
  ### Features
12
23
 
13
- * **openai-compatible:** add OpenAI Compatible provider with intelligent model auto-discovery ([3041d26](https://github.com/juspay/neurolink/commit/3041d26fb33881e5962cb1f13d3d06f021f642f2))
24
+ - **openai-compatible:** add OpenAI Compatible provider with intelligent model auto-discovery ([3041d26](https://github.com/juspay/neurolink/commit/3041d26fb33881e5962cb1f13d3d06f021f642f2))
14
25
 
15
26
  # [7.5.0](https://github.com/juspay/neurolink/compare/v7.4.0...v7.5.0) (2025-08-06)
16
27
 
package/README.md CHANGED
@@ -45,6 +45,7 @@ npx @juspay/neurolink generate "Hello" --provider litellm --model "google/gemini
45
45
  - **🛡️ Error Recovery** - Graceful failures with provider fallback and retry logic
46
46
  - **📊 Analytics & Evaluation** - Built-in usage tracking and AI-powered quality assessment
47
47
  - **🔧 MCP Integration** - Model Context Protocol with 6 built-in tools and 58+ discoverable servers
48
+ - **🚀 Lighthouse Integration** - Unified tool registration API supporting both object and array formats for seamless Lighthouse tool import
48
49
 
49
50
  ---
50
51
 
@@ -220,6 +221,53 @@ echo 'AWS_ACCESS_KEY_ID="your-aws-access-key"' >> .env
220
221
  npx @juspay/neurolink status
221
222
  ```
222
223
 
224
+ ### JSON Format Support (Complete)
225
+
226
+ NeuroLink provides comprehensive JSON input/output support for both CLI and SDK:
227
+
228
+ ```bash
229
+ # CLI JSON Output - Structured data for scripts
230
+ npx @juspay/neurolink generate "Summary of AI trends" --format json
231
+ npx @juspay/neurolink gen "Create a user profile" --format json --provider google-ai
232
+
233
+ # Example JSON Output:
234
+ {
235
+ "content": "AI trends include increased automation...",
236
+ "provider": "google-ai",
237
+ "model": "gemini-2.5-flash",
238
+ "usage": {
239
+ "promptTokens": 15,
240
+ "completionTokens": 127,
241
+ "totalTokens": 142
242
+ },
243
+ "responseTime": 1234
244
+ }
245
+ ```
246
+
247
+ ```typescript
248
+ // SDK JSON Input/Output - Full TypeScript support
249
+ import { createBestAIProvider } from "@juspay/neurolink";
250
+
251
+ const provider = createBestAIProvider();
252
+
253
+ // Structured input
254
+ const result = await provider.generate({
255
+ input: { text: "Create a product specification" },
256
+ schema: {
257
+ type: "object",
258
+ properties: {
259
+ name: { type: "string" },
260
+ price: { type: "number" },
261
+ features: { type: "array", items: { type: "string" } },
262
+ },
263
+ },
264
+ });
265
+
266
+ // Access structured response
267
+ const productData = JSON.parse(result.content);
268
+ console.log(productData.name, productData.price, productData.features);
269
+ ```
270
+
223
271
  **📖 [Complete Setup Guide](./docs/PROVIDER-CONFIGURATION.md)** - All providers with detailed instructions
224
272
 
225
273
  ## ✨ Key Features
@@ -301,15 +349,42 @@ const result = await neurolink.generate({
301
349
  provider: "google-ai",
302
350
  });
303
351
 
304
- // Register multiple tools at once
352
+ // Register multiple tools - Object format (existing)
305
353
  neurolink.registerTools({
306
354
  stockPrice: {
307
- /* tool definition */
355
+ description: "Get stock price",
356
+ execute: async () => ({ price: 150.25 }),
308
357
  },
309
358
  calculator: {
310
- /* tool definition */
359
+ description: "Calculate math",
360
+ execute: async () => ({ result: 42 }),
311
361
  },
312
362
  });
363
+
364
+ // Register multiple tools - Array format (Lighthouse compatible)
365
+ neurolink.registerTools([
366
+ {
367
+ name: "lighthouseTool1",
368
+ tool: {
369
+ description: "Lighthouse analytics tool",
370
+ parameters: z.object({
371
+ merchantId: z.string(),
372
+ dateRange: z.string().optional(),
373
+ }),
374
+ execute: async ({ merchantId, dateRange }) => {
375
+ // Lighthouse tool implementation with Zod schema
376
+ return { data: "analytics result" };
377
+ },
378
+ },
379
+ },
380
+ {
381
+ name: "lighthouseTool2",
382
+ tool: {
383
+ description: "Payment processing tool",
384
+ execute: async () => ({ status: "processed" }),
385
+ },
386
+ },
387
+ ]);
313
388
  ```
314
389
 
315
390
  ## 💰 Smart Model Selection
@@ -59,8 +59,8 @@ declare const ConfigSchema: z.ZodObject<{
59
59
  privateKey?: string | undefined;
60
60
  }, {
61
61
  model?: string | undefined;
62
- location?: string | undefined;
63
62
  projectId?: string | undefined;
63
+ location?: string | undefined;
64
64
  credentials?: string | undefined;
65
65
  serviceAccountKey?: string | undefined;
66
66
  clientEmail?: string | undefined;
@@ -199,8 +199,8 @@ declare const ConfigSchema: z.ZodObject<{
199
199
  } | undefined;
200
200
  vertex?: {
201
201
  model?: string | undefined;
202
- location?: string | undefined;
203
202
  projectId?: string | undefined;
203
+ location?: string | undefined;
204
204
  credentials?: string | undefined;
205
205
  serviceAccountKey?: string | undefined;
206
206
  clientEmail?: string | undefined;
@@ -242,6 +242,9 @@ declare const ConfigSchema: z.ZodObject<{
242
242
  enableLogging: z.ZodDefault<z.ZodBoolean>;
243
243
  enableCaching: z.ZodDefault<z.ZodBoolean>;
244
244
  cacheStrategy: z.ZodDefault<z.ZodEnum<["memory", "file", "redis"]>>;
245
+ defaultEvaluationDomain: z.ZodOptional<z.ZodString>;
246
+ enableAnalyticsByDefault: z.ZodDefault<z.ZodBoolean>;
247
+ enableEvaluationByDefault: z.ZodDefault<z.ZodBoolean>;
245
248
  }, "strip", z.ZodTypeAny, {
246
249
  maxTokens: number;
247
250
  temperature: number;
@@ -249,6 +252,9 @@ declare const ConfigSchema: z.ZodObject<{
249
252
  enableLogging: boolean;
250
253
  enableCaching: boolean;
251
254
  cacheStrategy: "file" | "memory" | "redis";
255
+ enableAnalyticsByDefault: boolean;
256
+ enableEvaluationByDefault: boolean;
257
+ defaultEvaluationDomain?: string | undefined;
252
258
  }, {
253
259
  maxTokens?: number | undefined;
254
260
  temperature?: number | undefined;
@@ -256,6 +262,197 @@ declare const ConfigSchema: z.ZodObject<{
256
262
  enableLogging?: boolean | undefined;
257
263
  enableCaching?: boolean | undefined;
258
264
  cacheStrategy?: "file" | "memory" | "redis" | undefined;
265
+ defaultEvaluationDomain?: string | undefined;
266
+ enableAnalyticsByDefault?: boolean | undefined;
267
+ enableEvaluationByDefault?: boolean | undefined;
268
+ }>>;
269
+ domains: z.ZodDefault<z.ZodObject<{
270
+ healthcare: z.ZodDefault<z.ZodObject<{
271
+ evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
272
+ analyticsConfig: z.ZodDefault<z.ZodObject<{
273
+ trackPatientData: z.ZodDefault<z.ZodBoolean>;
274
+ trackDiagnosticAccuracy: z.ZodDefault<z.ZodBoolean>;
275
+ trackTreatmentOutcomes: z.ZodDefault<z.ZodBoolean>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ trackPatientData: boolean;
278
+ trackDiagnosticAccuracy: boolean;
279
+ trackTreatmentOutcomes: boolean;
280
+ }, {
281
+ trackPatientData?: boolean | undefined;
282
+ trackDiagnosticAccuracy?: boolean | undefined;
283
+ trackTreatmentOutcomes?: boolean | undefined;
284
+ }>>;
285
+ }, "strip", z.ZodTypeAny, {
286
+ evaluationCriteria: string[];
287
+ analyticsConfig: {
288
+ trackPatientData: boolean;
289
+ trackDiagnosticAccuracy: boolean;
290
+ trackTreatmentOutcomes: boolean;
291
+ };
292
+ }, {
293
+ evaluationCriteria?: string[] | undefined;
294
+ analyticsConfig?: {
295
+ trackPatientData?: boolean | undefined;
296
+ trackDiagnosticAccuracy?: boolean | undefined;
297
+ trackTreatmentOutcomes?: boolean | undefined;
298
+ } | undefined;
299
+ }>>;
300
+ analytics: z.ZodDefault<z.ZodObject<{
301
+ evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
302
+ analyticsConfig: z.ZodDefault<z.ZodObject<{
303
+ trackDataQuality: z.ZodDefault<z.ZodBoolean>;
304
+ trackModelPerformance: z.ZodDefault<z.ZodBoolean>;
305
+ trackBusinessImpact: z.ZodDefault<z.ZodBoolean>;
306
+ }, "strip", z.ZodTypeAny, {
307
+ trackDataQuality: boolean;
308
+ trackModelPerformance: boolean;
309
+ trackBusinessImpact: boolean;
310
+ }, {
311
+ trackDataQuality?: boolean | undefined;
312
+ trackModelPerformance?: boolean | undefined;
313
+ trackBusinessImpact?: boolean | undefined;
314
+ }>>;
315
+ }, "strip", z.ZodTypeAny, {
316
+ evaluationCriteria: string[];
317
+ analyticsConfig: {
318
+ trackDataQuality: boolean;
319
+ trackModelPerformance: boolean;
320
+ trackBusinessImpact: boolean;
321
+ };
322
+ }, {
323
+ evaluationCriteria?: string[] | undefined;
324
+ analyticsConfig?: {
325
+ trackDataQuality?: boolean | undefined;
326
+ trackModelPerformance?: boolean | undefined;
327
+ trackBusinessImpact?: boolean | undefined;
328
+ } | undefined;
329
+ }>>;
330
+ finance: z.ZodDefault<z.ZodObject<{
331
+ evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
332
+ analyticsConfig: z.ZodDefault<z.ZodObject<{
333
+ trackRiskMetrics: z.ZodDefault<z.ZodBoolean>;
334
+ trackRegulatory: z.ZodDefault<z.ZodBoolean>;
335
+ trackPortfolioImpact: z.ZodDefault<z.ZodBoolean>;
336
+ }, "strip", z.ZodTypeAny, {
337
+ trackRiskMetrics: boolean;
338
+ trackRegulatory: boolean;
339
+ trackPortfolioImpact: boolean;
340
+ }, {
341
+ trackRiskMetrics?: boolean | undefined;
342
+ trackRegulatory?: boolean | undefined;
343
+ trackPortfolioImpact?: boolean | undefined;
344
+ }>>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ evaluationCriteria: string[];
347
+ analyticsConfig: {
348
+ trackRiskMetrics: boolean;
349
+ trackRegulatory: boolean;
350
+ trackPortfolioImpact: boolean;
351
+ };
352
+ }, {
353
+ evaluationCriteria?: string[] | undefined;
354
+ analyticsConfig?: {
355
+ trackRiskMetrics?: boolean | undefined;
356
+ trackRegulatory?: boolean | undefined;
357
+ trackPortfolioImpact?: boolean | undefined;
358
+ } | undefined;
359
+ }>>;
360
+ ecommerce: z.ZodDefault<z.ZodObject<{
361
+ evaluationCriteria: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
362
+ analyticsConfig: z.ZodDefault<z.ZodObject<{
363
+ trackConversions: z.ZodDefault<z.ZodBoolean>;
364
+ trackUserBehavior: z.ZodDefault<z.ZodBoolean>;
365
+ trackRevenueImpact: z.ZodDefault<z.ZodBoolean>;
366
+ }, "strip", z.ZodTypeAny, {
367
+ trackConversions: boolean;
368
+ trackUserBehavior: boolean;
369
+ trackRevenueImpact: boolean;
370
+ }, {
371
+ trackConversions?: boolean | undefined;
372
+ trackUserBehavior?: boolean | undefined;
373
+ trackRevenueImpact?: boolean | undefined;
374
+ }>>;
375
+ }, "strip", z.ZodTypeAny, {
376
+ evaluationCriteria: string[];
377
+ analyticsConfig: {
378
+ trackConversions: boolean;
379
+ trackUserBehavior: boolean;
380
+ trackRevenueImpact: boolean;
381
+ };
382
+ }, {
383
+ evaluationCriteria?: string[] | undefined;
384
+ analyticsConfig?: {
385
+ trackConversions?: boolean | undefined;
386
+ trackUserBehavior?: boolean | undefined;
387
+ trackRevenueImpact?: boolean | undefined;
388
+ } | undefined;
389
+ }>>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ analytics: {
392
+ evaluationCriteria: string[];
393
+ analyticsConfig: {
394
+ trackDataQuality: boolean;
395
+ trackModelPerformance: boolean;
396
+ trackBusinessImpact: boolean;
397
+ };
398
+ };
399
+ healthcare: {
400
+ evaluationCriteria: string[];
401
+ analyticsConfig: {
402
+ trackPatientData: boolean;
403
+ trackDiagnosticAccuracy: boolean;
404
+ trackTreatmentOutcomes: boolean;
405
+ };
406
+ };
407
+ finance: {
408
+ evaluationCriteria: string[];
409
+ analyticsConfig: {
410
+ trackRiskMetrics: boolean;
411
+ trackRegulatory: boolean;
412
+ trackPortfolioImpact: boolean;
413
+ };
414
+ };
415
+ ecommerce: {
416
+ evaluationCriteria: string[];
417
+ analyticsConfig: {
418
+ trackConversions: boolean;
419
+ trackUserBehavior: boolean;
420
+ trackRevenueImpact: boolean;
421
+ };
422
+ };
423
+ }, {
424
+ analytics?: {
425
+ evaluationCriteria?: string[] | undefined;
426
+ analyticsConfig?: {
427
+ trackDataQuality?: boolean | undefined;
428
+ trackModelPerformance?: boolean | undefined;
429
+ trackBusinessImpact?: boolean | undefined;
430
+ } | undefined;
431
+ } | undefined;
432
+ healthcare?: {
433
+ evaluationCriteria?: string[] | undefined;
434
+ analyticsConfig?: {
435
+ trackPatientData?: boolean | undefined;
436
+ trackDiagnosticAccuracy?: boolean | undefined;
437
+ trackTreatmentOutcomes?: boolean | undefined;
438
+ } | undefined;
439
+ } | undefined;
440
+ finance?: {
441
+ evaluationCriteria?: string[] | undefined;
442
+ analyticsConfig?: {
443
+ trackRiskMetrics?: boolean | undefined;
444
+ trackRegulatory?: boolean | undefined;
445
+ trackPortfolioImpact?: boolean | undefined;
446
+ } | undefined;
447
+ } | undefined;
448
+ ecommerce?: {
449
+ evaluationCriteria?: string[] | undefined;
450
+ analyticsConfig?: {
451
+ trackConversions?: boolean | undefined;
452
+ trackUserBehavior?: boolean | undefined;
453
+ trackRevenueImpact?: boolean | undefined;
454
+ } | undefined;
455
+ } | undefined;
259
456
  }>>;
260
457
  }, "strip", z.ZodTypeAny, {
261
458
  providers: {
@@ -317,6 +514,43 @@ declare const ConfigSchema: z.ZodObject<{
317
514
  enableLogging: boolean;
318
515
  enableCaching: boolean;
319
516
  cacheStrategy: "file" | "memory" | "redis";
517
+ enableAnalyticsByDefault: boolean;
518
+ enableEvaluationByDefault: boolean;
519
+ defaultEvaluationDomain?: string | undefined;
520
+ };
521
+ domains: {
522
+ analytics: {
523
+ evaluationCriteria: string[];
524
+ analyticsConfig: {
525
+ trackDataQuality: boolean;
526
+ trackModelPerformance: boolean;
527
+ trackBusinessImpact: boolean;
528
+ };
529
+ };
530
+ healthcare: {
531
+ evaluationCriteria: string[];
532
+ analyticsConfig: {
533
+ trackPatientData: boolean;
534
+ trackDiagnosticAccuracy: boolean;
535
+ trackTreatmentOutcomes: boolean;
536
+ };
537
+ };
538
+ finance: {
539
+ evaluationCriteria: string[];
540
+ analyticsConfig: {
541
+ trackRiskMetrics: boolean;
542
+ trackRegulatory: boolean;
543
+ trackPortfolioImpact: boolean;
544
+ };
545
+ };
546
+ ecommerce: {
547
+ evaluationCriteria: string[];
548
+ analyticsConfig: {
549
+ trackConversions: boolean;
550
+ trackUserBehavior: boolean;
551
+ trackRevenueImpact: boolean;
552
+ };
553
+ };
320
554
  };
321
555
  }, {
322
556
  providers?: {
@@ -334,8 +568,8 @@ declare const ConfigSchema: z.ZodObject<{
334
568
  } | undefined;
335
569
  vertex?: {
336
570
  model?: string | undefined;
337
- location?: string | undefined;
338
571
  projectId?: string | undefined;
572
+ location?: string | undefined;
339
573
  credentials?: string | undefined;
340
574
  serviceAccountKey?: string | undefined;
341
575
  clientEmail?: string | undefined;
@@ -378,6 +612,43 @@ declare const ConfigSchema: z.ZodObject<{
378
612
  enableLogging?: boolean | undefined;
379
613
  enableCaching?: boolean | undefined;
380
614
  cacheStrategy?: "file" | "memory" | "redis" | undefined;
615
+ defaultEvaluationDomain?: string | undefined;
616
+ enableAnalyticsByDefault?: boolean | undefined;
617
+ enableEvaluationByDefault?: boolean | undefined;
618
+ } | undefined;
619
+ domains?: {
620
+ analytics?: {
621
+ evaluationCriteria?: string[] | undefined;
622
+ analyticsConfig?: {
623
+ trackDataQuality?: boolean | undefined;
624
+ trackModelPerformance?: boolean | undefined;
625
+ trackBusinessImpact?: boolean | undefined;
626
+ } | undefined;
627
+ } | undefined;
628
+ healthcare?: {
629
+ evaluationCriteria?: string[] | undefined;
630
+ analyticsConfig?: {
631
+ trackPatientData?: boolean | undefined;
632
+ trackDiagnosticAccuracy?: boolean | undefined;
633
+ trackTreatmentOutcomes?: boolean | undefined;
634
+ } | undefined;
635
+ } | undefined;
636
+ finance?: {
637
+ evaluationCriteria?: string[] | undefined;
638
+ analyticsConfig?: {
639
+ trackRiskMetrics?: boolean | undefined;
640
+ trackRegulatory?: boolean | undefined;
641
+ trackPortfolioImpact?: boolean | undefined;
642
+ } | undefined;
643
+ } | undefined;
644
+ ecommerce?: {
645
+ evaluationCriteria?: string[] | undefined;
646
+ analyticsConfig?: {
647
+ trackConversions?: boolean | undefined;
648
+ trackUserBehavior?: boolean | undefined;
649
+ trackRevenueImpact?: boolean | undefined;
650
+ } | undefined;
651
+ } | undefined;
381
652
  } | undefined;
382
653
  }>;
383
654
  export type NeuroLinkConfig = z.infer<typeof ConfigSchema>;
@@ -442,6 +713,7 @@ export declare class ConfigManager {
442
713
  * Mistral AI provider setup
443
714
  */
444
715
  private setupMistral;
716
+ /**
445
717
  /**
446
718
  * Get current configuration
447
719
  */
@@ -114,6 +114,79 @@ const ConfigSchema = z.object({
114
114
  enableLogging: z.boolean().default(false),
115
115
  enableCaching: z.boolean().default(true),
116
116
  cacheStrategy: z.enum(["memory", "file", "redis"]).default("memory"),
117
+ defaultEvaluationDomain: z.string().optional(),
118
+ enableAnalyticsByDefault: z.boolean().default(false),
119
+ enableEvaluationByDefault: z.boolean().default(false),
120
+ })
121
+ .default({}),
122
+ domains: z
123
+ .object({
124
+ healthcare: z
125
+ .object({
126
+ evaluationCriteria: z
127
+ .array(z.string())
128
+ .default(["accuracy", "safety", "compliance", "clarity"]),
129
+ analyticsConfig: z
130
+ .object({
131
+ trackPatientData: z.boolean().default(false),
132
+ trackDiagnosticAccuracy: z.boolean().default(true),
133
+ trackTreatmentOutcomes: z.boolean().default(true),
134
+ })
135
+ .default({}),
136
+ })
137
+ .default({}),
138
+ analytics: z
139
+ .object({
140
+ evaluationCriteria: z
141
+ .array(z.string())
142
+ .default(["accuracy", "relevance", "completeness", "insight"]),
143
+ analyticsConfig: z
144
+ .object({
145
+ trackDataQuality: z.boolean().default(true),
146
+ trackModelPerformance: z.boolean().default(true),
147
+ trackBusinessImpact: z.boolean().default(true),
148
+ })
149
+ .default({}),
150
+ })
151
+ .default({}),
152
+ finance: z
153
+ .object({
154
+ evaluationCriteria: z
155
+ .array(z.string())
156
+ .default([
157
+ "accuracy",
158
+ "risk-awareness",
159
+ "compliance",
160
+ "timeliness",
161
+ ]),
162
+ analyticsConfig: z
163
+ .object({
164
+ trackRiskMetrics: z.boolean().default(true),
165
+ trackRegulatory: z.boolean().default(true),
166
+ trackPortfolioImpact: z.boolean().default(false),
167
+ })
168
+ .default({}),
169
+ })
170
+ .default({}),
171
+ ecommerce: z
172
+ .object({
173
+ evaluationCriteria: z
174
+ .array(z.string())
175
+ .default([
176
+ "conversion-potential",
177
+ "user-experience",
178
+ "revenue-impact",
179
+ "practicality",
180
+ ]),
181
+ analyticsConfig: z
182
+ .object({
183
+ trackConversions: z.boolean().default(true),
184
+ trackUserBehavior: z.boolean().default(true),
185
+ trackRevenueImpact: z.boolean().default(true),
186
+ })
187
+ .default({}),
188
+ })
189
+ .default({}),
117
190
  })
118
191
  .default({}),
119
192
  });
@@ -208,6 +281,31 @@ export class ConfigManager {
208
281
  default: this.config.preferences.temperature,
209
282
  validate: (value) => value >= 0 && value <= 2,
210
283
  },
284
+ {
285
+ type: "list",
286
+ name: "defaultEvaluationDomain",
287
+ message: "Default evaluation domain (optional):",
288
+ choices: [
289
+ { name: "None (manual selection)", value: undefined },
290
+ { name: "Healthcare", value: "healthcare" },
291
+ { name: "Analytics", value: "analytics" },
292
+ { name: "Finance", value: "finance" },
293
+ { name: "E-commerce", value: "ecommerce" },
294
+ ],
295
+ default: this.config.preferences.defaultEvaluationDomain,
296
+ },
297
+ {
298
+ type: "confirm",
299
+ name: "enableAnalyticsByDefault",
300
+ message: "Enable analytics by default?",
301
+ default: this.config.preferences.enableAnalyticsByDefault,
302
+ },
303
+ {
304
+ type: "confirm",
305
+ name: "enableEvaluationByDefault",
306
+ message: "Enable evaluation by default?",
307
+ default: this.config.preferences.enableEvaluationByDefault,
308
+ },
211
309
  {
212
310
  type: "confirm",
213
311
  name: "setupProviders",
@@ -219,6 +317,12 @@ export class ConfigManager {
219
317
  this.config.defaultProvider = preferences.defaultProvider;
220
318
  this.config.preferences.outputFormat = preferences.outputFormat;
221
319
  this.config.preferences.temperature = preferences.temperature;
320
+ this.config.preferences.defaultEvaluationDomain =
321
+ preferences.defaultEvaluationDomain;
322
+ this.config.preferences.enableAnalyticsByDefault =
323
+ preferences.enableAnalyticsByDefault;
324
+ this.config.preferences.enableEvaluationByDefault =
325
+ preferences.enableEvaluationByDefault;
222
326
  // Setup providers if requested
223
327
  if (preferences.setupProviders) {
224
328
  await this.setupProviders();
@@ -622,6 +726,7 @@ export class ConfigManager {
622
726
  ]);
623
727
  this.config.providers.mistral = answers;
624
728
  }
729
+ /**
625
730
  /**
626
731
  * Get current configuration
627
732
  */
@@ -645,6 +750,9 @@ export class ConfigManager {
645
750
  logger.always(` Output Format: ${chalk.white(this.config.preferences.outputFormat)}`);
646
751
  logger.always(` Temperature: ${chalk.white(this.config.preferences.temperature)}`);
647
752
  logger.always(` Max Tokens: ${chalk.white(this.config.preferences.maxTokens)}`);
753
+ logger.always(` Default Evaluation Domain: ${chalk.white(this.config.preferences.defaultEvaluationDomain || "None")}`);
754
+ logger.always(` Analytics by Default: ${chalk.white(this.config.preferences.enableAnalyticsByDefault)}`);
755
+ logger.always(` Evaluation by Default: ${chalk.white(this.config.preferences.enableEvaluationByDefault)}`);
648
756
  logger.always(chalk.cyan("\nConfigured Providers:"));
649
757
  Object.entries(this.config.providers).forEach(([name, config]) => {
650
758
  if (config && Object.keys(config).length > 0) {
@@ -654,6 +762,19 @@ export class ConfigManager {
654
762
  }
655
763
  }
656
764
  });
765
+ logger.always(chalk.cyan("\nConfigured Domains:"));
766
+ Object.entries(this.config.domains).forEach(([name, config]) => {
767
+ if (config && Object.keys(config).length > 0) {
768
+ logger.always(` ${chalk.green("✅")} ${name.toUpperCase()}`);
769
+ if (config.evaluationCriteria && config.evaluationCriteria.length > 0) {
770
+ logger.always(` Evaluation Criteria: ${chalk.white(config.evaluationCriteria.join(", "))}`);
771
+ }
772
+ if (config.analyticsConfig) {
773
+ const analyticsEnabled = Object.values(config.analyticsConfig).some(Boolean);
774
+ logger.always(` Analytics: ${chalk.white(analyticsEnabled ? "Configured" : "Disabled")}`);
775
+ }
776
+ }
777
+ });
657
778
  logger.always(chalk.cyan("\nConfiguration File:"));
658
779
  logger.always(` Location: ${chalk.white(this.configFile)}`);
659
780
  }