diff --git a/internal/agent/coordinator.go b/internal/agent/coordinator.go index f9209ee6bf853b698211c56353c315b3379459f3..2eef9fe377c1d1cd3ad22ccd5a26a5f2a5e1cc62 100644 --- a/internal/agent/coordinator.go +++ b/internal/agent/coordinator.go @@ -1075,7 +1075,7 @@ func (c *coordinator) runSubAgent(ctx context.Context, params subAgentParams) (f NonInteractive: true, }) if err != nil { - return fantasy.NewTextErrorResponse("error generating response"), nil + return fantasy.NewTextErrorResponse(fmt.Sprintf("Failed to generate response: %s", err)), nil } // Update parent session cost diff --git a/internal/agent/coordinator_test.go b/internal/agent/coordinator_test.go index 657575b6458d7fb815c7a9646a9d605c8b89ec42..17f9ff656022be88acfb235c05b4b821e6d71a0b 100644 --- a/internal/agent/coordinator_test.go +++ b/internal/agent/coordinator_test.go @@ -196,7 +196,7 @@ func TestRunSubAgent(t *testing.T) { require.NoError(t, err) agent := newMockAgent(providerID, 4096, func(_ context.Context, _ SessionAgentCall) (*fantasy.AgentResult, error) { - return nil, errors.New("agent exploded") + return nil, errors.New("provider request failed") }) resp, err := coord.runSubAgent(t.Context(), subAgentParams{ @@ -210,7 +210,7 @@ func TestRunSubAgent(t *testing.T) { // runSubAgent returns (errorResponse, nil) when agent.Run fails — not a Go error. require.NoError(t, err) assert.True(t, resp.IsError) - assert.Equal(t, "error generating response", resp.Content) + assert.Equal(t, "Failed to generate response: provider request failed", resp.Content) }) t.Run("session setup callback is invoked", func(t *testing.T) {