@juspay/neurolink 7.32.0 → 7.33.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 (151) 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 +7 -1
  8. package/dist/core/baseProvider.js +59 -42
  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 +7 -1
  26. package/dist/lib/core/baseProvider.js +59 -42
  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/models/modelRegistry.d.ts +1 -1
  43. package/dist/lib/models/modelRegistry.js +1 -1
  44. package/dist/lib/models/modelResolver.d.ts +1 -1
  45. package/dist/lib/neurolink.d.ts +1 -1
  46. package/dist/lib/neurolink.js +1 -1
  47. package/dist/lib/providers/amazonBedrock.d.ts +1 -2
  48. package/dist/lib/providers/amazonSagemaker.d.ts +1 -1
  49. package/dist/lib/providers/anthropic.d.ts +1 -1
  50. package/dist/lib/providers/anthropic.js +1 -1
  51. package/dist/lib/providers/anthropicBaseProvider.d.ts +1 -1
  52. package/dist/lib/providers/anthropicBaseProvider.js +1 -1
  53. package/dist/lib/providers/azureOpenai.d.ts +1 -1
  54. package/dist/lib/providers/googleAiStudio.d.ts +1 -1
  55. package/dist/lib/providers/googleAiStudio.js +1 -1
  56. package/dist/lib/providers/googleVertex.d.ts +1 -1
  57. package/dist/lib/providers/googleVertex.js +1 -1
  58. package/dist/lib/providers/huggingFace.d.ts +1 -1
  59. package/dist/lib/providers/index.d.ts +1 -1
  60. package/dist/lib/providers/litellm.d.ts +1 -1
  61. package/dist/lib/providers/mistral.d.ts +1 -1
  62. package/dist/lib/providers/ollama.d.ts +1 -1
  63. package/dist/lib/providers/ollama.js +1 -1
  64. package/dist/lib/providers/openAI.d.ts +1 -1
  65. package/dist/lib/providers/openAI.js +1 -1
  66. package/dist/lib/providers/openaiCompatible.d.ts +1 -1
  67. package/dist/lib/providers/sagemaker/language-model.d.ts +2 -2
  68. package/dist/lib/types/analytics.d.ts +53 -0
  69. package/dist/lib/types/analytics.js +5 -0
  70. package/dist/lib/types/cli.d.ts +1 -1
  71. package/dist/lib/types/evaluation.d.ts +119 -0
  72. package/dist/lib/types/evaluation.js +5 -0
  73. package/dist/lib/types/evaluationProviders.d.ts +104 -0
  74. package/dist/lib/types/evaluationProviders.js +5 -0
  75. package/dist/lib/types/generateTypes.d.ts +89 -18
  76. package/dist/lib/types/index.d.ts +10 -2
  77. package/dist/lib/types/index.js +12 -0
  78. package/dist/lib/types/modelTypes.d.ts +242 -0
  79. package/dist/lib/types/modelTypes.js +30 -0
  80. package/dist/lib/types/providers.d.ts +193 -127
  81. package/dist/lib/types/providers.js +110 -18
  82. package/dist/lib/types/serviceTypes.d.ts +79 -0
  83. package/dist/lib/types/serviceTypes.js +5 -0
  84. package/dist/lib/types/streamTypes.d.ts +101 -21
  85. package/dist/lib/utils/analyticsUtils.d.ts +5 -1
  86. package/dist/lib/utils/analyticsUtils.js +13 -0
  87. package/dist/lib/utils/conversationMemoryUtils.d.ts +1 -1
  88. package/dist/lib/utils/evaluationUtils.d.ts +1 -1
  89. package/dist/lib/utils/factoryProcessing.d.ts +1 -1
  90. package/dist/lib/utils/messageBuilder.d.ts +1 -1
  91. package/dist/lib/utils/providerHealth.d.ts +1 -1
  92. package/dist/lib/utils/providerHealth.js +1 -1
  93. package/dist/lib/utils/providerUtils.d.ts +5 -0
  94. package/dist/lib/utils/providerUtils.js +6 -0
  95. package/dist/models/modelRegistry.d.ts +1 -1
  96. package/dist/models/modelRegistry.js +1 -1
  97. package/dist/models/modelResolver.d.ts +1 -1
  98. package/dist/neurolink.d.ts +1 -1
  99. package/dist/neurolink.js +1 -1
  100. package/dist/providers/amazonBedrock.d.ts +1 -2
  101. package/dist/providers/amazonSagemaker.d.ts +1 -1
  102. package/dist/providers/anthropic.d.ts +1 -1
  103. package/dist/providers/anthropic.js +1 -1
  104. package/dist/providers/anthropicBaseProvider.d.ts +1 -1
  105. package/dist/providers/anthropicBaseProvider.js +1 -1
  106. package/dist/providers/azureOpenai.d.ts +1 -1
  107. package/dist/providers/googleAiStudio.d.ts +1 -1
  108. package/dist/providers/googleAiStudio.js +1 -1
  109. package/dist/providers/googleVertex.d.ts +1 -1
  110. package/dist/providers/googleVertex.js +1 -1
  111. package/dist/providers/huggingFace.d.ts +1 -1
  112. package/dist/providers/index.d.ts +1 -1
  113. package/dist/providers/litellm.d.ts +1 -1
  114. package/dist/providers/mistral.d.ts +1 -1
  115. package/dist/providers/ollama.d.ts +1 -1
  116. package/dist/providers/ollama.js +1 -1
  117. package/dist/providers/openAI.d.ts +1 -1
  118. package/dist/providers/openAI.js +1 -1
  119. package/dist/providers/openaiCompatible.d.ts +1 -1
  120. package/dist/types/analytics.d.ts +53 -0
  121. package/dist/types/analytics.js +5 -0
  122. package/dist/types/cli.d.ts +1 -1
  123. package/dist/types/evaluation.d.ts +119 -0
  124. package/dist/types/evaluation.js +5 -0
  125. package/dist/types/evaluationProviders.d.ts +104 -0
  126. package/dist/types/evaluationProviders.js +5 -0
  127. package/dist/types/generateTypes.d.ts +89 -18
  128. package/dist/types/index.d.ts +10 -2
  129. package/dist/types/index.js +12 -0
  130. package/dist/types/modelTypes.d.ts +242 -0
  131. package/dist/types/modelTypes.js +30 -0
  132. package/dist/types/providers.d.ts +193 -127
  133. package/dist/types/providers.js +110 -18
  134. package/dist/types/serviceTypes.d.ts +79 -0
  135. package/dist/types/serviceTypes.js +5 -0
  136. package/dist/types/streamTypes.d.ts +101 -21
  137. package/dist/utils/analyticsUtils.d.ts +5 -1
  138. package/dist/utils/analyticsUtils.js +13 -0
  139. package/dist/utils/conversationMemoryUtils.d.ts +1 -1
  140. package/dist/utils/evaluationUtils.d.ts +1 -1
  141. package/dist/utils/factoryProcessing.d.ts +1 -1
  142. package/dist/utils/messageBuilder.d.ts +1 -1
  143. package/dist/utils/providerHealth.d.ts +1 -1
  144. package/dist/utils/providerHealth.js +1 -1
  145. package/dist/utils/providerUtils.d.ts +5 -0
  146. package/dist/utils/providerUtils.js +6 -0
  147. package/package.json +1 -1
  148. package/dist/core/types.d.ts +0 -223
  149. package/dist/core/types.js +0 -111
  150. package/dist/lib/core/types.d.ts +0 -223
  151. package/dist/lib/core/types.js +0 -111
@@ -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";
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Model-related type definitions for NeuroLink
3
+ * Consolidates all model configuration, dynamic model, and provider model types
4
+ */
5
+ import { z } from "zod";
6
+ import type { JsonValue } from "./common.js";
7
+ /**
8
+ * Model performance tier definition
9
+ */
10
+ export type ModelTier = "fast" | "balanced" | "quality";
11
+ /**
12
+ * Model configuration source type
13
+ */
14
+ export type ConfigSource = "default" | "environment" | "file" | "dynamic";
15
+ /**
16
+ * Model configuration for a specific provider
17
+ */
18
+ export type ModelConfig = {
19
+ /** Model identifier */
20
+ id: string;
21
+ /** Display name */
22
+ name: string;
23
+ /** Performance tier */
24
+ tier: ModelTier;
25
+ /** Cost per 1K tokens */
26
+ cost: {
27
+ input: number;
28
+ output: number;
29
+ };
30
+ /** Model capabilities */
31
+ capabilities: string[];
32
+ /** Model-specific options */
33
+ options?: Record<string, JsonValue>;
34
+ };
35
+ /**
36
+ * Provider configuration for model management
37
+ */
38
+ export type ProviderConfiguration = {
39
+ /** Provider name */
40
+ provider: string;
41
+ /** Available models by tier */
42
+ models: Record<ModelTier, string>;
43
+ /** Default cost per token (fallback) */
44
+ defaultCost: {
45
+ input: number;
46
+ output: number;
47
+ };
48
+ /** Required environment variables */
49
+ requiredEnvVars: string[];
50
+ /** Provider-specific performance metrics */
51
+ performance: {
52
+ speed: number;
53
+ quality: number;
54
+ cost: number;
55
+ };
56
+ /** Provider-specific model configurations */
57
+ modelConfigs?: Record<string, ModelConfig>;
58
+ /** Provider-specific model behavior configurations */
59
+ modelBehavior?: {
60
+ /** Models that have issues with maxTokens parameter */
61
+ maxTokensIssues?: string[];
62
+ /** Models that require special handling */
63
+ specialHandling?: Record<string, JsonValue>;
64
+ /** Models that support tool calling (Ollama-specific) */
65
+ toolCapableModels?: string[];
66
+ };
67
+ };
68
+ /**
69
+ * Zod schema for model configuration validation
70
+ */
71
+ export declare const ModelConfigSchema: z.ZodObject<{
72
+ id: z.ZodString;
73
+ displayName: z.ZodString;
74
+ capabilities: z.ZodArray<z.ZodString, "many">;
75
+ deprecated: z.ZodBoolean;
76
+ pricing: z.ZodObject<{
77
+ input: z.ZodNumber;
78
+ output: z.ZodNumber;
79
+ }, "strip", z.ZodTypeAny, {
80
+ input: number;
81
+ output: number;
82
+ }, {
83
+ input: number;
84
+ output: number;
85
+ }>;
86
+ contextWindow: z.ZodNumber;
87
+ releaseDate: z.ZodString;
88
+ }, "strip", z.ZodTypeAny, {
89
+ id: string;
90
+ capabilities: string[];
91
+ displayName: string;
92
+ deprecated: boolean;
93
+ pricing: {
94
+ input: number;
95
+ output: number;
96
+ };
97
+ contextWindow: number;
98
+ releaseDate: string;
99
+ }, {
100
+ id: string;
101
+ capabilities: string[];
102
+ displayName: string;
103
+ deprecated: boolean;
104
+ pricing: {
105
+ input: number;
106
+ output: number;
107
+ };
108
+ contextWindow: number;
109
+ releaseDate: string;
110
+ }>;
111
+ /**
112
+ * Zod schema for model registry validation
113
+ */
114
+ export declare const ModelRegistrySchema: z.ZodObject<{
115
+ version: z.ZodString;
116
+ lastUpdated: z.ZodString;
117
+ models: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
118
+ id: z.ZodString;
119
+ displayName: z.ZodString;
120
+ capabilities: z.ZodArray<z.ZodString, "many">;
121
+ deprecated: z.ZodBoolean;
122
+ pricing: z.ZodObject<{
123
+ input: z.ZodNumber;
124
+ output: z.ZodNumber;
125
+ }, "strip", z.ZodTypeAny, {
126
+ input: number;
127
+ output: number;
128
+ }, {
129
+ input: number;
130
+ output: number;
131
+ }>;
132
+ contextWindow: z.ZodNumber;
133
+ releaseDate: z.ZodString;
134
+ }, "strip", z.ZodTypeAny, {
135
+ id: string;
136
+ capabilities: string[];
137
+ displayName: string;
138
+ deprecated: boolean;
139
+ pricing: {
140
+ input: number;
141
+ output: number;
142
+ };
143
+ contextWindow: number;
144
+ releaseDate: string;
145
+ }, {
146
+ id: string;
147
+ capabilities: string[];
148
+ displayName: string;
149
+ deprecated: boolean;
150
+ pricing: {
151
+ input: number;
152
+ output: number;
153
+ };
154
+ contextWindow: number;
155
+ releaseDate: string;
156
+ }>>>;
157
+ aliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
158
+ defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ version: string;
161
+ models: Record<string, Record<string, {
162
+ id: string;
163
+ capabilities: string[];
164
+ displayName: string;
165
+ deprecated: boolean;
166
+ pricing: {
167
+ input: number;
168
+ output: number;
169
+ };
170
+ contextWindow: number;
171
+ releaseDate: string;
172
+ }>>;
173
+ lastUpdated: string;
174
+ aliases?: Record<string, string> | undefined;
175
+ defaults?: Record<string, string> | undefined;
176
+ }, {
177
+ version: string;
178
+ models: Record<string, Record<string, {
179
+ id: string;
180
+ capabilities: string[];
181
+ displayName: string;
182
+ deprecated: boolean;
183
+ pricing: {
184
+ input: number;
185
+ output: number;
186
+ };
187
+ contextWindow: number;
188
+ releaseDate: string;
189
+ }>>;
190
+ lastUpdated: string;
191
+ aliases?: Record<string, string> | undefined;
192
+ defaults?: Record<string, string> | undefined;
193
+ }>;
194
+ /**
195
+ * Dynamic model configuration type
196
+ */
197
+ export type DynamicModelConfig = z.infer<typeof ModelConfigSchema>;
198
+ /**
199
+ * Dynamic model registry type
200
+ */
201
+ export type ModelRegistry = z.infer<typeof ModelRegistrySchema>;
202
+ /**
203
+ * Model name constants structure
204
+ */
205
+ export type ModelNameConstants = {
206
+ readonly [provider: string]: {
207
+ readonly FAST: string;
208
+ readonly BALANCED: string;
209
+ readonly QUALITY: string;
210
+ };
211
+ };
212
+ /**
213
+ * Model metadata for registry
214
+ */
215
+ export type ModelMetadata = {
216
+ version: string;
217
+ lastUpdated: string;
218
+ modelCount: number;
219
+ };
220
+ /**
221
+ * Model search options
222
+ */
223
+ export type ModelSearchOptions = {
224
+ provider?: string;
225
+ maxPrice?: number;
226
+ excludeDeprecated?: boolean;
227
+ };
228
+ /**
229
+ * Model search result
230
+ */
231
+ export type ModelSearchResult = {
232
+ provider: string;
233
+ model: string;
234
+ config: DynamicModelConfig;
235
+ };
236
+ /**
237
+ * Cost information structure
238
+ */
239
+ export type CostInfo = {
240
+ input: number;
241
+ output: number;
242
+ };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Model-related type definitions for NeuroLink
3
+ * Consolidates all model configuration, dynamic model, and provider model types
4
+ */
5
+ import { z } from "zod";
6
+ /**
7
+ * Zod schema for model configuration validation
8
+ */
9
+ export const ModelConfigSchema = z.object({
10
+ id: z.string(),
11
+ displayName: z.string(),
12
+ capabilities: z.array(z.string()),
13
+ deprecated: z.boolean(),
14
+ pricing: z.object({
15
+ input: z.number(),
16
+ output: z.number(),
17
+ }),
18
+ contextWindow: z.number(),
19
+ releaseDate: z.string(),
20
+ });
21
+ /**
22
+ * Zod schema for model registry validation
23
+ */
24
+ export const ModelRegistrySchema = z.object({
25
+ version: z.string(),
26
+ lastUpdated: z.string(),
27
+ models: z.record(z.record(ModelConfigSchema)),
28
+ aliases: z.record(z.string()).optional(),
29
+ defaults: z.record(z.string()).optional(),
30
+ });