@juspay/neurolink 7.6.1 → 7.7.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 +9 -4
- package/README.md +78 -3
- package/dist/cli/commands/config.d.ts +275 -3
- package/dist/cli/commands/config.js +121 -0
- package/dist/cli/commands/mcp.js +77 -28
- package/dist/cli/factories/commandFactory.js +359 -6
- package/dist/core/analytics.js +7 -27
- package/dist/core/baseProvider.js +43 -4
- package/dist/core/constants.d.ts +46 -0
- package/dist/core/constants.js +47 -0
- package/dist/core/dynamicModels.d.ts +16 -4
- package/dist/core/dynamicModels.js +130 -26
- package/dist/core/evaluation.js +5 -1
- package/dist/core/evaluationProviders.d.ts +6 -2
- package/dist/core/evaluationProviders.js +41 -125
- package/dist/core/factory.d.ts +5 -0
- package/dist/core/factory.js +62 -50
- package/dist/core/modelConfiguration.d.ts +246 -0
- package/dist/core/modelConfiguration.js +775 -0
- package/dist/core/types.d.ts +22 -3
- package/dist/core/types.js +5 -1
- package/dist/factories/providerRegistry.js +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/core/analytics.js +7 -27
- package/dist/lib/core/baseProvider.js +43 -4
- package/dist/lib/core/constants.d.ts +46 -0
- package/dist/lib/core/constants.js +47 -0
- package/dist/lib/core/dynamicModels.d.ts +16 -4
- package/dist/lib/core/dynamicModels.js +130 -26
- package/dist/lib/core/evaluation.js +5 -1
- package/dist/lib/core/evaluationProviders.d.ts +6 -2
- package/dist/lib/core/evaluationProviders.js +41 -125
- package/dist/lib/core/factory.d.ts +5 -0
- package/dist/lib/core/factory.js +63 -50
- package/dist/lib/core/modelConfiguration.d.ts +246 -0
- package/dist/lib/core/modelConfiguration.js +775 -0
- package/dist/lib/core/types.d.ts +22 -3
- package/dist/lib/core/types.js +5 -1
- package/dist/lib/factories/providerRegistry.js +3 -3
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/mcp/factory.d.ts +5 -5
- package/dist/lib/mcp/factory.js +2 -2
- package/dist/lib/mcp/servers/utilities/utilityServer.d.ts +1 -1
- package/dist/lib/mcp/servers/utilities/utilityServer.js +1 -1
- package/dist/lib/mcp/toolRegistry.js +2 -2
- package/dist/lib/neurolink.d.ts +168 -12
- package/dist/lib/neurolink.js +685 -123
- package/dist/lib/providers/anthropic.js +52 -2
- package/dist/lib/providers/googleAiStudio.js +4 -0
- package/dist/lib/providers/googleVertex.d.ts +75 -9
- package/dist/lib/providers/googleVertex.js +365 -46
- package/dist/lib/providers/huggingFace.d.ts +52 -11
- package/dist/lib/providers/huggingFace.js +180 -42
- package/dist/lib/providers/litellm.d.ts +9 -9
- package/dist/lib/providers/litellm.js +103 -16
- package/dist/lib/providers/ollama.d.ts +52 -17
- package/dist/lib/providers/ollama.js +276 -68
- package/dist/lib/sdk/toolRegistration.d.ts +42 -0
- package/dist/lib/sdk/toolRegistration.js +269 -27
- package/dist/lib/telemetry/telemetryService.d.ts +6 -0
- package/dist/lib/telemetry/telemetryService.js +38 -3
- package/dist/lib/types/contextTypes.d.ts +75 -11
- package/dist/lib/types/contextTypes.js +227 -1
- package/dist/lib/types/domainTypes.d.ts +62 -0
- package/dist/lib/types/domainTypes.js +5 -0
- package/dist/lib/types/generateTypes.d.ts +52 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/mcpTypes.d.ts +1 -1
- package/dist/lib/types/mcpTypes.js +1 -1
- package/dist/lib/types/streamTypes.d.ts +14 -0
- package/dist/lib/types/universalProviderOptions.d.ts +1 -1
- package/dist/lib/utils/errorHandling.d.ts +142 -0
- package/dist/lib/utils/errorHandling.js +316 -0
- package/dist/lib/utils/factoryProcessing.d.ts +74 -0
- package/dist/lib/utils/factoryProcessing.js +588 -0
- package/dist/lib/utils/optionsConversion.d.ts +54 -0
- package/dist/lib/utils/optionsConversion.js +126 -0
- package/dist/lib/utils/optionsUtils.d.ts +246 -0
- package/dist/lib/utils/optionsUtils.js +960 -0
- package/dist/lib/utils/providerHealth.d.ts +107 -0
- package/dist/lib/utils/providerHealth.js +507 -0
- package/dist/lib/utils/providerUtils.d.ts +17 -0
- package/dist/lib/utils/providerUtils.js +271 -16
- package/dist/lib/utils/timeout.js +1 -1
- package/dist/lib/utils/tokenLimits.d.ts +33 -0
- package/dist/lib/utils/tokenLimits.js +118 -0
- package/dist/mcp/factory.d.ts +5 -5
- package/dist/mcp/factory.js +2 -2
- package/dist/mcp/servers/utilities/utilityServer.d.ts +1 -1
- package/dist/mcp/servers/utilities/utilityServer.js +1 -1
- package/dist/mcp/toolRegistry.js +2 -2
- package/dist/neurolink.d.ts +168 -12
- package/dist/neurolink.js +685 -123
- package/dist/providers/anthropic.js +52 -2
- package/dist/providers/googleAiStudio.js +4 -0
- package/dist/providers/googleVertex.d.ts +75 -9
- package/dist/providers/googleVertex.js +365 -46
- package/dist/providers/huggingFace.d.ts +52 -11
- package/dist/providers/huggingFace.js +181 -43
- package/dist/providers/litellm.d.ts +9 -9
- package/dist/providers/litellm.js +103 -16
- package/dist/providers/ollama.d.ts +52 -17
- package/dist/providers/ollama.js +276 -68
- package/dist/sdk/toolRegistration.d.ts +42 -0
- package/dist/sdk/toolRegistration.js +269 -27
- package/dist/telemetry/telemetryService.d.ts +6 -0
- package/dist/telemetry/telemetryService.js +38 -3
- package/dist/types/contextTypes.d.ts +75 -11
- package/dist/types/contextTypes.js +227 -2
- package/dist/types/domainTypes.d.ts +62 -0
- package/dist/types/domainTypes.js +5 -0
- package/dist/types/generateTypes.d.ts +52 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/mcpTypes.d.ts +1 -1
- package/dist/types/mcpTypes.js +1 -1
- package/dist/types/streamTypes.d.ts +14 -0
- package/dist/types/universalProviderOptions.d.ts +1 -1
- package/dist/types/universalProviderOptions.js +0 -1
- package/dist/utils/errorHandling.d.ts +142 -0
- package/dist/utils/errorHandling.js +316 -0
- package/dist/utils/factoryProcessing.d.ts +74 -0
- package/dist/utils/factoryProcessing.js +588 -0
- package/dist/utils/optionsConversion.d.ts +54 -0
- package/dist/utils/optionsConversion.js +126 -0
- package/dist/utils/optionsUtils.d.ts +246 -0
- package/dist/utils/optionsUtils.js +960 -0
- package/dist/utils/providerHealth.d.ts +107 -0
- package/dist/utils/providerHealth.js +507 -0
- package/dist/utils/providerUtils.d.ts +17 -0
- package/dist/utils/providerUtils.js +271 -16
- package/dist/utils/timeout.js +1 -1
- package/dist/utils/tokenLimits.d.ts +33 -0
- package/dist/utils/tokenLimits.js +118 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
# [7.7.0](https://github.com/juspay/neurolink/compare/v7.6.1...v7.7.0) (2025-08-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
2
5
|
|
|
6
|
+
* **tools:** add Lighthouse compatibility with unified registerTools API ([5200da2](https://github.com/juspay/neurolink/commit/5200da22b130b57c6b235346bd9db80970703900))
|
|
7
|
+
|
|
8
|
+
## [7.6.1](https://github.com/juspay/neurolink/compare/v7.6.0...v7.6.1) (2025-08-09)
|
|
3
9
|
|
|
4
10
|
### Bug Fixes
|
|
5
11
|
|
|
6
|
-
|
|
12
|
+
- **docs:** resolve documentation deployment and broken links ([e78d7e8](https://github.com/juspay/neurolink/commit/e78d7e8da6ff16ee266a88beec70a26b67145da2))
|
|
7
13
|
|
|
8
14
|
# [7.6.0](https://github.com/juspay/neurolink/compare/v7.5.0...v7.6.0) (2025-08-09)
|
|
9
15
|
|
|
10
|
-
|
|
11
16
|
### Features
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
- **openai-compatible:** add OpenAI Compatible provider with intelligent model auto-discovery ([3041d26](https://github.com/juspay/neurolink/commit/3041d26fb33881e5962cb1f13d3d06f021f642f2))
|
|
14
19
|
|
|
15
20
|
# [7.5.0](https://github.com/juspay/neurolink/compare/v7.4.0...v7.5.0) (2025-08-06)
|
|
16
21
|
|
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
|
|
352
|
+
// Register multiple tools - Object format (existing)
|
|
305
353
|
neurolink.registerTools({
|
|
306
354
|
stockPrice: {
|
|
307
|
-
|
|
355
|
+
description: "Get stock price",
|
|
356
|
+
execute: async () => ({ price: 150.25 }),
|
|
308
357
|
},
|
|
309
358
|
calculator: {
|
|
310
|
-
|
|
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
|
}
|