プロバイダーエラーの正規化。プロバイダー/LLM API のエラーを共通の形(例: context_overflow と api_error)に分類し、不均一なレスポンスボディから人間可読なメッセージを抽出し、メッセージのパターンマッチングによって多数のプロバイダーにわたるコンテキストウィンドウのオーバーフローを検出する。
Methods
(static) parseAPICallError(input) → {Object}
非ストリーミングの API 呼び出しエラーを共通の形に正規化する。(isOverflow、413、または明示的な context_length_exceeded コードによって)"context_overflow" に分類するか、そうでなければステータス/リトライ情報を伴う "api_error" に分類する。
| Name | Type | Description |
|---|---|---|
input | Object |
|
正規化されたエラー記述子。
- Type:
- Object
(static) parseStreamError(input) → {Object}
ストリーミングレスポンス内で配信されたエラーオブジェクトを正規化されたエラーへパースする。既知のエラーコード(context_length_exceeded、insufficient_quota、usage_not_included、invalid_prompt、server_error)をその型とリトライ可否にマッピングする。
| Name | Type | Description |
|---|---|---|
input | * | 生のストリームエラーペイロード(オブジェクトまたは JSON 文字列)。 |
正規化されたエラー {type, message, ...}、またはエラーでない場合は undefined。
- Type:
- Object
(inner) isOpenAiErrorRetryable(e) → {boolean}
OpenAI 形式の API エラーをリトライすべきかを判定する。OpenAI が実際には利用可能なモデルに対して時折 404 を返すため、404 はリトライ可能として扱う。
| Name | Type | Description |
|---|---|---|
e | Object | プロバイダーエラー( |
リクエストをリトライすべき場合は true。
- Type:
- boolean
(inner) isOverflow(message) → {boolean}
エラーメッセージがコンテキストウィンドウのオーバーフローを示すかを検出する。プロバイダー固有の OVERFLOW_PATTERNS に加え、Cerebras や Mistral などのプロバイダーが返す素の 400/413 "(no body)" レスポンスにマッチする。
| Name | Type | Description |
|---|---|---|
message | string | テスト対象のエラーメッセージのテキスト。 |
メッセージがコンテキストオーバーフローのように見える場合は true。
- Type:
- boolean
(inner) json(input) → {Object}
値をプレーンオブジェクトに変換する。JSON 文字列をパースし、オブジェクトはそのまま通し、オブジェクトでない(またはオブジェクトにパースされない)ものには undefined を返す。
| Name | Type | Description |
|---|---|---|
input | * | 変換する JSON 文字列または値。 |
パースされたオブジェクト、または undefined。
- Type:
- Object
(inner) message(providerID, e) → {string}
プロバイダーエラーに対して最適な人間可読メッセージを構築する。エラーメッセージからレスポンスボディ、JSON のエラーフィールド、HTTP ステータステキストへとフォールバックし、HTML のゲートウェイ/プロキシ 401/403 ページを実行可能なガイダンスに書き換える。
| Name | Type | Description |
|---|---|---|
providerID | string | プロバイダー ID(プロバイダー固有の処理用に予約)。 |
e | Object | プロバイダーエラー( |
トリム済みで人間可読なエラーメッセージ。
- Type:
- string