fix: improve error handling in GitHub Copilot provider (#919)
- Fix ignored error from SendAndWait call - Improve error message for unimplemented stdio mode with helpful guidance - Add TODO comment with reference link for future stdio implementation
This commit is contained in:
parent
25f26f305b
commit
71bdeb41c9
1 changed files with 7 additions and 3 deletions
|
|
@ -26,8 +26,9 @@ func NewGitHubCopilotProvider(uri string, connectMode string, model string) (*Gi
|
||||||
|
|
||||||
switch connectMode {
|
switch connectMode {
|
||||||
case "stdio":
|
case "stdio":
|
||||||
// TODO:
|
// TODO: Implement stdio mode for GitHub Copilot provider
|
||||||
return nil, fmt.Errorf("stdio mode not implemented")
|
// See https://github.com/github/copilot-sdk/blob/main/docs/getting-started.md for details
|
||||||
|
return nil, fmt.Errorf("stdio mode not implemented for GitHub Copilot provider; please use 'grpc' mode instead")
|
||||||
case "grpc":
|
case "grpc":
|
||||||
client := copilot.NewClient(&copilot.ClientOptions{
|
client := copilot.NewClient(&copilot.ClientOptions{
|
||||||
CLIUrl: uri,
|
CLIUrl: uri,
|
||||||
|
|
@ -100,9 +101,12 @@ func (p *GitHubCopilotProvider) Chat(
|
||||||
return nil, fmt.Errorf("provider closed")
|
return nil, fmt.Errorf("provider closed")
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, _ := session.SendAndWait(ctx, copilot.MessageOptions{
|
resp, err := session.SendAndWait(ctx, copilot.MessageOptions{
|
||||||
Prompt: string(fullcontent),
|
Prompt: string(fullcontent),
|
||||||
})
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to send message to copilot: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if resp == nil {
|
if resp == nil {
|
||||||
return nil, fmt.Errorf("empty response from copilot")
|
return nil, fmt.Errorf("empty response from copilot")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue