| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- {
- "circuit": {
- "closed": "Closed (Normal)",
- "halfOpen": "Half-Open (Testing)",
- "open": "Open (Circuit Broken)",
- "unknown": "Unknown"
- },
- "errors": {
- "ENOTFOUND": "DNS resolution failed (domain name not found)",
- "ECONNREFUSED": "Connection refused (target server rejected connection)",
- "ETIMEDOUT": "TCP connection timeout (high network latency or firewall blocking)",
- "ECONNRESET": "Connection reset (network interruption or server disconnect)",
- "EHOSTUNREACH": "Host unreachable (network routing issue)",
- "ENETUNREACH": "Network unreachable (local network configuration issue)",
- "EPROTO": "Protocol error (SSL/TLS handshake failed)",
- "CLIENT_ABORT": "Client aborted request",
- "PROVIDER_TIMEOUT": "Provider response timeout (high first-byte latency)",
- "STREAMING_IDLE_TIMEOUT": "Streaming idle timeout (provider stopped sending data)"
- },
- "summary": {
- "singleSuccess": "{total} providers, {healthy} healthy → {provider} ✓",
- "sessionReuse": "Session reuse → {provider} ✓"
- },
- "description": {
- "noDecisionRecord": "No decision record",
- "sessionReuse": "Session Reuse - Provider Selection",
- "sessionId": "Session ID: {id}",
- "unknown": "Unknown",
- "reuseProvider": "Reused Provider: {provider}",
- "initialSelection": "Initial Selection: {provider}",
- "candidateCount": "{count} candidate providers",
- "groupFiltered": "{group} group filtered to {count}",
- "healthyCount": "{count} after health check",
- "priority": "Priority {priority}",
- "candidate": "{name}({probability}%)",
- "requestChain": "Request Chain:",
- "systemError": "System Error",
- "resourceNotFound": "Resource Not Found (404)",
- "concurrentLimit": "Concurrent Limit",
- "http2Fallback": "HTTP/2 Fallback",
- "clientError": "Client Error",
- "endpointPoolExhausted": "Endpoint Pool Exhausted",
- "vendorTypeAllTimeout": "Vendor-Type All Endpoints Timeout"
- },
- "reasons": {
- "request_success": "Success",
- "retry_success": "Retry Success",
- "retry_failed": "Retry Failed",
- "system_error": "System Error",
- "resource_not_found": "Resource Not Found (404)",
- "client_error_non_retryable": "Client Error",
- "concurrent_limit_failed": "Concurrent Limit",
- "http2_fallback": "HTTP/2 Fallback",
- "session_reuse": "Session Reuse",
- "initial_selection": "Initial Selection",
- "endpoint_pool_exhausted": "Endpoint Pool Exhausted",
- "vendor_type_all_timeout": "Vendor-Type All Endpoints Timeout"
- },
- "filterReasons": {
- "rate_limited": "Rate Limited",
- "circuit_open": "Circuit Open",
- "disabled": "Disabled",
- "excluded": "Excluded",
- "format_type_mismatch": "Format Type Mismatch",
- "type_mismatch": "Type Mismatch",
- "model_not_allowed": "Model Not Allowed",
- "context_1m_disabled": "1M Context Disabled",
- "model_not_supported": "Model Not Supported",
- "group_mismatch": "Group Mismatch",
- "health_check_failed": "Health Check Failed",
- "endpoint_circuit_open": "Endpoint Circuit Open",
- "endpoint_disabled": "Endpoint Disabled"
- },
- "filterDetails": {
- "vendor_type_circuit_open": "Vendor-type temporarily circuit-broken",
- "circuit_open": "Circuit breaker open",
- "circuit_half_open": "Circuit breaker half-open",
- "rate_limited": "Rate limited"
- },
- "details": {
- "selectionMethod": "Selection",
- "attemptNumber": "Attempt",
- "endpoint": "Endpoint",
- "config": "Configuration",
- "priority": "Priority",
- "weight": "Weight",
- "costMultiplier": "Cost",
- "groupTag": "Group",
- "circuitBreaker": "Circuit Breaker",
- "circuitDisabled": "Disabled",
- "failures": "failures",
- "modelRedirect": "Model Redirect",
- "error": "Error",
- "errorDetails": "Error Details",
- "decisionContext": "Decision Context",
- "beforeHealthCheck": "Before Health Check",
- "afterHealthCheck": "After Health Check",
- "filteredProviders": "Filtered Providers",
- "priorityLevels": "Priority Levels",
- "candidates": "Candidates"
- },
- "technicalTimeline": "Technical Timeline",
- "timeline": {
- "sessionReuse": "Session Reuse",
- "sessionReuseSelection": "Session Reuse - Provider Selection",
- "sessionReuseTitle": "Session Reuse - Provider Selection",
- "sessionId": "Session ID: {id}",
- "reuseProvider": "Reused Provider: {provider}",
- "configuration": "Configuration",
- "priority": "Priority",
- "weight": "Weight",
- "cost": "Cost",
- "providerConfig": "Provider Config: priority={priority} weight={weight} cost={cost}",
- "basedOnCache": "Reusing provider based on session cache (within 5 minutes)",
- "sessionCache": "Based on session cache (within 5 minutes)",
- "waitingForResult": "Waiting for request result...",
- "waiting": "Waiting for request result...",
- "initialSelection": "Initial Provider Selection",
- "initialSelectionTitle": "Initial Provider Selection",
- "systemStatus": "System Status",
- "totalProviders": "Total Providers: {count}",
- "enabledProviders": "Enabled {type} type: {count}",
- "type": "Type",
- "userGroup": "User Group {group}: {count}",
- "healthCheck": "Health Check Passed: {count}",
- "filtered": "Filtered",
- "priorityLevel": "Priority",
- "priorityCandidates": "Priority {priority} Candidates ({count})",
- "candidates": "Candidates",
- "candidateInfo": " • {name}: weight={weight} cost={cost} probability={probability}%",
- "selected": "✓ Selected: {provider}",
- "requestFailed": "Request Failed (Attempt {attempt})",
- "resourceNotFoundFailed": "Resource Not Found (404) (Attempt {attempt})",
- "attemptNumber": "Attempt {number}",
- "firstAttempt": "First Attempt",
- "nthAttempt": "Attempt {attempt}",
- "provider": "Provider: {provider}",
- "statusCode": "Status Code: {code}",
- "statusCodeInferred": "Status Code (inferred): {code}",
- "error": "Error: {error}",
- "requestDuration": "Request Duration: {duration}ms",
- "requestDurationSeconds": "Request Duration: {duration}s",
- "circuitStatus": "Circuit Status",
- "current": "Current",
- "circuitCurrent": "Current State: {state}",
- "failureCount": "Failure Count: {current}/{threshold}",
- "untilBreak": "Until Circuit Break",
- "circuitRemaining": "{remaining} attempts until circuit break",
- "remaining": "{count} attempts remaining",
- "status": "Status",
- "alreadyBroken": "Circuit already broken",
- "circuitTriggered": "Warning: Circuit breaker triggered",
- "circuitDisabled": "Circuit Breaker Disabled",
- "errorDetails": "Error Details",
- "systemError": "Network/System Error",
- "systemErrorFailed": "Network/System Error (Attempt {attempt})",
- "errorType": "Error Type: ",
- "errorName": "Error",
- "errorCode": "Error Code: {code}",
- "errorSyscall": "Syscall: {syscall}",
- "errorMeaning": "Meaning: {meaning}",
- "meaning": "Meaning",
- "notCountedInCircuit": "This error is not counted in provider circuit breaker",
- "systemErrorNote": "Note: This error is not counted in provider circuit breaker",
- "resourceNotFoundNote": "Note: This error is not counted in the circuit breaker and will trigger failover after retries are exhausted.",
- "reselection": "Reselecting Provider",
- "reselect": "Reselecting Provider",
- "excluded": "Excluded: {providers}",
- "remainingCandidates": "Remaining Candidates: {count}",
- "requestSuccess": "{label} Request Success",
- "requestSuccessAttempt": "{attempt} Request Success",
- "requestOk": "OK",
- "successStatus": "Status: {code} OK",
- "requestCompleted": "Request completed successfully",
- "completed": "Request completed successfully",
- "concurrentLimitFailed": "Concurrent Limit",
- "attemptFailed": "Attempt Failed ({attempt})",
- "concurrentLimit": "Concurrent Limit",
- "concurrentLimitInfo": "Current Concurrent: {current}/{limit}",
- "sessions": "Sessions",
- "withPriorityWeight": "(priority={priority} weight={weight})",
- "unknown": "Unknown",
- "noDecisionRecord": "No decision record",
- "modelRedirect": "Model Redirect",
- "modelRedirectFrom": " Requested Model: {model}",
- "modelRedirectTo": " Redirected To: {model}",
- "modelRedirectBilling": " Billing Model: {model}",
- "http2Fallback": "HTTP/2 Protocol Fallback",
- "http2ErrorType": "HTTP/2 Error Type: {type}",
- "http2FallbackNote": "Transparently fell back to HTTP/1.1, not counted in circuit breaker",
- "requestDetails": "Request Details (for debugging)",
- "requestMethod": "Method",
- "requestUrl": "URL",
- "requestHeaders": "Headers",
- "requestBody": "Body",
- "requestBodyTruncated": "(truncated)",
- "clientErrorNonRetryable": "Client Error (Attempt {attempt}, non-retryable)",
- "matchedRule": "Matched Error Rule",
- "ruleId": "Rule ID: {id}",
- "ruleCategory": "Rule Category: {category}",
- "rulePattern": "Rule Pattern: {pattern}",
- "ruleMatchType": "Match Type: {matchType}",
- "ruleDescription": "Description: {description}",
- "ruleHasOverride": "Overrides: response={response}, statusCode={statusCode}",
- "clientErrorNote": "This error is caused by client input and is not retried or counted in the circuit breaker.",
- "endpointPoolExhausted": "Endpoint Pool Exhausted (all endpoints unavailable)",
- "endpointStats": "Endpoint Filter Stats",
- "endpointStatsTotal": "Total Endpoints: {count}",
- "endpointStatsEnabled": "Enabled Endpoints: {count}",
- "endpointStatsCircuitOpen": "Circuit-Open Endpoints: {count}",
- "endpointStatsAvailable": "Available Endpoints: {count}",
- "strictBlockNoEndpoints": "Strict mode: no endpoint candidates available, provider skipped without fallback",
- "strictBlockSelectorError": "Strict mode: endpoint selector encountered an error, provider skipped without fallback",
- "vendorTypeAllTimeout": "Vendor-Type All Endpoints Timeout (524)",
- "vendorTypeAllTimeoutNote": "All endpoints for this vendor-type timed out. Vendor-type circuit breaker triggered."
- }
- }
|