@nexusclawhq/cli 0.3.14 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/build-info.json +4 -4
  3. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +477 -0
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +488 -11
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js.map +1 -1
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/index.d.ts +954 -0
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +477 -0
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +547 -70
  9. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  10. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js +59 -57
  11. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js.map +1 -1
  12. package/dist/nexus-cli/src/cli.test.js +1 -0
  13. package/dist/nexus-cli/src/cli.test.js.map +1 -1
  14. package/dist/nexus-cli/src/commands/employee/bundle.d.ts +1 -0
  15. package/dist/nexus-cli/src/commands/employee/bundle.js +9 -0
  16. package/dist/nexus-cli/src/commands/employee/bundle.js.map +1 -1
  17. package/dist/nexus-cli/src/services/api-client.js +7 -1
  18. package/dist/nexus-cli/src/services/api-client.js.map +1 -1
  19. package/dist/nexus-cli/src/services/step-up-helper.test.js +12 -1
  20. package/dist/nexus-cli/src/services/step-up-helper.test.js.map +1 -1
  21. package/dist/nexus-cli/src/services/workforce-remote-operations.d.ts +4 -0
  22. package/dist/nexus-cli/src/services/workforce-remote-operations.js +13 -0
  23. package/dist/nexus-cli/src/services/workforce-remote-operations.js.map +1 -1
  24. package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
  25. package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
  26. package/dist/nexus-cli/src/services/workforce-test-remote.test.js +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +1 -1
@@ -7442,6 +7442,9 @@ const messages = {
7442
7442
  knowledge: "知识",
7443
7443
  sop: "SOP",
7444
7444
  test: "测试",
7445
+ loadFailed: "服务商控制面加载失败",
7446
+ loadFailedDescription: "无法读取服务商配置和组织策略,请重试。",
7447
+ retry: "重试",
7445
7448
  },
7446
7449
  builderReadinessMenuCaption: "发布前检查",
7447
7450
  builderReadinessStatus: {
@@ -11067,6 +11070,12 @@ const messages = {
11067
11070
  breadcrumbPlatformTools: "平台工具",
11068
11071
  breadcrumbExecutionLogs: "执行日志",
11069
11072
  breadcrumbLogDetail: "日志详情",
11073
+ scopeRequired: "缺少执行日志所属工作区",
11074
+ scopeRequiredDescription: "平台执行日志详情必须同时包含执行日志 ID 和工作区,避免跨租户读取。",
11075
+ loadFailed: "执行日志详情加载失败",
11076
+ loadFailedDescription: "无法读取该工作区的执行日志,请稍后重试。",
11077
+ notFound: "未找到执行日志",
11078
+ notFoundDescription: "该日志不存在,或不属于当前选择的工作区。",
11070
11079
  },
11071
11080
  executionLogs: {
11072
11081
  statusSuccess: "成功",
@@ -11087,6 +11096,14 @@ const messages = {
11087
11096
  searchPlaceholder: "搜索执行 ID、用户、对象或错误信息...",
11088
11097
  breadcrumbSettings: "设置",
11089
11098
  breadcrumbPlatformTools: "平台工具",
11099
+ workspaceRequired: "请先选择工作区",
11100
+ workspaceRequiredDescription: "平台执行审计必须在明确的工作区范围内查询,不会默认使用当前工作区。",
11101
+ loadFailed: "执行日志加载失败",
11102
+ loadFailedDescription: "无法读取所选工作区的执行日志,请稍后重试。",
11103
+ selectWorkspaceEmpty: "选择工作区后查看执行日志",
11104
+ noResults: "没有符合筛选条件的执行日志",
11105
+ errorTimeout: "执行超时",
11106
+ errorFailed: "执行失败",
11090
11107
  },
11091
11108
  fieldHistoryDetail: {
11092
11109
  saveSuccess: "字段历史追踪配置已保存",
@@ -11921,6 +11938,11 @@ const messages = {
11921
11938
  behaviorPolicyStudioTitle: "行为策略工作室",
11922
11939
  },
11923
11940
  queryMonitorDetail: {
11941
+ scopeRequired: "需要工作区范围",
11942
+ scopeRequiredDescription: "请从查询监控列表选择工作区后再打开详情。",
11943
+ loadFailed: "查询详情加载失败",
11944
+ notFound: "未找到该工作区中的查询记录。",
11945
+ retry: "重试",
11924
11946
  basicInfo: "基本信息",
11925
11947
  queryId: "查询 ID",
11926
11948
  executionTime: "执行时间",
@@ -11938,6 +11960,8 @@ const messages = {
11938
11960
  backToList: "返回列表",
11939
11961
  },
11940
11962
  queryMonitor: {
11963
+ scopeRequired: "请选择工作区后查看慢查询。",
11964
+ loadFailed: "慢查询加载失败,请重试。",
11941
11965
  colExecutionTime: "执行时间",
11942
11966
  colSqlSummary: "SQL 摘要",
11943
11967
  colQueryType: "查询类型",
@@ -13691,6 +13715,7 @@ const messages = {
13691
13715
  trialConsoleUi: {
13692
13716
  demoAccess: {
13693
13717
  page: {
13718
+ title: "Demo Access",
13694
13719
  subtitle: "受控 Demo 发放后台:申请队列、审批决策、环境池和分配动作都先收在同一页。",
13695
13720
  refresh: "刷新",
13696
13721
  loadError: "Demo Access 数据加载失败",
@@ -13699,6 +13724,7 @@ const messages = {
13699
13724
  approvedAssignable: "已审批可分配",
13700
13725
  readyInstances: "Ready 实例",
13701
13726
  totalAvailableCapacity: "总池剩余容量",
13727
+ invitations: "邀请",
13702
13728
  },
13703
13729
  queue: {
13704
13730
  title: "Demo 请求队列",
@@ -13716,9 +13742,11 @@ const messages = {
13716
13742
  empty: "暂无环境实例,点击新建接入资源",
13717
13743
  },
13718
13744
  assignmentCard: {
13745
+ title: "活跃会话 / 分配",
13719
13746
  empty: "暂无活跃分配",
13720
13747
  },
13721
13748
  jobCard: {
13749
+ title: "自动化任务",
13722
13750
  empty: "暂无 Demo Access 自动化任务",
13723
13751
  },
13724
13752
  requestColumns: {
@@ -13729,6 +13757,9 @@ const messages = {
13729
13757
  status: "状态",
13730
13758
  recommended: "推荐",
13731
13759
  pendingScreening: "待筛选",
13760
+ riskScore: "风险 {risk} / 评分 {score}",
13761
+ riskOnly: "风险 {risk}",
13762
+ invitation: "邀请",
13732
13763
  actions: "操作",
13733
13764
  },
13734
13765
  invitation: {
@@ -13741,6 +13772,7 @@ const messages = {
13741
13772
  },
13742
13773
  actions: {
13743
13774
  review: "审批",
13775
+ provision: "准备环境",
13744
13776
  assign: "分配",
13745
13777
  },
13746
13778
  poolColumns: {
@@ -13755,12 +13787,14 @@ const messages = {
13755
13787
  status: "状态",
13756
13788
  },
13757
13789
  assignmentColumns: {
13790
+ assignment: "分配",
13758
13791
  instancePool: "实例 / 环境池",
13759
13792
  status: "状态",
13760
13793
  actions: "操作",
13761
13794
  },
13762
13795
  assignmentActions: {
13763
13796
  expire: "到期",
13797
+ markResetPending: "标记待回池",
13764
13798
  completeReset: "完成回池",
13765
13799
  },
13766
13800
  jobColumns: {
@@ -13783,6 +13817,20 @@ const messages = {
13783
13817
  accessLevelLabel: "访问级别",
13784
13818
  decisionReasonLabel: "审批备注",
13785
13819
  },
13820
+ options: {
13821
+ accessPublic: "公开",
13822
+ accessPrivate: "私有",
13823
+ accessInternal: "内部",
13824
+ routePublicDemo: "公开 Demo",
13825
+ routePrivateDemo: "私有 Demo",
13826
+ routeMaterialOnly: "仅资料",
13827
+ invitationMagicLink: "Magic Link",
13828
+ invitationOtp: "一次性验证码",
13829
+ poolPublicDemo: "公开 Demo 池",
13830
+ poolPrivatePresales: "私有售前池",
13831
+ poolInternal: "内部池",
13832
+ unknownPool: "未知环境池",
13833
+ },
13786
13834
  assignModal: {
13787
13835
  title: "分配 Demo 环境",
13788
13836
  instanceLabel: "环境实例",
@@ -13792,6 +13840,10 @@ const messages = {
13792
13840
  },
13793
13841
  poolModal: {
13794
13842
  title: "新建环境池",
13843
+ poolCodeLabel: "环境池编码",
13844
+ poolTypeLabel: "环境池类型",
13845
+ routeTypeLabel: "路由类型",
13846
+ accessLevelLabel: "访问级别",
13795
13847
  capacityLabel: "容量",
13796
13848
  industryScenarioLabel: "行业场景",
13797
13849
  purposeLabel: "用途说明",
@@ -13802,6 +13854,7 @@ const messages = {
13802
13854
  title: "新建环境实例",
13803
13855
  poolLabel: "所属环境池",
13804
13856
  instanceCodeLabel: "实例编码",
13857
+ environmentKeyLabel: "环境键",
13805
13858
  },
13806
13859
  toast: {
13807
13860
  reviewSaved: "审批结果已保存",
@@ -18476,6 +18529,11 @@ const messages = {
18476
18529
  breadcrumbSettings: "设置",
18477
18530
  breadcrumbPlatformTools: "平台工具",
18478
18531
  searchPlaceholder: "搜索类名...",
18532
+ scopeRequired: "请选择工作区后查看平台批处理任务。",
18533
+ loadFailed: "批处理任务加载失败,请重试。",
18534
+ detailScopeRequired: "缺少批处理任务的工作区范围。",
18535
+ detailNotFound: "未找到该工作区中的批处理任务。",
18536
+ retry: "重试",
18479
18537
  colClassName: "类名",
18480
18538
  colType: "类型",
18481
18539
  colStatus: "状态",
@@ -18533,6 +18591,247 @@ const messages = {
18533
18591
  abortError: "中止失败: {message}",
18534
18592
  },
18535
18593
  platformAdmin: {
18594
+ adminPanelUi: {
18595
+ common: {
18596
+ sectionOther: "其他",
18597
+ platformAdmin: "平台管理",
18598
+ adminPanel: "管理面板",
18599
+ systemOverview: "系统概览",
18600
+ configVariables: "配置变量",
18601
+ healthStatus: "健康状态",
18602
+ queues: "队列",
18603
+ worker: "Worker",
18604
+ loading: "加载中...",
18605
+ loadFailed: "数据加载失败",
18606
+ loadFailedDescription: "无法读取当前管理数据,请重试。",
18607
+ retry: "重试",
18608
+ refresh: "刷新",
18609
+ filter: "筛选",
18610
+ name: "名称",
18611
+ value: "值",
18612
+ status: "状态",
18613
+ source: "来源",
18614
+ group: "分组",
18615
+ id: "ID",
18616
+ email: "邮箱",
18617
+ url: "URL",
18618
+ unknown: "未知",
18619
+ notFound: "未找到",
18620
+ errorInfo: "错误信息",
18621
+ details: "状态详情",
18622
+ noDetails: "没有详细信息",
18623
+ operational: "正常运行",
18624
+ normal: "正常",
18625
+ outage: "故障",
18626
+ search: "搜索",
18627
+ cancel: "取消",
18628
+ reset: "重置",
18629
+ },
18630
+ general: {
18631
+ about: "关于",
18632
+ appVersionInfo: "应用版本信息",
18633
+ currentVersion: "当前版本",
18634
+ latestVersion: "最新版本",
18635
+ latestVersionNotFound: "未找到最新版本",
18636
+ featureFlagsAndImpersonation: "功能标志与用户模拟",
18637
+ userImpersonation: "用户模拟",
18638
+ featureFlagsAndImpersonationHint: "查找用户并管理其工作区功能标志或模拟登录",
18639
+ userImpersonationHint: "查找用户以模拟登录",
18640
+ userIdentifierPlaceholder: "输入用户 ID 或邮箱地址",
18641
+ userInfo: "用户信息",
18642
+ aboutThisUser: "关于此用户",
18643
+ fullName: "姓名",
18644
+ workspaces: "工作区",
18645
+ userWorkspaces: "此用户所属的所有工作区",
18646
+ noWorkspaces: "此用户没有加入任何工作区",
18647
+ workspaceInfo: "工作区信息",
18648
+ aboutThisWorkspace: "关于此工作区",
18649
+ members: "成员数",
18650
+ unnamed: "未命名",
18651
+ featureFlags: "功能标志",
18652
+ featureFlag: "功能标志",
18653
+ impersonate: "模拟登录",
18654
+ impersonationDisabled: "此工作区禁用模拟",
18655
+ searchUserFirst: "请先搜索用户",
18656
+ impersonationFailed: "模拟登录失败: {message}",
18657
+ searchFailed: "搜索失败: {message}",
18658
+ updateFeatureFlagFailed: "更新功能标志失败: {message}",
18659
+ },
18660
+ config: {
18661
+ allGroups: "全部分组",
18662
+ allSources: "全部来源",
18663
+ database: "数据库",
18664
+ environment: "环境变量",
18665
+ default: "默认值",
18666
+ showHiddenGroups: "显示隐藏分组",
18667
+ searchPlaceholder: "搜索变量...",
18668
+ noVariables: "没有找到配置变量",
18669
+ detailTitle: "配置变量详情",
18670
+ variableMissing: "未找到配置变量",
18671
+ variableMissingDescription: '变量 "{name}" 不存在',
18672
+ tagPlaceholder: "输入值后按回车添加",
18673
+ undefinedPlaceholder: "未定义",
18674
+ databaseValuePlaceholder: "输入要存储到数据库的值",
18675
+ envOnlyMessage: "此变量只能通过环境变量设置",
18676
+ databaseSourceMessage: "此变量当前使用数据库中的值。点击重置按钮可恢复为环境变量/默认值。",
18677
+ changedMessage: "值已修改,点击保存按钮提交更改。",
18678
+ updated: "配置变量已更新",
18679
+ updateFailed: "更新失败: {message}",
18680
+ resetTitle: "重置变量",
18681
+ resetConfirm1: "这将删除数据库中的值,系统将使用环境变量或默认值。",
18682
+ resetConfirm2: "确定要重置此变量吗?",
18683
+ resetSuccess: "配置变量已重置为默认值",
18684
+ resetFailed: "重置失败: {message}",
18685
+ consumerLabel: "运行时消费者: {consumer}",
18686
+ requiresRestartMessage: "此更改需要重启进程才能生效。",
18687
+ noConsumerMessage: "无运行时消费者 — 此变量仅通过环境变量设置。",
18688
+ },
18689
+ health: {
18690
+ systemHealthHint: "系统运行状况",
18691
+ noHealthData: "暂无健康状态数据",
18692
+ detailTitle: "健康状态详情",
18693
+ missing: "未找到健康状态信息",
18694
+ missingDescription: '指标 "{id}" 不存在',
18695
+ workerUnavailable: "队列信息不可用,因为 Worker 已停止运行",
18696
+ noQueueInfo: "没有队列信息",
18697
+ },
18698
+ queue: {
18699
+ queueName: "队列名称",
18700
+ jobStats: "任务统计",
18701
+ manageQueuesHint: "查看和管理后台任务队列",
18702
+ workerUnavailableTitle: "Worker 服务不可用",
18703
+ workerUnavailableDescription: "队列信息不可用,因为 Worker 服务已停止运行。请检查 Worker 服务状态。",
18704
+ noQueues: "暂无队列数据",
18705
+ title: "队列: {queueName}",
18706
+ waiting: "等待",
18707
+ active: "进行中",
18708
+ failed: "失败",
18709
+ completed: "已完成",
18710
+ delayed: "延迟",
18711
+ paused: "暂停",
18712
+ waitingState: "等待中",
18713
+ attempts: "尝试次数",
18714
+ createdAt: "创建时间",
18715
+ jobs: "任务列表",
18716
+ data: "数据:",
18717
+ failedReason: "失败原因:",
18718
+ returnValue: "返回值:",
18719
+ options: "选项:",
18720
+ retentionLoading: "加载保留配置中...",
18721
+ retentionDescription: "已完成任务保留 {completedAge},失败任务保留 {failedAge} (最多各 {count} 个)",
18722
+ days: "{count} 天",
18723
+ hours: "{count} 小时",
18724
+ },
18725
+ cron: {
18726
+ title: "定时任务",
18727
+ description: "管理系统定时任务的执行计划",
18728
+ noJobs: "暂无定时任务",
18729
+ jobName: "任务名称",
18730
+ schedule: "执行周期",
18731
+ lastRun: "上次执行",
18732
+ nextRun: "下次执行",
18733
+ enabled: "启用",
18734
+ actions: "操作",
18735
+ runNow: "立即执行",
18736
+ history: "执行历史",
18737
+ historyTitle: "执行历史 - {name}",
18738
+ confirmRunNowTitle: "立即执行",
18739
+ confirmRunNowContent: '确定要立即执行 "{name}" 吗?',
18740
+ operationFailed: "操作失败",
18741
+ runFailed: "执行失败",
18742
+ notWired: "未接入可等待的手工执行处理器",
18743
+ readOnly: "只读",
18744
+ jobEnabled: "{name} 已启用",
18745
+ jobPaused: "{name} 已暂停",
18746
+ jobTriggered: "{name} 已触发执行",
18747
+ jobExecuted: "{name} 执行已完成",
18748
+ active: "运行中",
18749
+ paused: "已暂停",
18750
+ error: "错误",
18751
+ neverRun: "从未运行",
18752
+ justNow: "刚刚",
18753
+ minutesAgo: "{count} 分钟前",
18754
+ hoursAgo: "{count} 小时前",
18755
+ failed: "失败",
18756
+ success: "成功",
18757
+ running: "运行中",
18758
+ everyMinute: "每分钟",
18759
+ every5Minutes: "每5分钟",
18760
+ every10Minutes: "每10分钟",
18761
+ every15Minutes: "每15分钟",
18762
+ every30Minutes: "每30分钟",
18763
+ everyHour: "每小时",
18764
+ every2Hours: "每2小时",
18765
+ every6Hours: "每6小时",
18766
+ every12Hours: "每12小时",
18767
+ dailyMidnight: "每天午夜",
18768
+ weeklySundayMidnight: "每周日午夜",
18769
+ monthlyFirstMidnight: "每月1日午夜",
18770
+ startedAt: "开始时间",
18771
+ executionId: "执行关联 ID",
18772
+ duration: "耗时",
18773
+ totalItems: "共 {total} 条",
18774
+ },
18775
+ logs: {
18776
+ title: "租户调试日志",
18777
+ sectionMonitoring: "系统监控",
18778
+ description: "查看租户调试日志和错误信息",
18779
+ export: "导出",
18780
+ time: "时间",
18781
+ level: "级别",
18782
+ source: "来源",
18783
+ message: "消息",
18784
+ levelPlaceholder: "日志级别",
18785
+ sourcePlaceholder: "来源",
18786
+ searchPlaceholder: "搜索消息...",
18787
+ noLogs: "暂无日志数据",
18788
+ },
18789
+ },
18790
+ adminPanel: "管理面板",
18791
+ adminHealth: {
18792
+ indicators: {
18793
+ database: {
18794
+ label: "数据库",
18795
+ description: "PostgreSQL 连接状态与核心数据表计数。",
18796
+ error: "数据库健康检查失败。",
18797
+ },
18798
+ redis: {
18799
+ label: "Redis",
18800
+ description: "Redis 缓存与队列后端连接状态。",
18801
+ error: "Redis 健康检查失败。",
18802
+ },
18803
+ worker: {
18804
+ label: "后台任务 Worker",
18805
+ description: "平台异步任务所使用的 Worker 与队列状态。",
18806
+ error: "Agent execution 队列尚未初始化。",
18807
+ },
18808
+ connectedAccount: {
18809
+ label: "外部连接账号",
18810
+ description: "外部账号集成尚未配置真实健康检查,因此状态为未知。",
18811
+ },
18812
+ app: {
18813
+ label: "后端应用",
18814
+ description: "后端应用进程及核心依赖状态。",
18815
+ error: "一个或多个核心服务不健康。",
18816
+ },
18817
+ },
18818
+ detailLabels: {
18819
+ configuredCheck: "健康检查配置",
18820
+ status: "探测状态",
18821
+ waiting: "等待任务",
18822
+ active: "执行中任务",
18823
+ completed: "已完成任务",
18824
+ failed: "失败任务",
18825
+ delayed: "延迟任务",
18826
+ paused: "已暂停任务",
18827
+ workerCount: "在线 Worker 数",
18828
+ consumerActive: "消费者在线",
18829
+ },
18830
+ notConfigured: "未配置",
18831
+ yes: "是",
18832
+ no: "否",
18833
+ technicalDetails: "技术明细",
18834
+ },
18536
18835
  ops: {
18537
18836
  common: {
18538
18837
  back: "返回",
@@ -18542,25 +18841,26 @@ const messages = {
18542
18841
  submit: "提交",
18543
18842
  view: "查看",
18544
18843
  details: "详情",
18545
- workspace: "Workspace",
18546
- plan: "Plan",
18547
- status: "Status",
18548
- seats: "Seats",
18549
- cycle: "Cycle",
18550
- created: "Created",
18551
- amount: "Amount",
18552
- provider: "Provider",
18553
- risk: "Risk",
18554
- healthy: "Healthy",
18555
- atRisk: "At Risk",
18556
- critical: "Critical",
18844
+ workspace: "客户",
18845
+ plan: "套餐",
18846
+ status: "状态",
18847
+ seats: "席位",
18848
+ cycle: "周期",
18849
+ created: "创建时间",
18850
+ amount: "金额",
18851
+ provider: "支付渠道",
18852
+ risk: "风险",
18853
+ healthy: "健康",
18854
+ atRisk: "有风险",
18855
+ critical: "严重",
18557
18856
  unknown: "未知",
18558
- periodEnd: "Period End",
18559
- invoiceDate: "Invoice Date",
18560
- billingPeriod: "Billing Period",
18561
- paymentStatus: "Payment Status",
18562
- overdue: "Overdue",
18857
+ periodEnd: "本期结束",
18858
+ invoiceDate: "账单日期",
18859
+ billingPeriod: "账期",
18860
+ paymentStatus: "付款状态",
18861
+ overdue: "逾期",
18563
18862
  noMatches: "没有匹配的记录",
18863
+ retry: "重试",
18564
18864
  },
18565
18865
  dashboard: {
18566
18866
  title: "平台总览",
@@ -18571,7 +18871,7 @@ const messages = {
18571
18871
  alertDescription: "优先处理 critical 租户健康、逾期账单和即将到期的续费。",
18572
18872
  viewHealth: "查看健康状态",
18573
18873
  totalTenants: "总租户",
18574
- criticalHealthAlerts: "Critical 健康报警",
18874
+ criticalHealthAlerts: "严重健康报警",
18575
18875
  overdueAndUnpaid: "逾期与欠费",
18576
18876
  trendTitle: "90 天健康信号趋势",
18577
18877
  healthDistribution: "健康状态分布",
@@ -18589,24 +18889,32 @@ const messages = {
18589
18889
  watch: "关注",
18590
18890
  remainingDays: "剩余天数",
18591
18891
  renewalStatus: "状态",
18592
- noTrend: "暂无 90 天健康信号",
18892
+ noTrend: " 90 天暂无健康观测数据",
18893
+ insufficientTrend: "目前只有 1 个观测日,至少需要 2 个观测日才能形成趋势",
18894
+ trendDescription: "仅统计当天有真实用量观测的租户;缺失日期不会按零用量计入风险。",
18593
18895
  trendAria: "90 天健康信号趋势",
18594
18896
  healthAlertTitle: "{workspaceName} 健康度 {riskLevel}",
18595
18897
  healthAlertDescription: "到期 {days} 天,周登录 {loginFrequency},用量 {usageRatio}%。",
18596
18898
  renewalAlertTitle: "{workspaceName} 续费 {renewalStatus}",
18597
18899
  renewalAlertDescription: "当前计划 {plan},剩余 {days} 天。",
18598
18900
  invoiceAlertTitle: "{workspaceName} 存在逾期账单",
18599
- invoiceAlertDescription: "账单金额 ${amount},状态 {status}。",
18901
+ invoiceAlertDescription: "账单金额 {amount},状态 {status}。",
18902
+ loadFailed: "平台运营数据加载失败",
18903
+ loadFailedDescription: "部分订阅、续费或计费 owner 无法读取;相关数字不会按零值解释,请重试。",
18600
18904
  },
18601
18905
  subscriptions: {
18602
18906
  create: "开通订阅",
18603
- searchPlaceholder: "Search workspace",
18907
+ searchPlaceholder: "搜索客户",
18604
18908
  noSubscriptions: "没有匹配的订阅",
18605
- periodEnd: "Period End",
18606
- total: "Total",
18607
- active: "Active",
18608
- trialing: "Trialing",
18609
- canceled: "Canceled",
18909
+ periodEnd: "本期结束",
18910
+ total: "总数",
18911
+ active: "生效中",
18912
+ trialing: "试用中",
18913
+ canceled: "已取消",
18914
+ statusFilter: "按订阅状态筛选",
18915
+ planFilter: "按套餐筛选",
18916
+ loadFailed: "订阅列表加载失败",
18917
+ loadFailedDescription: "订阅或套餐目录读取失败,汇总数字不会按零值解释。",
18610
18918
  },
18611
18919
  provision: {
18612
18920
  successTitle: "订阅已开通",
@@ -18621,38 +18929,93 @@ const messages = {
18621
18929
  invalidEmail: "邮箱格式不正确",
18622
18930
  invalidUuid: "请输入有效 UUID",
18623
18931
  workspacePlaceholder: "留空则创建新 workspace",
18624
- customerName: "Customer Name",
18625
- adminUsername: "Admin Username",
18626
- adminEmail: "Admin Email",
18627
- billingCycle: "Billing Cycle",
18628
- workspaceId: "Workspace ID",
18932
+ customerName: "客户名称",
18933
+ adminUsername: "管理员用户名",
18934
+ adminEmail: "管理员邮箱",
18935
+ billingCycle: "计费周期",
18936
+ workspaceId: "工作区 ID",
18937
+ subscriptionId: "订阅 ID",
18938
+ catalogLoadFailed: "订阅套餐目录加载失败",
18939
+ catalogLoadFailedDescription: "无法读取可开通的套餐和计费周期,修复后重试。",
18629
18940
  },
18630
18941
  tenantDetail: {
18631
18942
  updateSuccess: "订阅已更新",
18632
18943
  updateFailed: "订阅更新失败",
18633
- price: "Price",
18634
- currentStart: "Current Start",
18635
- currentEnd: "Current End",
18636
- extend: "Extend",
18637
- expiryDays: "Expiry Days",
18638
- loginPerWeek: "Login / Week",
18639
- usageRatio: "Usage Ratio",
18640
- token: "Token",
18641
- apiCalls: "API Calls",
18642
- storage: "Storage",
18944
+ title: "客户订阅详情",
18945
+ description: "核对客户订阅、健康风险、资源用量、注册账号和正式账单。",
18946
+ subscriptionSummary: "订阅摘要",
18947
+ healthAndUsage: "健康与资源用量",
18948
+ price: "订阅金额",
18949
+ currentStart: "本期开始",
18950
+ currentEnd: "本期结束",
18951
+ extend: "延长至",
18952
+ expiryDays: "距到期天数",
18953
+ loginPerWeek: "每周登录次数",
18954
+ usageRatio: "综合用量率",
18955
+ token: "Token 用量",
18956
+ apiCalls: "API 调用",
18957
+ storage: "文件存储",
18958
+ tokenUnit: "个 Token",
18959
+ callUnit: "次",
18960
+ noRiskReason: "当前没有触发风险规则",
18961
+ measurementStatus: "测量状态",
18962
+ measured: "已测量",
18963
+ unknownMeasurement: "部分或全部指标未知",
18964
+ measuredTime: "数据时间",
18965
+ unavailableMeasurements: "不可用指标",
18966
+ measurementUnavailable: "该指标当前不可用",
18967
+ quotaRemaining: "剩余额度",
18968
+ quotaExceeded: "额度已用尽或超限",
18969
+ increaseQuota: "增加额度",
18970
+ quotaResource: "超限资源",
18971
+ currentUsage: "当前用量",
18972
+ currentQuota: "当前额度",
18973
+ recommendedPlan: "建议升级到",
18974
+ upgradePlan: "升级套餐并增加额度",
18975
+ quotaUpgradeDescription: "升级套餐会同时提高 Token、API 调用和文件存储额度,并由订阅 owner 记录审计;当前账期起止时间不变。",
18976
+ noHigherQuotaPlan: "当前已是最高套餐",
18977
+ noHigherQuotaPlanDescription: "没有更高的自动套餐额度,请通过企业合同流程配置额外容量。",
18978
+ quotaIncreaseSuccess: "额度已增加",
18979
+ quotaIncreaseSuccessDescription: "套餐升级成功,最新资源额度和风险状态已刷新。",
18980
+ quotaIncreaseFailed: "增加额度失败",
18981
+ activityTitle: "近 90 天日用量活动",
18982
+ activityDescription: "Token 与 API 调用按各自单位和独立尺度展示;没有活动的日期不会被补零。文件存储目前仅提供测量时点快照。",
18983
+ activityDateRange: "{start} 至 {end}",
18984
+ noActivityRange: "暂无可用日期范围",
18985
+ tokenActivity: "Token 日消耗",
18986
+ apiActivity: "API 日调用",
18987
+ periodTotal: "区间合计",
18988
+ latestObserved: "最近观测值",
18989
+ insufficientTrendData: "仅有一个观测日,不绘制趋势。",
18990
+ noActivityData: "该区间没有可用活动数据。",
18991
+ activityChartAria: "{metric},范围 {range},单位 {unit}",
18992
+ measuredAt: "测量于 {value}",
18993
+ storageSnapshot: "存储当前快照",
18994
+ storageSnapshotDescription: "{date} 的测量值;当前没有历史存储序列。",
18995
+ storageUnavailable: "文件存储测量当前不可用。",
18996
+ subscriptionChange: "订阅变更",
18997
+ subscriptionChangeDescription: "变更套餐、计费周期或延长服务期限。保存后由订阅 owner 记录审计。",
18998
+ invoiceTitle: "正式账单",
18999
+ invoiceDescription: "仅显示该客户的正式账单;点击一行查看受控账单详情。",
19000
+ scopeRequired: "缺少客户工作区范围",
19001
+ scopeRequiredDescription: "请从订阅列表进入客户详情。",
19002
+ notFound: "未找到该客户订阅",
19003
+ notFoundDescription: "该工作区不存在可管理的订阅,或订阅已被移除。",
19004
+ loadFailed: "客户详情加载不完整",
19005
+ loadFailedDescription: "订阅、健康、账单、套餐目录或注册账号中至少一项读取失败,请重试。",
18643
19006
  },
18644
19007
  users: {
18645
19008
  title: "注册账号",
18646
19009
  registrationAccount: "租户注册账号",
18647
19010
  registrationAccountNotRecorded: "该租户的注册账号尚未记录,不会通过 Org 用户列表推断。",
18648
19011
  searchPlaceholder: "搜索用户名 / 邮箱 / 姓名",
18649
- workspace: "Workspace",
18650
- status: "Status",
19012
+ workspace: "工作区",
19013
+ status: "状态",
18651
19014
  active: "启用",
18652
19015
  inactive: "停用",
18653
19016
  frozen: "已冻结",
18654
19017
  serviceAccount: "服务账户",
18655
- role: "Role",
19018
+ role: "角色",
18656
19019
  lastLogin: "最后登录",
18657
19020
  viewDetail: "查看详情",
18658
19021
  backToList: "返回用户列表",
@@ -18666,50 +19029,133 @@ const messages = {
18666
19029
  resetPasswordFailed: "发送密码重置邮件失败",
18667
19030
  resetPasswordServiceAccount: "AI 数字员工工号为受保护的服务账户,不允许重置密码",
18668
19031
  editProfile: "编辑资料",
18669
- email: "Admin Email",
19032
+ email: "管理员邮箱",
18670
19033
  emailChangedSessionsRevoked: "邮箱已更新,该用户的所有会话已被吊销,需重新登录",
19034
+ maintainRegistrationEmail: "维护注册邮箱",
19035
+ saveRegistrationEmail: "保存邮箱",
19036
+ registrationEmailChangeWarning: "修改后,密码重置邮件将发送到新邮箱;该账号现有登录会话会被全部吊销。",
19037
+ registrationEmailInvalid: "请输入有效的注册邮箱",
19038
+ registrationAccountActionUnavailable: "该旧订阅未记录可信注册账号,不能猜测 Org 用户;请先补录注册账号归属。",
18671
19039
  saveSuccess: "用户资料已更新",
18672
19040
  saveFail: "用户资料更新失败",
18673
- username: "Username",
18674
- firstName: "First Name",
18675
- lastName: "Last Name",
18676
- titleLabel: "Title",
18677
- phone: "Phone",
18678
- locale: "Locale",
18679
- timeZone: "Time Zone",
19041
+ username: "用户名",
19042
+ firstName: "",
19043
+ lastName: "",
19044
+ titleLabel: "职务",
19045
+ phone: "电话",
19046
+ locale: "语言区域",
19047
+ timeZone: "时区",
18680
19048
  isActive: "启用账户",
18681
19049
  impersonation: "Support 授权",
18682
19050
  impersonationActive: "已授权",
18683
19051
  impersonationNone: "未授权",
18684
- createdAt: "Created",
19052
+ createdAt: "创建时间",
18685
19053
  },
18686
19054
  renewals: {
18687
19055
  invalidExtension: "延期日期必须晚于当前到期日",
18688
19056
  updateSuccess: "订阅已更新",
18689
- days: "Days",
18690
- renewal: "Renewal",
18691
- lastPayment: "Last Payment",
18692
- edit: "Edit",
19057
+ updateFailed: "订阅更新失败,请检查输入后重试",
19058
+ days: "剩余天数",
19059
+ renewal: "续费状态",
19060
+ lastPayment: "最近付款",
19061
+ edit: "编辑",
19062
+ loadFailed: "续费列表加载失败",
19063
+ loadFailedDescription: "无法读取续费 owner 数据,请重试。",
18693
19064
  },
18694
19065
  billing: {
18695
- invoiceStatus: "Invoice status",
18696
- outstanding: "Outstanding",
18697
- paid: "Paid",
19066
+ title: "客户计费概览",
19067
+ description: "按客户、账单状态、付款状态和账单日期查看正式账单的应收、已收与逾期情况。",
19068
+ customer: "客户",
19069
+ allCustomers: "全部客户",
19070
+ invoiceStatus: "账单状态",
19071
+ paymentStatus: "付款状态",
19072
+ billingDate: "账单日期",
19073
+ resetFilters: "重置筛选",
19074
+ exportAll: "导出全部匹配账单",
19075
+ invoiceDetails: "正式账单明细",
19076
+ mrr: "月度经常性收入",
19077
+ outstandingAmount: "应收金额",
19078
+ paidAmount: "已收金额",
19079
+ overdueAmount: "逾期金额",
19080
+ invoiceCount: "账单总数",
19081
+ paidInvoices: "已支付账单",
19082
+ overdueInvoices: "逾期账单",
19083
+ currency: "币种",
19084
+ currencyUnknown: "币种未知",
19085
+ sourceNote: "仅统计 BillingService 生成的正式账单,内部观测账单不计入。",
19086
+ metricScope: "MRR 仅随客户筛选变化;应收、已收、逾期和账单数同时应用全部筛选条件。",
19087
+ measuredAt: "统计时间",
19088
+ outstanding: "应收",
19089
+ paid: "已支付",
18698
19090
  noInvoices: "没有匹配的账单",
18699
- period: "Period",
19091
+ loadFailed: "客户计费概览加载失败",
19092
+ loadFailedDescription: "账单明细或计费汇总读取失败,金额不会按零值解释。",
19093
+ exportFailed: "账单导出失败",
19094
+ period: "账期",
19095
+ workbenchTitle: "收款工作状态",
19096
+ workbenchDescription: "根据正式账单和付款流程状态生成;内部观测账单不计入工作队列。",
19097
+ outstandingInvoices: "待收款账单",
19098
+ paymentFailures: "付款失败",
19099
+ transferReviews: "转账待审核",
19100
+ paymentsProcessing: "支付处理中",
19101
+ workStates: {
19102
+ noInvoices: "暂无正式账单",
19103
+ overdue: "存在逾期,需立即跟进",
19104
+ paymentFailed: "付款失败,需处理",
19105
+ transferReview: "银行转账待审核",
19106
+ collectionInProgress: "收款进行中",
19107
+ settled: "账单已结清",
19108
+ unknown: "计费状态未知",
19109
+ },
19110
+ workReasons: {
19111
+ noFormalInvoices: "当前筛选范围没有正式账单。",
19112
+ overdueCollectionRequired: "存在逾期账单,需要优先催收。",
19113
+ paymentFailureRequiresAction: "存在付款失败记录,需要检查支付渠道或联系客户。",
19114
+ bankTransferReviewRequired: "客户已提交银行转账凭证,等待财务审核。",
19115
+ paymentProcessing: "部分支付订单仍在渠道处理中。",
19116
+ outstandingCollectionRequired: "存在尚未结清的正式账单。",
19117
+ allFormalInvoicesSettled: "当前筛选范围内的正式账单均已结清。",
19118
+ },
18700
19119
  },
18701
19120
  invoiceDetail: {
18702
- invoiceId: "Invoice ID",
18703
- lineItem: "Line Item",
18704
- orgBaseFee: "Org Base Fee",
18705
- tokenCost: "Token Cost",
18706
- storageCost: "Storage Cost",
18707
- usageSubtotal: "Usage Subtotal",
19121
+ invoiceId: "账单 ID",
19122
+ lineItem: "计费项目",
19123
+ orgBaseFee: "组织基础费用",
19124
+ tokenCost: "Token 费用",
19125
+ storageCost: "存储费用",
19126
+ usageSubtotal: "用量费用小计",
19127
+ scopeRequired: "缺少账单所属客户",
19128
+ scopeRequiredDescription: "账单详情必须同时包含账单 ID 和客户工作区,避免跨客户读取。",
19129
+ loadFailed: "账单详情加载失败",
19130
+ loadFailedDescription: "无法读取该客户的账单,请稍后重试。",
19131
+ notFound: "未找到该客户范围内的账单",
18708
19132
  },
18709
19133
  health: {
18710
- expiryDays: "Expiry Days",
18711
- loginPerWeek: "Login / Week",
18712
- usage: "Usage",
19134
+ title: "租户健康明细",
19135
+ description: "健康状态综合订阅到期时间、每周登录活跃度和资源用量;点击租户可查看订阅详情。",
19136
+ needsAttention: "需关注",
19137
+ all: "全部",
19138
+ riskReason: "风险原因",
19139
+ riskReasons: {
19140
+ subscriptionMissing: "未找到有效订阅",
19141
+ subscriptionPastDue: "订阅已欠费",
19142
+ subscriptionUnpaid: "订阅尚未付款",
19143
+ subscriptionExpired: "订阅已过期",
19144
+ subscriptionExpiringSoon: "订阅将在 30 天内到期",
19145
+ loginActivityLow: "周登录活跃度低于 3 次",
19146
+ loginActivityBelowHealthy: "周登录活跃度未达到健康区间",
19147
+ usageVeryLow: "资源使用率低于 10%",
19148
+ usageBelowHealthy: "资源使用率未达到健康区间",
19149
+ usageHigh: "资源使用率超过 80%",
19150
+ subscriptionNotActive: "订阅不在生效状态",
19151
+ measurementUnavailable: "部分健康数据暂不可用",
19152
+ healthThresholdNotMet: "未达到健康判定标准",
19153
+ },
19154
+ expiryDays: "距到期天数",
19155
+ loginPerWeek: "每周登录次数",
19156
+ usage: "资源使用率",
19157
+ loadFailed: "租户健康数据加载失败",
19158
+ loadFailedDescription: "无法完整读取平台租户目录或健康指标。当前统计已隐藏,避免把缺失数据误判为健康。",
18713
19159
  },
18714
19160
  },
18715
19161
  impersonation: {
@@ -18761,6 +19207,11 @@ const messages = {
18761
19207
  issued: "已开具",
18762
19208
  paid: "已付款",
18763
19209
  overdue: "已逾期",
19210
+ expiringSoon: "即将到期",
19211
+ renewed: "已续费",
19212
+ disputed: "争议中",
19213
+ transferPending: "等待银行转账",
19214
+ transferSubmitted: "转账凭证已提交",
18764
19215
  void: "已作废",
18765
19216
  queued: "排队中",
18766
19217
  preparing: "准备中",
@@ -18825,6 +19276,18 @@ const messages = {
18825
19276
  quarterly: "按季度",
18826
19277
  yearly: "按年",
18827
19278
  },
19279
+ plan: {
19280
+ starter: "入门版",
19281
+ professional: "专业版",
19282
+ enterprise: "企业版",
19283
+ },
19284
+ measurement: {
19285
+ token: "Token 用量",
19286
+ api: "API 调用",
19287
+ file: "文件存储",
19288
+ login: "登录活动",
19289
+ seat: "席位",
19290
+ },
18828
19291
  providerKind: {
18829
19292
  openaiCompatible: "OpenAI 兼容",
18830
19293
  openai: "OpenAI",
@@ -18933,6 +19396,7 @@ const messages = {
18933
19396
  workbenchAria: "服务商运营工作台",
18934
19397
  recordsAria: "服务商配置与组织策略",
18935
19398
  riskTitle: "风险与安全后续操作",
19399
+ noActiveRisk: "当前没有需要处理的服务商风险。",
18936
19400
  contractGuarded: "契约受控",
18937
19401
  maskedAuditView: "脱敏审计视图",
18938
19402
  providerConfigs: "服务商配置",
@@ -19033,6 +19497,8 @@ const messages = {
19033
19497
  testProvider: "测试服务商能力",
19034
19498
  editProvider: "编辑服务商",
19035
19499
  probeResults: "能力测试结果",
19500
+ noWiredProbeTargets: "没有可测试的已接入能力。请先配置启用中的模型,并只选择运行时目录标记为已接入的能力。",
19501
+ noProbeResults: "没有返回能力测试证据",
19036
19502
  result: "结果",
19037
19503
  passed: "通过",
19038
19504
  failed: "失败",
@@ -19102,6 +19568,8 @@ const messages = {
19102
19568
  notWired: "未接入",
19103
19569
  capabilityCatalogTitle: "运行时能力目录",
19104
19570
  capabilityCatalogDescription: "每项能力只有在存在真实运行时消费者并接入时才可执行。未接入的能力无法在服务商上启用。",
19571
+ runtimeCatalogUnavailable: "运行时能力目录不可用",
19572
+ invalidJson: "{field} 的 JSON 格式无效",
19105
19573
  capabilityColumn: "能力",
19106
19574
  wiringColumn: "接入状态",
19107
19575
  runtimeConsumerColumn: "运行时消费者",
@@ -19123,6 +19591,9 @@ const messages = {
19123
19591
  },
19124
19592
  channelProviderControlPlane: {
19125
19593
  ui: {
19594
+ loadFailed: "渠道服务商控制面加载失败",
19595
+ loadFailedDescription: "无法读取渠道服务商配置和组织策略,请重试。",
19596
+ retry: "重试",
19126
19597
  capability: {
19127
19598
  send_email: "发送邮件",
19128
19599
  receive_email: "接收邮件",
@@ -19195,6 +19666,12 @@ const messages = {
19195
19666
  webhookSecret: "Webhook 密钥",
19196
19667
  updated: "更新时间",
19197
19668
  notWired: "未接入",
19669
+ invalidJson: "{field} 的 JSON 格式无效",
19670
+ configuredSecretRefHint: "已配置。留空将保留当前 SecretRef,不会读取或覆盖现有密钥。",
19671
+ optionalProviderSecretRefHint: "如果该服务商不需要凭据,可保持为空。",
19672
+ optionalWebhookSecretRefHint: "如果该渠道不需要 Webhook 签名校验,可保持为空。",
19673
+ wiredCapabilitiesHint: "仅可启用已经注册运行时消费者的能力。",
19674
+ notWiredCapabilitiesHint: "未接入运行时的服务商不能启用投递能力。",
19198
19675
  },
19199
19676
  },
19200
19677
  telephonyProviderControlPlane: {