deepseek-ai/deepseek-harness · error · LlmError

STREAM_CLOSED

STREAM_CLOSED

Error message

pi-ai event stream ended without done/error

What it means

Error "pi-ai event stream ended without done/error" thrown in deepseek-ai/deepseek-harness.

Source

Thrown at packages/llm/llm-pi-ai/src/stream.ts:210

        yield { type: 'usage', usage: mapUsage(event.message.usage) }
        yield {
          type: 'finish',
          reason: mapStopReason(event.message, contextWindow),
          replayState: toPiReplayState(event.message),
        }
        return
      case 'error':
        // In-stream error delivery (pi-ai's style) → error finish chunk
        // (the harness's other sanctioned error path besides throwing).
        yield { type: 'usage', usage: mapUsage(event.error.usage) }
        yield { type: 'finish', reason: mapStopReason(event.error, contextWindow) }
        return
      // no default: AssistantMessageEvent is pi-ai's closed union; a new
      // event type should fail compilation here via tsc's exhaustiveness
      // when one is added (switch covers all current variants).
    }
  }
  throw new LlmError('pi-ai event stream ended without done/error', 'STREAM_CLOSED')
}

View on GitHub (pinned to b150a551b8)

Solutions

  1. Retry the request; the event stream ended without a done or error event.

When it happens

Trigger: Thrown at packages/llm/llm-pi-ai/src/stream.ts:210 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24). Data as JSON: /api/errors/7076bae7dcbbb26d. Report an issue: GitHub.