@@ -347,7 +347,16 @@ export class EvalServer extends EventEmitter {
347
347
result = await this . handleConfigureLLM ( connection , params ) ;
348
348
break ;
349
349
default :
350
- throw new Error ( `Unknown method: ${ method } ` ) ;
350
+ // JSON-RPC: Method not found
351
+ this . sendMessage ( connection . ws , {
352
+ jsonrpc : '2.0' ,
353
+ error : {
354
+ code : - 32601 ,
355
+ message : `Method not found: ${ method } `
356
+ } ,
357
+ id
358
+ } ) ;
359
+ return ;
351
360
}
352
361
353
362
// Send success response
@@ -388,15 +397,24 @@ export class EvalServer extends EventEmitter {
388
397
389
398
const { provider, apiKey, endpoint, models, partial = false } = params ;
390
399
391
- // Validate provider
400
+ // Validate inputs
392
401
const supportedProviders = [ 'openai' , 'litellm' , 'groq' , 'openrouter' ] ;
393
- if ( ! supportedProviders . includes ( provider ) ) {
394
- throw new Error ( `Unsupported provider: ${ provider } . Supported providers: ${ supportedProviders . join ( ', ' ) } ` ) ;
395
- }
396
-
397
- // Validate models
398
- if ( ! models || ! models . main ) {
399
- throw new Error ( 'Main model is required' ) ;
402
+ if ( partial ) {
403
+ // For partial updates, validate only provided fields
404
+ if ( provider && ! supportedProviders . includes ( provider ) ) {
405
+ throw new Error ( `Unsupported provider: ${ provider } . Supported providers: ${ supportedProviders . join ( ', ' ) } ` ) ;
406
+ }
407
+ if ( models && models . main === '' ) {
408
+ throw new Error ( 'Main model cannot be empty' ) ;
409
+ }
410
+ } else {
411
+ // For full updates, require provider and main model
412
+ if ( ! provider || ! supportedProviders . includes ( provider ) ) {
413
+ throw new Error ( `Unsupported or missing provider: ${ provider ?? '(none)' } . Supported providers: ${ supportedProviders . join ( ', ' ) } ` ) ;
414
+ }
415
+ if ( ! models || ! models . main ) {
416
+ throw new Error ( 'Main model is required' ) ;
417
+ }
400
418
}
401
419
402
420
// Store configuration for this client connection
0 commit comments