@@ -192,6 +192,14 @@ const makeSmeChatService = (options: SmeChatServiceLiveOptions = {}) =>
192192 new SmeChatError ( "validateSetup" , "Failed to validate Codex setup." , cause ) ,
193193 } ) ;
194194
195+ case "copilot" :
196+ return {
197+ ok : false ,
198+ severity : "warning" as const ,
199+ message : "GitHub Copilot is not available in SME Chat yet." ,
200+ resolvedAuthMethod : "auto" as const ,
201+ } ;
202+
195203 case "openclaw" :
196204 return validateOpenClawSetup ( {
197205 authMethod : conversation . authMethod as Extract <
@@ -499,18 +507,25 @@ const makeSmeChatService = (options: SmeChatServiceLiveOptions = {}) =>
499507 abortSignal : controller . signal ,
500508 } ) . pipe ( Effect . ensuring ( clearInterrupt ( input . conversationId ) ) ) ;
501509 } )
502- : sendSmeViaProviderRuntime ( {
503- providerService,
504- provider : conv . provider ,
505- conversationId : input . conversationId ,
506- assistantMessageId,
507- model : conv . model ,
508- compiledPrompt,
509- ...( input . providerOptions ? { providerOptions : input . providerOptions } : { } ) ,
510- ...( onEvent ? { onEvent } : { } ) ,
511- setInterruptEffect : ( interrupt ) => setInterrupt ( input . conversationId , interrupt ) ,
512- clearInterruptEffect : clearInterrupt ( input . conversationId ) ,
513- } ) ;
510+ : conv . provider === "codex" || conv . provider === "openclaw"
511+ ? sendSmeViaProviderRuntime ( {
512+ providerService,
513+ provider : conv . provider ,
514+ conversationId : input . conversationId ,
515+ assistantMessageId,
516+ model : conv . model ,
517+ compiledPrompt,
518+ ...( input . providerOptions ? { providerOptions : input . providerOptions } : { } ) ,
519+ ...( onEvent ? { onEvent } : { } ) ,
520+ setInterruptEffect : ( interrupt ) => setInterrupt ( input . conversationId , interrupt ) ,
521+ clearInterruptEffect : clearInterrupt ( input . conversationId ) ,
522+ } )
523+ : Effect . fail (
524+ new SmeChatError (
525+ "sendMessage:validate" ,
526+ "GitHub Copilot is not available in SME Chat yet." ,
527+ ) ,
528+ ) ;
514529
515530 const responseText = yield * sendEffect . pipe (
516531 Effect . mapError ( ( cause ) =>
0 commit comments