@juspay/neurolink 7.29.2 → 7.30.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 +12 -0
- package/dist/cli/commands/config.d.ts +83 -83
- package/dist/cli/commands/mcp.js +39 -9
- package/dist/cli/commands/models.js +25 -21
- package/dist/cli/commands/ollama.js +2 -2
- package/dist/cli/factories/commandFactory.d.ts +8 -0
- package/dist/cli/factories/commandFactory.js +65 -65
- package/dist/cli/factories/ollamaCommandFactory.js +3 -1
- package/dist/cli/factories/sagemakerCommandFactory.js +3 -2
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +11 -11
- package/dist/cli/utils/envManager.js +5 -5
- package/dist/cli/utils/ollamaUtils.d.ts +12 -0
- package/dist/cli/utils/ollamaUtils.js +58 -42
- package/dist/config/configManager.js +5 -2
- package/dist/config/conversationMemoryConfig.js +5 -0
- package/dist/core/analytics.d.ts +2 -24
- package/dist/core/analytics.js +12 -17
- package/dist/core/baseProvider.d.ts +30 -1
- package/dist/core/baseProvider.js +180 -198
- package/dist/core/conversationMemoryManager.d.ts +9 -15
- package/dist/core/conversationMemoryManager.js +98 -57
- package/dist/core/dynamicModels.d.ts +4 -4
- package/dist/core/dynamicModels.js +7 -7
- package/dist/core/evaluation.d.ts +9 -9
- package/dist/core/evaluation.js +117 -65
- package/dist/core/evaluationProviders.d.ts +18 -2
- package/dist/core/evaluationProviders.js +15 -13
- package/dist/core/modelConfiguration.d.ts +63 -0
- package/dist/core/modelConfiguration.js +354 -290
- package/dist/core/streamAnalytics.d.ts +10 -5
- package/dist/core/streamAnalytics.js +10 -10
- package/dist/core/types.d.ts +22 -110
- package/dist/core/types.js +13 -0
- package/dist/factories/providerFactory.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/lib/config/configManager.js +5 -2
- package/dist/lib/config/conversationMemoryConfig.js +5 -0
- package/dist/lib/core/analytics.d.ts +2 -24
- package/dist/lib/core/analytics.js +12 -17
- package/dist/lib/core/baseProvider.d.ts +30 -1
- package/dist/lib/core/baseProvider.js +180 -198
- package/dist/lib/core/conversationMemoryManager.d.ts +9 -15
- package/dist/lib/core/conversationMemoryManager.js +98 -57
- package/dist/lib/core/dynamicModels.js +7 -7
- package/dist/lib/core/evaluation.d.ts +9 -9
- package/dist/lib/core/evaluation.js +117 -65
- package/dist/lib/core/evaluationProviders.d.ts +18 -2
- package/dist/lib/core/evaluationProviders.js +15 -13
- package/dist/lib/core/modelConfiguration.d.ts +63 -0
- package/dist/lib/core/modelConfiguration.js +354 -290
- package/dist/lib/core/streamAnalytics.d.ts +10 -5
- package/dist/lib/core/streamAnalytics.js +10 -10
- package/dist/lib/core/types.d.ts +22 -110
- package/dist/lib/core/types.js +13 -0
- package/dist/lib/factories/providerFactory.js +1 -1
- package/dist/lib/index.d.ts +2 -1
- package/dist/lib/mcp/externalServerManager.js +15 -6
- package/dist/lib/mcp/factory.js +1 -1
- package/dist/lib/mcp/index.d.ts +1 -1
- package/dist/lib/mcp/index.js +1 -1
- package/dist/lib/mcp/mcpCircuitBreaker.js +5 -1
- package/dist/lib/mcp/mcpClientFactory.js +3 -0
- package/dist/lib/mcp/registry.d.ts +3 -3
- package/dist/lib/mcp/registry.js +3 -3
- package/dist/lib/mcp/servers/aiProviders/aiAnalysisTools.js +5 -5
- package/dist/lib/mcp/servers/aiProviders/aiWorkflowTools.js +6 -6
- package/dist/lib/mcp/servers/utilities/utilityServer.js +1 -1
- package/dist/lib/mcp/toolDiscoveryService.js +8 -2
- package/dist/lib/mcp/toolRegistry.js +4 -4
- package/dist/lib/middleware/builtin/analytics.js +4 -4
- package/dist/lib/middleware/builtin/guardrails.js +2 -2
- package/dist/lib/middleware/registry.js +11 -2
- package/dist/lib/models/modelRegistry.d.ts +1 -1
- package/dist/lib/models/modelRegistry.js +3 -3
- package/dist/lib/models/modelResolver.d.ts +1 -1
- package/dist/lib/models/modelResolver.js +2 -2
- package/dist/lib/neurolink.d.ts +116 -9
- package/dist/lib/neurolink.js +718 -956
- package/dist/lib/providers/amazonSagemaker.d.ts +1 -1
- package/dist/lib/providers/amazonSagemaker.js +12 -3
- package/dist/lib/providers/anthropic.d.ts +1 -1
- package/dist/lib/providers/anthropic.js +7 -6
- package/dist/lib/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/lib/providers/anthropicBaseProvider.js +4 -3
- package/dist/lib/providers/azureOpenai.d.ts +1 -1
- package/dist/lib/providers/azureOpenai.js +1 -1
- package/dist/lib/providers/googleAiStudio.d.ts +1 -1
- package/dist/lib/providers/googleAiStudio.js +2 -2
- package/dist/lib/providers/googleVertex.d.ts +40 -0
- package/dist/lib/providers/googleVertex.js +330 -274
- package/dist/lib/providers/huggingFace.js +1 -1
- package/dist/lib/providers/mistral.d.ts +1 -1
- package/dist/lib/providers/mistral.js +2 -2
- package/dist/lib/providers/ollama.d.ts +4 -0
- package/dist/lib/providers/ollama.js +38 -18
- package/dist/lib/providers/openAI.d.ts +1 -1
- package/dist/lib/providers/openAI.js +2 -2
- package/dist/lib/providers/sagemaker/adaptive-semaphore.js +7 -4
- package/dist/lib/providers/sagemaker/client.js +13 -3
- package/dist/lib/providers/sagemaker/config.js +5 -1
- package/dist/lib/providers/sagemaker/detection.js +19 -9
- package/dist/lib/providers/sagemaker/errors.d.ts +8 -1
- package/dist/lib/providers/sagemaker/errors.js +103 -20
- package/dist/lib/providers/sagemaker/language-model.d.ts +3 -3
- package/dist/lib/providers/sagemaker/language-model.js +4 -4
- package/dist/lib/providers/sagemaker/parsers.js +14 -6
- package/dist/lib/providers/sagemaker/streaming.js +14 -3
- package/dist/lib/providers/sagemaker/types.d.ts +1 -1
- package/dist/lib/proxy/awsProxyIntegration.js +1 -1
- package/dist/lib/sdk/toolRegistration.d.ts +1 -1
- package/dist/lib/types/cli.d.ts +80 -8
- package/dist/lib/types/contextTypes.js +2 -2
- package/dist/lib/types/conversationTypes.d.ts +10 -0
- package/dist/lib/types/generateTypes.d.ts +2 -5
- package/dist/lib/types/providers.d.ts +81 -19
- package/dist/lib/types/providers.js +6 -6
- package/dist/lib/types/streamTypes.d.ts +4 -6
- package/dist/lib/types/typeAliases.d.ts +1 -1
- package/dist/lib/utils/analyticsUtils.d.ts +33 -0
- package/dist/lib/utils/analyticsUtils.js +76 -0
- package/dist/lib/utils/conversationMemoryUtils.d.ts +1 -2
- package/dist/lib/utils/conversationMemoryUtils.js +6 -7
- package/dist/lib/utils/errorHandling.js +4 -1
- package/dist/lib/utils/evaluationUtils.d.ts +27 -0
- package/dist/lib/utils/evaluationUtils.js +131 -0
- package/dist/lib/utils/optionsUtils.js +10 -1
- package/dist/lib/utils/performance.d.ts +1 -1
- package/dist/lib/utils/performance.js +15 -3
- package/dist/lib/utils/providerHealth.d.ts +48 -0
- package/dist/lib/utils/providerHealth.js +199 -254
- package/dist/lib/utils/providerUtils.js +2 -2
- package/dist/lib/utils/timeout.js +8 -3
- package/dist/mcp/externalServerManager.js +15 -6
- package/dist/mcp/factory.js +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/mcpCircuitBreaker.js +5 -1
- package/dist/mcp/mcpClientFactory.js +3 -0
- package/dist/mcp/registry.d.ts +3 -3
- package/dist/mcp/registry.js +3 -3
- package/dist/mcp/servers/aiProviders/aiAnalysisTools.js +5 -5
- package/dist/mcp/servers/aiProviders/aiWorkflowTools.js +6 -6
- package/dist/mcp/servers/utilities/utilityServer.js +1 -1
- package/dist/mcp/toolDiscoveryService.js +8 -2
- package/dist/mcp/toolRegistry.js +4 -4
- package/dist/middleware/builtin/analytics.js +4 -4
- package/dist/middleware/builtin/guardrails.js +2 -2
- package/dist/middleware/registry.js +11 -2
- package/dist/models/modelRegistry.d.ts +1 -1
- package/dist/models/modelRegistry.js +3 -3
- package/dist/models/modelResolver.d.ts +1 -1
- package/dist/models/modelResolver.js +2 -2
- package/dist/neurolink.d.ts +116 -9
- package/dist/neurolink.js +718 -956
- package/dist/providers/amazonSagemaker.d.ts +1 -1
- package/dist/providers/amazonSagemaker.js +12 -3
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/anthropic.js +7 -6
- package/dist/providers/anthropicBaseProvider.d.ts +1 -1
- package/dist/providers/anthropicBaseProvider.js +4 -3
- package/dist/providers/azureOpenai.d.ts +1 -1
- package/dist/providers/azureOpenai.js +1 -1
- package/dist/providers/googleAiStudio.d.ts +1 -1
- package/dist/providers/googleAiStudio.js +2 -2
- package/dist/providers/googleVertex.d.ts +40 -0
- package/dist/providers/googleVertex.js +330 -274
- package/dist/providers/huggingFace.js +1 -1
- package/dist/providers/mistral.d.ts +1 -1
- package/dist/providers/mistral.js +2 -2
- package/dist/providers/ollama.d.ts +4 -0
- package/dist/providers/ollama.js +38 -18
- package/dist/providers/openAI.d.ts +1 -1
- package/dist/providers/openAI.js +2 -2
- package/dist/providers/sagemaker/adaptive-semaphore.js +7 -4
- package/dist/providers/sagemaker/client.js +13 -3
- package/dist/providers/sagemaker/config.js +5 -1
- package/dist/providers/sagemaker/detection.js +19 -9
- package/dist/providers/sagemaker/errors.d.ts +8 -1
- package/dist/providers/sagemaker/errors.js +103 -20
- package/dist/providers/sagemaker/language-model.d.ts +3 -3
- package/dist/providers/sagemaker/language-model.js +4 -4
- package/dist/providers/sagemaker/parsers.js +14 -6
- package/dist/providers/sagemaker/streaming.js +14 -3
- package/dist/providers/sagemaker/types.d.ts +1 -1
- package/dist/proxy/awsProxyIntegration.js +1 -1
- package/dist/sdk/toolRegistration.d.ts +1 -1
- package/dist/types/cli.d.ts +80 -8
- package/dist/types/contextTypes.js +2 -2
- package/dist/types/conversationTypes.d.ts +10 -0
- package/dist/types/generateTypes.d.ts +2 -5
- package/dist/types/providers.d.ts +81 -19
- package/dist/types/providers.js +6 -6
- package/dist/types/streamTypes.d.ts +4 -6
- package/dist/types/typeAliases.d.ts +1 -1
- package/dist/utils/analyticsUtils.d.ts +33 -0
- package/dist/utils/analyticsUtils.js +76 -0
- package/dist/utils/conversationMemoryUtils.d.ts +1 -2
- package/dist/utils/conversationMemoryUtils.js +6 -7
- package/dist/utils/errorHandling.js +4 -1
- package/dist/utils/evaluationUtils.d.ts +27 -0
- package/dist/utils/evaluationUtils.js +131 -0
- package/dist/utils/optionsUtils.js +10 -1
- package/dist/utils/performance.d.ts +1 -1
- package/dist/utils/performance.js +15 -3
- package/dist/utils/providerHealth.d.ts +48 -0
- package/dist/utils/providerHealth.js +199 -254
- package/dist/utils/providerUtils.js +2 -2
- package/dist/utils/timeout.js +8 -3
- package/package.json +1 -1
- package/dist/context/ContextManager.d.ts +0 -28
- package/dist/context/ContextManager.js +0 -113
- package/dist/context/config.d.ts +0 -5
- package/dist/context/config.js +0 -42
- package/dist/context/types.d.ts +0 -20
- package/dist/context/types.js +0 -1
- package/dist/context/utils.d.ts +0 -7
- package/dist/context/utils.js +0 -8
- package/dist/lib/context/ContextManager.d.ts +0 -28
- package/dist/lib/context/ContextManager.js +0 -113
- package/dist/lib/context/config.d.ts +0 -5
- package/dist/lib/context/config.js +0 -42
- package/dist/lib/context/types.d.ts +0 -20
- package/dist/lib/context/types.js +0 -1
- package/dist/lib/context/utils.d.ts +0 -7
- package/dist/lib/context/utils.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [7.30.0](https://github.com/juspay/neurolink/compare/v7.29.3...v7.30.0) (2025-08-29)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- **(SDK):** Integrate context summarization with conversation memory BZ-43344 ([a2316ff](https://github.com/juspay/neurolink/commit/a2316ff6df55107316892d33365455e6ebdcbbd9))
|
|
6
|
+
|
|
7
|
+
## [7.29.3](https://github.com/juspay/neurolink/compare/v7.29.2...v7.29.3) (2025-08-29)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **(build):** resolve ESLint compliance and TypeScript compilation errors ([c9030f2](https://github.com/juspay/neurolink/commit/c9030f20b080b359ab5cdd014cecaf15a8b68789))
|
|
12
|
+
|
|
1
13
|
## [7.29.2](https://github.com/juspay/neurolink/compare/v7.29.1...v7.29.2) (2025-08-29)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -18,9 +18,9 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
18
18
|
apiKey?: string | undefined;
|
|
19
19
|
baseURL?: string | undefined;
|
|
20
20
|
}, {
|
|
21
|
-
model?: string | undefined;
|
|
22
21
|
apiKey?: string | undefined;
|
|
23
22
|
baseURL?: string | undefined;
|
|
23
|
+
model?: string | undefined;
|
|
24
24
|
}>>;
|
|
25
25
|
bedrock: z.ZodOptional<z.ZodObject<{
|
|
26
26
|
region: z.ZodOptional<z.ZodString>;
|
|
@@ -73,8 +73,8 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
73
73
|
model: string;
|
|
74
74
|
apiKey?: string | undefined;
|
|
75
75
|
}, {
|
|
76
|
-
model?: string | undefined;
|
|
77
76
|
apiKey?: string | undefined;
|
|
77
|
+
model?: string | undefined;
|
|
78
78
|
}>>;
|
|
79
79
|
azure: z.ZodOptional<z.ZodObject<{
|
|
80
80
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
@@ -87,8 +87,8 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
87
87
|
endpoint?: string | undefined;
|
|
88
88
|
deploymentId?: string | undefined;
|
|
89
89
|
}, {
|
|
90
|
-
model?: string | undefined;
|
|
91
90
|
apiKey?: string | undefined;
|
|
91
|
+
model?: string | undefined;
|
|
92
92
|
endpoint?: string | undefined;
|
|
93
93
|
deploymentId?: string | undefined;
|
|
94
94
|
}>>;
|
|
@@ -99,8 +99,8 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
99
99
|
model: string;
|
|
100
100
|
apiKey?: string | undefined;
|
|
101
101
|
}, {
|
|
102
|
-
model?: string | undefined;
|
|
103
102
|
apiKey?: string | undefined;
|
|
103
|
+
model?: string | undefined;
|
|
104
104
|
}>>;
|
|
105
105
|
huggingface: z.ZodOptional<z.ZodObject<{
|
|
106
106
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
@@ -109,20 +109,20 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
109
109
|
model: string;
|
|
110
110
|
apiKey?: string | undefined;
|
|
111
111
|
}, {
|
|
112
|
-
model?: string | undefined;
|
|
113
112
|
apiKey?: string | undefined;
|
|
113
|
+
model?: string | undefined;
|
|
114
114
|
}>>;
|
|
115
115
|
ollama: z.ZodOptional<z.ZodObject<{
|
|
116
116
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
117
117
|
model: z.ZodDefault<z.ZodString>;
|
|
118
118
|
timeout: z.ZodDefault<z.ZodNumber>;
|
|
119
119
|
}, "strip", z.ZodTypeAny, {
|
|
120
|
-
model: string;
|
|
121
120
|
timeout: number;
|
|
121
|
+
model: string;
|
|
122
122
|
baseUrl: string;
|
|
123
123
|
}, {
|
|
124
|
-
model?: string | undefined;
|
|
125
124
|
timeout?: number | undefined;
|
|
125
|
+
model?: string | undefined;
|
|
126
126
|
baseUrl?: string | undefined;
|
|
127
127
|
}>>;
|
|
128
128
|
mistral: z.ZodOptional<z.ZodObject<{
|
|
@@ -132,23 +132,10 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
132
132
|
model: string;
|
|
133
133
|
apiKey?: string | undefined;
|
|
134
134
|
}, {
|
|
135
|
-
model?: string | undefined;
|
|
136
135
|
apiKey?: string | undefined;
|
|
136
|
+
model?: string | undefined;
|
|
137
137
|
}>>;
|
|
138
138
|
}, "strip", z.ZodTypeAny, {
|
|
139
|
-
"google-ai"?: {
|
|
140
|
-
model: string;
|
|
141
|
-
apiKey?: string | undefined;
|
|
142
|
-
} | undefined;
|
|
143
|
-
openai?: {
|
|
144
|
-
model: string;
|
|
145
|
-
apiKey?: string | undefined;
|
|
146
|
-
baseURL?: string | undefined;
|
|
147
|
-
} | undefined;
|
|
148
|
-
anthropic?: {
|
|
149
|
-
model: string;
|
|
150
|
-
apiKey?: string | undefined;
|
|
151
|
-
} | undefined;
|
|
152
139
|
vertex?: {
|
|
153
140
|
model: string;
|
|
154
141
|
location: string;
|
|
@@ -165,39 +152,39 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
165
152
|
secretAccessKey?: string | undefined;
|
|
166
153
|
sessionToken?: string | undefined;
|
|
167
154
|
} | undefined;
|
|
168
|
-
|
|
155
|
+
anthropic?: {
|
|
169
156
|
model: string;
|
|
170
157
|
apiKey?: string | undefined;
|
|
171
|
-
endpoint?: string | undefined;
|
|
172
|
-
deploymentId?: string | undefined;
|
|
173
158
|
} | undefined;
|
|
174
|
-
|
|
159
|
+
openai?: {
|
|
175
160
|
model: string;
|
|
176
|
-
|
|
177
|
-
|
|
161
|
+
apiKey?: string | undefined;
|
|
162
|
+
baseURL?: string | undefined;
|
|
178
163
|
} | undefined;
|
|
179
|
-
|
|
164
|
+
"google-ai"?: {
|
|
180
165
|
model: string;
|
|
181
166
|
apiKey?: string | undefined;
|
|
182
167
|
} | undefined;
|
|
183
|
-
|
|
168
|
+
ollama?: {
|
|
169
|
+
timeout: number;
|
|
184
170
|
model: string;
|
|
185
|
-
|
|
171
|
+
baseUrl: string;
|
|
186
172
|
} | undefined;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
model?: string | undefined;
|
|
173
|
+
azure?: {
|
|
174
|
+
model: string;
|
|
190
175
|
apiKey?: string | undefined;
|
|
176
|
+
endpoint?: string | undefined;
|
|
177
|
+
deploymentId?: string | undefined;
|
|
191
178
|
} | undefined;
|
|
192
|
-
|
|
193
|
-
model
|
|
179
|
+
huggingface?: {
|
|
180
|
+
model: string;
|
|
194
181
|
apiKey?: string | undefined;
|
|
195
|
-
baseURL?: string | undefined;
|
|
196
182
|
} | undefined;
|
|
197
|
-
|
|
198
|
-
model
|
|
183
|
+
mistral?: {
|
|
184
|
+
model: string;
|
|
199
185
|
apiKey?: string | undefined;
|
|
200
186
|
} | undefined;
|
|
187
|
+
}, {
|
|
201
188
|
vertex?: {
|
|
202
189
|
model?: string | undefined;
|
|
203
190
|
projectId?: string | undefined;
|
|
@@ -214,24 +201,37 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
214
201
|
secretAccessKey?: string | undefined;
|
|
215
202
|
sessionToken?: string | undefined;
|
|
216
203
|
} | undefined;
|
|
217
|
-
|
|
204
|
+
anthropic?: {
|
|
205
|
+
apiKey?: string | undefined;
|
|
218
206
|
model?: string | undefined;
|
|
207
|
+
} | undefined;
|
|
208
|
+
openai?: {
|
|
219
209
|
apiKey?: string | undefined;
|
|
220
|
-
|
|
221
|
-
|
|
210
|
+
baseURL?: string | undefined;
|
|
211
|
+
model?: string | undefined;
|
|
222
212
|
} | undefined;
|
|
223
|
-
|
|
213
|
+
"google-ai"?: {
|
|
214
|
+
apiKey?: string | undefined;
|
|
224
215
|
model?: string | undefined;
|
|
216
|
+
} | undefined;
|
|
217
|
+
ollama?: {
|
|
225
218
|
timeout?: number | undefined;
|
|
219
|
+
model?: string | undefined;
|
|
226
220
|
baseUrl?: string | undefined;
|
|
227
221
|
} | undefined;
|
|
228
|
-
|
|
229
|
-
model?: string | undefined;
|
|
222
|
+
azure?: {
|
|
230
223
|
apiKey?: string | undefined;
|
|
224
|
+
model?: string | undefined;
|
|
225
|
+
endpoint?: string | undefined;
|
|
226
|
+
deploymentId?: string | undefined;
|
|
231
227
|
} | undefined;
|
|
232
228
|
huggingface?: {
|
|
229
|
+
apiKey?: string | undefined;
|
|
233
230
|
model?: string | undefined;
|
|
231
|
+
} | undefined;
|
|
232
|
+
mistral?: {
|
|
234
233
|
apiKey?: string | undefined;
|
|
234
|
+
model?: string | undefined;
|
|
235
235
|
} | undefined;
|
|
236
236
|
}>>;
|
|
237
237
|
profiles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
@@ -456,19 +456,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
456
456
|
}>>;
|
|
457
457
|
}, "strip", z.ZodTypeAny, {
|
|
458
458
|
providers: {
|
|
459
|
-
"google-ai"?: {
|
|
460
|
-
model: string;
|
|
461
|
-
apiKey?: string | undefined;
|
|
462
|
-
} | undefined;
|
|
463
|
-
openai?: {
|
|
464
|
-
model: string;
|
|
465
|
-
apiKey?: string | undefined;
|
|
466
|
-
baseURL?: string | undefined;
|
|
467
|
-
} | undefined;
|
|
468
|
-
anthropic?: {
|
|
469
|
-
model: string;
|
|
470
|
-
apiKey?: string | undefined;
|
|
471
|
-
} | undefined;
|
|
472
459
|
vertex?: {
|
|
473
460
|
model: string;
|
|
474
461
|
location: string;
|
|
@@ -485,27 +472,40 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
485
472
|
secretAccessKey?: string | undefined;
|
|
486
473
|
sessionToken?: string | undefined;
|
|
487
474
|
} | undefined;
|
|
488
|
-
|
|
475
|
+
anthropic?: {
|
|
489
476
|
model: string;
|
|
490
477
|
apiKey?: string | undefined;
|
|
491
|
-
endpoint?: string | undefined;
|
|
492
|
-
deploymentId?: string | undefined;
|
|
493
478
|
} | undefined;
|
|
494
|
-
|
|
479
|
+
openai?: {
|
|
480
|
+
model: string;
|
|
481
|
+
apiKey?: string | undefined;
|
|
482
|
+
baseURL?: string | undefined;
|
|
483
|
+
} | undefined;
|
|
484
|
+
"google-ai"?: {
|
|
495
485
|
model: string;
|
|
486
|
+
apiKey?: string | undefined;
|
|
487
|
+
} | undefined;
|
|
488
|
+
ollama?: {
|
|
496
489
|
timeout: number;
|
|
490
|
+
model: string;
|
|
497
491
|
baseUrl: string;
|
|
498
492
|
} | undefined;
|
|
499
|
-
|
|
493
|
+
azure?: {
|
|
500
494
|
model: string;
|
|
501
495
|
apiKey?: string | undefined;
|
|
496
|
+
endpoint?: string | undefined;
|
|
497
|
+
deploymentId?: string | undefined;
|
|
502
498
|
} | undefined;
|
|
503
499
|
huggingface?: {
|
|
504
500
|
model: string;
|
|
505
501
|
apiKey?: string | undefined;
|
|
506
502
|
} | undefined;
|
|
503
|
+
mistral?: {
|
|
504
|
+
model: string;
|
|
505
|
+
apiKey?: string | undefined;
|
|
506
|
+
} | undefined;
|
|
507
507
|
};
|
|
508
|
-
defaultProvider: "
|
|
508
|
+
defaultProvider: "vertex" | "bedrock" | "anthropic" | "openai" | "google-ai" | "ollama" | "azure" | "huggingface" | "mistral" | "auto";
|
|
509
509
|
profiles: Record<string, any>;
|
|
510
510
|
preferences: {
|
|
511
511
|
maxTokens: number;
|
|
@@ -554,19 +554,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
554
554
|
};
|
|
555
555
|
}, {
|
|
556
556
|
providers?: {
|
|
557
|
-
"google-ai"?: {
|
|
558
|
-
model?: string | undefined;
|
|
559
|
-
apiKey?: string | undefined;
|
|
560
|
-
} | undefined;
|
|
561
|
-
openai?: {
|
|
562
|
-
model?: string | undefined;
|
|
563
|
-
apiKey?: string | undefined;
|
|
564
|
-
baseURL?: string | undefined;
|
|
565
|
-
} | undefined;
|
|
566
|
-
anthropic?: {
|
|
567
|
-
model?: string | undefined;
|
|
568
|
-
apiKey?: string | undefined;
|
|
569
|
-
} | undefined;
|
|
570
557
|
vertex?: {
|
|
571
558
|
model?: string | undefined;
|
|
572
559
|
projectId?: string | undefined;
|
|
@@ -583,27 +570,40 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
583
570
|
secretAccessKey?: string | undefined;
|
|
584
571
|
sessionToken?: string | undefined;
|
|
585
572
|
} | undefined;
|
|
586
|
-
|
|
573
|
+
anthropic?: {
|
|
574
|
+
apiKey?: string | undefined;
|
|
575
|
+
model?: string | undefined;
|
|
576
|
+
} | undefined;
|
|
577
|
+
openai?: {
|
|
578
|
+
apiKey?: string | undefined;
|
|
579
|
+
baseURL?: string | undefined;
|
|
587
580
|
model?: string | undefined;
|
|
581
|
+
} | undefined;
|
|
582
|
+
"google-ai"?: {
|
|
588
583
|
apiKey?: string | undefined;
|
|
589
|
-
|
|
590
|
-
deploymentId?: string | undefined;
|
|
584
|
+
model?: string | undefined;
|
|
591
585
|
} | undefined;
|
|
592
586
|
ollama?: {
|
|
593
|
-
model?: string | undefined;
|
|
594
587
|
timeout?: number | undefined;
|
|
588
|
+
model?: string | undefined;
|
|
595
589
|
baseUrl?: string | undefined;
|
|
596
590
|
} | undefined;
|
|
597
|
-
|
|
598
|
-
model?: string | undefined;
|
|
591
|
+
azure?: {
|
|
599
592
|
apiKey?: string | undefined;
|
|
593
|
+
model?: string | undefined;
|
|
594
|
+
endpoint?: string | undefined;
|
|
595
|
+
deploymentId?: string | undefined;
|
|
600
596
|
} | undefined;
|
|
601
597
|
huggingface?: {
|
|
598
|
+
apiKey?: string | undefined;
|
|
602
599
|
model?: string | undefined;
|
|
600
|
+
} | undefined;
|
|
601
|
+
mistral?: {
|
|
603
602
|
apiKey?: string | undefined;
|
|
603
|
+
model?: string | undefined;
|
|
604
604
|
} | undefined;
|
|
605
605
|
} | undefined;
|
|
606
|
-
defaultProvider?: "
|
|
606
|
+
defaultProvider?: "vertex" | "bedrock" | "anthropic" | "openai" | "google-ai" | "ollama" | "azure" | "huggingface" | "mistral" | "auto" | undefined;
|
|
607
607
|
profiles?: Record<string, any> | undefined;
|
|
608
608
|
preferences?: {
|
|
609
609
|
maxTokens?: number | undefined;
|
package/dist/cli/commands/mcp.js
CHANGED
|
@@ -390,6 +390,10 @@ export class MCPCommandFactory {
|
|
|
390
390
|
static async executeInstall(argv) {
|
|
391
391
|
try {
|
|
392
392
|
const serverName = argv.server;
|
|
393
|
+
if (!serverName) {
|
|
394
|
+
logger.error(chalk.red("❌ Server name is required"));
|
|
395
|
+
process.exit(1);
|
|
396
|
+
}
|
|
393
397
|
const serverConfig = POPULAR_MCP_SERVERS[serverName];
|
|
394
398
|
if (!serverConfig) {
|
|
395
399
|
logger.error(chalk.red(`❌ Unknown server: ${serverName}`));
|
|
@@ -409,11 +413,12 @@ export class MCPCommandFactory {
|
|
|
409
413
|
const parsedEnv = JSON.parse(argv.env);
|
|
410
414
|
env = { ...env, ...parsedEnv };
|
|
411
415
|
}
|
|
412
|
-
catch (
|
|
416
|
+
catch (error) {
|
|
413
417
|
if (spinner) {
|
|
414
418
|
spinner.fail();
|
|
415
419
|
}
|
|
416
420
|
logger.error(chalk.red("❌ Invalid JSON in env parameter"));
|
|
421
|
+
logger.error(chalk.red(`Error details: ${error instanceof Error ? error.message : String(error)}`));
|
|
417
422
|
process.exit(1);
|
|
418
423
|
}
|
|
419
424
|
}
|
|
@@ -421,6 +426,7 @@ export class MCPCommandFactory {
|
|
|
421
426
|
...serverConfig,
|
|
422
427
|
id: serverName,
|
|
423
428
|
name: serverName,
|
|
429
|
+
env,
|
|
424
430
|
});
|
|
425
431
|
// Add server to NeuroLink - direct usage, zero transformations!
|
|
426
432
|
const sdk = new NeuroLink();
|
|
@@ -461,6 +467,7 @@ export class MCPCommandFactory {
|
|
|
461
467
|
}
|
|
462
468
|
catch (testError) {
|
|
463
469
|
logger.always(chalk.yellow("⚠️ Could not test connection"));
|
|
470
|
+
logger.debug(`Test connection _error: ${testError instanceof Error ? testError.message : String(testError)}`);
|
|
464
471
|
}
|
|
465
472
|
}
|
|
466
473
|
catch (_error) {
|
|
@@ -474,7 +481,15 @@ export class MCPCommandFactory {
|
|
|
474
481
|
static async executeAdd(argv) {
|
|
475
482
|
try {
|
|
476
483
|
const name = argv.name;
|
|
484
|
+
if (!name) {
|
|
485
|
+
logger.error(chalk.red("❌ Server name is required"));
|
|
486
|
+
process.exit(1);
|
|
487
|
+
}
|
|
477
488
|
const command = argv.command;
|
|
489
|
+
if (!command) {
|
|
490
|
+
logger.error(chalk.red("❌ Command is required"));
|
|
491
|
+
process.exit(1);
|
|
492
|
+
}
|
|
478
493
|
const spinner = argv.quiet
|
|
479
494
|
? null
|
|
480
495
|
: ora(`Adding custom MCP server: ${name}...`).start();
|
|
@@ -484,11 +499,12 @@ export class MCPCommandFactory {
|
|
|
484
499
|
try {
|
|
485
500
|
env = JSON.parse(argv.env);
|
|
486
501
|
}
|
|
487
|
-
catch (
|
|
502
|
+
catch (error) {
|
|
488
503
|
if (spinner) {
|
|
489
504
|
spinner.fail();
|
|
490
505
|
}
|
|
491
506
|
logger.error(chalk.red("❌ Invalid JSON in env parameter"));
|
|
507
|
+
logger.error(chalk.red(`Error details: ${error instanceof Error ? error.message : String(error)}`));
|
|
492
508
|
process.exit(1);
|
|
493
509
|
}
|
|
494
510
|
}
|
|
@@ -534,7 +550,6 @@ export class MCPCommandFactory {
|
|
|
534
550
|
? null
|
|
535
551
|
: ora("Testing MCP server connections...").start();
|
|
536
552
|
const sdk = new NeuroLink();
|
|
537
|
-
const rawMcpStatus = await sdk.getMCPStatus();
|
|
538
553
|
let serversToTest = await sdk.listMCPServers();
|
|
539
554
|
if (targetServer) {
|
|
540
555
|
serversToTest = serversToTest.filter((s) => s.name === targetServer);
|
|
@@ -596,7 +611,15 @@ export class MCPCommandFactory {
|
|
|
596
611
|
static async executeExec(argv) {
|
|
597
612
|
try {
|
|
598
613
|
const serverName = argv.server;
|
|
614
|
+
if (!serverName) {
|
|
615
|
+
logger.error(chalk.red("❌ Server name is required"));
|
|
616
|
+
process.exit(1);
|
|
617
|
+
}
|
|
599
618
|
const toolName = argv.tool;
|
|
619
|
+
if (!toolName) {
|
|
620
|
+
logger.error(chalk.red("❌ Tool name is required"));
|
|
621
|
+
process.exit(1);
|
|
622
|
+
}
|
|
600
623
|
const spinner = argv.quiet
|
|
601
624
|
? null
|
|
602
625
|
: ora(`Executing ${toolName} on ${serverName}...`).start();
|
|
@@ -606,11 +629,12 @@ export class MCPCommandFactory {
|
|
|
606
629
|
try {
|
|
607
630
|
params = JSON.parse(argv.params);
|
|
608
631
|
}
|
|
609
|
-
catch (
|
|
632
|
+
catch (error) {
|
|
610
633
|
if (spinner) {
|
|
611
634
|
spinner.fail();
|
|
612
635
|
}
|
|
613
636
|
logger.error(chalk.red("❌ Invalid JSON in params parameter"));
|
|
637
|
+
logger.error(chalk.red(`Error details: ${error instanceof Error ? error.message : String(error)}`));
|
|
614
638
|
process.exit(1);
|
|
615
639
|
}
|
|
616
640
|
}
|
|
@@ -691,7 +715,7 @@ export class MCPCommandFactory {
|
|
|
691
715
|
tool: toolName,
|
|
692
716
|
server: serverName,
|
|
693
717
|
params,
|
|
694
|
-
|
|
718
|
+
_error: errorMessage,
|
|
695
719
|
success: false,
|
|
696
720
|
timestamp: new Date().toISOString(),
|
|
697
721
|
};
|
|
@@ -718,6 +742,10 @@ export class MCPCommandFactory {
|
|
|
718
742
|
static async executeRemove(argv) {
|
|
719
743
|
try {
|
|
720
744
|
const serverName = argv.server;
|
|
745
|
+
if (!serverName) {
|
|
746
|
+
logger.error(chalk.red("❌ Server name is required"));
|
|
747
|
+
process.exit(1);
|
|
748
|
+
}
|
|
721
749
|
const sdk = new NeuroLink();
|
|
722
750
|
const allServers = await sdk.listMCPServers();
|
|
723
751
|
const server = allServers.find((s) => s.name === serverName);
|
|
@@ -856,8 +884,9 @@ export class MCPCommandFactory {
|
|
|
856
884
|
}
|
|
857
885
|
}
|
|
858
886
|
}
|
|
859
|
-
catch (
|
|
860
|
-
//
|
|
887
|
+
catch (error) {
|
|
888
|
+
// Log discovery errors for debugging but don't fail
|
|
889
|
+
logger.debug(`Claude Desktop discovery error: ${error instanceof Error ? error.message : String(error)}`);
|
|
861
890
|
}
|
|
862
891
|
return servers;
|
|
863
892
|
}
|
|
@@ -892,8 +921,9 @@ export class MCPCommandFactory {
|
|
|
892
921
|
}
|
|
893
922
|
}
|
|
894
923
|
}
|
|
895
|
-
catch (
|
|
896
|
-
//
|
|
924
|
+
catch (error) {
|
|
925
|
+
// Log discovery errors for debugging but don't fail
|
|
926
|
+
logger.debug(`VS Code discovery error: ${error instanceof Error ? error.message : String(error)}`);
|
|
897
927
|
}
|
|
898
928
|
return servers;
|
|
899
929
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Part of Phase 4.1 - Models Command System
|
|
5
5
|
*/
|
|
6
6
|
import { ModelResolver, formatSearchResults, formatRecommendation, formatComparison, } from "../../lib/models/modelResolver.js";
|
|
7
|
-
import { getAllModels, formatModelForDisplay, } from "../../lib/models/modelRegistry.js";
|
|
7
|
+
import { getAllModels, getModelsByProvider, getAvailableProviders, formatModelForDisplay, } from "../../lib/models/modelRegistry.js";
|
|
8
8
|
import chalk from "chalk";
|
|
9
9
|
import ora from "ora";
|
|
10
10
|
import { logger } from "../../lib/utils/logger.js";
|
|
@@ -65,12 +65,12 @@ export class ModelsCommandFactory {
|
|
|
65
65
|
describe: "Manage and discover AI models",
|
|
66
66
|
builder: (yargs) => {
|
|
67
67
|
return yargs
|
|
68
|
-
.command("list", "List available models with filtering options", this.buildListOptions, this.executeList)
|
|
69
|
-
.command("search [query]", "Search models by capabilities, use case, or features", this.buildSearchOptions, this.executeSearch)
|
|
70
|
-
.command("best", "Get the best model recommendation for your use case", this.buildBestOptions, this.executeBest)
|
|
71
|
-
.command("resolve <model>", "Resolve model aliases and find exact model names", this.buildResolveOptions, this.executeResolve)
|
|
72
|
-
.command("compare <models..>", "Compare multiple models side by side", this.buildCompareOptions, this.executeCompare)
|
|
73
|
-
.command("stats", "Show model registry statistics and insights", this.buildStatsOptions, this.executeStats)
|
|
68
|
+
.command("list", "List available models with filtering options", (yargs) => this.buildListOptions(yargs), this.executeList)
|
|
69
|
+
.command("search [query]", "Search models by capabilities, use case, or features", (yargs) => this.buildSearchOptions(yargs), this.executeSearch)
|
|
70
|
+
.command("best", "Get the best model recommendation for your use case", (yargs) => this.buildBestOptions(yargs), this.executeBest)
|
|
71
|
+
.command("resolve <model>", "Resolve model aliases and find exact model names", (yargs) => this.buildResolveOptions(yargs), this.executeResolve)
|
|
72
|
+
.command("compare <models..>", "Compare multiple models side by side", (yargs) => this.buildCompareOptions(yargs), this.executeCompare)
|
|
73
|
+
.command("stats", "Show model registry statistics and insights", (yargs) => this.buildStatsOptions(yargs), this.executeStats)
|
|
74
74
|
.option("format", {
|
|
75
75
|
choices: ["table", "json", "compact"],
|
|
76
76
|
default: "table",
|
|
@@ -105,17 +105,7 @@ export class ModelsCommandFactory {
|
|
|
105
105
|
static buildListOptions(yargs) {
|
|
106
106
|
return yargs
|
|
107
107
|
.option("provider", {
|
|
108
|
-
choices:
|
|
109
|
-
"openai",
|
|
110
|
-
"bedrock",
|
|
111
|
-
"vertex",
|
|
112
|
-
"anthropic",
|
|
113
|
-
"azure",
|
|
114
|
-
"google-ai",
|
|
115
|
-
"huggingface",
|
|
116
|
-
"ollama",
|
|
117
|
-
"mistral",
|
|
118
|
-
],
|
|
108
|
+
choices: getAvailableProviders(),
|
|
119
109
|
description: "Filter by AI provider",
|
|
120
110
|
})
|
|
121
111
|
.option("category", {
|
|
@@ -306,19 +296,25 @@ export class ModelsCommandFactory {
|
|
|
306
296
|
? null
|
|
307
297
|
: ora("Loading model registry...").start();
|
|
308
298
|
let models = getAllModels();
|
|
309
|
-
// Apply filters
|
|
299
|
+
// Apply filters - Use getModelsByProvider for efficiency when provider is specified
|
|
310
300
|
if (argv.provider) {
|
|
311
301
|
const providers = Array.isArray(argv.provider)
|
|
312
302
|
? argv.provider
|
|
313
303
|
: [argv.provider];
|
|
314
|
-
|
|
304
|
+
// Use optimized function for single provider, filter for multiple
|
|
305
|
+
if (providers.length === 1) {
|
|
306
|
+
models = getModelsByProvider(providers[0]);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
models = models.filter((model) => providers.includes(model.provider));
|
|
310
|
+
}
|
|
315
311
|
}
|
|
316
312
|
if (argv.category) {
|
|
317
313
|
models = models.filter((model) => model.category === argv.category);
|
|
318
314
|
}
|
|
319
315
|
if (argv.capability) {
|
|
320
316
|
models = models.filter((model) => {
|
|
321
|
-
return argv.capability
|
|
317
|
+
return (argv.capability?.every((cap) => model.capabilities[cap]) ?? false);
|
|
322
318
|
});
|
|
323
319
|
}
|
|
324
320
|
if (!argv.deprecated) {
|
|
@@ -525,6 +521,10 @@ export class ModelsCommandFactory {
|
|
|
525
521
|
static async executeResolve(argv) {
|
|
526
522
|
try {
|
|
527
523
|
const query = argv.model;
|
|
524
|
+
if (!query) {
|
|
525
|
+
logger.error(chalk.red("❌ Model name is required"));
|
|
526
|
+
process.exit(1);
|
|
527
|
+
}
|
|
528
528
|
const model = ModelResolver.resolveModel(query);
|
|
529
529
|
if (!model) {
|
|
530
530
|
logger.always(chalk.red(`❌ Could not resolve model: ${query}`));
|
|
@@ -567,6 +567,10 @@ export class ModelsCommandFactory {
|
|
|
567
567
|
static async executeCompare(argv) {
|
|
568
568
|
try {
|
|
569
569
|
const modelIds = argv.models;
|
|
570
|
+
if (!modelIds || modelIds.length === 0) {
|
|
571
|
+
logger.error(chalk.red("❌ Model IDs are required for comparison"));
|
|
572
|
+
process.exit(1);
|
|
573
|
+
}
|
|
570
574
|
const comparison = ModelResolver.compareModels(modelIds);
|
|
571
575
|
if (argv.format === "json") {
|
|
572
576
|
logger.always(JSON.stringify(formatComparison(comparison), null, 2));
|
|
@@ -100,9 +100,9 @@ async function removeModelHandler(argv) {
|
|
|
100
100
|
}
|
|
101
101
|
spinner.succeed(`Successfully removed ${model}`);
|
|
102
102
|
}
|
|
103
|
-
catch (
|
|
103
|
+
catch (_error) {
|
|
104
104
|
spinner.fail(`Failed to remove ${model}`);
|
|
105
|
-
const errorMessage =
|
|
105
|
+
const errorMessage = _error instanceof Error ? _error.message : String(_error);
|
|
106
106
|
logger.error(chalk.red("Error:", errorMessage));
|
|
107
107
|
process.exit(1);
|
|
108
108
|
}
|
|
@@ -74,6 +74,14 @@ export declare class CLICommandFactory {
|
|
|
74
74
|
* Execute the generate command
|
|
75
75
|
*/
|
|
76
76
|
private static executeGenerate;
|
|
77
|
+
/**
|
|
78
|
+
* Log debug information for stream result
|
|
79
|
+
*/
|
|
80
|
+
private static logStreamDebugInfo;
|
|
81
|
+
/**
|
|
82
|
+
* Handle stdin input for stream command
|
|
83
|
+
*/
|
|
84
|
+
private static handleStdinInput;
|
|
77
85
|
/**
|
|
78
86
|
* Execute the stream command
|
|
79
87
|
*/
|