プロバイダーエラーの正規化。プロバイダー/LLM API のエラーを共通の形(例: context_overflow と api_error)に分類し、不均一なレスポンスボディから人間可読なメッセージを抽出し、メッセージのパターンマッチングによって多数のプロバイダーにわたるコンテキストウィンドウのオーバーフローを検出する。

Methods

(static) parseAPICallError(input) → {Object}

非ストリーミングの API 呼び出しエラーを共通の形に正規化する。(isOverflow、413、または明示的な context_length_exceeded コードによって)"context_overflow" に分類するか、そうでなければステータス/リトライ情報を伴う "api_error" に分類する。

Parameters:
NameTypeDescription
inputObject

{providerID: string, error: Object} — プロバイダー ID と生の API エラー。

Returns:

正規化されたエラー記述子。

Type: 
Object

(static) parseStreamError(input) → {Object}

ストリーミングレスポンス内で配信されたエラーオブジェクトを正規化されたエラーへパースする。既知のエラーコード(context_length_exceeded、insufficient_quota、usage_not_included、invalid_prompt、server_error)をその型とリトライ可否にマッピングする。

Parameters:
NameTypeDescription
input*

生のストリームエラーペイロード(オブジェクトまたは JSON 文字列)。

Returns:

正規化されたエラー {type, message, ...}、またはエラーでない場合は undefined。

Type: 
Object

(inner) isOpenAiErrorRetryable(e) → {boolean}

OpenAI 形式の API エラーをリトライすべきかを判定する。OpenAI が実際には利用可能なモデルに対して時折 404 を返すため、404 はリトライ可能として扱う。

Parameters:
NameTypeDescription
eObject

プロバイダーエラー(statusCodeisRetryable)。

Returns:

リクエストをリトライすべき場合は true。

Type: 
boolean

(inner) isOverflow(message) → {boolean}

エラーメッセージがコンテキストウィンドウのオーバーフローを示すかを検出する。プロバイダー固有の OVERFLOW_PATTERNS に加え、Cerebras や Mistral などのプロバイダーが返す素の 400/413 "(no body)" レスポンスにマッチする。

Parameters:
NameTypeDescription
messagestring

テスト対象のエラーメッセージのテキスト。

Returns:

メッセージがコンテキストオーバーフローのように見える場合は true。

Type: 
boolean

(inner) json(input) → {Object}

値をプレーンオブジェクトに変換する。JSON 文字列をパースし、オブジェクトはそのまま通し、オブジェクトでない(またはオブジェクトにパースされない)ものには undefined を返す。

Parameters:
NameTypeDescription
input*

変換する JSON 文字列または値。

Returns:

パースされたオブジェクト、または undefined。

Type: 
Object

(inner) message(providerID, e) → {string}

プロバイダーエラーに対して最適な人間可読メッセージを構築する。エラーメッセージからレスポンスボディ、JSON のエラーフィールド、HTTP ステータステキストへとフォールバックし、HTML のゲートウェイ/プロキシ 401/403 ページを実行可能なガイダンスに書き換える。

Parameters:
NameTypeDescription
providerIDstring

プロバイダー ID(プロバイダー固有の処理用に予約)。

eObject

プロバイダーエラー(messageresponseBodystatusCode)。

Returns:

トリム済みで人間可読なエラーメッセージ。

Type: 
string