diff --git a/frontend/src/api/admin/ops.ts b/frontend/src/api/admin/ops.ts index dfe4f2ca..5b6d202c 100644 --- a/frontend/src/api/admin/ops.ts +++ b/frontend/src/api/admin/ops.ts @@ -25,8 +25,9 @@ export interface OpsRetryAttempt { created_at: string requested_by_user_id: number source_error_id: number - mode: OpsRetryMode | string + mode: string pinned_account_id?: number | null + pinned_account_name?: string status: string started_at?: string | null @@ -37,15 +38,27 @@ export interface OpsRetryAttempt { http_status_code?: number | null upstream_request_id?: string | null used_account_id?: number | null + used_account_name?: string response_preview?: string | null response_truncated?: boolean | null result_request_id?: string | null result_error_id?: number | null - error_message?: string | null } +export type OpsUpstreamErrorEvent = { + at_unix_ms?: number + platform?: string + account_id?: number + account_name?: string + upstream_status_code?: number + upstream_request_id?: string + kind?: string + message?: string + detail?: string +} + export interface OpsRetryResult { attempt_id: number mode: OpsRetryMode @@ -759,6 +772,8 @@ export interface OpsAdvancedSettings { data_retention: OpsDataRetentionSettings aggregation: OpsAggregationSettings ignore_count_tokens_errors: boolean + ignore_context_canceled: boolean + ignore_no_available_accounts: boolean auto_refresh_enabled: boolean auto_refresh_interval_seconds: number } @@ -789,7 +804,6 @@ export interface OpsErrorLog { status_code: number platform: string model: string - latency_ms?: number | null is_retryable: boolean retry_count: number @@ -806,7 +820,9 @@ export interface OpsErrorLog { user_id?: number | null api_key_id?: number | null account_id?: number | null + account_name: string group_id?: number | null + group_name: string client_ip?: string | null request_path?: string diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index 7d7776b4..993a18c2 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -2009,8 +2009,13 @@ export default { // Error Log errorLog: { timeId: 'Time / ID', + time: 'Time', type: 'Type', context: 'Context', + platform: 'Platform', + model: 'Model', + group: 'Group', + account: 'Account', status: 'Status', message: 'Message', latency: 'Request Duration', @@ -2019,7 +2024,13 @@ export default { grp: 'GRP:', acc: 'ACC:', details: 'Details', - phase: 'Phase' + phase: 'Phase', + id: 'ID:', + typeUpstream: 'Upstream', + typeRequest: 'Request', + typeAuth: 'Auth', + typeRouting: 'Routing', + typeInternal: 'Internal' }, // Error Details Modal errorDetails: { diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index d955cc1b..fcc84b19 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -2153,17 +2153,28 @@ export default { // Error Log errorLog: { timeId: '时间 / ID', + time: '时间', type: '类型', context: '上下文', + platform: '平台', + model: '模型', + group: '分组', + account: '账号', status: '状态码', - message: '消息', + message: '响应内容', latency: '请求时长', action: '操作', noErrors: '该窗口内暂无错误。', grp: 'GRP:', acc: 'ACC:', details: '详情', - phase: '阶段' + phase: '阶段', + id: 'ID:', + typeUpstream: '上游', + typeRequest: '请求', + typeAuth: '认证', + typeRouting: '路由', + typeInternal: '内部' }, // Error Details Modal errorDetails: {