{"record":{"id":"317de7c9f284e7db","repo":"deepseek-ai/deepseek-harness","slug":"timeout","errorCode":"TIMEOUT","errorMessage":"DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms","messagePattern":"DeepSeek stream idle timeout after (.+?)ms","errorType":"error_code","errorClass":"LlmError","httpStatus":null,"severity":"error","filePath":"packages/llm/llm-deepseek/src/adapter.ts","lineNumber":488,"sourceCode":"      connection,\n      apiKey,\n      userId,\n      attachments,\n      () => { watchdog.pulse() },\n    )[Symbol.asyncIterator]()\n    let exhausted = false\n    try {\n      while (true) {\n        const result = await watchdog.next(iterator)\n        if (result.done) {\n          exhausted = true\n          return\n        }\n        yield result.value\n      }\n    } catch (error: unknown) {\n      if (timeoutOf(watchdog.signal, STREAM_IDLE_TIMEOUT_CODE) !== undefined) {\n        throw new LlmError(\n          `DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms`,\n          'TIMEOUT',\n          { cause: error },\n        )\n      }\n      if (options.signal?.aborted) {\n        throw new LlmError('DeepSeek request aborted by caller', 'ABORTED', { cause: error })\n      }\n      if (error instanceof LlmError) throw error\n      throw new LlmError(`DeepSeek API stream from ${connection.baseURL} failed`, 'TRANSPORT', { cause: error })\n    } finally {\n      consumer.abort('DeepSeek stream consumer stopped')\n      if (!exhausted && iterator.return !== undefined) {\n        try {\n          await iterator.return()\n        } catch (_abortedTransportTeardown) {\n          // The consumer controller already owns termination; a return-time abort cannot add a second outcome.\n        }","sourceCodeStart":470,"sourceCodeEnd":506,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/llm/llm-deepseek/src/adapter.ts#L470-L506","documentation":"Error \"DeepSeek stream idle timeout after ${connection.streamIdleTimeoutMs}ms\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/llm/llm-deepseek/src/adapter.ts:488 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the request; if it persists, raise streamIdleTimeoutMs or check network and API health."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}