@juspay/neurolink 7.33.0 → 7.33.2

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 (155) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/agent/directTools.d.ts +6 -6
  3. package/dist/cli/commands/config.d.ts +68 -68
  4. package/dist/cli/utils/interactiveSetup.d.ts +1 -1
  5. package/dist/cli/utils/interactiveSetup.js +1 -1
  6. package/dist/core/analytics.d.ts +1 -2
  7. package/dist/core/baseProvider.d.ts +1 -1
  8. package/dist/core/baseProvider.js +1 -0
  9. package/dist/core/dynamicModels.d.ts +1 -132
  10. package/dist/core/dynamicModels.js +0 -7
  11. package/dist/core/evaluation.d.ts +1 -39
  12. package/dist/core/evaluationProviders.d.ts +1 -17
  13. package/dist/core/evaluationProviders.js +1 -1
  14. package/dist/core/factory.d.ts +1 -3
  15. package/dist/core/factory.js +0 -1
  16. package/dist/core/modelConfiguration.d.ts +8 -69
  17. package/dist/core/modelConfiguration.js +11 -11
  18. package/dist/core/serviceRegistry.d.ts +1 -8
  19. package/dist/core/streamAnalytics.d.ts +2 -45
  20. package/dist/factories/providerFactory.d.ts +1 -1
  21. package/dist/factories/providerRegistry.js +1 -1
  22. package/dist/index.d.ts +8 -9
  23. package/dist/index.js +1 -1
  24. package/dist/lib/core/analytics.d.ts +1 -2
  25. package/dist/lib/core/baseProvider.d.ts +1 -1
  26. package/dist/lib/core/baseProvider.js +1 -0
  27. package/dist/lib/core/dynamicModels.d.ts +1 -132
  28. package/dist/lib/core/dynamicModels.js +0 -7
  29. package/dist/lib/core/evaluation.d.ts +1 -39
  30. package/dist/lib/core/evaluationProviders.d.ts +1 -17
  31. package/dist/lib/core/evaluationProviders.js +1 -1
  32. package/dist/lib/core/factory.d.ts +1 -3
  33. package/dist/lib/core/factory.js +0 -1
  34. package/dist/lib/core/modelConfiguration.d.ts +8 -69
  35. package/dist/lib/core/modelConfiguration.js +11 -11
  36. package/dist/lib/core/serviceRegistry.d.ts +1 -8
  37. package/dist/lib/core/streamAnalytics.d.ts +2 -45
  38. package/dist/lib/factories/providerFactory.d.ts +1 -1
  39. package/dist/lib/factories/providerRegistry.js +1 -1
  40. package/dist/lib/index.d.ts +5 -6
  41. package/dist/lib/index.js +1 -1
  42. package/dist/lib/mcp/externalServerManager.d.ts +18 -3
  43. package/dist/lib/mcp/externalServerManager.js +125 -3
  44. package/dist/lib/models/modelRegistry.d.ts +1 -1
  45. package/dist/lib/models/modelRegistry.js +1 -1
  46. package/dist/lib/models/modelResolver.d.ts +1 -1
  47. package/dist/lib/neurolink.d.ts +2 -2
  48. package/dist/lib/neurolink.js +4 -3
  49. package/dist/lib/providers/amazonBedrock.d.ts +1 -2
  50. package/dist/lib/providers/amazonSagemaker.d.ts +1 -1
  51. package/dist/lib/providers/anthropic.d.ts +1 -1
  52. package/dist/lib/providers/anthropic.js +1 -1
  53. package/dist/lib/providers/anthropicBaseProvider.d.ts +1 -1
  54. package/dist/lib/providers/anthropicBaseProvider.js +1 -1
  55. package/dist/lib/providers/azureOpenai.d.ts +1 -1
  56. package/dist/lib/providers/googleAiStudio.d.ts +1 -1
  57. package/dist/lib/providers/googleAiStudio.js +1 -1
  58. package/dist/lib/providers/googleVertex.d.ts +1 -1
  59. package/dist/lib/providers/googleVertex.js +1 -1
  60. package/dist/lib/providers/huggingFace.d.ts +1 -1
  61. package/dist/lib/providers/index.d.ts +1 -1
  62. package/dist/lib/providers/litellm.d.ts +1 -1
  63. package/dist/lib/providers/mistral.d.ts +1 -1
  64. package/dist/lib/providers/ollama.d.ts +1 -1
  65. package/dist/lib/providers/ollama.js +1 -1
  66. package/dist/lib/providers/openAI.d.ts +1 -1
  67. package/dist/lib/providers/openAI.js +1 -1
  68. package/dist/lib/providers/openaiCompatible.d.ts +1 -1
  69. package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
  70. package/dist/lib/types/analytics.d.ts +53 -0
  71. package/dist/lib/types/analytics.js +5 -0
  72. package/dist/lib/types/cli.d.ts +1 -1
  73. package/dist/lib/types/evaluation.d.ts +119 -0
  74. package/dist/lib/types/evaluation.js +5 -0
  75. package/dist/lib/types/evaluationProviders.d.ts +104 -0
  76. package/dist/lib/types/evaluationProviders.js +5 -0
  77. package/dist/lib/types/generateTypes.d.ts +89 -18
  78. package/dist/lib/types/index.d.ts +10 -2
  79. package/dist/lib/types/index.js +12 -0
  80. package/dist/lib/types/modelTypes.d.ts +242 -0
  81. package/dist/lib/types/modelTypes.js +30 -0
  82. package/dist/lib/types/providers.d.ts +193 -127
  83. package/dist/lib/types/providers.js +110 -18
  84. package/dist/lib/types/serviceTypes.d.ts +79 -0
  85. package/dist/lib/types/serviceTypes.js +5 -0
  86. package/dist/lib/types/streamTypes.d.ts +101 -21
  87. package/dist/lib/utils/analyticsUtils.d.ts +5 -1
  88. package/dist/lib/utils/analyticsUtils.js +13 -0
  89. package/dist/lib/utils/conversationMemoryUtils.d.ts +1 -1
  90. package/dist/lib/utils/evaluationUtils.d.ts +1 -1
  91. package/dist/lib/utils/factoryProcessing.d.ts +1 -1
  92. package/dist/lib/utils/messageBuilder.d.ts +1 -1
  93. package/dist/lib/utils/providerHealth.d.ts +1 -1
  94. package/dist/lib/utils/providerHealth.js +1 -1
  95. package/dist/lib/utils/providerUtils.d.ts +5 -0
  96. package/dist/lib/utils/providerUtils.js +6 -0
  97. package/dist/mcp/externalServerManager.d.ts +18 -3
  98. package/dist/mcp/externalServerManager.js +125 -3
  99. package/dist/models/modelRegistry.d.ts +1 -1
  100. package/dist/models/modelRegistry.js +1 -1
  101. package/dist/models/modelResolver.d.ts +1 -1
  102. package/dist/neurolink.d.ts +2 -2
  103. package/dist/neurolink.js +4 -3
  104. package/dist/providers/amazonBedrock.d.ts +1 -2
  105. package/dist/providers/amazonSagemaker.d.ts +1 -1
  106. package/dist/providers/anthropic.d.ts +1 -1
  107. package/dist/providers/anthropic.js +1 -1
  108. package/dist/providers/anthropicBaseProvider.d.ts +1 -1
  109. package/dist/providers/anthropicBaseProvider.js +1 -1
  110. package/dist/providers/azureOpenai.d.ts +1 -1
  111. package/dist/providers/googleAiStudio.d.ts +1 -1
  112. package/dist/providers/googleAiStudio.js +1 -1
  113. package/dist/providers/googleVertex.d.ts +1 -1
  114. package/dist/providers/googleVertex.js +1 -1
  115. package/dist/providers/huggingFace.d.ts +1 -1
  116. package/dist/providers/index.d.ts +1 -1
  117. package/dist/providers/litellm.d.ts +1 -1
  118. package/dist/providers/mistral.d.ts +1 -1
  119. package/dist/providers/ollama.d.ts +1 -1
  120. package/dist/providers/ollama.js +1 -1
  121. package/dist/providers/openAI.d.ts +1 -1
  122. package/dist/providers/openAI.js +1 -1
  123. package/dist/providers/openaiCompatible.d.ts +1 -1
  124. package/dist/types/analytics.d.ts +53 -0
  125. package/dist/types/analytics.js +5 -0
  126. package/dist/types/cli.d.ts +1 -1
  127. package/dist/types/evaluation.d.ts +119 -0
  128. package/dist/types/evaluation.js +5 -0
  129. package/dist/types/evaluationProviders.d.ts +104 -0
  130. package/dist/types/evaluationProviders.js +5 -0
  131. package/dist/types/generateTypes.d.ts +89 -18
  132. package/dist/types/index.d.ts +10 -2
  133. package/dist/types/index.js +12 -0
  134. package/dist/types/modelTypes.d.ts +242 -0
  135. package/dist/types/modelTypes.js +30 -0
  136. package/dist/types/providers.d.ts +193 -127
  137. package/dist/types/providers.js +110 -18
  138. package/dist/types/serviceTypes.d.ts +79 -0
  139. package/dist/types/serviceTypes.js +5 -0
  140. package/dist/types/streamTypes.d.ts +101 -21
  141. package/dist/utils/analyticsUtils.d.ts +5 -1
  142. package/dist/utils/analyticsUtils.js +13 -0
  143. package/dist/utils/conversationMemoryUtils.d.ts +1 -1
  144. package/dist/utils/evaluationUtils.d.ts +1 -1
  145. package/dist/utils/factoryProcessing.d.ts +1 -1
  146. package/dist/utils/messageBuilder.d.ts +1 -1
  147. package/dist/utils/providerHealth.d.ts +1 -1
  148. package/dist/utils/providerHealth.js +1 -1
  149. package/dist/utils/providerUtils.d.ts +5 -0
  150. package/dist/utils/providerUtils.js +6 -0
  151. package/package.json +1 -1
  152. package/dist/core/types.d.ts +0 -223
  153. package/dist/core/types.js +0 -111
  154. package/dist/lib/core/types.d.ts +0 -223
  155. package/dist/lib/core/types.js +0 -111
@@ -1122,7 +1122,7 @@ export class GoogleVertexProvider extends BaseProvider {
1122
1122
  // Cache expired, refresh it with memory management
1123
1123
  GoogleVertexProvider.modelConfigCache.clear();
1124
1124
  const config = ModelConfigurationManager.getInstance();
1125
- const vertexConfig = config.getProviderConfig("google-vertex");
1125
+ const vertexConfig = config.getProviderConfiguration("google-vertex");
1126
1126
  GoogleVertexProvider.modelConfigCache.set(cacheKey, vertexConfig);
1127
1127
  GoogleVertexProvider.modelConfigCacheTime = now;
1128
1128
  }
@@ -1,6 +1,6 @@
1
1
  import type { ZodType, ZodTypeDef } from "zod";
2
2
  import { type Schema, type LanguageModelV1 } from "ai";
3
- import type { AIProviderName } from "../core/types.js";
3
+ import type { AIProviderName } from "../types/index.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
6
6
  /**
@@ -14,7 +14,7 @@ export { HuggingFaceProvider as HuggingFace } from "./huggingFace.js";
14
14
  export { OllamaProvider as Ollama } from "./ollama.js";
15
15
  export { MistralProvider as MistralAI } from "./mistral.js";
16
16
  export { LiteLLMProvider as LiteLLM } from "./litellm.js";
17
- export type { AIProvider } from "../core/types.js";
17
+ export type { AIProvider } from "../types/index.js";
18
18
  /**
19
19
  * Provider registry for dynamic provider instantiation
20
20
  */
@@ -1,6 +1,6 @@
1
1
  import type { ZodType, ZodTypeDef } from "zod";
2
2
  import { type Schema, type LanguageModelV1 } from "ai";
3
- import type { AIProviderName } from "../core/types.js";
3
+ import type { AIProviderName } from "../types/index.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { type LanguageModelV1 } from "ai";
2
2
  import type { ValidationSchema } from "../types/typeAliases.js";
3
- import type { AIProviderName } from "../core/types.js";
3
+ import type { AIProviderName } from "../types/index.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
6
6
  /**
@@ -1,4 +1,4 @@
1
- import type { AIProviderName } from "../core/types.js";
1
+ import type { AIProviderName } from "../types/index.js";
2
2
  import type { LanguageModelV1 } from "ai";
3
3
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
4
4
  import type { ZodUnknownSchema } from "../types/typeAliases.js";
@@ -273,7 +273,7 @@ export class OllamaProvider extends BaseProvider {
273
273
  supportsTools() {
274
274
  const modelName = this.modelName.toLowerCase();
275
275
  // Get tool-capable models from configuration
276
- const ollamaConfig = modelConfig.getProviderConfig("ollama");
276
+ const ollamaConfig = modelConfig.getProviderConfiguration("ollama");
277
277
  const toolCapableModels = ollamaConfig?.modelBehavior?.toolCapableModels || [];
278
278
  // Check if current model matches tool-capable model patterns
279
279
  const isToolCapable = toolCapableModels.some((capableModel) => modelName.includes(capableModel));
@@ -1,6 +1,6 @@
1
1
  import { type LanguageModelV1 } from "ai";
2
2
  import type { ValidationSchema } from "../types/typeAliases.js";
3
- import { AIProviderName } from "../core/types.js";
3
+ import { AIProviderName } from "../types/index.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
6
6
  import type { NeuroLink } from "../neurolink.js";
@@ -1,6 +1,6 @@
1
1
  import { createOpenAI } from "@ai-sdk/openai";
2
2
  import { streamText } from "ai";
3
- import { AIProviderName } from "../core/types.js";
3
+ import { AIProviderName } from "../types/index.js";
4
4
  import { BaseProvider } from "../core/baseProvider.js";
5
5
  import { logger } from "../utils/logger.js";
6
6
  import { createTimeoutController, TimeoutError } from "../utils/timeout.js";
@@ -1,6 +1,6 @@
1
1
  import { type Schema, type LanguageModelV1 } from "ai";
2
2
  import type { ZodUnknownSchema } from "../types/typeAliases.js";
3
- import type { AIProviderName } from "../core/types.js";
3
+ import type { AIProviderName } from "../types/index.js";
4
4
  import type { StreamOptions, StreamResult } from "../types/streamTypes.js";
5
5
  import { BaseProvider } from "../core/baseProvider.js";
6
6
  /**
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Analytics-related type definitions for NeuroLink
3
+ * Comprehensive usage tracking, performance metrics, and cost analysis types
4
+ */
5
+ import type { JsonValue, UnknownRecord } from "./common.js";
6
+ /**
7
+ * Token usage information (consolidated from multiple sources)
8
+ */
9
+ export type TokenUsage = {
10
+ input: number;
11
+ output: number;
12
+ total: number;
13
+ };
14
+ /**
15
+ * Error info type for analytics
16
+ */
17
+ export type ErrorInfo = {
18
+ message: string;
19
+ code?: string | number;
20
+ stack?: string;
21
+ details?: UnknownRecord;
22
+ };
23
+ /**
24
+ * Analytics data structure (consolidated from core analytics)
25
+ */
26
+ export type AnalyticsData = {
27
+ provider: string;
28
+ model?: string;
29
+ tokenUsage: TokenUsage;
30
+ requestDuration: number;
31
+ timestamp: string;
32
+ cost?: number;
33
+ context?: JsonValue;
34
+ };
35
+ /**
36
+ * Stream Analytics Data - Enhanced for performance tracking
37
+ */
38
+ export type StreamAnalyticsData = {
39
+ /** Tool execution results with timing */
40
+ toolResults?: Promise<Array<unknown>>;
41
+ /** Tool calls made during stream */
42
+ toolCalls?: Promise<Array<unknown>>;
43
+ /** Stream performance metrics */
44
+ performance?: {
45
+ startTime: number;
46
+ endTime?: number;
47
+ chunkCount: number;
48
+ avgChunkSize: number;
49
+ totalBytes: number;
50
+ };
51
+ /** Provider analytics */
52
+ providerAnalytics?: AnalyticsData;
53
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Analytics-related type definitions for NeuroLink
3
+ * Comprehensive usage tracking, performance metrics, and cost analysis types
4
+ */
5
+ export {};
@@ -2,7 +2,7 @@
2
2
  * CLI-specific type definitions for NeuroLink
3
3
  */
4
4
  import type { UnknownRecord, JsonValue } from "./common.js";
5
- import type { AnalyticsData, TokenUsage } from "./providers.js";
5
+ import type { AnalyticsData, TokenUsage } from "./analytics.js";
6
6
  import type { EvaluationData } from "../index.js";
7
7
  import type { ToolCall, ToolResult } from "./tools.js";
8
8
  /**
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Evaluation provider type definitions for NeuroLink
3
+ * Provider performance tracking, evaluation configurations, and provider optimization types
4
+ */
5
+ /**
6
+ * Evaluation provider type as specified in core module refactoring
7
+ */
8
+ export type EvaluationProvider = "openai" | "anthropic" | "vertex" | "google-ai" | "local";
9
+ /**
10
+ * Evaluation modes
11
+ */
12
+ export type EvaluationMode = "basic" | "detailed" | "domain-aware" | "disabled";
13
+ /**
14
+ * Alert severity levels
15
+ */
16
+ export type AlertSeverity = "low" | "medium" | "high" | "none";
17
+ /**
18
+ * Response quality evaluation scores - Comprehensive evaluation type
19
+ */
20
+ export type EvaluationData = {
21
+ relevance: number;
22
+ accuracy: number;
23
+ completeness: number;
24
+ overall: number;
25
+ domainAlignment?: number;
26
+ terminologyAccuracy?: number;
27
+ toolEffectiveness?: number;
28
+ isOffTopic: boolean;
29
+ alertSeverity: AlertSeverity;
30
+ reasoning: string;
31
+ suggestedImprovements?: string;
32
+ evaluationModel: string;
33
+ evaluationTime: number;
34
+ evaluationDomain?: string;
35
+ evaluationProvider?: string;
36
+ evaluationAttempt?: number;
37
+ evaluationConfig?: {
38
+ mode: string;
39
+ fallbackUsed: boolean;
40
+ costEstimate: number;
41
+ };
42
+ domainConfig?: {
43
+ domainName: string;
44
+ domainDescription: string;
45
+ keyTerms: string[];
46
+ failurePatterns: string[];
47
+ successPatterns: string[];
48
+ evaluationCriteria?: Record<string, unknown>;
49
+ };
50
+ domainEvaluation?: {
51
+ domainRelevance: number;
52
+ terminologyAccuracy: number;
53
+ domainExpertise: number;
54
+ domainSpecificInsights: string[];
55
+ };
56
+ };
57
+ /**
58
+ * Enhanced evaluation context for comprehensive response assessment
59
+ */
60
+ export type EvaluationContext = {
61
+ userQuery: string;
62
+ aiResponse: string;
63
+ context?: Record<string, unknown>;
64
+ primaryDomain?: string;
65
+ assistantRole?: string;
66
+ conversationHistory?: Array<{
67
+ role: "user" | "assistant";
68
+ content: string;
69
+ timestamp?: string;
70
+ }>;
71
+ toolUsage?: Array<{
72
+ toolName: string;
73
+ input: unknown;
74
+ output: unknown;
75
+ executionTime: number;
76
+ }>;
77
+ expectedOutcome?: string;
78
+ evaluationCriteria?: string[];
79
+ };
80
+ /**
81
+ * Evaluation result type
82
+ * Extends EvaluationData with additional fields
83
+ */
84
+ export type EnhancedEvaluationResult = EvaluationData & {
85
+ domainAlignment?: number;
86
+ terminologyAccuracy?: number;
87
+ toolEffectiveness?: number;
88
+ contextUtilization?: {
89
+ conversationUsed: boolean;
90
+ toolsUsed: boolean;
91
+ domainKnowledgeUsed: boolean;
92
+ };
93
+ evaluationContext?: {
94
+ domain: string;
95
+ toolsEvaluated: string[];
96
+ conversationTurns: number;
97
+ };
98
+ isOffTopic: boolean;
99
+ alertSeverity: AlertSeverity;
100
+ reasoning: string;
101
+ };
102
+ /**
103
+ * Evaluation request type as specified in core module refactoring
104
+ */
105
+ export type EvaluationRequest = {
106
+ content: string;
107
+ context?: string;
108
+ domain?: string;
109
+ criteria: EvaluationCriteria;
110
+ };
111
+ /**
112
+ * Evaluation criteria type as specified in core module refactoring
113
+ */
114
+ export type EvaluationCriteria = {
115
+ relevance: boolean;
116
+ accuracy: boolean;
117
+ completeness: boolean;
118
+ domainSpecific?: boolean;
119
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Evaluation provider type definitions for NeuroLink
3
+ * Provider performance tracking, evaluation configurations, and provider optimization types
4
+ */
5
+ export {};
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Evaluation provider type definitions for NeuroLink
3
+ * Provider performance tracking, evaluation configurations, and provider optimization types
4
+ */
5
+ /**
6
+ * Performance optimization priority
7
+ */
8
+ export type PerformancePriority = "speed" | "cost" | "reliability";
9
+ /**
10
+ * Legacy provider model configuration for evaluation
11
+ */
12
+ export type ProviderModelConfig = {
13
+ provider: string;
14
+ models: string[];
15
+ costPerToken?: number | {
16
+ input: number;
17
+ output: number;
18
+ };
19
+ requiresApiKey?: string[];
20
+ performance?: {
21
+ averageLatency?: number;
22
+ reliability?: number;
23
+ speed?: number;
24
+ quality?: number;
25
+ cost?: number;
26
+ };
27
+ };
28
+ /**
29
+ * Real-time provider performance tracking metrics
30
+ */
31
+ export type ProviderPerformanceMetrics = {
32
+ responseTime: number[];
33
+ successRate: number;
34
+ tokenThroughput: number;
35
+ costEfficiency: number;
36
+ lastUpdated: Date;
37
+ sampleCount: number;
38
+ };
39
+ /**
40
+ * Provider performance recording data
41
+ */
42
+ export type ProviderPerformanceData = {
43
+ responseTime: number;
44
+ tokensGenerated: number;
45
+ cost: number;
46
+ success: boolean;
47
+ };
48
+ /**
49
+ * Provider performance analytics result
50
+ */
51
+ export type ProviderPerformanceAnalytics = {
52
+ avgResponseTime: number;
53
+ successRate: number;
54
+ tokenThroughput: number;
55
+ costEfficiency: number;
56
+ recommendation: string;
57
+ sampleCount: number;
58
+ };
59
+ /**
60
+ * Performance thresholds for evaluation
61
+ */
62
+ export type PerformanceThresholds = {
63
+ EXCELLENT_SUCCESS_RATE: number;
64
+ EXCELLENT_RESPONSE_TIME_MS: number;
65
+ GOOD_SUCCESS_RATE: number;
66
+ FAIR_SUCCESS_RATE: number;
67
+ };
68
+ /**
69
+ * Provider scoring result
70
+ */
71
+ export type ProviderScoringResult = {
72
+ provider: ProviderModelConfig;
73
+ score: number;
74
+ metrics: ProviderPerformanceMetrics | null;
75
+ };
76
+ /**
77
+ * Provider availability status
78
+ */
79
+ export type ProviderAvailabilityStatus = {
80
+ provider: string;
81
+ available: boolean;
82
+ reason?: string;
83
+ lastChecked: Date;
84
+ };
85
+ /**
86
+ * Provider cost estimation parameters
87
+ */
88
+ export type CostEstimationParams = {
89
+ provider: string;
90
+ inputTokens: number;
91
+ outputTokens: number;
92
+ model?: string;
93
+ };
94
+ /**
95
+ * Provider selection criteria
96
+ */
97
+ export type ProviderSelectionCriteria = {
98
+ priority: PerformancePriority;
99
+ maxCost?: number;
100
+ minSuccessRate?: number;
101
+ maxResponseTime?: number;
102
+ excludeProviders?: string[];
103
+ requireCapabilities?: string[];
104
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Evaluation provider type definitions for NeuroLink
3
+ * Provider performance tracking, evaluation configurations, and provider optimization types
4
+ */
5
+ export {};
@@ -1,12 +1,16 @@
1
- import type { Tool } from "ai";
2
- import type { ValidationSchema, StandardRecord } from "./typeAliases.js";
3
- import type { AIProviderName, AnalyticsData, EvaluationData } from "../core/types.js";
4
- import type { TokenUsage } from "./providers.js";
1
+ import type { Tool, Schema } from "ai";
2
+ import type { ValidationSchema, StandardRecord, ZodUnknownSchema } from "./typeAliases.js";
3
+ import type { AIProviderName } from "./providers.js";
4
+ import type { AnalyticsData, TokenUsage } from "./analytics.js";
5
+ import type { EvaluationData } from "./evaluation.js";
6
+ import type { ChatMessage, ConversationMemoryConfig } from "./conversationTypes.js";
7
+ import type { MiddlewareFactoryOptions } from "./middlewareTypes.js";
8
+ import type { JsonValue } from "./common.js";
5
9
  /**
6
- * Generate function options interface - Primary method for content generation
10
+ * Generate function options type - Primary method for content generation
7
11
  * Future-ready for multi-modal capabilities while maintaining text focus
8
12
  */
9
- export interface GenerateOptions {
13
+ export type GenerateOptions = {
10
14
  input: {
11
15
  text: string;
12
16
  };
@@ -45,12 +49,12 @@ export interface GenerateOptions {
45
49
  enableProgress?: boolean;
46
50
  fallbackToGenerate?: boolean;
47
51
  };
48
- }
52
+ };
49
53
  /**
50
- * Generate function result interface - Primary output format
54
+ * Generate function result type - Primary output format
51
55
  * Future-ready for multi-modal outputs while maintaining text focus
52
56
  */
53
- export interface GenerateResult {
57
+ export type GenerateResult = {
54
58
  content: string;
55
59
  outputs?: {
56
60
  text: string;
@@ -96,28 +100,28 @@ export interface GenerateResult {
96
100
  streamId?: string;
97
101
  bufferOptimization?: boolean;
98
102
  };
99
- }
103
+ };
100
104
  /**
101
105
  * Unified options for both generation and streaming
102
106
  * Supports factory patterns and domain configuration
103
107
  */
104
- export interface UnifiedGenerationOptions extends GenerateOptions {
108
+ export type UnifiedGenerationOptions = GenerateOptions & {
105
109
  preferStreaming?: boolean;
106
110
  streamingFallback?: boolean;
107
- }
111
+ };
108
112
  /**
109
- * Enhanced provider interface with generate method
113
+ * Enhanced provider type with generate method
110
114
  */
111
- export interface EnhancedProvider {
115
+ export type EnhancedProvider = {
112
116
  generate(options: GenerateOptions): Promise<GenerateResult>;
113
117
  getName(): string;
114
118
  isAvailable(): Promise<boolean>;
115
- }
119
+ };
116
120
  /**
117
- * Factory-enhanced provider interface
121
+ * Factory-enhanced provider type
118
122
  * Supports domain configuration and streaming optimizations
119
123
  */
120
- export interface FactoryEnhancedProvider extends EnhancedProvider {
124
+ export type FactoryEnhancedProvider = EnhancedProvider & {
121
125
  generateWithFactory(options: UnifiedGenerationOptions): Promise<GenerateResult>;
122
126
  getDomainSupport(): string[];
123
127
  getStreamingCapabilities(): {
@@ -125,4 +129,71 @@ export interface FactoryEnhancedProvider extends EnhancedProvider {
125
129
  maxChunkSize: number;
126
130
  bufferOptimizations: boolean;
127
131
  };
128
- }
132
+ };
133
+ /**
134
+ * Text generation options type (consolidated from core types)
135
+ */
136
+ export type TextGenerationOptions = {
137
+ prompt?: string;
138
+ input?: {
139
+ text: string;
140
+ };
141
+ provider?: AIProviderName;
142
+ model?: string;
143
+ temperature?: number;
144
+ maxTokens?: number;
145
+ systemPrompt?: string;
146
+ schema?: ZodUnknownSchema | Schema<unknown>;
147
+ tools?: Record<string, Tool>;
148
+ timeout?: number | string;
149
+ disableTools?: boolean;
150
+ maxSteps?: number;
151
+ enableEvaluation?: boolean;
152
+ enableAnalytics?: boolean;
153
+ context?: Record<string, JsonValue>;
154
+ evaluationDomain?: string;
155
+ toolUsageContext?: string;
156
+ conversationHistory?: Array<{
157
+ role: string;
158
+ content: string;
159
+ }>;
160
+ conversationMessages?: ChatMessage[];
161
+ conversationMemoryConfig?: Partial<ConversationMemoryConfig>;
162
+ originalPrompt?: string;
163
+ middleware?: MiddlewareFactoryOptions;
164
+ expectedOutcome?: string;
165
+ evaluationCriteria?: string[];
166
+ };
167
+ /**
168
+ * Text generation result (consolidated from core types)
169
+ */
170
+ export type TextGenerationResult = {
171
+ content: string;
172
+ provider?: string;
173
+ model?: string;
174
+ usage?: TokenUsage;
175
+ responseTime?: number;
176
+ toolsUsed?: string[];
177
+ toolExecutions?: Array<{
178
+ toolName: string;
179
+ executionTime: number;
180
+ success: boolean;
181
+ serverId?: string;
182
+ }>;
183
+ enhancedWithTools?: boolean;
184
+ availableTools?: Array<{
185
+ name: string;
186
+ description: string;
187
+ server: string;
188
+ category?: string;
189
+ }>;
190
+ analytics?: AnalyticsData;
191
+ evaluation?: EvaluationData;
192
+ };
193
+ /**
194
+ * Enhanced result type with optional analytics/evaluation
195
+ */
196
+ export type EnhancedGenerateResult = GenerateResult & {
197
+ analytics?: AnalyticsData;
198
+ evaluation?: EvaluationData;
199
+ };
@@ -7,10 +7,18 @@ export * from "./providers.js";
7
7
  export * from "./cli.js";
8
8
  export type { Unknown, UnknownRecord, UnknownArray, JsonValue, JsonObject, JsonArray, ErrorInfo, Result, FunctionParameters, } from "./common.js";
9
9
  export type { ToolArgs, ToolContext, ToolResult, ToolDefinition, SimpleTool, AvailableTool, ToolExecution, } from "./tools.js";
10
- export type { AISDKModel, ProviderError, TokenUsage, AnalyticsData, EvaluationData, ProviderConfig, } from "./providers.js";
10
+ export type { AISDKModel, ProviderError, ProviderConfig } from "./providers.js";
11
11
  export type { BaseCommandArgs, GenerateCommandArgs, MCPCommandArgs, ModelsCommandArgs, CommandResult, GenerateResult, StreamChunk, } from "./cli.js";
12
12
  export type { MCPTransportType, MCPServerConnectionStatus, MCPServerCategory, MCPServerStatus, MCPDiscoveredServer, MCPConnectedServer, MCPToolInfo, MCPExecutableTool, MCPServerMetadata, MCPToolMetadata, MCPServerRegistryEntry, } from "./mcpTypes.js";
13
13
  export type { ExternalMCPServerInstance, ExternalMCPServerStatus, ExternalMCPToolInfo, ExternalMCPServerHealth, ExternalMCPConfigValidation, ExternalMCPOperationResult, ExternalMCPToolContext, ExternalMCPToolResult, ExternalMCPServerEvents, ExternalMCPManagerConfig, } from "./externalMcp.js";
14
14
  export type { ModelCapability, ModelUseCase, ModelFilter, ModelResolutionContext, ModelStats, ModelPricing, } from "./providers.js";
15
- export type { ToolCallResults, ToolCalls, StreamAnalyticsData, } from "./streamTypes.js";
16
15
  export type { DomainType, DomainConfig, DomainTemplate, DomainConfigOptions, DomainEvaluationCriteria, DomainValidationRule, } from "./domainTypes.js";
16
+ export * from "./generateTypes.js";
17
+ export type { StreamingProgressData, StreamingMetadata, ProgressCallback, ToolCall as StreamToolCall, // Renamed to avoid conflict with tools.js ToolCall
18
+ ToolResult as StreamToolResult, // Renamed to avoid conflict with tools.js ToolResult
19
+ ToolCallResults, ToolCalls, StreamOptions, StreamingOptions, StreamResult, EnhancedStreamProvider, } from "./streamTypes.js";
20
+ export * from "./analytics.js";
21
+ export * from "./evaluation.js";
22
+ export * from "./modelTypes.js";
23
+ export * from "./serviceTypes.js";
24
+ export * from "./evaluationProviders.js";
@@ -9,3 +9,15 @@ export * from "./tools.js";
9
9
  export * from "./providers.js";
10
10
  // CLI types
11
11
  export * from "./cli.js";
12
+ // Generate types - NEW
13
+ export * from "./generateTypes.js";
14
+ // Analytics types - NEW
15
+ export * from "./analytics.js";
16
+ // Evaluation types - NEW
17
+ export * from "./evaluation.js";
18
+ // Model types - NEW
19
+ export * from "./modelTypes.js";
20
+ // Service types - NEW
21
+ export * from "./serviceTypes.js";
22
+ // Evaluation provider types - NEW
23
+ export * from "./evaluationProviders.js";