@awiki/dsh-plugin 0.2.4 → 0.3.0-rc.1
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/README.md +131 -22
- package/README.zh.md +110 -20
- package/THIRD_PARTY_NOTICES.md +8 -1
- package/cordis.patch.yml +5 -0
- package/lib/client.js +12534 -2647
- package/lib/client.js.map +1 -1
- package/lib/index.js +2431 -92
- package/lib/model-proxy-contract.js +96 -0
- package/lib/provider.js +4 -1
- package/lib/sdk-adapter-DLhLrLI6.mjs +886 -0
- package/lib/typert.host.js +1269 -534
- package/lib/typert.remote-client.d.ts +47 -1
- package/lib/typert.remote-client.d.ts.map +1 -1
- package/lib/typert.remote-client.js +1254 -141
- package/lib/types/attachment-cache.d.ts +28 -0
- package/lib/types/attachment-cache.d.ts.map +1 -0
- package/lib/types/attachment-cache.js +194 -0
- package/lib/types/attachment-cache.js.map +1 -0
- package/lib/types/client/AwikiGroupDetails.d.ts +16 -0
- package/lib/types/client/AwikiGroupDetails.d.ts.map +1 -0
- package/lib/types/client/AwikiGroupDetails.js +108 -0
- package/lib/types/client/AwikiGroupDetails.js.map +1 -0
- package/lib/types/client/AwikiIdentityAccess.d.ts +21 -0
- package/lib/types/client/AwikiIdentityAccess.d.ts.map +1 -0
- package/lib/types/client/AwikiIdentityAccess.js +148 -0
- package/lib/types/client/AwikiIdentityAccess.js.map +1 -0
- package/lib/types/client/AwikiIdentityPage.d.ts +11 -0
- package/lib/types/client/AwikiIdentityPage.d.ts.map +1 -0
- package/lib/types/client/AwikiIdentityPage.js +8 -0
- package/lib/types/client/AwikiIdentityPage.js.map +1 -0
- package/lib/types/client/AwikiMail.d.ts +15 -0
- package/lib/types/client/AwikiMail.d.ts.map +1 -0
- package/lib/types/client/AwikiMail.js +380 -0
- package/lib/types/client/AwikiMail.js.map +1 -0
- package/lib/types/client/AwikiOnboarding.d.ts +22 -0
- package/lib/types/client/AwikiOnboarding.d.ts.map +1 -0
- package/lib/types/client/AwikiOnboarding.js +104 -0
- package/lib/types/client/AwikiOnboarding.js.map +1 -0
- package/lib/types/client/AwikiOverlay.d.ts +10 -0
- package/lib/types/client/AwikiOverlay.d.ts.map +1 -1
- package/lib/types/client/AwikiOverlay.js +370 -127
- package/lib/types/client/AwikiOverlay.js.map +1 -1
- package/lib/types/client/AwikiProfileCard.d.ts +9 -0
- package/lib/types/client/AwikiProfileCard.d.ts.map +1 -0
- package/lib/types/client/AwikiProfileCard.js +90 -0
- package/lib/types/client/AwikiProfileCard.js.map +1 -0
- package/lib/types/client/AwikiRecoveryForm.d.ts +24 -0
- package/lib/types/client/AwikiRecoveryForm.d.ts.map +1 -0
- package/lib/types/client/AwikiRecoveryForm.js +148 -0
- package/lib/types/client/AwikiRecoveryForm.js.map +1 -0
- package/lib/types/client/AwikiSettingsSection.d.ts +18 -4
- package/lib/types/client/AwikiSettingsSection.d.ts.map +1 -1
- package/lib/types/client/AwikiSettingsSection.js +277 -23
- package/lib/types/client/AwikiSettingsSection.js.map +1 -1
- package/lib/types/client/MentionText.d.ts +7 -0
- package/lib/types/client/MentionText.d.ts.map +1 -0
- package/lib/types/client/MentionText.js +10 -0
- package/lib/types/client/MentionText.js.map +1 -0
- package/lib/types/client/RechargeComingSoonDialog.d.ts +11 -0
- package/lib/types/client/RechargeComingSoonDialog.d.ts.map +1 -0
- package/lib/types/client/RechargeComingSoonDialog.js +8 -0
- package/lib/types/client/RechargeComingSoonDialog.js.map +1 -0
- package/lib/types/client/controller.d.ts +174 -4
- package/lib/types/client/controller.d.ts.map +1 -1
- package/lib/types/client/controller.js +975 -79
- package/lib/types/client/controller.js.map +1 -1
- package/lib/types/client/image-cache.d.ts +20 -0
- package/lib/types/client/image-cache.d.ts.map +1 -0
- package/lib/types/client/image-cache.js +177 -0
- package/lib/types/client/image-cache.js.map +1 -0
- package/lib/types/client/index.d.ts +2 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +102 -42
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/client/mail-list-cache.d.ts +15 -0
- package/lib/types/client/mail-list-cache.d.ts.map +1 -0
- package/lib/types/client/mail-list-cache.js +212 -0
- package/lib/types/client/mail-list-cache.js.map +1 -0
- package/lib/types/client/mentions.d.ts +51 -0
- package/lib/types/client/mentions.d.ts.map +1 -0
- package/lib/types/client/mentions.js +165 -0
- package/lib/types/client/mentions.js.map +1 -0
- package/lib/types/client/model-availability-controller.d.ts +27 -0
- package/lib/types/client/model-availability-controller.d.ts.map +1 -0
- package/lib/types/client/model-availability-controller.js +111 -0
- package/lib/types/client/model-availability-controller.js.map +1 -0
- package/lib/types/client/model-proxy-controller.d.ts +45 -0
- package/lib/types/client/model-proxy-controller.d.ts.map +1 -0
- package/lib/types/client/model-proxy-controller.js +306 -0
- package/lib/types/client/model-proxy-controller.js.map +1 -0
- package/lib/types/client/recharge-availability.d.ts +6 -0
- package/lib/types/client/recharge-availability.d.ts.map +1 -0
- package/lib/types/client/recharge-availability.js +6 -0
- package/lib/types/client/recharge-availability.js.map +1 -0
- package/lib/types/client/settings-locales.d.ts +1 -1
- package/lib/types/client/settings-locales.d.ts.map +1 -1
- package/lib/types/client/settings-locales.js +186 -8
- package/lib/types/client/settings-locales.js.map +1 -1
- package/lib/types/client/slots.d.ts +34 -2
- package/lib/types/client/slots.d.ts.map +1 -1
- package/lib/types/index.d.ts +95 -7
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +968 -37
- package/lib/types/index.js.map +1 -1
- package/lib/types/listener-state.d.ts +23 -0
- package/lib/types/listener-state.d.ts.map +1 -0
- package/lib/types/listener-state.js +124 -0
- package/lib/types/listener-state.js.map +1 -0
- package/lib/types/listener.d.ts +96 -0
- package/lib/types/listener.d.ts.map +1 -0
- package/lib/types/listener.js +575 -0
- package/lib/types/listener.js.map +1 -0
- package/lib/types/mail.d.ts +8 -0
- package/lib/types/mail.d.ts.map +1 -0
- package/lib/types/mail.js +75 -0
- package/lib/types/mail.js.map +1 -0
- package/lib/types/model-proxy-contract.d.ts +67 -0
- package/lib/types/model-proxy-contract.d.ts.map +1 -0
- package/lib/types/model-proxy-contract.js +135 -0
- package/lib/types/model-proxy-contract.js.map +1 -0
- package/lib/types/provider-api.d.ts +106 -2
- package/lib/types/provider-api.d.ts.map +1 -1
- package/lib/types/provider.d.ts.map +1 -1
- package/lib/types/provider.js +3 -0
- package/lib/types/provider.js.map +1 -1
- package/lib/types/sdk-adapter.d.ts +43 -2
- package/lib/types/sdk-adapter.d.ts.map +1 -1
- package/lib/types/sdk-adapter.js +622 -24
- package/lib/types/sdk-adapter.js.map +1 -1
- package/lib/types/sent-mail-store.d.ts +22 -0
- package/lib/types/sent-mail-store.d.ts.map +1 -0
- package/lib/types/sent-mail-store.js +246 -0
- package/lib/types/sent-mail-store.js.map +1 -0
- package/lib/types/tools.d.ts +10 -0
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/tools.js +98 -0
- package/lib/types/tools.js.map +1 -1
- package/lib/types/types.d.ts +254 -2
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js.map +1 -1
- package/package.json +31 -17
- package/lib/sdk-adapter-DK6RqV-c.mjs +0 -355
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/** Reactive loopback client for browser-safe AWiki-hosted DeepSeek account operations. */
|
|
2
|
+
import { AWIKI_MODEL_PROXY_RPC_CHANNEL, AWIKI_MODEL_PROXY_RPC_ENDPOINTS, decodeCloseRechargeResult, decodeModelProxyCapability, decodeModelProxyStatus, decodeModelProxyUsage, decodeRechargeOrder, } from "../model-proxy-contract.js";
|
|
3
|
+
import { AWIKI_RECHARGE_DISABLED_ERROR, AWIKI_RECHARGE_ENABLED } from "./recharge-availability.js";
|
|
4
|
+
const INITIAL = Object.freeze({
|
|
5
|
+
capability: 'unknown', status: 'idle', account: null, usage: [], usageLoading: false, pending: null, error: null,
|
|
6
|
+
});
|
|
7
|
+
export class AwikiModelProxyController {
|
|
8
|
+
connection;
|
|
9
|
+
identity;
|
|
10
|
+
rechargeEnabled;
|
|
11
|
+
view = INITIAL;
|
|
12
|
+
listeners = new Set();
|
|
13
|
+
abort = new AbortController();
|
|
14
|
+
sessionAbort = new AbortController();
|
|
15
|
+
unsubscribeSession;
|
|
16
|
+
sessionActive;
|
|
17
|
+
capabilityProbe;
|
|
18
|
+
disposed = false;
|
|
19
|
+
generation = 0;
|
|
20
|
+
constructor(connection, identity, rechargeEnabled = AWIKI_RECHARGE_ENABLED) {
|
|
21
|
+
this.connection = connection;
|
|
22
|
+
this.identity = identity;
|
|
23
|
+
this.rechargeEnabled = rechargeEnabled;
|
|
24
|
+
this.unsubscribeSession = identity.subscribe(() => { this.syncSession(); });
|
|
25
|
+
this.syncSession();
|
|
26
|
+
}
|
|
27
|
+
getSnapshot = () => this.view;
|
|
28
|
+
subscribe = (listener) => {
|
|
29
|
+
if (this.disposed)
|
|
30
|
+
return () => { };
|
|
31
|
+
this.listeners.add(listener);
|
|
32
|
+
return () => { this.listeners.delete(listener); };
|
|
33
|
+
};
|
|
34
|
+
async probe() {
|
|
35
|
+
if (this.disposed || this.view.capability === 'available')
|
|
36
|
+
return;
|
|
37
|
+
if (this.capabilityProbe !== undefined)
|
|
38
|
+
return this.capabilityProbe;
|
|
39
|
+
const pending = this.probeOnce();
|
|
40
|
+
this.capabilityProbe = pending;
|
|
41
|
+
try {
|
|
42
|
+
await pending;
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
if (this.capabilityProbe === pending)
|
|
46
|
+
this.capabilityProbe = undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async probeOnce() {
|
|
50
|
+
if (!this.connection.isLoopback) {
|
|
51
|
+
this.publish({ ...this.view, capability: 'unavailable', status: 'unavailable', error: null });
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.publish({ ...this.view, capability: 'checking', error: null });
|
|
55
|
+
try {
|
|
56
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.capability, {});
|
|
57
|
+
if (decodeModelProxyCapability(value) === undefined)
|
|
58
|
+
throw new Error('invalid model proxy capability response');
|
|
59
|
+
if (this.disposed)
|
|
60
|
+
return;
|
|
61
|
+
this.publish({
|
|
62
|
+
...this.view,
|
|
63
|
+
capability: 'available',
|
|
64
|
+
status: this.sessionActive === true ? 'idle' : 'identity-required',
|
|
65
|
+
error: null,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
if (this.disposed)
|
|
70
|
+
return;
|
|
71
|
+
this.publish({
|
|
72
|
+
...this.view,
|
|
73
|
+
capability: 'unavailable',
|
|
74
|
+
status: 'unavailable',
|
|
75
|
+
account: null,
|
|
76
|
+
usage: [],
|
|
77
|
+
usageLoading: false,
|
|
78
|
+
pending: null,
|
|
79
|
+
error: null,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async load() {
|
|
84
|
+
if (this.view.capability === 'unknown')
|
|
85
|
+
await this.probe();
|
|
86
|
+
if (this.view.capability !== 'available')
|
|
87
|
+
return;
|
|
88
|
+
if (!this.active())
|
|
89
|
+
return;
|
|
90
|
+
if (this.disposed || !this.connection.isLoopback) {
|
|
91
|
+
this.publish({ ...this.view, status: 'unavailable', error: 'AWiki 托管模型账户仅能在本机管理。' });
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const generation = ++this.generation;
|
|
95
|
+
this.publish({ ...this.view, status: 'loading', error: null });
|
|
96
|
+
try {
|
|
97
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.status, {});
|
|
98
|
+
const account = decodeModelProxyStatus(value);
|
|
99
|
+
if (account === undefined)
|
|
100
|
+
throw new Error('账户响应格式无效');
|
|
101
|
+
if (generation !== this.generation || this.disposed)
|
|
102
|
+
return;
|
|
103
|
+
this.publish({ ...this.view, status: 'ready', account, error: null });
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
if (generation !== this.generation || this.disposed)
|
|
107
|
+
return;
|
|
108
|
+
this.publish({ ...this.view, status: 'unavailable', account: null, error: message(error) });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async loadUsage() {
|
|
112
|
+
if (!this.active() || this.disposed || this.view.usageLoading)
|
|
113
|
+
return;
|
|
114
|
+
const generation = this.generation;
|
|
115
|
+
this.publish({ ...this.view, usageLoading: true, error: null });
|
|
116
|
+
try {
|
|
117
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.usage, {});
|
|
118
|
+
const usage = decodeModelProxyUsage(value);
|
|
119
|
+
if (usage === undefined)
|
|
120
|
+
throw new Error('用量响应格式无效');
|
|
121
|
+
if (generation === this.generation && !this.disposed) {
|
|
122
|
+
this.publish({ ...this.view, usage, usageLoading: false });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
if (generation === this.generation && !this.disposed) {
|
|
127
|
+
this.publish({ ...this.view, usageLoading: false, error: message(error) });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async setEnabled(enabled) {
|
|
132
|
+
if (!this.active() || this.disposed || this.view.pending !== null)
|
|
133
|
+
return;
|
|
134
|
+
const generation = this.generation;
|
|
135
|
+
this.publish({ ...this.view, pending: enabled ? 'enable' : 'disable', error: null });
|
|
136
|
+
try {
|
|
137
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.setEnabled, { enabled });
|
|
138
|
+
const account = decodeModelProxyStatus(value);
|
|
139
|
+
if (account === undefined)
|
|
140
|
+
throw new Error('模型状态响应格式无效');
|
|
141
|
+
if (generation === this.generation && !this.disposed) {
|
|
142
|
+
this.publish({ ...this.view, status: 'ready', account, pending: null });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (generation === this.generation && !this.disposed) {
|
|
147
|
+
this.publish({ ...this.view, pending: null, error: message(error) });
|
|
148
|
+
}
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
async createRecharge(amountCents) {
|
|
153
|
+
if (!this.rechargeEnabled)
|
|
154
|
+
throw new Error(AWIKI_RECHARGE_DISABLED_ERROR);
|
|
155
|
+
if (!this.active())
|
|
156
|
+
throw new Error('请先登录 AWiki 身份');
|
|
157
|
+
if (this.disposed || this.view.pending !== null)
|
|
158
|
+
throw new Error('已有操作正在进行');
|
|
159
|
+
const generation = this.generation;
|
|
160
|
+
this.publish({ ...this.view, pending: 'recharge', error: null });
|
|
161
|
+
try {
|
|
162
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.createRecharge, { amount_cents: amountCents });
|
|
163
|
+
const order = decodeRechargeOrder(value);
|
|
164
|
+
if (order === undefined || order.payment_action === undefined)
|
|
165
|
+
throw new Error('充值响应格式无效');
|
|
166
|
+
if (generation === this.generation && !this.disposed) {
|
|
167
|
+
this.publish({
|
|
168
|
+
...this.view,
|
|
169
|
+
account: this.view.account === null
|
|
170
|
+
? null
|
|
171
|
+
: { ...this.view.account, pending_recharge_order: order },
|
|
172
|
+
pending: null,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return order;
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
if (error instanceof Error && error.message === 'pending_recharge_order_exists') {
|
|
179
|
+
await this.load();
|
|
180
|
+
if (!this.disposed)
|
|
181
|
+
this.publish({ ...this.view, pending: null });
|
|
182
|
+
throw new Error('已有一笔待支付订单,请先完成支付或等待订单关闭。');
|
|
183
|
+
}
|
|
184
|
+
if (generation === this.generation && !this.disposed) {
|
|
185
|
+
this.publish({ ...this.view, pending: null, error: message(error) });
|
|
186
|
+
}
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async rechargeStatus(outTradeNo) {
|
|
191
|
+
if (!this.active())
|
|
192
|
+
throw new Error('请先登录 AWiki 身份');
|
|
193
|
+
const generation = this.generation;
|
|
194
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.rechargeStatus, { out_trade_no: outTradeNo });
|
|
195
|
+
const order = decodeRechargeOrder(value);
|
|
196
|
+
if (order === undefined)
|
|
197
|
+
throw new Error('充值状态响应格式无效');
|
|
198
|
+
const previous = this.view.account?.pending_recharge_order;
|
|
199
|
+
const current = order.payment_action === undefined
|
|
200
|
+
&& previous?.out_trade_no === order.out_trade_no
|
|
201
|
+
&& previous.payment_action !== undefined
|
|
202
|
+
? { ...order, payment_action: previous.payment_action }
|
|
203
|
+
: order;
|
|
204
|
+
if (generation !== this.generation || this.disposed)
|
|
205
|
+
return current;
|
|
206
|
+
if (order.status === 'paid' || order.status === 'closed') {
|
|
207
|
+
await this.load();
|
|
208
|
+
}
|
|
209
|
+
else if (this.view.account !== null) {
|
|
210
|
+
this.publish({
|
|
211
|
+
...this.view,
|
|
212
|
+
account: { ...this.view.account, pending_recharge_order: current },
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return current;
|
|
216
|
+
}
|
|
217
|
+
async closeRecharge(outTradeNo) {
|
|
218
|
+
if (!this.active())
|
|
219
|
+
throw new Error('请先登录 AWiki 身份');
|
|
220
|
+
if (this.disposed || this.view.pending !== null)
|
|
221
|
+
throw new Error('已有操作正在进行');
|
|
222
|
+
const generation = ++this.generation;
|
|
223
|
+
this.publish({ ...this.view, pending: 'close-recharge', error: null });
|
|
224
|
+
try {
|
|
225
|
+
const value = await this.call(AWIKI_MODEL_PROXY_RPC_ENDPOINTS.closeRecharge, { out_trade_no: outTradeNo });
|
|
226
|
+
if (decodeCloseRechargeResult(value) === undefined)
|
|
227
|
+
throw new Error('取消充值响应格式无效');
|
|
228
|
+
if (generation === this.generation && !this.disposed) {
|
|
229
|
+
this.generation += 1;
|
|
230
|
+
this.publish({
|
|
231
|
+
...this.view,
|
|
232
|
+
account: this.view.account === null
|
|
233
|
+
? null
|
|
234
|
+
: { ...this.view.account, pending_recharge_order: null },
|
|
235
|
+
pending: null,
|
|
236
|
+
error: null,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
return 'closed';
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
if (error instanceof Error && error.message === 'recharge_order_already_paid') {
|
|
243
|
+
await this.load();
|
|
244
|
+
if (!this.disposed)
|
|
245
|
+
this.publish({ ...this.view, pending: null });
|
|
246
|
+
return 'paid';
|
|
247
|
+
}
|
|
248
|
+
if (generation === this.generation && !this.disposed) {
|
|
249
|
+
this.publish({ ...this.view, pending: null, error: message(error) });
|
|
250
|
+
}
|
|
251
|
+
throw error;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
dispose() {
|
|
255
|
+
if (this.disposed)
|
|
256
|
+
return;
|
|
257
|
+
this.disposed = true;
|
|
258
|
+
this.generation += 1;
|
|
259
|
+
this.unsubscribeSession();
|
|
260
|
+
this.sessionAbort.abort();
|
|
261
|
+
this.abort.abort();
|
|
262
|
+
this.listeners.clear();
|
|
263
|
+
}
|
|
264
|
+
async call(endpoint, payload) {
|
|
265
|
+
const result = await this.connection.rpc.call(AWIKI_MODEL_PROXY_RPC_CHANNEL, endpoint, payload, AbortSignal.any([this.abort.signal, this.sessionAbort.signal]));
|
|
266
|
+
if (!result.ok)
|
|
267
|
+
throw new Error(result.error.message);
|
|
268
|
+
return result.value;
|
|
269
|
+
}
|
|
270
|
+
publish(next) {
|
|
271
|
+
this.view = Object.freeze(next);
|
|
272
|
+
for (const listener of [...this.listeners])
|
|
273
|
+
listener();
|
|
274
|
+
}
|
|
275
|
+
active() {
|
|
276
|
+
return !this.disposed && this.sessionActive === true;
|
|
277
|
+
}
|
|
278
|
+
syncSession() {
|
|
279
|
+
if (this.disposed)
|
|
280
|
+
return;
|
|
281
|
+
const view = this.identity.getSnapshot();
|
|
282
|
+
const active = view.status === 'ready' && view.sessionStatus === 'active' && view.identity !== null;
|
|
283
|
+
if (active === this.sessionActive)
|
|
284
|
+
return;
|
|
285
|
+
this.sessionActive = active;
|
|
286
|
+
this.generation += 1;
|
|
287
|
+
this.sessionAbort.abort();
|
|
288
|
+
this.sessionAbort = new AbortController();
|
|
289
|
+
const capability = this.view.capability;
|
|
290
|
+
this.publish(active
|
|
291
|
+
? {
|
|
292
|
+
...INITIAL,
|
|
293
|
+
capability,
|
|
294
|
+
status: capability === 'unavailable' ? 'unavailable' : 'idle',
|
|
295
|
+
}
|
|
296
|
+
: {
|
|
297
|
+
...INITIAL,
|
|
298
|
+
capability,
|
|
299
|
+
status: capability === 'unavailable' ? 'unavailable' : 'identity-required',
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
function message(error) {
|
|
304
|
+
return error instanceof Error && error.message !== '' ? error.message : 'AWiki 托管模型服务暂不可用。';
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=model-proxy-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-proxy-controller.js","sourceRoot":"","sources":["../../../src/client/model-proxy-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Client release gate for AWiki account recharge. */
|
|
2
|
+
/** Change only this value when the public recharge flow is ready to ship. */
|
|
3
|
+
export declare const AWIKI_RECHARGE_ENABLED = false;
|
|
4
|
+
/** Stable internal error used when a caller bypasses the guarded UI. */
|
|
5
|
+
export declare const AWIKI_RECHARGE_DISABLED_ERROR = "awiki_recharge_disabled";
|
|
6
|
+
//# sourceMappingURL=recharge-availability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recharge-availability.d.ts","sourceRoot":"","sources":["../../../src/client/recharge-availability.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,QAAQ,CAAA;AAE3C,wEAAwE;AACxE,eAAO,MAAM,6BAA6B,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Client release gate for AWiki account recharge. */
|
|
2
|
+
/** Change only this value when the public recharge flow is ready to ship. */
|
|
3
|
+
export const AWIKI_RECHARGE_ENABLED = false;
|
|
4
|
+
/** Stable internal error used when a caller bypasses the guarded UI. */
|
|
5
|
+
export const AWIKI_RECHARGE_DISABLED_ERROR = 'awiki_recharge_disabled';
|
|
6
|
+
//# sourceMappingURL=recharge-availability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recharge-availability.js","sourceRoot":"","sources":["../../../src/client/recharge-availability.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAE3C,wEAAwE;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Bilingual copy for the AWiki settings section. */
|
|
2
2
|
/** Keys owned by the AWiki settings page. */
|
|
3
|
-
export type AwikiSettingsKey = 'nav' | 'intro' | 'domainLabel' | 'domainDescription' | 'defaultValue' | 'save' | 'saving' | 'reset' | 'saved' | 'restartNotice' | 'identityNotice' | 'invalidDomain' | 'saveFailed' | 'loading' | 'unavailable' | 'readOnly' | 'dangerTitle' | 'dangerDescription' | 'clearLocalData' | 'clearDialogTitle' | 'clearDialogDescription' | 'clearScope' | 'clearRemoteNotice' | 'clearConfirmationLabel' | 'clearConfirmationPhrase' | 'clearConfirm' | 'clearing' | 'clearSucceeded' | 'clearFailed' | 'cancel';
|
|
3
|
+
export type AwikiSettingsKey = 'nav' | 'intro' | 'tabAccount' | 'tabUsage' | 'tabAdvanced' | 'accountBalance' | 'billingMode' | 'billingStrict' | 'billingBypass' | 'billingBypassNotice' | 'modelStatus' | 'statusEnabled' | 'statusDisabled' | 'enableModels' | 'disableModels' | 'enablingModels' | 'disablingModels' | 'modelsEnabled' | 'modelsDisabled' | 'modelActionFailed' | 'insufficientBalanceTitle' | 'insufficientBalanceDescription' | 'modelAccessUnavailableTitle' | 'modelAccessUnavailable' | 'modelAccountLoading' | 'modelAccountUnavailable' | 'paymentsUnavailable' | 'rechargeComingSoonTitle' | 'rechargeComingSoonDescription' | 'rechargeComingSoonAcknowledge' | 'rechargeComingSoonClose' | 'rechargeAmount' | 'createRecharge' | 'creatingRecharge' | 'invalidRechargeAmount' | 'rechargeCreated' | 'rechargeFailed' | 'rechargePaid' | 'rechargeClosed' | 'rechargeStatusFailed' | 'paymentWindowFailed' | 'paymentQrAlt' | 'paymentQrHint' | 'paymentQrFailed' | 'pendingRechargeTitle' | 'pendingRechargeDescription' | 'pendingRechargeLimit' | 'continuePayment' | 'changeRechargeAmount' | 'cancelRechargeDialogTitle' | 'cancelRechargeDialogDescription' | 'cancelRechargeWarning' | 'confirmCancelRecharge' | 'cancellingRecharge' | 'rechargeCancelled' | 'rechargeCancelFailed' | 'refreshPaymentStatus' | 'refreshingPaymentStatus' | 'rechargeOrderStatus' | 'orderPending' | 'orderPaid' | 'orderClosed' | 'usageLoading' | 'usageDescription' | 'usageDescriptionBypass' | 'reloadUsage' | 'usageEmpty' | 'usageTokens' | 'usageCalculated' | 'usageCharged' | 'usageNoPrice' | 'onboardingUseApiKey' | 'onboardingLater' | 'onboardingClose' | 'onboardingConnectTitle' | 'onboardingIdentityUnavailable' | 'onboardingModelTitle' | 'onboardingRegistrationDescription' | 'onboardingRestoreTitle' | 'onboardingRestoreDescription' | 'onboardingRestore' | 'onboardingEnableTitle' | 'onboardingBypassDescription' | 'onboardingStrictDescription' | 'onboardingInsufficientBalanceDescription' | 'onboardingPendingRechargeDescription' | 'goToRecharge' | 'identityLoading' | 'identitySignedOutRequired' | 'identityRegistrationRequired' | 'identityRestoring' | 'domainLabel' | 'domainDescription' | 'defaultValue' | 'save' | 'saving' | 'reset' | 'saved' | 'restartNotice' | 'identityNotice' | 'invalidDomain' | 'saveFailed' | 'loading' | 'unavailable' | 'readOnly' | 'dangerTitle' | 'dangerDescription' | 'clearLocalData' | 'clearDialogTitle' | 'clearDialogDescription' | 'clearScope' | 'clearRemoteNotice' | 'clearConfirmationLabel' | 'clearConfirmationPhrase' | 'clearConfirm' | 'clearing' | 'clearSucceeded' | 'clearFailed' | 'cancel';
|
|
4
4
|
/** Simplified Chinese dictionary. */
|
|
5
5
|
export declare const zh: Record<AwikiSettingsKey, string>;
|
|
6
6
|
/** English dictionary. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-locales.d.ts","sourceRoot":"","sources":["../../../src/client/settings-locales.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,OAAO,GACP,aAAa,GACb,mBAAmB,GACnB,cAAc,GACd,MAAM,GACN,QAAQ,GACR,OAAO,GACP,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,aAAa,GACb,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,YAAY,GACZ,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,QAAQ,CAAA;AAEZ,qCAAqC;AACrC,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"settings-locales.d.ts","sourceRoot":"","sources":["../../../src/client/settings-locales.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,OAAO,GACP,YAAY,GACZ,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,0BAA0B,GAC1B,gCAAgC,GAChC,6BAA6B,GAC7B,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,qBAAqB,GACrB,yBAAyB,GACzB,+BAA+B,GAC/B,+BAA+B,GAC/B,yBAAyB,GACzB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,uBAAuB,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,qBAAqB,GACrB,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,4BAA4B,GAC5B,sBAAsB,GACtB,iBAAiB,GACjB,sBAAsB,GACtB,2BAA2B,GAC3B,iCAAiC,GACjC,uBAAuB,GACvB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,yBAAyB,GACzB,qBAAqB,GACrB,cAAc,GACd,WAAW,GACX,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,wBAAwB,GACxB,aAAa,GACb,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,wBAAwB,GACxB,+BAA+B,GAC/B,sBAAsB,GACtB,mCAAmC,GACnC,wBAAwB,GACxB,8BAA8B,GAC9B,mBAAmB,GACnB,uBAAuB,GACvB,6BAA6B,GAC7B,6BAA6B,GAC7B,0CAA0C,GAC1C,sCAAsC,GACtC,cAAc,GACd,iBAAiB,GACjB,2BAA2B,GAC3B,8BAA8B,GAC9B,mBAAmB,GACnB,aAAa,GACb,mBAAmB,GACnB,cAAc,GACd,MAAM,GACN,QAAQ,GACR,OAAO,GACP,OAAO,GACP,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,aAAa,GACb,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,wBAAwB,GACxB,YAAY,GACZ,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,QAAQ,CAAA;AAEZ,qCAAqC;AACrC,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAwH/C,CAAA;AAED,0BAA0B;AAC1B,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAwH/C,CAAA;AAED,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAU,kBAAkB;QAC1B,gBAAgB,EAAE,gBAAgB,CAAA;KACnC;CACF"}
|
|
@@ -2,7 +2,96 @@
|
|
|
2
2
|
/** Simplified Chinese dictionary. */
|
|
3
3
|
export const zh = {
|
|
4
4
|
nav: 'AWiki',
|
|
5
|
-
intro: '
|
|
5
|
+
intro: '管理 AWiki 托管模型账户、用量和身份高级设置。',
|
|
6
|
+
tabAccount: '账户与充值',
|
|
7
|
+
tabUsage: '用量明细',
|
|
8
|
+
tabAdvanced: '高级设置',
|
|
9
|
+
accountBalance: '账户余额',
|
|
10
|
+
billingMode: '计费模式',
|
|
11
|
+
billingStrict: '正式计费',
|
|
12
|
+
billingBypass: '开发联调',
|
|
13
|
+
billingBypassNotice: '当前为开发联调模式,模型调用不会扣减账户余额。',
|
|
14
|
+
modelStatus: 'AWiki 托管模型',
|
|
15
|
+
statusEnabled: '已启用',
|
|
16
|
+
statusDisabled: '未启用',
|
|
17
|
+
enableModels: '启用 AWiki 托管模型',
|
|
18
|
+
disableModels: '停用 AWiki 托管模型',
|
|
19
|
+
enablingModels: '正在启用…',
|
|
20
|
+
disablingModels: '正在停用…',
|
|
21
|
+
modelsEnabled: 'AWiki 托管模型已启用,默认模型为 DeepSeek V4 Flash。',
|
|
22
|
+
modelsDisabled: 'AWiki 托管模型已停用,并已恢复此前的默认模型。',
|
|
23
|
+
modelActionFailed: '未能更新 AWiki 托管模型状态。',
|
|
24
|
+
insufficientBalanceTitle: '余额不足',
|
|
25
|
+
insufficientBalanceDescription: '充值到账后即可启用 AWiki 托管模型。充值不会自动启用模型或切换当前模型。',
|
|
26
|
+
modelAccessUnavailableTitle: '暂时无法启用',
|
|
27
|
+
modelAccessUnavailable: '当前账户暂不满足模型访问条件,请稍后刷新重试。',
|
|
28
|
+
modelAccountLoading: '正在读取 AWiki 托管模型账户…',
|
|
29
|
+
modelAccountUnavailable: 'AWiki 托管模型账户暂不可用。',
|
|
30
|
+
paymentsUnavailable: '开发环境暂未开放充值。',
|
|
31
|
+
rechargeComingSoonTitle: '充值功能正在开通中',
|
|
32
|
+
rechargeComingSoonDescription: '我们正在完善充值服务,暂时无法创建充值订单,敬请期待。',
|
|
33
|
+
rechargeComingSoonAcknowledge: '知道了',
|
|
34
|
+
rechargeComingSoonClose: '关闭提示',
|
|
35
|
+
rechargeAmount: '充值金额(元)',
|
|
36
|
+
createRecharge: '创建充值',
|
|
37
|
+
creatingRecharge: '正在创建…',
|
|
38
|
+
invalidRechargeAmount: '请输入大于 0 且最多两位小数的金额。',
|
|
39
|
+
rechargeCreated: '充值订单已创建。支付完成后余额会自动刷新,但不会自动启用或切换模型。',
|
|
40
|
+
rechargeFailed: '未能创建充值订单。',
|
|
41
|
+
rechargePaid: '充值已到账。是否启用 AWiki 托管模型仍由你决定。',
|
|
42
|
+
rechargeClosed: '充值订单已关闭。',
|
|
43
|
+
rechargeStatusFailed: '暂时无法刷新充值状态。',
|
|
44
|
+
paymentWindowFailed: '未能打开系统浏览器中的支付页面。',
|
|
45
|
+
paymentQrAlt: '支付宝充值二维码',
|
|
46
|
+
paymentQrHint: '请使用支付宝扫描二维码完成充值。',
|
|
47
|
+
paymentQrFailed: '未能生成支付二维码,请刷新页面后重试。',
|
|
48
|
+
pendingRechargeTitle: '等待完成充值',
|
|
49
|
+
pendingRechargeDescription: '已有一笔 {amount} 的订单等待支付。',
|
|
50
|
+
pendingRechargeLimit: '该订单支付或关闭前不能创建新的充值订单。支付到账后仍需由你明确启用模型。',
|
|
51
|
+
continuePayment: '继续支付',
|
|
52
|
+
changeRechargeAmount: '取消并修改金额',
|
|
53
|
+
cancelRechargeDialogTitle: '取消当前充值订单?',
|
|
54
|
+
cancelRechargeDialogDescription: '当前 {amount} 订单及二维码将立即失效。关闭后可以重新选择充值金额。',
|
|
55
|
+
cancelRechargeWarning: '如果你已经完成支付,请先返回并刷新支付状态。',
|
|
56
|
+
confirmCancelRecharge: '确认取消',
|
|
57
|
+
cancellingRecharge: '正在取消…',
|
|
58
|
+
rechargeCancelled: '订单已取消,现在可以修改充值金额。',
|
|
59
|
+
rechargeCancelFailed: '未能取消充值订单,当前支付入口仍然有效。',
|
|
60
|
+
refreshPaymentStatus: '刷新支付状态',
|
|
61
|
+
refreshingPaymentStatus: '正在刷新…',
|
|
62
|
+
rechargeOrderStatus: '订单状态:{status}',
|
|
63
|
+
orderPending: '等待支付',
|
|
64
|
+
orderPaid: '已支付',
|
|
65
|
+
orderClosed: '已关闭',
|
|
66
|
+
usageLoading: '正在读取模型用量…',
|
|
67
|
+
usageDescription: '最近 100 条模型调用记录。',
|
|
68
|
+
usageDescriptionBypass: '最近 100 条模型调用记录。开发联调模式仍记录 Token,但实际扣费为 0。',
|
|
69
|
+
reloadUsage: '刷新用量',
|
|
70
|
+
usageEmpty: '暂无模型调用记录。',
|
|
71
|
+
usageTokens: 'Token',
|
|
72
|
+
usageCalculated: '计算费用',
|
|
73
|
+
usageCharged: '实际扣费',
|
|
74
|
+
usageNoPrice: '未配置价表',
|
|
75
|
+
onboardingUseApiKey: '使用 API Key',
|
|
76
|
+
onboardingLater: '稍后配置',
|
|
77
|
+
onboardingClose: '关闭首次引导',
|
|
78
|
+
onboardingConnectTitle: '连接 AWiki',
|
|
79
|
+
onboardingIdentityUnavailable: 'AWiki 身份服务暂不可用。',
|
|
80
|
+
onboardingModelTitle: '使用 AWiki 托管模型',
|
|
81
|
+
onboardingRegistrationDescription: '创建或使用当前设备的 AWiki 身份,即可通过 AWiki 托管代理服务访问 DeepSeek 模型。',
|
|
82
|
+
onboardingRestoreTitle: '恢复 AWiki 身份',
|
|
83
|
+
onboardingRestoreDescription: '这台设备保留了一个已退出的 AWiki 身份。恢复后可以继续使用原账户。',
|
|
84
|
+
onboardingRestore: '恢复身份',
|
|
85
|
+
onboardingEnableTitle: '启用 AWiki 托管模型',
|
|
86
|
+
onboardingBypassDescription: '当前为开发联调模式,可直接启用模型,不会扣减账户余额。',
|
|
87
|
+
onboardingStrictDescription: '启用后默认使用 DeepSeek V4 Flash,可随时在模型选择器中切换到 Pro。',
|
|
88
|
+
onboardingInsufficientBalanceDescription: '当前余额不足,需要先充值。充值到账后,你可以再决定是否启用 AWiki 托管模型。',
|
|
89
|
+
onboardingPendingRechargeDescription: '你有一笔充值订单等待支付。完成支付后,再由你明确启用 AWiki 托管模型。',
|
|
90
|
+
goToRecharge: '前往充值',
|
|
91
|
+
identityLoading: '正在读取 AWiki 身份状态…',
|
|
92
|
+
identitySignedOutRequired: '当前 AWiki 身份已退出。恢复这台设备保留的身份后,才能查看账户余额、充值和用量。',
|
|
93
|
+
identityRegistrationRequired: '请先通过 AWiki 面板创建身份,再查看账户余额、充值和用量。',
|
|
94
|
+
identityRestoring: '正在恢复…',
|
|
6
95
|
domainLabel: '默认域名',
|
|
7
96
|
domainDescription: '输入纯域名,不要包含协议、路径或端口。',
|
|
8
97
|
defaultValue: '默认值:{domain}',
|
|
@@ -18,24 +107,113 @@ export const zh = {
|
|
|
18
107
|
unavailable: '当前连接无法修改 Host 设置。请在运行 DeepSeek Harness 的本机打开此页面。',
|
|
19
108
|
readOnly: '当前设置文件为只读。',
|
|
20
109
|
dangerTitle: '危险区域',
|
|
21
|
-
dangerDescription: '永久清除此安装中的 AWiki
|
|
110
|
+
dangerDescription: '永久清除此安装中的 AWiki 凭证与消息数据。清除后需要重新验证绑定手机号才能恢复原身份。',
|
|
22
111
|
clearLocalData: '清空本地 AWiki 数据',
|
|
23
112
|
clearDialogTitle: '确认清空本地 AWiki 数据',
|
|
24
113
|
clearDialogDescription: '这是不可恢复的危险操作。请确认你了解以下影响后再继续。',
|
|
25
114
|
clearScope: '本地 DID、私钥、访问令牌、注册草稿、会话记录和附件索引都会被永久删除。',
|
|
26
|
-
clearRemoteNotice: '服务端 AWiki 账号与 Handle
|
|
115
|
+
clearRemoteNotice: '服务端 AWiki 账号与 Handle 不会被删除;之后可在 AWiki 面板使用完整 Handle、绑定手机号和验证码恢复原身份,但已清除的本地消息与附件索引不会恢复。',
|
|
27
116
|
clearConfirmationLabel: '请输入“{phrase}”以确认:',
|
|
28
117
|
clearConfirmationPhrase: '永久清空',
|
|
29
118
|
clearConfirm: '永久清空',
|
|
30
119
|
clearing: '正在清空…',
|
|
31
|
-
clearSucceeded: '本地 AWiki
|
|
120
|
+
clearSucceeded: '本地 AWiki 数据已清空。原身份可通过 Handle 和绑定手机号恢复,已清除的本地数据无法恢复。',
|
|
32
121
|
clearFailed: '未能清空本地 AWiki 数据,未完成删除。请重试。',
|
|
33
122
|
cancel: '取消',
|
|
34
123
|
};
|
|
35
124
|
/** English dictionary. */
|
|
36
125
|
export const en = {
|
|
37
126
|
nav: 'AWiki',
|
|
38
|
-
intro: '
|
|
127
|
+
intro: 'Manage the AWiki-hosted DeepSeek account, usage, and advanced identity settings.',
|
|
128
|
+
tabAccount: 'Account & Recharge',
|
|
129
|
+
tabUsage: 'Usage',
|
|
130
|
+
tabAdvanced: 'Advanced',
|
|
131
|
+
accountBalance: 'Account balance',
|
|
132
|
+
billingMode: 'Billing mode',
|
|
133
|
+
billingStrict: 'Production billing',
|
|
134
|
+
billingBypass: 'Development',
|
|
135
|
+
billingBypassNotice: 'Development bypass is active. Model calls do not reduce the account balance.',
|
|
136
|
+
modelStatus: 'AWiki-hosted DeepSeek',
|
|
137
|
+
statusEnabled: 'Enabled',
|
|
138
|
+
statusDisabled: 'Disabled',
|
|
139
|
+
enableModels: 'Enable AWiki-hosted DeepSeek',
|
|
140
|
+
disableModels: 'Disable AWiki-hosted DeepSeek',
|
|
141
|
+
enablingModels: 'Enabling…',
|
|
142
|
+
disablingModels: 'Disabling…',
|
|
143
|
+
modelsEnabled: 'AWiki-hosted DeepSeek is enabled. DeepSeek V4 Flash is now the default.',
|
|
144
|
+
modelsDisabled: 'AWiki-hosted DeepSeek is disabled and the previous default model was restored.',
|
|
145
|
+
modelActionFailed: 'The AWiki-hosted DeepSeek setting could not be updated.',
|
|
146
|
+
insufficientBalanceTitle: 'Insufficient balance',
|
|
147
|
+
insufficientBalanceDescription: 'Recharge the account before enabling AWiki-hosted DeepSeek. Recharge never enables or switches models automatically.',
|
|
148
|
+
modelAccessUnavailableTitle: 'Temporarily unavailable',
|
|
149
|
+
modelAccessUnavailable: 'This account cannot access hosted models right now. Refresh and try again later.',
|
|
150
|
+
modelAccountLoading: 'Loading the AWiki-hosted DeepSeek account…',
|
|
151
|
+
modelAccountUnavailable: 'The AWiki-hosted DeepSeek account is unavailable.',
|
|
152
|
+
paymentsUnavailable: 'Recharge is not available in this development environment.',
|
|
153
|
+
rechargeComingSoonTitle: 'Recharge is coming soon',
|
|
154
|
+
rechargeComingSoonDescription: 'We are preparing the recharge service. New recharge orders are temporarily unavailable. Please stay tuned.',
|
|
155
|
+
rechargeComingSoonAcknowledge: 'Got it',
|
|
156
|
+
rechargeComingSoonClose: 'Close notice',
|
|
157
|
+
rechargeAmount: 'Recharge amount (CNY)',
|
|
158
|
+
createRecharge: 'Create recharge',
|
|
159
|
+
creatingRecharge: 'Creating…',
|
|
160
|
+
invalidRechargeAmount: 'Enter an amount greater than zero with no more than two decimal places.',
|
|
161
|
+
rechargeCreated: 'The recharge order was created. Payment refreshes the balance but never enables or switches models automatically.',
|
|
162
|
+
rechargeFailed: 'The recharge order could not be created.',
|
|
163
|
+
rechargePaid: 'The recharge was credited. You still decide whether to enable AWiki-hosted DeepSeek.',
|
|
164
|
+
rechargeClosed: 'The recharge order was closed.',
|
|
165
|
+
rechargeStatusFailed: 'The recharge status could not be refreshed.',
|
|
166
|
+
paymentWindowFailed: 'The payment page could not be opened in the system browser.',
|
|
167
|
+
paymentQrAlt: 'Alipay recharge QR code',
|
|
168
|
+
paymentQrHint: 'Scan this QR code with Alipay to complete the recharge.',
|
|
169
|
+
paymentQrFailed: 'The payment QR code could not be generated. Refresh the page and try again.',
|
|
170
|
+
pendingRechargeTitle: 'Complete your recharge',
|
|
171
|
+
pendingRechargeDescription: 'A {amount} order is awaiting payment.',
|
|
172
|
+
pendingRechargeLimit: 'A new recharge cannot be created until this order is paid or closed. Payment never enables models automatically.',
|
|
173
|
+
continuePayment: 'Continue payment',
|
|
174
|
+
changeRechargeAmount: 'Cancel and change amount',
|
|
175
|
+
cancelRechargeDialogTitle: 'Cancel this recharge order?',
|
|
176
|
+
cancelRechargeDialogDescription: 'The current {amount} order and payment code will stop working. You can then choose a new amount.',
|
|
177
|
+
cancelRechargeWarning: 'If you have already paid, go back and refresh the payment status first.',
|
|
178
|
+
confirmCancelRecharge: 'Cancel order',
|
|
179
|
+
cancellingRecharge: 'Cancelling…',
|
|
180
|
+
rechargeCancelled: 'The order was cancelled. You can now change the recharge amount.',
|
|
181
|
+
rechargeCancelFailed: 'The recharge order could not be cancelled. Its payment action is still available.',
|
|
182
|
+
refreshPaymentStatus: 'Refresh payment status',
|
|
183
|
+
refreshingPaymentStatus: 'Refreshing…',
|
|
184
|
+
rechargeOrderStatus: 'Order status: {status}',
|
|
185
|
+
orderPending: 'Awaiting payment',
|
|
186
|
+
orderPaid: 'Paid',
|
|
187
|
+
orderClosed: 'Closed',
|
|
188
|
+
usageLoading: 'Loading model usage…',
|
|
189
|
+
usageDescription: 'The latest 100 model calls.',
|
|
190
|
+
usageDescriptionBypass: 'The latest 100 model calls. Development mode records tokens while charging zero.',
|
|
191
|
+
reloadUsage: 'Refresh usage',
|
|
192
|
+
usageEmpty: 'No model usage has been recorded.',
|
|
193
|
+
usageTokens: 'Tokens',
|
|
194
|
+
usageCalculated: 'Calculated',
|
|
195
|
+
usageCharged: 'Charged',
|
|
196
|
+
usageNoPrice: 'No active price',
|
|
197
|
+
onboardingUseApiKey: 'Use an API key',
|
|
198
|
+
onboardingLater: 'Configure later',
|
|
199
|
+
onboardingClose: 'Close onboarding',
|
|
200
|
+
onboardingConnectTitle: 'Connect AWiki',
|
|
201
|
+
onboardingIdentityUnavailable: 'The AWiki identity service is unavailable.',
|
|
202
|
+
onboardingModelTitle: 'Use AWiki-hosted DeepSeek',
|
|
203
|
+
onboardingRegistrationDescription: 'Create or use this device’s AWiki identity to access DeepSeek through AWiki’s hosted proxy service.',
|
|
204
|
+
onboardingRestoreTitle: 'Restore AWiki identity',
|
|
205
|
+
onboardingRestoreDescription: 'This device retains a signed-out AWiki identity. Restore it to continue using the existing account.',
|
|
206
|
+
onboardingRestore: 'Restore identity',
|
|
207
|
+
onboardingEnableTitle: 'Enable AWiki-hosted DeepSeek',
|
|
208
|
+
onboardingBypassDescription: 'Development bypass is active, so models can be enabled without reducing the account balance.',
|
|
209
|
+
onboardingStrictDescription: 'DeepSeek V4 Flash becomes the default. You can switch to Pro from the model selector.',
|
|
210
|
+
onboardingInsufficientBalanceDescription: 'The balance is insufficient. Recharge first, then decide whether to enable AWiki-hosted DeepSeek.',
|
|
211
|
+
onboardingPendingRechargeDescription: 'A recharge order is awaiting payment. After it is paid, you still explicitly choose whether to enable AWiki-hosted DeepSeek.',
|
|
212
|
+
goToRecharge: 'Go to recharge',
|
|
213
|
+
identityLoading: 'Loading the AWiki identity…',
|
|
214
|
+
identitySignedOutRequired: 'The AWiki identity is signed out. Restore the identity retained on this device to view the account, recharge, and usage.',
|
|
215
|
+
identityRegistrationRequired: 'Create an identity from the AWiki panel before viewing the account, recharge, and usage.',
|
|
216
|
+
identityRestoring: 'Restoring…',
|
|
39
217
|
domainLabel: 'Default domain',
|
|
40
218
|
domainDescription: 'Enter a bare domain without a protocol, path, or port.',
|
|
41
219
|
defaultValue: 'Default: {domain}',
|
|
@@ -51,17 +229,17 @@ export const en = {
|
|
|
51
229
|
unavailable: 'This connection cannot edit Host settings. Open this page on the machine running DeepSeek Harness.',
|
|
52
230
|
readOnly: 'The settings document is read-only.',
|
|
53
231
|
dangerTitle: 'Danger zone',
|
|
54
|
-
dangerDescription: 'Permanently clear the AWiki
|
|
232
|
+
dangerDescription: 'Permanently clear the AWiki credentials and message data stored by this installation. Restoring the identity will require phone verification.',
|
|
55
233
|
clearLocalData: 'Clear local AWiki data',
|
|
56
234
|
clearDialogTitle: 'Clear local AWiki data?',
|
|
57
235
|
clearDialogDescription: 'This is an irreversible operation. Confirm that you understand the impact before continuing.',
|
|
58
236
|
clearScope: 'The local DID, private keys, access token, registration draft, conversations, and attachment index will be permanently deleted.',
|
|
59
|
-
clearRemoteNotice: 'The server-side AWiki account and Handle are not deleted.
|
|
237
|
+
clearRemoteNotice: 'The server-side AWiki account and Handle are not deleted. You can restore the original identity from the AWiki panel with its full Handle, bound phone number, and verification code, but cleared local messages and attachment indexes cannot be restored.',
|
|
60
238
|
clearConfirmationLabel: 'Type “{phrase}” to confirm:',
|
|
61
239
|
clearConfirmationPhrase: 'PERMANENTLY CLEAR',
|
|
62
240
|
clearConfirm: 'Clear permanently',
|
|
63
241
|
clearing: 'Clearing…',
|
|
64
|
-
clearSucceeded: 'Local AWiki data was cleared and cannot be recovered.',
|
|
242
|
+
clearSucceeded: 'Local AWiki data was cleared. The identity can be restored with its Handle and bound phone number, but the cleared local data cannot be recovered.',
|
|
65
243
|
clearFailed: 'Local AWiki data could not be cleared. Deletion did not complete. Try again.',
|
|
66
244
|
cancel: 'Cancel',
|
|
67
245
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-locales.js","sourceRoot":"","sources":["../../../src/client/settings-locales.ts"],"names":[],"mappings":"AAAA,qDAAqD;
|
|
1
|
+
{"version":3,"file":"settings-locales.js","sourceRoot":"","sources":["../../../src/client/settings-locales.ts"],"names":[],"mappings":"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"}
|