provider-chain.json 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. {
  2. "circuit": {
  3. "closed": "閉じている(正常)",
  4. "halfOpen": "半開(テスト中)",
  5. "open": "開いている(遮断済み)",
  6. "unknown": "不明"
  7. },
  8. "errors": {
  9. "ENOTFOUND": "DNS解決失敗",
  10. "ECONNREFUSED": "接続拒否",
  11. "ETIMEDOUT": "接続またはタイムアウト",
  12. "ECONNRESET": "接続リセット",
  13. "EHOSTUNREACH": "ホスト到達不能(ネットワークルーティング問題)",
  14. "ENETUNREACH": "ネットワーク到達不能(ローカルネットワーク設定問題)",
  15. "EPROTO": "プロトコルエラー(SSL/TLS ハンドシェイク失敗)",
  16. "CLIENT_ABORT": "クライアントがリクエストを中断",
  17. "PROVIDER_TIMEOUT": "プロバイダーレスポンスタイムアウト(最初のバイト遅延が高い)",
  18. "STREAMING_IDLE_TIMEOUT": "ストリーミングアイドルタイムアウト(プロバイダーがデータ送信を停止)"
  19. },
  20. "summary": {
  21. "singleSuccess": "{total}個のプロバイダー、{healthy}個正常 → {provider} ✓",
  22. "sessionReuse": "セッション再利用 → {provider} ✓"
  23. },
  24. "description": {
  25. "noDecisionRecord": "決定記録なし",
  26. "sessionReuse": "セッション再利用 - プロバイダー選択",
  27. "sessionId": "セッションID: {id}",
  28. "unknown": "不明",
  29. "reuseProvider": "再利用プロバイダー: {provider}",
  30. "initialSelection": "初期選択: {provider}",
  31. "candidateCount": "{count}個の候補プロバイダー",
  32. "groupFiltered": "{group}グループでフィルタ後{count}個",
  33. "healthyCount": "ヘルスチェック後{count}個",
  34. "priority": "優先度{priority}",
  35. "candidate": "{name}({probability}%)",
  36. "requestChain": "リクエストチェーン:",
  37. "systemError": "システムエラー",
  38. "resourceNotFound": "リソースが見つかりません(404)",
  39. "concurrentLimit": "同時実行制限",
  40. "http2Fallback": "HTTP/2 フォールバック",
  41. "clientError": "クライアントエラー",
  42. "endpointPoolExhausted": "エンドポイントプール枯渇",
  43. "vendorTypeAllTimeout": "ベンダータイプ全エンドポイントタイムアウト"
  44. },
  45. "reasons": {
  46. "request_success": "成功",
  47. "retry_success": "リトライ成功",
  48. "retry_failed": "リトライ失敗",
  49. "system_error": "システムエラー",
  50. "resource_not_found": "リソースが見つかりません(404)",
  51. "client_error_non_retryable": "クライアントエラー",
  52. "concurrent_limit_failed": "同時実行制限",
  53. "http2_fallback": "HTTP/2 フォールバック",
  54. "session_reuse": "セッション再利用",
  55. "initial_selection": "初期選択",
  56. "endpoint_pool_exhausted": "エンドポイントプール枯渇",
  57. "vendor_type_all_timeout": "ベンダータイプ全エンドポイントタイムアウト"
  58. },
  59. "filterReasons": {
  60. "rate_limited": "レート制限",
  61. "circuit_open": "サーキットオープン",
  62. "disabled": "無効",
  63. "excluded": "除外済み",
  64. "format_type_mismatch": "フォーマット不一致",
  65. "type_mismatch": "タイプ不一致",
  66. "model_not_allowed": "モデル不許可",
  67. "context_1m_disabled": "1Mコンテキスト無効",
  68. "model_not_supported": "モデル非対応",
  69. "group_mismatch": "グループ不一致",
  70. "health_check_failed": "ヘルスチェック失敗",
  71. "endpoint_circuit_open": "エンドポイントサーキットオープン",
  72. "endpoint_disabled": "エンドポイント無効"
  73. },
  74. "filterDetails": {
  75. "vendor_type_circuit_open": "ベンダータイプ一時サーキットブレイク",
  76. "circuit_open": "サーキットブレーカーオープン",
  77. "circuit_half_open": "サーキットブレーカーハーフオープン",
  78. "rate_limited": "レート制限"
  79. },
  80. "details": {
  81. "selectionMethod": "選択方法",
  82. "attemptNumber": "試行回数",
  83. "endpoint": "エンドポイント",
  84. "config": "設定",
  85. "priority": "優先度",
  86. "weight": "重み",
  87. "costMultiplier": "コスト倍率",
  88. "groupTag": "グループタグ",
  89. "circuitBreaker": "サーキットブレーカー",
  90. "circuitDisabled": "無効",
  91. "failures": "回失敗",
  92. "modelRedirect": "モデルリダイレクト",
  93. "error": "エラー",
  94. "errorDetails": "エラー詳細",
  95. "decisionContext": "決定コンテキスト",
  96. "beforeHealthCheck": "ヘルスチェック前",
  97. "afterHealthCheck": "ヘルスチェック後",
  98. "filteredProviders": "フィルタされたプロバイダー",
  99. "priorityLevels": "優先度レベル",
  100. "candidates": "候補プロバイダー"
  101. },
  102. "technicalTimeline": "技術タイムライン",
  103. "timeline": {
  104. "sessionReuse": "セッション再利用",
  105. "sessionReuseSelection": "セッション再利用 - プロバイダー選択",
  106. "sessionReuseTitle": "セッション再利用 - プロバイダー選択",
  107. "sessionId": "セッションID: {id}",
  108. "reuseProvider": "再利用プロバイダー: {provider}",
  109. "configuration": "設定",
  110. "priority": "優先度",
  111. "weight": "重み",
  112. "cost": "コスト",
  113. "providerConfig": "プロバイダー設定: 優先度={priority} 重み={weight} コスト={cost}",
  114. "basedOnCache": "セッションキャッシュに基づいてプロバイダーを再利用(5分以内)",
  115. "sessionCache": "セッションキャッシュに基づく(5分以内)",
  116. "waitingForResult": "リクエスト結果を待っています...",
  117. "waiting": "リクエスト結果を待っています...",
  118. "initialSelection": "初期プロバイダー選択",
  119. "initialSelectionTitle": "初期プロバイダー選択",
  120. "systemStatus": "システム状態",
  121. "totalProviders": "総プロバイダー数: {count}個",
  122. "enabledProviders": "有効な{type}タイプ: {count}個",
  123. "type": "タイプ",
  124. "userGroup": "ユーザーグループ{group}: {count}個",
  125. "healthCheck": "ヘルスチェック通過: {count}個",
  126. "filtered": "フィルタ済み",
  127. "priorityLevel": "優先度",
  128. "priorityCandidates": "優先度{priority}の候補({count}個)",
  129. "candidates": "候補",
  130. "candidateInfo": " • {name}: 重み={weight} コスト={cost} 確率={probability}%",
  131. "selected": "✓ 選択: {provider}",
  132. "requestFailed": "リクエスト失敗(試行{attempt})",
  133. "resourceNotFoundFailed": "リソースが見つかりません(404)(試行{attempt})",
  134. "attemptNumber": "試行 {number}",
  135. "firstAttempt": "初回試行",
  136. "nthAttempt": "試行{attempt}",
  137. "provider": "プロバイダー: {provider}",
  138. "statusCode": "ステータスコード: {code}",
  139. "statusCodeInferred": "ステータスコード(推定): {code}",
  140. "error": "エラー: {error}",
  141. "requestDuration": "リクエスト時間: {duration}ms",
  142. "requestDurationSeconds": "リクエスト時間: {duration}s",
  143. "circuitStatus": "サーキット状態",
  144. "current": "現在",
  145. "circuitCurrent": "現在の状態: {state}",
  146. "failureCount": "失敗回数: {current}/{threshold}",
  147. "untilBreak": "遮断まで",
  148. "circuitRemaining": "遮断まで{remaining}回",
  149. "remaining": "残り{count}回",
  150. "status": "状態",
  151. "alreadyBroken": "すでに遮断済み",
  152. "circuitTriggered": "警告:サーキットブレーカーが作動しました",
  153. "circuitDisabled": "サーキットブレーカー無効",
  154. "errorDetails": "エラー詳細",
  155. "systemError": "システムエラー",
  156. "systemErrorFailed": "システムエラー(試行{attempt})",
  157. "errorType": "エラータイプ: システムエラー",
  158. "errorName": "エラー",
  159. "errorCode": "エラーコード: {code}",
  160. "errorSyscall": "システムコール: {syscall}",
  161. "errorMeaning": "意味: {meaning}",
  162. "meaning": "意味",
  163. "notCountedInCircuit": "このエラーはプロバイダーサーキットブレーカーにカウントされません",
  164. "systemErrorNote": "注記:このエラーはプロバイダーサーキットブレーカーにカウントされません",
  165. "resourceNotFoundNote": "注記:このエラーはサーキットブレーカーにカウントされず、リトライ枯渇後にフェイルオーバーします。",
  166. "reselection": "プロバイダー再選択",
  167. "reselect": "プロバイダー再選択",
  168. "excluded": "除外済み: {providers}",
  169. "remainingCandidates": "残りの候補: {count}個",
  170. "requestSuccess": "{label} リクエスト成功",
  171. "requestSuccessAttempt": "{attempt}リクエスト成功",
  172. "requestOk": "OK",
  173. "successStatus": "ステータス: {code} OK",
  174. "requestCompleted": "リクエスト正常完了",
  175. "completed": "リクエスト正常完了",
  176. "concurrentLimitFailed": "同時実行制限",
  177. "attemptFailed": "試行失敗(試行{attempt})",
  178. "concurrentLimit": "同時実行制限",
  179. "concurrentLimitInfo": "現在の同時実行数: {current}/{limit}",
  180. "sessions": "セッション",
  181. "withPriorityWeight": "(優先度={priority} 重み={weight})",
  182. "unknown": "不明",
  183. "noDecisionRecord": "決定記録なし",
  184. "modelRedirect": "モデルリダイレクト",
  185. "modelRedirectFrom": " リクエストモデル: {model}",
  186. "modelRedirectTo": " リダイレクト先: {model}",
  187. "modelRedirectBilling": " 課金モデル: {model}",
  188. "http2Fallback": "HTTP/2 プロトコルフォールバック",
  189. "http2ErrorType": "HTTP/2 エラータイプ: {type}",
  190. "http2FallbackNote": "HTTP/1.1 に透過的にフォールバック、サーキットブレーカーにカウントされません",
  191. "requestDetails": "リクエスト詳細(デバッグ用)",
  192. "requestMethod": "メソッド",
  193. "requestUrl": "URL",
  194. "requestHeaders": "ヘッダー",
  195. "requestBody": "ボディ",
  196. "requestBodyTruncated": "(切り捨て)",
  197. "clientErrorNonRetryable": "クライアントエラー(試行{attempt}、再試行不可)",
  198. "matchedRule": "一致したエラールール",
  199. "ruleId": "ルールID: {id}",
  200. "ruleCategory": "カテゴリ: {category}",
  201. "rulePattern": "パターン: {pattern}",
  202. "ruleMatchType": "一致タイプ: {matchType}",
  203. "ruleDescription": "説明: {description}",
  204. "ruleHasOverride": "上書き: 応答={response} ステータスコード={statusCode}",
  205. "clientErrorNote": "このエラーはクライアント入力が原因のため再試行せず、サーキットブレーカーにもカウントされません。",
  206. "endpointPoolExhausted": "エンドポイントプール枯渇(全エンドポイント利用不可)",
  207. "endpointStats": "エンドポイントフィルタ統計",
  208. "endpointStatsTotal": "総エンドポイント数: {count}",
  209. "endpointStatsEnabled": "有効なエンドポイント: {count}",
  210. "endpointStatsCircuitOpen": "サーキットオープンのエンドポイント: {count}",
  211. "endpointStatsAvailable": "利用可能なエンドポイント: {count}",
  212. "strictBlockNoEndpoints": "厳格モード:利用可能なエンドポイント候補がないため、フォールバックなしでプロバイダーをスキップ",
  213. "strictBlockSelectorError": "厳格モード:エンドポイントセレクターでエラーが発生したため、フォールバックなしでプロバイダーをスキップ",
  214. "vendorTypeAllTimeout": "ベンダータイプ全エンドポイントタイムアウト(524)",
  215. "vendorTypeAllTimeoutNote": "このベンダータイプの全エンドポイントがタイムアウトしました。ベンダータイプサーキットブレーカーが発動しました。"
  216. }
  217. }