feat: improve account deletion and Agent authorization review

This commit is contained in:
陈煜 committed 2026-10-04 11:06:15 +08:00
1 parent 5ad64460f7
commit 91365ee315
21 files changed
+2276 -713

No files matched your search

+166
View File
@@ -0,0 +1,166 @@
export const toolLabels: Record<string, string> = {
schedule_toggle: '启用或暂停计划',
metal_holding_create: '新增贵金属持仓',
metal_value: '按参考价更新贵金属估值',
metals_prices: '查询贵金属参考价',
connection_revoke: '撤销当前连接',
position_create: '新增账户、资产或债务',
position_update: '修改项目资料',
balance_record: '更新余额或估值',
history_update: '更正余额历史',
history_delete: '删除余额历史',
debt_links_set: '更新债务关联',
movement_create: '记录资金往来',
movement_update: '修改资金往来',
movement_delete: '撤销资金往来',
schedule_create: '新增定时计划',
schedule_update: '修改定时计划',
schedule_delete: '删除定时计划',
schedules_run: '执行到期计划',
schedule_run: '执行到期计划',
settings_update: '更新偏好设置',
account_groups_order: '调整账户分组顺序',
icon_publish: '保存私有图标',
metal_configure: '设置贵金属持仓',
metal_holding_update: '更新贵金属克数',
positions_list: '查询账户、资产和债务',
position_get: '查看项目详情',
history_list: '查询余额历史',
overview_get: '查看资产总览',
trend_get: '查看净资产趋势',
movements_list: '查询资金往来',
movement_by_revision: '查看关联资金往来',
calendar_month: '查看月度收支',
calendar_day: '查看每日收支',
schedules_list: '查看定时计划',
schedule_runs: '查看计划执行记录',
settings_get: '读取偏好设置',
rates_list: '查询汇率',
metals_list: '查询贵金属参考价',
icons_list: '查询图标库',
connection_info: '查看连接权限',
state_get: '核对账目状态',
operation_get: '查询草稿结果',
file_upload_request: '上传私有图标',
file_status: '查询上传状态',
icon_image: '读取图标',
};
export const statusLabels: Record<string, string> = {
pending: '待确认',
completed: '已完成',
cancelled: '已取消',
expired: '已过期',
failed: '失败',
success: '成功',
error: '失败',
denied: '已拒绝',
};
export function toolLabel(name: string) {
return toolLabels[name] || '账目操作';
}
export function statusLabel(status: string) {
return statusLabels[status] || status;
}
export function permissionLabel(scopes: string[]) {
return scopes.includes('write') ? '直接写入' : scopes.includes('draft') ? '草稿修改' : '只读查询';
}
export const fieldLabels: Record<string, string> = {
status: '状态',
message: '处理说明',
createdAt: '创建时间',
updatedAt: '更新时间',
effectiveDate: '业务时间',
data: '修改内容',
nextAt: '下次执行时间',
intervalDays: '间隔天数(0 为一次)',
scheduled_expense: '计划支出',
maxRuns: '最多执行次数',
repeat: '重复规则',
nextRunAt: '下次执行时间',
id: '项目',
positionId: '项目',
sourceId: '转出账户',
targetId: '转入项目',
revisionId: '历史记录',
name: '名称',
kind: '类型',
side: '资产属性',
category: '分类',
groupName: '账户分组',
currency: '币种',
amount: '金额',
received: '到账金额',
fee: '手续费',
date: '业务时间',
notes: '备注',
reason: '变更原因',
operation: '操作类型',
archived: '归档',
hidden: '隐藏',
included: '计入总览',
iconId: '图标',
targetIds: '关联项目',
groups: '分组顺序',
metalType: '贵金属品种',
grams: '重量(克)',
metalGrams: '重量(克)',
costPerGram: '每克买入成本',
metalCostPerGram: '每克买入成本',
enabled: '启用计划',
frequency: '执行频率',
interval: '间隔',
nextDate: '下次执行时间',
startDate: '开始时间',
endDate: '结束时间',
dayOfMonth: '每月执行日',
baseCurrency: '本位币',
showNotes: '显示备注',
hiddenMenus: '隐藏菜单',
overviewCards: '总览卡片',
includeIndependentAssets: '独立资产计入总览',
accountGroupOrder: '分组顺序',
ok: '执行成功',
executed: '已执行次数',
errors: '执行异常',
hasMore: '仍有待执行计划',
};
export const valueLabels: Record<string, string> = {
account: '账户',
asset: '资产',
liability: '负债',
debt: '债务',
bank: '银行账户',
cash: '现金',
investment: '投资账户',
credit_card: '信用卡',
loan: '贷款账户',
other: '其他',
gold: '黄金',
silver: '白银',
property: '房产',
vehicle: '车辆',
personal: '个人借款',
transfer: '转账',
borrow: '借入',
lend: '借出',
repay: '还款',
collect: '收款',
expense: '支出',
initial: '初始余额',
balance: '余额更新',
valuation: '估值更新',
correction: '历史更正',
repayment: '还款',
daily: '每天',
weekly: '每周',
monthly: '每月',
};
export type Reference = { name: string; currency: string; side: string; kind: string };
export function displayValue(value: unknown, references: Record<string, Reference> = {}): string {
if (value === null || value === undefined || value === '') return '未设置';
if (typeof value === 'boolean') return value ? '是' : '否';
if (Array.isArray(value))
return value.length ? value.map((v) => displayValue(v, references)).join('、') : '无';
const s = String(value);
return references[s]?.name || valueLabels[s] || s;
}