@allbluecn/admin-app 0.1.0

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 (276) hide show
  1. package/package.json +86 -0
  2. package/src/client.tsx +31 -0
  3. package/src/components/admin/admin-user-menu.tsx +90 -0
  4. package/src/components/admin/developer-log.tsx +356 -0
  5. package/src/components/ai-provider/model-list-editor.tsx +147 -0
  6. package/src/components/ai-provider/provider-form.tsx +434 -0
  7. package/src/components/ai-provider/provider-icon.tsx +43 -0
  8. package/src/components/ai-provider/provider-logo.tsx +87 -0
  9. package/src/components/ai-provider/provider-table.tsx +258 -0
  10. package/src/components/auth/admin-login-form.tsx +214 -0
  11. package/src/components/auth/auth-brand-panel.tsx +60 -0
  12. package/src/components/auth/auth-header.tsx +38 -0
  13. package/src/components/auth/auth-layout.tsx +66 -0
  14. package/src/components/auth/auth-providers.tsx +34 -0
  15. package/src/components/auth/icon-input.tsx +46 -0
  16. package/src/components/auth/oauth-section.tsx +51 -0
  17. package/src/components/auth/password-input.tsx +67 -0
  18. package/src/components/common/page-header.tsx +42 -0
  19. package/src/components/common/placeholder-page.tsx +42 -0
  20. package/src/components/component/component-form-dialog.tsx +348 -0
  21. package/src/components/component/component-import-dialog.tsx +235 -0
  22. package/src/components/component/component-table.tsx +153 -0
  23. package/src/components/data-table/data-table-pagination.tsx +114 -0
  24. package/src/components/data-table/data-table.tsx +218 -0
  25. package/src/components/data-table/table-detail-layout.tsx +99 -0
  26. package/src/components/dependency/changelog-dialog.tsx +108 -0
  27. package/src/components/dependency/columns.tsx +232 -0
  28. package/src/components/dependency/dependency-table.tsx +368 -0
  29. package/src/components/dependency/edit-dialog.tsx +200 -0
  30. package/src/components/knowledge-public/bookmark-form-dialog.tsx +215 -0
  31. package/src/components/knowledge-public/compliance-form-dialog.tsx +308 -0
  32. package/src/components/knowledge-public/legal-form-dialog.tsx +315 -0
  33. package/src/components/layout/sidebar-02/app-sidebar.tsx +160 -0
  34. package/src/components/layout/sidebar-02/index.tsx +33 -0
  35. package/src/components/layout/sidebar-02/logo.tsx +40 -0
  36. package/src/components/layout/sidebar-02/nav-main.tsx +153 -0
  37. package/src/components/layout/sidebar-02/nav-notifications.tsx +78 -0
  38. package/src/components/layout/sidebar-02/team-switcher.tsx +106 -0
  39. package/src/components/magicui/animated-theme-toggler.tsx +272 -0
  40. package/src/components/magicui/rainbow-button.tsx +78 -0
  41. package/src/components/market/columns.tsx +151 -0
  42. package/src/components/market/market-app-form.tsx +237 -0
  43. package/src/components/market/market-app-list.tsx +156 -0
  44. package/src/components/monitoring/error-list.tsx +143 -0
  45. package/src/components/monitoring/health-cards.tsx +152 -0
  46. package/src/components/monitoring/metrics-stats.tsx +184 -0
  47. package/src/components/monitoring/request-log-table.tsx +179 -0
  48. package/src/components/providers/theme-toggle.tsx +59 -0
  49. package/src/components/settings/avatar/avatar-config.ts +46 -0
  50. package/src/components/ui/alert-dialog.tsx +216 -0
  51. package/src/components/ui/alert.tsx +76 -0
  52. package/src/components/ui/avatar.tsx +129 -0
  53. package/src/components/ui/badge.tsx +66 -0
  54. package/src/components/ui/button.tsx +84 -0
  55. package/src/components/ui/card.tsx +120 -0
  56. package/src/components/ui/checkbox.tsx +50 -0
  57. package/src/components/ui/collapsible.tsx +50 -0
  58. package/src/components/ui/dialog.tsx +185 -0
  59. package/src/components/ui/dropdown-menu.tsx +286 -0
  60. package/src/components/ui/field.tsx +255 -0
  61. package/src/components/ui/input-group.tsx +171 -0
  62. package/src/components/ui/input.tsx +36 -0
  63. package/src/components/ui/label.tsx +41 -0
  64. package/src/components/ui/pagination.tsx +146 -0
  65. package/src/components/ui/select.tsx +209 -0
  66. package/src/components/ui/separator.tsx +45 -0
  67. package/src/components/ui/sheet.tsx +164 -0
  68. package/src/components/ui/sidebar.tsx +719 -0
  69. package/src/components/ui/skeleton.tsx +30 -0
  70. package/src/components/ui/sonner.tsx +37 -0
  71. package/src/components/ui/switch.tsx +48 -0
  72. package/src/components/ui/table.tsx +133 -0
  73. package/src/components/ui/textarea.tsx +35 -0
  74. package/src/components/ui/tooltip.tsx +74 -0
  75. package/src/components/user/columns.tsx +153 -0
  76. package/src/components/user/settings-activity-log.tsx +358 -0
  77. package/src/components/user/settings-profile/constants.ts +42 -0
  78. package/src/components/user/settings-profile/types.ts +47 -0
  79. package/src/components/user/settings-profile.tsx +664 -0
  80. package/src/components/user/user-create-dialog.tsx +137 -0
  81. package/src/components/user/user-filters.tsx +117 -0
  82. package/src/hooks/use-mobile.ts +36 -0
  83. package/src/instrument.client.ts +34 -0
  84. package/src/lib/anyhub/capabilities.ts +59 -0
  85. package/src/lib/anyhub/types.ts +43 -0
  86. package/src/lib/auth-client.ts +83 -0
  87. package/src/lib/auth-utils.ts +24 -0
  88. package/src/lib/auth.config.ts +264 -0
  89. package/src/lib/avatar.ts +41 -0
  90. package/src/lib/i18n/client.ts +32 -0
  91. package/src/lib/i18n/config.ts +40 -0
  92. package/src/lib/i18n/detect.ts +43 -0
  93. package/src/lib/i18n/locales/en/admin-ai.json +128 -0
  94. package/src/lib/i18n/locales/en/admin-billing.json +56 -0
  95. package/src/lib/i18n/locales/en/admin-users.json +88 -0
  96. package/src/lib/i18n/locales/en/common.json +877 -0
  97. package/src/lib/i18n/locales/en/enterprise.json +208 -0
  98. package/src/lib/i18n/locales/zh/admin-ai.json +128 -0
  99. package/src/lib/i18n/locales/zh/admin-billing.json +56 -0
  100. package/src/lib/i18n/locales/zh/admin-users.json +88 -0
  101. package/src/lib/i18n/locales/zh/common.json +877 -0
  102. package/src/lib/i18n/locales/zh/enterprise.json +208 -0
  103. package/src/lib/i18n/server.ts +18 -0
  104. package/src/lib/i18n/types.ts +5 -0
  105. package/src/lib/monitoring-benchmarks.ts +85 -0
  106. package/src/lib/monitoring-descriptions.ts +78 -0
  107. package/src/lib/prisma.ts +18 -0
  108. package/src/lib/router-context.ts +38 -0
  109. package/src/lib/session.ts +38 -0
  110. package/src/lib/utils.ts +23 -0
  111. package/src/providers/index.tsx +45 -0
  112. package/src/routeTree.gen.ts +1199 -0
  113. package/src/router.tsx +51 -0
  114. package/src/routes/__root.tsx +170 -0
  115. package/src/routes/_nav/ai-providers/$id/edit/route.lazy.tsx +74 -0
  116. package/src/routes/_nav/ai-providers/$id/edit/route.tsx +35 -0
  117. package/src/routes/_nav/ai-providers/index/route.lazy.tsx +33 -0
  118. package/src/routes/_nav/ai-providers/new/route.lazy.tsx +31 -0
  119. package/src/routes/_nav/ai-providers/new/route.tsx +20 -0
  120. package/src/routes/_nav/ai-providers/route.lazy.tsx +26 -0
  121. package/src/routes/_nav/ai-providers/route.tsx +31 -0
  122. package/src/routes/_nav/apps/route.lazy.tsx +30 -0
  123. package/src/routes/_nav/apps/route.tsx +20 -0
  124. package/src/routes/_nav/audit/route.lazy.tsx +100 -0
  125. package/src/routes/_nav/audit/route.tsx +25 -0
  126. package/src/routes/_nav/billing/invoices/route.lazy.tsx +86 -0
  127. package/src/routes/_nav/billing/invoices/route.tsx +25 -0
  128. package/src/routes/_nav/billing/route.lazy.tsx +48 -0
  129. package/src/routes/_nav/billing/route.tsx +27 -0
  130. package/src/routes/_nav/billing/subscriptions/$subscriptionId/route.lazy.tsx +160 -0
  131. package/src/routes/_nav/billing/subscriptions/$subscriptionId/route.tsx +25 -0
  132. package/src/routes/_nav/billing/subscriptions/route.lazy.tsx +113 -0
  133. package/src/routes/_nav/billing/subscriptions/route.tsx +28 -0
  134. package/src/routes/_nav/compliance/route.lazy.tsx +184 -0
  135. package/src/routes/_nav/compliance/route.tsx +25 -0
  136. package/src/routes/_nav/components/route.lazy.tsx +184 -0
  137. package/src/routes/_nav/components/route.tsx +40 -0
  138. package/src/routes/_nav/dashboard/route.lazy.tsx +33 -0
  139. package/src/routes/_nav/dashboard/route.tsx +20 -0
  140. package/src/routes/_nav/dependencies/route.lazy.tsx +66 -0
  141. package/src/routes/_nav/dependencies/route.tsx +32 -0
  142. package/src/routes/_nav/developer-logs/route.lazy.tsx +6 -0
  143. package/src/routes/_nav/developer-logs/route.tsx +14 -0
  144. package/src/routes/_nav/docs/route.lazy.tsx +30 -0
  145. package/src/routes/_nav/docs/route.tsx +20 -0
  146. package/src/routes/_nav/knowledge-public/bookmarks/route.lazy.tsx +355 -0
  147. package/src/routes/_nav/knowledge-public/bookmarks/route.tsx +40 -0
  148. package/src/routes/_nav/knowledge-public/compliance/route.lazy.tsx +245 -0
  149. package/src/routes/_nav/knowledge-public/compliance/route.tsx +40 -0
  150. package/src/routes/_nav/knowledge-public/legal/route.lazy.tsx +242 -0
  151. package/src/routes/_nav/knowledge-public/legal/route.tsx +40 -0
  152. package/src/routes/_nav/licenses/$licenseId/route.lazy.tsx +235 -0
  153. package/src/routes/_nav/licenses/$licenseId/route.tsx +25 -0
  154. package/src/routes/_nav/licenses/new/route.lazy.tsx +237 -0
  155. package/src/routes/_nav/licenses/route.lazy.tsx +143 -0
  156. package/src/routes/_nav/licenses/route.tsx +25 -0
  157. package/src/routes/_nav/market/route.lazy.tsx +31 -0
  158. package/src/routes/_nav/market/route.tsx +20 -0
  159. package/src/routes/_nav/monitoring/ai-usage/route.lazy.tsx +305 -0
  160. package/src/routes/_nav/monitoring/ai-usage/route.tsx +3 -0
  161. package/src/routes/_nav/monitoring/errors/route.lazy.tsx +111 -0
  162. package/src/routes/_nav/monitoring/health/route.lazy.tsx +260 -0
  163. package/src/routes/_nav/monitoring/logs/route.lazy.tsx +165 -0
  164. package/src/routes/_nav/monitoring/metrics/route.lazy.tsx +240 -0
  165. package/src/routes/_nav/monitoring/overview/route.lazy.tsx +138 -0
  166. package/src/routes/_nav/monitoring/route.lazy.tsx +68 -0
  167. package/src/routes/_nav/monitoring/route.tsx +20 -0
  168. package/src/routes/_nav/monitoring/sentry/route.lazy.tsx +399 -0
  169. package/src/routes/_nav/monitoring/sentry/route.tsx +20 -0
  170. package/src/routes/_nav/permissions/route.lazy.tsx +504 -0
  171. package/src/routes/_nav/permissions/route.tsx +26 -0
  172. package/src/routes/_nav/route.lazy.tsx +31 -0
  173. package/src/routes/_nav/route.tsx +34 -0
  174. package/src/routes/_nav/settings/route.lazy.tsx +30 -0
  175. package/src/routes/_nav/settings/route.tsx +20 -0
  176. package/src/routes/_nav/sso/route.lazy.tsx +145 -0
  177. package/src/routes/_nav/sso/route.tsx +25 -0
  178. package/src/routes/_nav/users/$userId/route.lazy.tsx +432 -0
  179. package/src/routes/_nav/users/$userId/route.tsx +27 -0
  180. package/src/routes/_nav/users/-components/users-table.tsx +38 -0
  181. package/src/routes/_nav/users/route.lazy.tsx +74 -0
  182. package/src/routes/_nav/users/route.tsx +43 -0
  183. package/src/routes/api/compliance-download/$jobId.ts +35 -0
  184. package/src/routes/api/observability/errors.ts +41 -0
  185. package/src/routes/api/observability/health.ts +30 -0
  186. package/src/routes/api.auth.$.ts +31 -0
  187. package/src/routes/api.sentry-test.ts +33 -0
  188. package/src/routes/index/route.lazy.tsx +22 -0
  189. package/src/routes/index/route.tsx +24 -0
  190. package/src/routes/login/route.lazy.tsx +46 -0
  191. package/src/routes/login/route.tsx +28 -0
  192. package/src/routes/sentry-tunnel.ts +61 -0
  193. package/src/routes/setup/route.lazy.tsx +94 -0
  194. package/src/routes/setup/route.tsx +28 -0
  195. package/src/server/__tests__/admin-ai-alerts.test.ts +113 -0
  196. package/src/server/__tests__/licenses-issue.test.ts +98 -0
  197. package/src/server/admin-ai-alerts.ts +177 -0
  198. package/src/server/admin-ai-usage.ts +134 -0
  199. package/src/server/auth-helpers.ts +51 -0
  200. package/src/server/entitlements.ts +24 -0
  201. package/src/server/knowledge-public/canonical-id.ts +55 -0
  202. package/src/server/knowledge-public/github-sync.ts +86 -0
  203. package/src/server/license-issue.ts +78 -0
  204. package/src/server/middlewares/request.ts +26 -0
  205. package/src/server/observability/debug-middleware.ts +39 -0
  206. package/src/server/observability/error-reporter.ts +99 -0
  207. package/src/server/observability/health-check.ts +140 -0
  208. package/src/server/observability/index.ts +33 -0
  209. package/src/server/observability/logger.ts +49 -0
  210. package/src/server/observability/metrics.ts +105 -0
  211. package/src/server/observability/request-middleware.ts +125 -0
  212. package/src/server/observability/timing.ts +42 -0
  213. package/src/server/pro-services.ts +32 -0
  214. package/src/server/serverFns/admin-billing.ts +94 -0
  215. package/src/server/serverFns/ai-provider/create.ts +92 -0
  216. package/src/server/serverFns/ai-provider/delete.ts +42 -0
  217. package/src/server/serverFns/ai-provider/get.ts +35 -0
  218. package/src/server/serverFns/ai-provider/list.ts +92 -0
  219. package/src/server/serverFns/ai-provider/update.ts +73 -0
  220. package/src/server/serverFns/anyhub/market.ts +64 -0
  221. package/src/server/serverFns/audit.ts +57 -0
  222. package/src/server/serverFns/auth/session.ts +26 -0
  223. package/src/server/serverFns/auth/setup.ts +73 -0
  224. package/src/server/serverFns/compliance.ts +85 -0
  225. package/src/server/serverFns/components/import.ts +197 -0
  226. package/src/server/serverFns/components/list.ts +51 -0
  227. package/src/server/serverFns/components/mutations.ts +84 -0
  228. package/src/server/serverFns/dependency/helpers.ts +245 -0
  229. package/src/server/serverFns/dependency/list.ts +127 -0
  230. package/src/server/serverFns/dependency/sync.ts +123 -0
  231. package/src/server/serverFns/dependency/update.ts +51 -0
  232. package/src/server/serverFns/developer-log-auto-generate.ts +176 -0
  233. package/src/server/serverFns/developer-logs.ts +132 -0
  234. package/src/server/serverFns/knowledge-public/bookmarks/create.ts +53 -0
  235. package/src/server/serverFns/knowledge-public/bookmarks/delete.ts +31 -0
  236. package/src/server/serverFns/knowledge-public/bookmarks/detail.ts +32 -0
  237. package/src/server/serverFns/knowledge-public/bookmarks/list.ts +66 -0
  238. package/src/server/serverFns/knowledge-public/bookmarks/sync-all-github.ts +56 -0
  239. package/src/server/serverFns/knowledge-public/bookmarks/update.ts +50 -0
  240. package/src/server/serverFns/knowledge-public/compliance/create.ts +58 -0
  241. package/src/server/serverFns/knowledge-public/compliance/delete.ts +31 -0
  242. package/src/server/serverFns/knowledge-public/compliance/detail.ts +32 -0
  243. package/src/server/serverFns/knowledge-public/compliance/list.ts +59 -0
  244. package/src/server/serverFns/knowledge-public/compliance/update.ts +53 -0
  245. package/src/server/serverFns/knowledge-public/legal/create.ts +62 -0
  246. package/src/server/serverFns/knowledge-public/legal/delete.ts +31 -0
  247. package/src/server/serverFns/knowledge-public/legal/detail.ts +32 -0
  248. package/src/server/serverFns/knowledge-public/legal/list.ts +60 -0
  249. package/src/server/serverFns/knowledge-public/legal/update.ts +55 -0
  250. package/src/server/serverFns/licenses.ts +92 -0
  251. package/src/server/serverFns/locale.ts +10 -0
  252. package/src/server/serverFns/monitoring/check-ai-alerts.ts +13 -0
  253. package/src/server/serverFns/monitoring/get-ai-usage-overview.ts +25 -0
  254. package/src/server/serverFns/monitoring/get-errors.ts +43 -0
  255. package/src/server/serverFns/monitoring/get-health-settings.ts +35 -0
  256. package/src/server/serverFns/monitoring/get-health.ts +55 -0
  257. package/src/server/serverFns/monitoring/get-metrics.ts +46 -0
  258. package/src/server/serverFns/monitoring/get-request-logs.ts +66 -0
  259. package/src/server/serverFns/monitoring/report-error.ts +55 -0
  260. package/src/server/serverFns/monitoring/reset.ts +70 -0
  261. package/src/server/serverFns/permissions.ts +214 -0
  262. package/src/server/serverFns/sentry/config.ts +88 -0
  263. package/src/server/serverFns/sso-config.ts +83 -0
  264. package/src/server/serverFns/user/create.ts +40 -0
  265. package/src/server/serverFns/user/delete.ts +29 -0
  266. package/src/server/serverFns/user/detail.ts +45 -0
  267. package/src/server/serverFns/user/list.ts +56 -0
  268. package/src/server/serverFns/user/reset-password.ts +28 -0
  269. package/src/server/serverFns/user/update-role.ts +26 -0
  270. package/src/server/serverFns/user/update-status.ts +26 -0
  271. package/src/server.ts +27 -0
  272. package/src/start.ts +85 -0
  273. package/src/styles/_keyframe-animations.scss +91 -0
  274. package/src/styles/_variables.scss +296 -0
  275. package/src/styles/globals.css +200 -0
  276. package/src/types/start-authjs.d.ts +27 -0
@@ -0,0 +1,208 @@
1
+ {
2
+ "page": {
3
+ "title": "Enterprise Governance",
4
+ "description": "Manage enterprise licensing, audits, SSO, and compliance"
5
+ },
6
+ "license": {
7
+ "title": "License Management",
8
+ "status": "License Status",
9
+ "key": "License Key",
10
+ "issuedAt": "Issued At",
11
+ "expiresAt": "Expires At",
12
+ "maxUsers": "Max Users",
13
+ "usedUsers": "Used Users",
14
+ "features": "Features",
15
+ "active": "Active",
16
+ "expired": "Expired",
17
+ "gracePeriod": "Grace Period",
18
+ "pendingActivation": "Pending Activation",
19
+ "managementTitle": "License Management",
20
+ "issue": "Issue License",
21
+ "count": "{{count}} Licenses",
22
+ "empty": "No license records",
23
+ "customer": "Customer",
24
+ "email": "Email",
25
+ "plan": "Plan",
26
+ "seats": "Seats",
27
+ "activationCount": "Activations",
28
+ "expiresAtLabel": "Expires At",
29
+ "revoked": "Revoked",
30
+ "notYet": "Not Expired",
31
+ "action": "Actions",
32
+ "detail": "Details",
33
+ "detailTitle": "License Detail",
34
+ "revokedToast": "This license has already been revoked",
35
+ "revokedSuccess": "License revoked",
36
+ "revoke": "Revoke License",
37
+ "basicInfo": "Basic Info",
38
+ "customerId": "Customer ID",
39
+ "issuer": "Issued By",
40
+ "permanent": "Permanent",
41
+ "featureAuthorization": "Feature Authorization",
42
+ "noFeatureAuthorization": "No special feature authorization",
43
+ "keyTitle": "License Key (first 20 chars)",
44
+ "activationsTitle": "Activated Instances ({{count}})",
45
+ "instance": "Instance",
46
+ "activatedAt": "Activated at {{date}}",
47
+ "fingerprint": "Fingerprint {{fingerprint}}...",
48
+ "lastActive": "Last active {{date}}",
49
+ "neverActive": "Never active"
50
+ },
51
+ "audit": {
52
+ "title": "Audit Log",
53
+ "event": "Event",
54
+ "actor": "Actor",
55
+ "target": "Target",
56
+ "action": "Action",
57
+ "timestamp": "Timestamp",
58
+ "ip": "IP Address",
59
+ "userAgent": "User Agent",
60
+ "result": "Result",
61
+ "success": "Success",
62
+ "failure": "Failure"
63
+ },
64
+ "sso": {
65
+ "title": "SSO Configuration",
66
+ "provider": "Identity Provider",
67
+ "type": "Protocol",
68
+ "enabled": "Enabled",
69
+ "disabled": "Disabled",
70
+ "domain": "Domain",
71
+ "entityId": "Entity ID",
72
+ "metadataUrl": "Metadata URL",
73
+ "syncEnabled": "User Sync",
74
+ "justInTime": "Just-in-Time Provisioning"
75
+ },
76
+ "permissions": {
77
+ "title": "Permissions",
78
+ "subtitle": "Manage roles and permission assignments within workspaces",
79
+ "role": "Role",
80
+ "scope": "Scope",
81
+ "grant": "Grant",
82
+ "revoke": "Revoke",
83
+ "inherited": "Inherited",
84
+ "custom": "Custom",
85
+ "workspaceLabel": "Workspace: ",
86
+ "empty": "No roles in this workspace yet. System presets will be seeded automatically.",
87
+ "createRole": "Create Role",
88
+ "createRoleDesc": "Create a custom role with resource-level permissions",
89
+ "roleName": "Role Name",
90
+ "roleNamePlaceholder": "Enter role name (e.g. Content Editor)",
91
+ "permissionsMatrix": "Permission Matrix (Resource × Action)",
92
+ "level": {
93
+ "admin": "Admin",
94
+ "write": "Write",
95
+ "read": "Read",
96
+ "none": "None"
97
+ },
98
+ "type": {
99
+ "system": "System",
100
+ "custom": "Custom"
101
+ },
102
+ "table": {
103
+ "role": "Role",
104
+ "type": "Type",
105
+ "members": "Members",
106
+ "permissions": "Permissions",
107
+ "actions": "Actions"
108
+ },
109
+ "action": {
110
+ "createRole": "Create Role",
111
+ "delete": "Delete",
112
+ "notAvailable": "Not Available",
113
+ "viewAssignments": "View Assignments"
114
+ },
115
+ "assign": "Assign Users ({{name}})",
116
+ "assignDesc": "Search by user ID and assign to this role",
117
+ "assignUser": "Assign",
118
+ "unassign": "Remove",
119
+ "searchUserPlaceholder": "Enter user ID",
120
+ "noAssignments": "No users assigned to this role yet",
121
+ "dialog": {
122
+ "cancel": "Cancel",
123
+ "create": "Create",
124
+ "close": "Close"
125
+ },
126
+ "toast": {
127
+ "systemRole": "System presets cannot be deleted",
128
+ "deleted": "Role {{name}} deleted",
129
+ "created": "Role {{name}} created",
130
+ "assigned": "User assigned to role",
131
+ "unassigned": "User removed from role",
132
+ "nameRequired": "Please enter a role name",
133
+ "seedDone": "System presets seeded"
134
+ }
135
+ },
136
+ "compliance": {
137
+ "title": "Compliance",
138
+ "policy": "Policy",
139
+ "status": "Status",
140
+ "lastReview": "Last Review",
141
+ "nextReview": "Next Review",
142
+ "dataResidency": "Data Residency",
143
+ "encryption": "Encryption",
144
+ "retentionDays": "Retention Days",
145
+ "certified": "Certified",
146
+ "pendingReview": "Pending Review",
147
+ "export": {
148
+ "title": "Compliance Export Jobs",
149
+ "subtitle": "{{count}} export/delete job(s)",
150
+ "empty": "No compliance export jobs yet",
151
+ "type": {
152
+ "export": "Export",
153
+ "delete": "Delete"
154
+ },
155
+ "scope": {
156
+ "user": "User",
157
+ "workspace": "Workspace"
158
+ },
159
+ "status": {
160
+ "pending": "Pending",
161
+ "processing": "Processing",
162
+ "completed": "Completed",
163
+ "failed": "Failed",
164
+ "expired": "Expired"
165
+ },
166
+ "table": {
167
+ "type": "Type",
168
+ "scope": "Scope",
169
+ "target": "Target",
170
+ "status": "Status",
171
+ "requester": "Requester",
172
+ "createdAt": "Created At",
173
+ "error": "Error",
174
+ "actions": "Actions"
175
+ },
176
+ "actions": {
177
+ "execute": "Execute",
178
+ "processing": "Running...",
179
+ "download": "Download",
180
+ "expired": "Expired"
181
+ },
182
+ "toast": {
183
+ "executed": "Execution submitted",
184
+ "executeFailed": "Execution failed"
185
+ }
186
+ }
187
+ },
188
+ "issue": {
189
+ "title": "Issue License",
190
+ "enterpriseTitle": "Enterprise License Issuance",
191
+ "description": "License issuance relies on the Ed25519 private key and requires an enterprise environment.",
192
+ "alertTitle": "Enterprise Environment Required",
193
+ "alertDescription": "License issuance requires the <code>LICENSE_SIGNING_PRIVATE_KEY</code> environment variable, which is only available in enterprise deployments. The open-source version does not support license issuance. Please contact the AllBlue team for an enterprise license.",
194
+ "successTitle": "License Issued",
195
+ "keyOnceTitle": "Copy and save the license key now",
196
+ "keyOnceDescription": "This key is shown only once. Close the page loses the full key.",
197
+ "customerName": "Customer Name",
198
+ "customerEmail": "Customer Email",
199
+ "customerId": "Customer ID",
200
+ "plan": "License Plan",
201
+ "planHint": "Enter Plan name (e.g. enterprise / pro), must match a Plan.name in the database",
202
+ "seats": "Licensed Seats",
203
+ "expiresAt": "Expires At",
204
+ "expiresAtHint": "Empty = perpetual",
205
+ "features": "Licensed Features",
206
+ "submit": "Issue License"
207
+ }
208
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "page": {
3
+ "title": "AI 服务商管理",
4
+ "description": "管理 AI 服务商配置、模型和限额",
5
+ "create": "创建服务商",
6
+ "edit": "编辑服务商"
7
+ },
8
+ "provider": {
9
+ "name": "服务商",
10
+ "kind": "适配器类型",
11
+ "status": "状态",
12
+ "apiKey": "API Key",
13
+ "baseUrl": "Base URL",
14
+ "models": "模型列表",
15
+ "enabled": "已启用",
16
+ "disabled": "已停用",
17
+ "totalKeys": "Key 总数",
18
+ "monthlyUsage": "月度用量",
19
+ "displayName": "显示名称",
20
+ "brandName": "品牌名称",
21
+ "description": "描述",
22
+ "category": "分类",
23
+ "defaultBaseUrl": "默认 Base URL",
24
+ "keyUrl": "Key 获取地址",
25
+ "docsUrl": "文档地址",
26
+ "keyPlaceholder": "Key 占位符",
27
+ "iconSlug": "图标标识",
28
+ "brandColor": "品牌颜色",
29
+ "isLocal": "本地服务商",
30
+ "sortOrder": "排序"
31
+ },
32
+ "action": {
33
+ "addProvider": "添加服务商",
34
+ "editProvider": "编辑服务商",
35
+ "testConnection": "测试连接",
36
+ "manageModels": "管理模型",
37
+ "toggleEnabled": "切换启用状态"
38
+ },
39
+ "model": {
40
+ "id": "模型 ID",
41
+ "name": "模型名称",
42
+ "inputPrice": "输入价格",
43
+ "outputPrice": "输出价格",
44
+ "capabilities": "能力",
45
+ "custom": "自定义",
46
+ "apiFetched": "API 获取"
47
+ },
48
+ "form": {
49
+ "addProvider": "添加 AI 服务商",
50
+ "editProvider": "编辑 AI 服务商",
51
+ "basicInfo": "基本信息",
52
+ "integrationConfig": "接入配置",
53
+ "modelList": "模型列表",
54
+ "providerId": "Provider ID",
55
+ "providerIdDesc": "业务标识,全小写字母/数字/短横线,用于 adapter 路由。",
56
+ "providerIdEditNote": "编辑后不可修改",
57
+ "providerIdPlaceholder": "如 openai、deepseek",
58
+ "preview": "预览",
59
+ "previewDesc": "填写后可预览图标",
60
+ "displayName": "显示名",
61
+ "displayNameDesc": "用户端卡片显示的中文名",
62
+ "brandName": "品牌名",
63
+ "brandNameDesc": "英文品牌名(用于首字母 fallback)",
64
+ "description": "描述",
65
+ "descriptionDesc": "一句话服务商介绍",
66
+ "category": "分类",
67
+ "adapterKind": "Adapter 类型",
68
+ "adapterKindDesc": "决定调用哪家 SDK 协议",
69
+ "badge": "角标文案",
70
+ "badgeDesc": "卡片右上角显示的标签(如「推荐」「热门」「NEW」),留空不显示",
71
+ "badgePlaceholder": "如 推荐",
72
+ "brandColor": "品牌色",
73
+ "brandColorDesc": "卡片强调色(hex)",
74
+ "iconSlug": "图标 slug",
75
+ "iconSlugDesc": "@lobehub/icons 中的 slug(如 OpenAI、Anthropic),留空用首字母",
76
+ "iconSlugPlaceholder": "如 openai",
77
+ "defaultBaseUrl": "默认 BaseURL",
78
+ "defaultBaseUrlDesc": "用户不填自定义端点时使用",
79
+ "keyUrl": "API Key 获取地址",
80
+ "docsUrl": "文档地址",
81
+ "apikeyPlaceholder": "API Key Placeholder",
82
+ "localDeploy": "本地部署",
83
+ "localDeployDesc": "Ollama 等本地服务勾选,不强制 API Key",
84
+ "platformEnabled": "平台启用",
85
+ "platformEnabledDesc": "停用后未配置用户看不到,已配置用户继续可用",
86
+ "sortOrder": "排序权重",
87
+ "sortOrderDesc": "数字越小越靠前",
88
+ "modelListDesc": "用户从此列表中选择启用的模型(可选项,可留空)",
89
+ "validation": {
90
+ "providerIdRequired": "请填写 providerId",
91
+ "displayNameRequired": "请填写显示名"
92
+ },
93
+ "toast": {
94
+ "created": "服务商已创建",
95
+ "updated": "服务商已更新",
96
+ "saveFailed": "保存失败:{{error}}"
97
+ }
98
+ },
99
+ "table": {
100
+ "pageTitle": "AI 服务商管理",
101
+ "pageDescription": "管理 {{count}} 个服务商。停用后未配置用户看不到,已配置用户继续可用。无人使用的服务商可硬删除。",
102
+ "addProvider": "添加服务商",
103
+ "columns": {
104
+ "provider": "服务商",
105
+ "adapterKind": "模型适配器",
106
+ "category": "分类",
107
+ "badge": "角标",
108
+ "modelCount": "模型数",
109
+ "userConfigCount": "用户配置数",
110
+ "platformEnabled": "平台启用",
111
+ "actions": "操作"
112
+ },
113
+ "enabledToggle": "平台启用开关",
114
+ "edit": "编辑",
115
+ "delete": "删除",
116
+ "deleteDisabled": "已有 {{count}} 个用户配置,无法删除",
117
+ "deleteConfirm": {
118
+ "title": "确认删除服务商「{{name}}」?",
119
+ "description": "此操作不可撤销。删除后该服务商将从平台彻底移除,无法恢复。如仅想暂时下架,请改用「停用」功能。",
120
+ "confirm": "确认删除"
121
+ },
122
+ "toast": {
123
+ "updated": "已更新",
124
+ "deleted": "服务商已删除",
125
+ "deleteFailed": "删除失败"
126
+ }
127
+ }
128
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "page": {
3
+ "title": "计费管理",
4
+ "description": "管理订阅、账单和收入",
5
+ "selectSubmenu": "请选择左侧子菜单查看详情"
6
+ },
7
+ "subscription": {
8
+ "plan": "套餐",
9
+ "status": "状态",
10
+ "startDate": "开始时间",
11
+ "endDate": "结束时间",
12
+ "amount": "金额",
13
+ "currency": "币种",
14
+ "interval": "周期",
15
+ "totalUsers": "用户数",
16
+ "overdue": "逾期",
17
+ "active": "活跃",
18
+ "cancelled": "已取消",
19
+ "trialing": "试用中",
20
+ "workspace": "工作空间",
21
+ "seats": "席位",
22
+ "expires": "到期",
23
+ "detail": "详情",
24
+ "action": "操作",
25
+ "empty": "暂无订阅记录",
26
+ "notFound": "订阅不存在",
27
+ "count": "共 {{count}} 个订阅",
28
+ "detailTitle": "订阅详情",
29
+ "periodStart": "周期开始",
30
+ "periodEnd": "周期结束",
31
+ "providerSubscription": "订阅提供方 ID",
32
+ "back": "返回列表",
33
+ "invoicesTitle": "发票",
34
+ "invoiceDate": "日期",
35
+ "invoiceAmount": "金额",
36
+ "invoiceStatus": "状态"
37
+ },
38
+ "invoice": {
39
+ "number": "账单号",
40
+ "date": "开票日期",
41
+ "dueDate": "到期日",
42
+ "total": "总金额",
43
+ "paid": "已支付",
44
+ "unpaid": "未支付",
45
+ "view": "查看账单",
46
+ "usd": "$",
47
+ "cny": "¥"
48
+ },
49
+ "action": {
50
+ "upgrade": "升级套餐",
51
+ "downgrade": "降级套餐",
52
+ "cancel": "取消订阅",
53
+ "retryPayment": "重试支付",
54
+ "exportData": "导出数据"
55
+ }
56
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "page": {
3
+ "title": "用户管理",
4
+ "description": "管理所有注册用户和团队",
5
+ "total": "共 {{total}} 个用户",
6
+ "createUser": "创建用户"
7
+ },
8
+ "role": {
9
+ "superAdmin": "超级管理员",
10
+ "admin": "管理员",
11
+ "user": "用户",
12
+ "guest": "访客"
13
+ },
14
+ "status": {
15
+ "active": "正常",
16
+ "inactive": "未激活",
17
+ "banned": "已封禁"
18
+ },
19
+ "action": {
20
+ "changeRole": "修改角色",
21
+ "changeStatus": "修改状态",
22
+ "resetPassword": "重置密码"
23
+ },
24
+ "detail": {
25
+ "errorLoading": "加载用户详情出错",
26
+ "retry": "重试",
27
+ "userNotFound": "用户不存在",
28
+ "profile": {
29
+ "title": "基本信息",
30
+ "description": "用户的核心资料"
31
+ },
32
+ "account": {
33
+ "title": "账号信息",
34
+ "description": "账号生命周期与登录状态",
35
+ "createdAt": "注册时间",
36
+ "updatedAt": "更新时间",
37
+ "lastLogin": "最后登录",
38
+ "neverLoggedIn": "从未登录"
39
+ },
40
+ "stats": {
41
+ "title": "关联统计",
42
+ "description": "用户在各业务模块的数据分布",
43
+ "prds": "PRD 文档",
44
+ "apps": "应用",
45
+ "marketApps": "市场应用",
46
+ "reviews": "评审"
47
+ },
48
+ "loginLogs": {
49
+ "title": "最近登录",
50
+ "description": "查看该用户的登录历史与审计记录",
51
+ "success": "登录成功",
52
+ "failure": "登录失败",
53
+ "unknownReason": "未知原因",
54
+ "csvHeader": "时间,结果,失败原因,IP,位置,浏览器,系统,设备",
55
+ "exportSuccess": "登录日志已导出"
56
+ }
57
+ },
58
+ "dialog": {
59
+ "role": {
60
+ "title": "修改角色 — {{username}}",
61
+ "newRole": "新角色"
62
+ },
63
+ "status": {
64
+ "title": "修改状态 — {{username}}",
65
+ "newStatus": "新状态"
66
+ },
67
+ "password": {
68
+ "title": "重置密码 — {{username}}",
69
+ "newPassword": "新密码",
70
+ "confirm": "确认重置"
71
+ },
72
+ "delete": {
73
+ "title": "确认删除用户",
74
+ "description": "此操作不可撤销。将删除用户 <strong>{{username}}</strong> 及其所有关联数据。请输入用户名 <strong>{{username}}</strong> 以确认。",
75
+ "placeholder": "输入用户名确认",
76
+ "confirm": "确认删除"
77
+ }
78
+ },
79
+ "toast": {
80
+ "roleUpdated": "角色修改成功",
81
+ "statusUpdated": "状态修改成功",
82
+ "passwordReset": "密码重置成功",
83
+ "userDeleted": "用户已删除",
84
+ "updateFailed": "修改失败",
85
+ "resetFailed": "重置失败",
86
+ "deleteFailed": "删除失败"
87
+ }
88
+ }