fix: structure hermes empty response failures
This commit is contained in:
parent
dbce207d83
commit
0915adc565
@ -447,14 +447,7 @@ func (s *Server) handleHermesACPUpstreamSessionRequest(method string, params map
|
||||
}
|
||||
}
|
||||
if output == "" {
|
||||
return map[string]any{
|
||||
"success": false,
|
||||
"provider": s.providerID,
|
||||
"mode": "single-agent",
|
||||
"error": "hermes upstream returned empty response",
|
||||
"upstreamMethod": "session/prompt",
|
||||
"upstream": response,
|
||||
}
|
||||
return s.emptyUpstreamResponseFailure("session/prompt", response)
|
||||
}
|
||||
|
||||
s.sessionsMu.Lock()
|
||||
@ -485,6 +478,22 @@ func (s *Server) handleHermesACPUpstreamSessionRequest(method string, params map
|
||||
return result
|
||||
}
|
||||
|
||||
func (s *Server) emptyUpstreamResponseFailure(upstreamMethod string, upstream map[string]any) map[string]any {
|
||||
const message = "hermes upstream returned empty response"
|
||||
return map[string]any{
|
||||
"success": false,
|
||||
"status": "failed",
|
||||
"provider": s.providerID,
|
||||
"mode": "single-agent",
|
||||
"error": message,
|
||||
"message": message,
|
||||
"unavailableCode": "PROVIDER_EMPTY_RESPONSE",
|
||||
"unavailableMessage": message,
|
||||
"upstreamMethod": upstreamMethod,
|
||||
"upstream": upstream,
|
||||
}
|
||||
}
|
||||
|
||||
func normalizeHermesUpstreamMethod(method string) string {
|
||||
normalized := strings.ToLower(strings.TrimSpace(method))
|
||||
normalized = strings.ReplaceAll(normalized, ".", "/")
|
||||
|
||||
@ -186,6 +186,15 @@ func TestHandleRPCSessionStartRejectsEmptyUpstreamResponse(t *testing.T) {
|
||||
if got := result["error"]; got != "hermes upstream returned empty response" {
|
||||
t.Fatalf("expected empty-response error, got %#v", result)
|
||||
}
|
||||
if got := result["status"]; got != "failed" {
|
||||
t.Fatalf("expected failed status, got %#v", result)
|
||||
}
|
||||
if got := result["unavailableCode"]; got != "PROVIDER_EMPTY_RESPONSE" {
|
||||
t.Fatalf("expected PROVIDER_EMPTY_RESPONSE, got %#v", result)
|
||||
}
|
||||
if got := result["upstreamMethod"]; got != "session/prompt" {
|
||||
t.Fatalf("expected upstream method, got %#v", result)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewServerDefaultsHermesToSessionPrompt(t *testing.T) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user