provider-chain.json 13 KB

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