downcity 1.1.127 → 1.1.130
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.
- package/city/admin/commands/models.d.ts.map +1 -1
- package/city/admin/commands/models.js +9 -2
- package/city/admin/commands/models.js.map +1 -1
- package/city/admin/loop.d.ts.map +1 -1
- package/city/admin/loop.js +76 -10
- package/city/admin/loop.js.map +1 -1
- package/city/app.d.ts.map +1 -1
- package/city/app.js +69 -4
- package/city/app.js.map +1 -1
- package/city/auth/admin.d.ts.map +1 -1
- package/city/auth/admin.js +5 -1
- package/city/auth/admin.js.map +1 -1
- package/city/auth/server-switch.d.ts.map +1 -1
- package/city/auth/server-switch.js +157 -30
- package/city/auth/server-switch.js.map +1 -1
- package/city/command/RootCommand.d.ts.map +1 -1
- package/city/command/RootCommand.js +75 -21
- package/city/command/RootCommand.js.map +1 -1
- package/city/core/session.d.ts +11 -0
- package/city/core/session.d.ts.map +1 -1
- package/city/core/session.js +26 -0
- package/city/core/session.js.map +1 -1
- package/city/core/ui.d.ts.map +1 -1
- package/city/core/ui.js +23 -16
- package/city/core/ui.js.map +1 -1
- package/city/env/commands/refresh.d.ts.map +1 -1
- package/city/env/commands/refresh.js +9 -2
- package/city/env/commands/refresh.js.map +1 -1
- package/city/home/HomeMenu.d.ts.map +1 -1
- package/city/home/HomeMenu.js +111 -15
- package/city/home/HomeMenu.js.map +1 -1
- package/city/i18n.d.ts +60 -0
- package/city/i18n.d.ts.map +1 -0
- package/city/i18n.js +110 -0
- package/city/i18n.js.map +1 -0
- package/city/index.js +2 -0
- package/city/index.js.map +1 -1
- package/city/types/CliLocale.d.ts +16 -0
- package/city/types/CliLocale.d.ts.map +1 -0
- package/city/types/CliLocale.js +9 -0
- package/city/types/CliLocale.js.map +1 -0
- package/city/types/Interactive.d.ts +2 -2
- package/city/types/Interactive.d.ts.map +1 -1
- package/city/workspace/ServerManagement.d.ts.map +1 -1
- package/city/workspace/ServerManagement.js +59 -13
- package/city/workspace/ServerManagement.js.map +1 -1
- package/package.json +4 -4
- package/town/command/AgentCommand.d.ts.map +1 -1
- package/town/command/AgentCommand.js +127 -39
- package/town/command/AgentCommand.js.map +1 -1
- package/town/command/ChatAuthCommand.d.ts.map +1 -1
- package/town/command/ChatAuthCommand.js +23 -6
- package/town/command/ChatAuthCommand.js.map +1 -1
- package/town/command/ChatCommand.d.ts.map +1 -1
- package/town/command/ChatCommand.js +6 -2
- package/town/command/ChatCommand.js.map +1 -1
- package/town/command/CityCommand.d.ts.map +1 -1
- package/town/command/CityCommand.js +74 -19
- package/town/command/CityCommand.js.map +1 -1
- package/town/command/ConfigCommand.d.ts.map +1 -1
- package/town/command/ConfigCommand.js +46 -15
- package/town/command/ConfigCommand.js.map +1 -1
- package/town/command/EnvCommand.d.ts.map +1 -1
- package/town/command/EnvCommand.js +42 -14
- package/town/command/EnvCommand.js.map +1 -1
- package/town/command/GatewayCommand.d.ts.map +1 -1
- package/town/command/GatewayCommand.js +39 -14
- package/town/command/GatewayCommand.js.map +1 -1
- package/town/command/ManagedPluginActionCommand.d.ts.map +1 -1
- package/town/command/ManagedPluginActionCommand.js +87 -26
- package/town/command/ManagedPluginActionCommand.js.map +1 -1
- package/town/command/PluginCommand.d.ts.map +1 -1
- package/town/command/PluginCommand.js +74 -18
- package/town/command/PluginCommand.js.map +1 -1
- package/town/command/PluginScheduleCommand.d.ts.map +1 -1
- package/town/command/PluginScheduleCommand.js +38 -10
- package/town/command/PluginScheduleCommand.js.map +1 -1
- package/town/command/RootCommand.d.ts.map +1 -1
- package/town/command/RootCommand.js +21 -4
- package/town/command/RootCommand.js.map +1 -1
- package/town/command/TokenCommand.d.ts.map +1 -1
- package/town/command/TokenCommand.js +45 -10
- package/town/command/TokenCommand.js.map +1 -1
- package/town/index.js +2 -0
- package/town/index.js.map +1 -1
- package/town/shared/ChatManager.d.ts.map +1 -1
- package/town/shared/ChatManager.js +101 -25
- package/town/shared/ChatManager.js.map +1 -1
- package/town/shared/CityConnection.d.ts.map +1 -1
- package/town/shared/CityConnection.js +111 -22
- package/town/shared/CityConnection.js.map +1 -1
- package/town/shared/CityStateStore.d.ts +9 -0
- package/town/shared/CityStateStore.d.ts.map +1 -1
- package/town/shared/CityStateStore.js +25 -0
- package/town/shared/CityStateStore.js.map +1 -1
- package/town/shared/CliLocale.d.ts +60 -0
- package/town/shared/CliLocale.d.ts.map +1 -0
- package/town/shared/CliLocale.js +110 -0
- package/town/shared/CliLocale.js.map +1 -0
- package/town/shared/InteractiveLocale.d.ts +12 -0
- package/town/shared/InteractiveLocale.d.ts.map +1 -0
- package/town/shared/InteractiveLocale.js +74 -0
- package/town/shared/InteractiveLocale.js.map +1 -0
- package/town/shared/TownManager.d.ts.map +1 -1
- package/town/shared/TownManager.js +107 -21
- package/town/shared/TownManager.js.map +1 -1
- package/town/types/CliLocale.d.ts +16 -0
- package/town/types/CliLocale.d.ts.map +1 -0
- package/town/types/CliLocale.js +9 -0
- package/town/types/CliLocale.js.map +1 -0
- package/town/types/TownCityState.d.ts +5 -0
- package/town/types/TownCityState.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/admin/commands/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/admin/commands/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDzD"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { show, showError } from "../../core/ui.js";
|
|
10
10
|
import { adminErrorMessage, isAdminNotFoundError, rethrowAdminAuthError } from "../auth-error.js";
|
|
11
|
+
import { t } from "../../i18n.js";
|
|
11
12
|
/**
|
|
12
13
|
* 展示全部代码注册模型及其运行状态。
|
|
13
14
|
*/
|
|
@@ -21,7 +22,10 @@ export async function manageModels(a) {
|
|
|
21
22
|
const aiScope = envCatalog.find((item) => item.id === "ai-models");
|
|
22
23
|
const envMap = new Map(aiScope?.env.map((item) => [item.key, item.configured]) ?? []);
|
|
23
24
|
if (items.length === 0) {
|
|
24
|
-
show(
|
|
25
|
+
show(t({
|
|
26
|
+
zh: "当前 server 没有已注册的 models。",
|
|
27
|
+
en: "No models registered on server.",
|
|
28
|
+
}));
|
|
25
29
|
return;
|
|
26
30
|
}
|
|
27
31
|
console.log(`\n${items.length} models:\n`);
|
|
@@ -52,7 +56,10 @@ export async function manageModels(a) {
|
|
|
52
56
|
catch (e) {
|
|
53
57
|
rethrowAdminAuthError(e);
|
|
54
58
|
if (isAdminNotFoundError(e)) {
|
|
55
|
-
showError(
|
|
59
|
+
showError(t({
|
|
60
|
+
zh: "当前连接的 City 版本过旧,尚未暴露 /v1/env/catalog。请先部署最新的 worker/server。",
|
|
61
|
+
en: "Connected City is too old and does not expose /v1/env/catalog yet. Deploy the latest worker/server first.",
|
|
62
|
+
}));
|
|
56
63
|
return;
|
|
57
64
|
}
|
|
58
65
|
showError(adminErrorMessage(e));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/admin/commands/models.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/admin/commands/models.ts"],"names":[],"mappings":"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"}
|
package/city/admin/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/admin/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/admin/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0BvD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,iBAAiB,GAAG,MAAM,CAAC,CAmHzD"}
|
package/city/admin/loop.js
CHANGED
|
@@ -18,6 +18,7 @@ import { managePayment } from "./commands/payment.js";
|
|
|
18
18
|
import { manageCustom } from "./commands/custom.js";
|
|
19
19
|
import { manageModels } from "./commands/models.js";
|
|
20
20
|
import { manageInstruction } from "./commands/instruction.js";
|
|
21
|
+
import { t } from "../i18n.js";
|
|
21
22
|
const commands = {
|
|
22
23
|
env: manageEnv,
|
|
23
24
|
instruction: manageInstruction,
|
|
@@ -38,24 +39,86 @@ export async function adminLoop(session, options) {
|
|
|
38
39
|
const embedded = options?.embedded === true;
|
|
39
40
|
while (true) {
|
|
40
41
|
const svc = await select({
|
|
41
|
-
message: embedded
|
|
42
|
+
message: embedded
|
|
43
|
+
? t({
|
|
44
|
+
zh: "Server 管理",
|
|
45
|
+
en: "Server management",
|
|
46
|
+
})
|
|
47
|
+
: t({
|
|
48
|
+
zh: "管理服务",
|
|
49
|
+
en: "Manage Service",
|
|
50
|
+
}),
|
|
42
51
|
options: [
|
|
43
|
-
{
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
{
|
|
53
|
+
label: "Env",
|
|
54
|
+
value: "env",
|
|
55
|
+
hint: t({
|
|
56
|
+
zh: "查看并配置环境变量",
|
|
57
|
+
en: "View and configure environment variables",
|
|
58
|
+
}),
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: t({
|
|
62
|
+
zh: "City 指令",
|
|
63
|
+
en: "City Instruction",
|
|
64
|
+
}),
|
|
65
|
+
value: "instruction",
|
|
66
|
+
hint: t({
|
|
67
|
+
zh: "读取聚合后的 city/service 指引",
|
|
68
|
+
en: "Read aggregated city/service guidance",
|
|
69
|
+
}),
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: "Models",
|
|
73
|
+
value: "models",
|
|
74
|
+
hint: t({
|
|
75
|
+
zh: "查看模型就绪状态与缺失 env",
|
|
76
|
+
en: "Read model readiness and missing env requirements",
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
46
79
|
{ label: "Towns", value: "towns" },
|
|
47
80
|
{ label: "Accounts", value: "accounts" },
|
|
48
81
|
{ label: "Balance", value: "balance" },
|
|
49
82
|
{ label: "Usage", value: "usage" },
|
|
50
83
|
{ label: "Payment (Stripe)", value: "payment" },
|
|
51
|
-
{
|
|
84
|
+
{
|
|
85
|
+
label: t({
|
|
86
|
+
zh: "自定义服务...",
|
|
87
|
+
en: "Custom service...",
|
|
88
|
+
}),
|
|
89
|
+
value: "custom",
|
|
90
|
+
},
|
|
52
91
|
...(embedded
|
|
53
|
-
? [{
|
|
92
|
+
? [{
|
|
93
|
+
label: t({
|
|
94
|
+
zh: "返回",
|
|
95
|
+
en: "Back",
|
|
96
|
+
}),
|
|
97
|
+
value: "back",
|
|
98
|
+
}]
|
|
54
99
|
: [
|
|
55
|
-
{
|
|
56
|
-
|
|
100
|
+
{
|
|
101
|
+
label: t({
|
|
102
|
+
zh: "切换到 User",
|
|
103
|
+
en: "Switch to User",
|
|
104
|
+
}),
|
|
105
|
+
value: "switch",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
label: t({
|
|
109
|
+
zh: "退出登录",
|
|
110
|
+
en: "Logout",
|
|
111
|
+
}),
|
|
112
|
+
value: "logout",
|
|
113
|
+
},
|
|
57
114
|
]),
|
|
58
|
-
{
|
|
115
|
+
{
|
|
116
|
+
label: t({
|
|
117
|
+
zh: "退出",
|
|
118
|
+
en: "Quit",
|
|
119
|
+
}),
|
|
120
|
+
value: "quit",
|
|
121
|
+
},
|
|
59
122
|
],
|
|
60
123
|
});
|
|
61
124
|
if (!svc || isCancel(svc))
|
|
@@ -65,7 +128,10 @@ export async function adminLoop(session, options) {
|
|
|
65
128
|
if (svc === "back")
|
|
66
129
|
return "back";
|
|
67
130
|
if (svc === "logout") {
|
|
68
|
-
showSuccess(
|
|
131
|
+
showSuccess(t({
|
|
132
|
+
zh: "已退出 admin 模式",
|
|
133
|
+
en: "left admin mode",
|
|
134
|
+
}));
|
|
69
135
|
return "logout";
|
|
70
136
|
}
|
|
71
137
|
if (svc === "switch")
|
package/city/admin/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/admin/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/admin/loop.ts"],"names":[],"mappings":"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"}
|
package/city/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAkBH,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EnE"}
|
package/city/app.js
CHANGED
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
* - user 登录与本机 runtime 统一由 `town city login` 承担。
|
|
11
11
|
*/
|
|
12
12
|
import { readFileSync } from "node:fs";
|
|
13
|
+
import { isCancel, select } from "@clack/prompts";
|
|
13
14
|
import { intro } from "./core/ui.js";
|
|
14
|
-
import { readActiveServer } from "./core/session.js";
|
|
15
|
+
import { readActiveServer, writePersistedCliLocale, } from "./core/session.js";
|
|
15
16
|
import { parseArgs } from "./core/env.js";
|
|
16
17
|
import { promptAddServer, promptSelectActiveServer } from "./auth/server-switch.js";
|
|
17
18
|
import { show, showError, showSuccess } from "./core/ui.js";
|
|
18
19
|
import { updateCli } from "./core/update.js";
|
|
19
20
|
import { selectHomeAction, selectWelcomeAction } from "./home/HomeMenu.js";
|
|
21
|
+
import { getCliLocale, setCliLocale, t } from "./i18n.js";
|
|
20
22
|
import { openServerWorkspace } from "./workspace/ServerWorkspace.js";
|
|
21
23
|
export async function runCityApp(argv = []) {
|
|
22
24
|
const cli = parseArgs(argv);
|
|
@@ -36,6 +38,10 @@ export async function runCityApp(argv = []) {
|
|
|
36
38
|
await runSelfUpdate();
|
|
37
39
|
return;
|
|
38
40
|
}
|
|
41
|
+
if (welcomeAction === "set_language") {
|
|
42
|
+
await promptAndPersistCityCliLocale();
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
39
45
|
const connectedServer = await promptAddServer();
|
|
40
46
|
if (!connectedServer) {
|
|
41
47
|
continue;
|
|
@@ -54,6 +60,10 @@ export async function runCityApp(argv = []) {
|
|
|
54
60
|
await runSelfUpdate();
|
|
55
61
|
return;
|
|
56
62
|
}
|
|
63
|
+
if (homeAction === "set_language") {
|
|
64
|
+
await promptAndPersistCityCliLocale();
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
57
67
|
if (homeAction === "connect_city") {
|
|
58
68
|
const connectedServer = await promptAddServer();
|
|
59
69
|
if (!connectedServer) {
|
|
@@ -82,6 +92,52 @@ export async function runCityApp(argv = []) {
|
|
|
82
92
|
}
|
|
83
93
|
}
|
|
84
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* 交互式切换并持久化 City CLI 语言。
|
|
97
|
+
*/
|
|
98
|
+
async function promptAndPersistCityCliLocale() {
|
|
99
|
+
const current_locale = getCliLocale();
|
|
100
|
+
const selected_locale = await select({
|
|
101
|
+
message: t({
|
|
102
|
+
zh: "选择 City CLI 语言",
|
|
103
|
+
en: "Choose the City CLI language",
|
|
104
|
+
}),
|
|
105
|
+
options: [
|
|
106
|
+
{
|
|
107
|
+
label: "English",
|
|
108
|
+
value: "en",
|
|
109
|
+
hint: current_locale === "en"
|
|
110
|
+
? t({
|
|
111
|
+
zh: "当前",
|
|
112
|
+
en: "Current",
|
|
113
|
+
})
|
|
114
|
+
: undefined,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
label: "中文",
|
|
118
|
+
value: "zh",
|
|
119
|
+
hint: current_locale === "zh"
|
|
120
|
+
? t({
|
|
121
|
+
zh: "当前",
|
|
122
|
+
en: "Current",
|
|
123
|
+
})
|
|
124
|
+
: undefined,
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
});
|
|
128
|
+
if (!selected_locale || isCancel(selected_locale)) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const cli_locale = selected_locale;
|
|
132
|
+
setCliLocale(cli_locale);
|
|
133
|
+
writePersistedCliLocale(cli_locale);
|
|
134
|
+
showSuccess(t({
|
|
135
|
+
zh: cli_locale === "zh" ? "已切换为中文,并保存为默认语言" : "已切换为英文,并保存为默认语言",
|
|
136
|
+
en: cli_locale === "zh"
|
|
137
|
+
? "Switched to Chinese and saved as the default language"
|
|
138
|
+
: "Switched to English and saved as the default language",
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
85
141
|
/**
|
|
86
142
|
* 读取当前 CLI 包版本。
|
|
87
143
|
*
|
|
@@ -105,10 +161,19 @@ function readCliVersion() {
|
|
|
105
161
|
*/
|
|
106
162
|
async function runSelfUpdate() {
|
|
107
163
|
try {
|
|
108
|
-
show(
|
|
164
|
+
show(t({
|
|
165
|
+
zh: "正在更新 downcity CLI...",
|
|
166
|
+
en: "Updating downcity CLI...",
|
|
167
|
+
}));
|
|
109
168
|
const result = await updateCli();
|
|
110
|
-
showSuccess(
|
|
111
|
-
|
|
169
|
+
showSuccess(t({
|
|
170
|
+
zh: `CLI 已通过 ${result.mode} 模式更新到 v${result.version}`,
|
|
171
|
+
en: `CLI updated via ${result.mode} mode -> v${result.version}`,
|
|
172
|
+
}));
|
|
173
|
+
show(t({
|
|
174
|
+
zh: "请重新运行 `city` 以使用更新后的 CLI。",
|
|
175
|
+
en: "Please run `city` again to use the updated CLI.",
|
|
176
|
+
}));
|
|
112
177
|
}
|
|
113
178
|
catch (error) {
|
|
114
179
|
showError(error instanceof Error ? error.message : String(error));
|
package/city/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/city/auth/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/auth/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/auth/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI3E,wBAAsB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAcxF"}
|
package/city/auth/admin.js
CHANGED
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
* 当前版本直接复用当前 active server 上保存的 admin_secret_key。
|
|
5
5
|
*/
|
|
6
6
|
import { showError } from "../core/ui.js";
|
|
7
|
+
import { t } from "../i18n.js";
|
|
7
8
|
export async function adminAuth(server) {
|
|
8
9
|
const adminSecretKey = String(server.admin_secret_key ?? "").trim();
|
|
9
10
|
if (!adminSecretKey) {
|
|
10
|
-
showError(
|
|
11
|
+
showError(t({
|
|
12
|
+
zh: "当前 City 缺少 admin_secret_key。请打开 Server 管理并配置 admin 访问。",
|
|
13
|
+
en: "Current City is missing admin_secret_key. Open Server management -> Configure admin access.",
|
|
14
|
+
}));
|
|
11
15
|
return undefined;
|
|
12
16
|
}
|
|
13
17
|
return {
|
package/city/auth/admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/auth/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/auth/admin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAqB;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,SAAS,CAAC,CAAC,CAAC;YACV,EAAE,EAAE,wDAAwD;YAC5D,EAAE,EAAE,6FAA6F;SAClG,CAAC,CAAC,CAAC;QACJ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,gBAAgB,EAAE,cAAc;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-switch.d.ts","sourceRoot":"","sources":["../../src/auth/server-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server-switch.d.ts","sourceRoot":"","sources":["../../src/auth/server-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAM5B;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA+B1E;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiCnF;AAED,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAgJ3F;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAuCpC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoD3E"}
|