provider-chain.json 12 KB

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