@aalis/plugin-doctor 0.8.0 → 0.10.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.
- package/README.md +1 -1
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +236 -121
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts +64 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +64 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/texts.d.ts +127 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +67 -0
- package/dist/texts.js.map +1 -0
- package/package.json +10 -7
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ pnpm add @aalis/plugin-doctor
|
|
|
13
13
|
`definePlugin` 默认导出:
|
|
14
14
|
|
|
15
15
|
- provides:`doctor`
|
|
16
|
-
- uses:`provide`、`logger`、`events`、`services`;可选 `plugins`、`commands`、`webui`(`webui-server`)
|
|
16
|
+
- uses:`provide`、`logger`、`events`、`services`;可选 `plugins`、`commands`、`webui`(`webui-server`)、`hostConfig`(`host-config`)
|
|
17
17
|
|
|
18
18
|
## 文档
|
|
19
19
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { type DoctorReport } from '@aalis/api-doctor';
|
|
2
|
-
import { type
|
|
2
|
+
import { type HostConfig } from '@aalis/api-host-config';
|
|
3
|
+
import { type PluginManagerService, type Services } from '@aalis/core';
|
|
4
|
+
import { type TextRef } from '@aalis/schema-i18n';
|
|
3
5
|
declare const _default: import("@aalis/core").PluginDefinition<{
|
|
4
6
|
provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
|
|
5
7
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
|
|
6
8
|
events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
|
|
7
9
|
services: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Services, Services>;
|
|
8
|
-
plugins: import("@aalis/core").OptionalUse<PluginManagerService,
|
|
10
|
+
plugins: import("@aalis/core").OptionalUse<PluginManagerService, PluginManagerService>;
|
|
9
11
|
commands: import("@aalis/core").OptionalUse<import("@aalis/api-commands").CommandService, import("@aalis/api-commands").BoundCommands>;
|
|
10
12
|
webui: import("@aalis/core").OptionalUse<import("@aalis/api-webui").WebUIService, import("@aalis/api-webui").BoundWebui>;
|
|
13
|
+
hostConfig: import("@aalis/core").OptionalUse<HostConfig, HostConfig>;
|
|
11
14
|
}>;
|
|
12
15
|
export default _default;
|
|
13
|
-
|
|
16
|
+
/**
|
|
17
|
+
* /doctor 的回复:聊天栏排版,按 level 分组,加换行,避免一坨平铺。整份报告是文字对象,出口按读者的语言渲染;各检查项的
|
|
18
|
+
* message 与 detail 原样作参数,detail 逐行缩进(见 detailLines)
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatReport(report: DoctorReport): TextRef;
|
|
14
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EAMlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAML,KAAK,oBAAoB,EAIzB,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,KAAK,OAAO,EAAqB,MAAM,oBAAoB,CAAC;;;;;;;;;;;AA6GtF,wBAoGG;AAiLH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CA2B1D"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { version as nodeVersion, platform } from 'node:process';
|
|
2
2
|
import { commands } from '@aalis/api-commands';
|
|
3
|
-
import { doctor, } from '@aalis/api-doctor';
|
|
3
|
+
import { describeUnmet, doctor, failureText, unmetDependencies, } from '@aalis/api-doctor';
|
|
4
|
+
import { hostConfig } from '@aalis/api-host-config';
|
|
4
5
|
import { webuiServer } from '@aalis/api-webui';
|
|
5
6
|
import { definePlugin, events, logger, optional, pluginsService, provide, services, } from '@aalis/core';
|
|
7
|
+
import { asText, linesOf, textLines, textOf } from '@aalis/schema-i18n';
|
|
8
|
+
import { t } from './texts.js';
|
|
6
9
|
const PLUGIN_NAME = '@aalis/plugin-doctor';
|
|
7
10
|
const uses = {
|
|
8
11
|
provide,
|
|
@@ -12,21 +15,25 @@ const uses = {
|
|
|
12
15
|
plugins: optional(pluginsService),
|
|
13
16
|
commands: optional(commands),
|
|
14
17
|
webui: optional(webuiServer),
|
|
18
|
+
hostConfig: optional(hostConfig),
|
|
15
19
|
};
|
|
16
20
|
// ===== Registry =====
|
|
17
21
|
class DoctorRegistry {
|
|
18
22
|
caps;
|
|
23
|
+
reported;
|
|
19
24
|
last;
|
|
20
25
|
specs = new Map();
|
|
21
|
-
|
|
26
|
+
/** reported:每次运行完,诊断页按新报告刷新并发出或撤回提示 */
|
|
27
|
+
constructor(caps, reported) {
|
|
22
28
|
this.caps = caps;
|
|
29
|
+
this.reported = reported;
|
|
23
30
|
}
|
|
24
31
|
getLastReport() {
|
|
25
32
|
return this.last;
|
|
26
33
|
}
|
|
27
34
|
registerCheck(spec) {
|
|
28
35
|
if (this.specs.has(spec.id)) {
|
|
29
|
-
this.caps.logger.debug(`doctor: 检查项 ${spec.id} 被覆盖注册`);
|
|
36
|
+
this.caps.logger.use.debug(`doctor: 检查项 ${spec.id} 被覆盖注册`);
|
|
30
37
|
}
|
|
31
38
|
this.specs.set(spec.id, spec);
|
|
32
39
|
return () => {
|
|
@@ -52,8 +59,8 @@ class DoctorRegistry {
|
|
|
52
59
|
id: spec.id,
|
|
53
60
|
category: spec.category,
|
|
54
61
|
level: 'error',
|
|
55
|
-
message:
|
|
56
|
-
detail:
|
|
62
|
+
message: t('checkThrew', { id: spec.id }),
|
|
63
|
+
detail: textOf(err),
|
|
57
64
|
});
|
|
58
65
|
}
|
|
59
66
|
}
|
|
@@ -66,73 +73,121 @@ class DoctorRegistry {
|
|
|
66
73
|
summary,
|
|
67
74
|
checks,
|
|
68
75
|
};
|
|
69
|
-
//
|
|
70
|
-
this.caps.events.emit('doctor:updated', { generatedAt: this.last.generatedAt, summary }).catch(() => { });
|
|
76
|
+
// 通知订阅者报告换了
|
|
77
|
+
this.caps.events.use.emit('doctor:updated', { generatedAt: this.last.generatedAt, summary }).catch(() => { });
|
|
78
|
+
this.reported(this.last);
|
|
71
79
|
return this.last;
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
82
|
// ===== WebUI 页面 =====
|
|
75
|
-
const
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
label: '上次运行时间',
|
|
90
|
-
source: 'getLastRunAt',
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
type: 'table',
|
|
94
|
-
label: '最近一次诊断结果',
|
|
95
|
-
source: 'getReport',
|
|
96
|
-
columns: [
|
|
97
|
-
{ key: 'level', label: '级别' },
|
|
98
|
-
{ key: 'category', label: '类别' },
|
|
99
|
-
{ key: 'id', label: '检查项' },
|
|
100
|
-
{ key: 'message', label: '说明' },
|
|
101
|
-
{ key: 'detail', label: '详情' },
|
|
102
|
-
],
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
];
|
|
83
|
+
const LEVELS = {
|
|
84
|
+
ok: { text: t('levelOk') },
|
|
85
|
+
warn: { text: t('levelWarn'), state: 'attention' },
|
|
86
|
+
error: { text: t('levelError'), state: 'error' },
|
|
87
|
+
};
|
|
88
|
+
/** 「类别」一列:值照旧作标识,显示名取字典 */
|
|
89
|
+
const CATEGORIES = {
|
|
90
|
+
env: t('categoryEnv'),
|
|
91
|
+
filesystem: t('categoryFilesystem'),
|
|
92
|
+
plugins: t('categoryPlugins'),
|
|
93
|
+
config: t('categoryConfig'),
|
|
94
|
+
service: t('categoryService'),
|
|
95
|
+
other: t('categoryOther'),
|
|
96
|
+
};
|
|
107
97
|
// ===== 插件入口 =====
|
|
108
98
|
export default definePlugin({
|
|
109
99
|
name: PLUGIN_NAME,
|
|
110
|
-
displayName: '
|
|
100
|
+
displayName: t('displayName'),
|
|
111
101
|
subsystem: 'platform',
|
|
112
102
|
provides: [doctor],
|
|
113
103
|
uses,
|
|
114
|
-
apply({ provide, logger, events, services, plugins, commands, webui }) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
104
|
+
apply({ provide, logger, events, services, plugins, commands, webui, hostConfig }) {
|
|
105
|
+
// 诊断页只读本次激活的 registry:页面属于本插件,不该去查「当前胜出的 doctor」
|
|
106
|
+
const page = webui.use.definePage({
|
|
107
|
+
key: 'doctor',
|
|
108
|
+
title: t('displayName'),
|
|
109
|
+
icon: 'activity',
|
|
110
|
+
actions: {
|
|
111
|
+
runDiagnostics: {
|
|
112
|
+
label: t('runNow'),
|
|
113
|
+
effect: 'read',
|
|
114
|
+
async handler() {
|
|
115
|
+
const { ok, warn, error } = (await registry.runChecks()).summary;
|
|
116
|
+
return t('ran', { ok, warn, error });
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
content: [
|
|
121
|
+
{ type: 'actions', actions: ['runDiagnostics'] },
|
|
122
|
+
{
|
|
123
|
+
type: 'info',
|
|
124
|
+
id: 'summary',
|
|
125
|
+
label: t('lastRun'),
|
|
126
|
+
data() {
|
|
127
|
+
const last = registry.getLastReport();
|
|
128
|
+
if (!last)
|
|
129
|
+
return [{ label: t('time'), value: t('notRunYet') }];
|
|
130
|
+
return [
|
|
131
|
+
{ label: t('time'), value: last.generatedAt, kind: 'time' },
|
|
132
|
+
{ label: t('levelOk'), value: last.summary.ok },
|
|
133
|
+
{ label: t('countWarn'), value: last.summary.warn },
|
|
134
|
+
{ label: t('countError'), value: last.summary.error },
|
|
135
|
+
];
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'table',
|
|
140
|
+
id: 'checks',
|
|
141
|
+
label: t('results'),
|
|
142
|
+
rowKey: 'key',
|
|
143
|
+
empty: t('noResults'),
|
|
144
|
+
columns: [
|
|
145
|
+
{ key: 'level', label: t('columnLevel'), kind: 'status', primary: true },
|
|
146
|
+
{ key: 'category', label: t('columnCategory') },
|
|
147
|
+
{ key: 'id', label: t('columnCheck'), kind: 'code' },
|
|
148
|
+
{ key: 'message', label: t('columnMessage'), primary: true },
|
|
149
|
+
{ key: 'detail', label: t('columnDetail'), kind: 'long-text' },
|
|
150
|
+
],
|
|
151
|
+
// 检查项的 id 可能重复(一个检查项回多条结果),行按报告里的次序标识
|
|
152
|
+
data: () => (registry.getLastReport()?.checks ?? []).map((check, i) => ({
|
|
153
|
+
key: String(i),
|
|
154
|
+
level: LEVELS[check.level],
|
|
155
|
+
category: CATEGORIES[check.category],
|
|
156
|
+
id: check.id,
|
|
157
|
+
message: check.message,
|
|
158
|
+
detail: check.detail,
|
|
159
|
+
})),
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
});
|
|
163
|
+
let notice;
|
|
164
|
+
const registry = new DoctorRegistry({ logger, events }, report => {
|
|
165
|
+
page.invalidate();
|
|
166
|
+
const { error, warn } = report.summary;
|
|
167
|
+
if (error + warn === 0) {
|
|
168
|
+
notice?.clear();
|
|
169
|
+
notice = undefined;
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// 「诊断有 2 项错误、1 项警告」:只写不为零的
|
|
173
|
+
notice = webui.use.notify({
|
|
174
|
+
id: 'checks',
|
|
175
|
+
level: error > 0 ? 'error' : 'action',
|
|
176
|
+
title: error > 0 && warn > 0
|
|
177
|
+
? t('noticeErrorsWarnings', { error, warn })
|
|
178
|
+
: error > 0
|
|
179
|
+
? t('noticeErrors', { error })
|
|
180
|
+
: t('noticeWarnings', { warn }),
|
|
181
|
+
open: { page: 'doctor' },
|
|
182
|
+
});
|
|
130
183
|
});
|
|
184
|
+
// 注册 builtin 检查项(与第三方插件走同一条注册路径,自然出现在 listChecks 里)。先于 provide:
|
|
185
|
+
// provide 那次调用里,先激活的插件经 optional(doctor) 攒下的检查项就补登记进来,内置项要排在它们前面
|
|
186
|
+
registerBuiltinChecks(registry, plugins, services.use, hostConfig);
|
|
187
|
+
provide.use(doctor, registry);
|
|
131
188
|
// 注册 /doctor 命令 —— chat 与 CLI 通用入口。受限(等级 2):报告带存储根的宿主路径、
|
|
132
189
|
// 插件报错原文(其中可能有内网地址与端口),不该让群里人人都能看到
|
|
133
|
-
commands
|
|
134
|
-
.command('doctor', '运行系统诊断(环境 / 文件系统 / 插件状态)', { visibility: 'restricted' })
|
|
135
|
-
.action(async () => {
|
|
190
|
+
commands.use.command('doctor', t('commandDescription'), { visibility: 'restricted' }).action(async () => {
|
|
136
191
|
const report = await registry.runChecks();
|
|
137
192
|
return formatReport(report);
|
|
138
193
|
});
|
|
@@ -144,20 +199,21 @@ export default definePlugin({
|
|
|
144
199
|
// plugin-storage-local,经 doctor 契约自行注册——避免 doctor 反向硬依赖业务插件。
|
|
145
200
|
//
|
|
146
201
|
// `plugins.status` 留在这里:它读 PluginManager(核心服务),不属于任何业务插件领域;
|
|
147
|
-
// 若未来 PluginManager 自带 self-check
|
|
148
|
-
function registerBuiltinChecks(reg, plugins, services) {
|
|
202
|
+
// 若未来 PluginManager 自带 self-check,可一并迁走。`services.preferences` 同理,读的是宿主配置与服务容器。
|
|
203
|
+
function registerBuiltinChecks(reg, plugins, services, host) {
|
|
149
204
|
reg.registerCheck({
|
|
150
205
|
id: 'env.node',
|
|
151
206
|
category: 'env',
|
|
152
207
|
pluginName: PLUGIN_NAME,
|
|
153
208
|
run() {
|
|
154
|
-
const major =
|
|
209
|
+
const [major, minor] = nodeVersion.slice(1).split('.').map(Number);
|
|
210
|
+
const supported = major > 24 || (major === 24 && minor >= 15);
|
|
155
211
|
return {
|
|
156
212
|
id: 'env.node',
|
|
157
213
|
category: 'env',
|
|
158
|
-
level:
|
|
214
|
+
level: supported ? 'ok' : 'error',
|
|
159
215
|
message: `Node ${nodeVersion}`,
|
|
160
|
-
detail:
|
|
216
|
+
detail: supported ? undefined : t('nodeTooOld'),
|
|
161
217
|
};
|
|
162
218
|
},
|
|
163
219
|
});
|
|
@@ -166,7 +222,7 @@ function registerBuiltinChecks(reg, plugins, services) {
|
|
|
166
222
|
category: 'env',
|
|
167
223
|
pluginName: PLUGIN_NAME,
|
|
168
224
|
run() {
|
|
169
|
-
return { id: 'env.platform', category: 'env', level: 'ok', message:
|
|
225
|
+
return { id: 'env.platform', category: 'env', level: 'ok', message: t('platform', { platform }) };
|
|
170
226
|
},
|
|
171
227
|
});
|
|
172
228
|
reg.registerCheck({
|
|
@@ -174,111 +230,170 @@ function registerBuiltinChecks(reg, plugins, services) {
|
|
|
174
230
|
category: 'plugins',
|
|
175
231
|
pluginName: PLUGIN_NAME,
|
|
176
232
|
run() {
|
|
177
|
-
|
|
178
|
-
if (!pm) {
|
|
233
|
+
if (!plugins.present) {
|
|
179
234
|
return {
|
|
180
235
|
id: 'plugins.service',
|
|
181
236
|
category: 'plugins',
|
|
182
237
|
level: 'warn',
|
|
183
|
-
message: '
|
|
238
|
+
message: t('noPluginManager'),
|
|
184
239
|
};
|
|
185
240
|
}
|
|
241
|
+
const pm = plugins.use;
|
|
186
242
|
const status = pm.getStatus();
|
|
187
243
|
const errored = status.filter(s => s.state === 'error');
|
|
188
|
-
const pending = status.filter(s => s.state === 'pending');
|
|
189
244
|
const active = status.filter(s => s.state === 'active');
|
|
190
245
|
// 激活超过 core 慢操作阈值、已转入后台的(依赖它服务的插件在它完成前保持 pending)
|
|
191
246
|
const slow = status.filter(s => s.state === 'activating' && s.slow);
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const provider = activating.find(s => s.provides?.includes(svc));
|
|
202
|
-
if (provider)
|
|
203
|
-
waiting.add(provider.instanceId);
|
|
204
|
-
else
|
|
205
|
-
missing.push(svc);
|
|
206
|
-
}
|
|
207
|
-
const reasons = [
|
|
208
|
-
...(missing.length > 0 ? [`缺少服务: ${missing.join('、')}`] : []),
|
|
209
|
-
...[...waiting].map(id => `等待 ${id} 激活完成`),
|
|
210
|
-
];
|
|
211
|
-
return reasons.length > 0 ? `${p.instanceId}: ${reasons.join(';')}` : p.instanceId;
|
|
212
|
-
};
|
|
247
|
+
// 旧实例超过宽限仍未停下的:停下之前同一 id 不起新实例,说法与依赖链的根(api-doctor)一致
|
|
248
|
+
const lingering = status.filter(s => s.lingering);
|
|
249
|
+
// 缺与在等:与 runtime 启动告警、WebUI 同一判据(api-doctor),缺的沿链追到根;只在等提供者启动的不算未就绪。
|
|
250
|
+
// 没有缺的时只说「无缺服务」:pending 的插件可能还在等别的插件启动或等自己的旧实例停下,各在 plugins.waiting 与
|
|
251
|
+
// plugins.lingering 里报
|
|
252
|
+
const unmet = [...unmetDependencies(status, services.names())];
|
|
253
|
+
const lacking = unmet.filter(([, u]) => u.lacking.length > 0);
|
|
254
|
+
const waiting = unmet.filter(([, u]) => u.lacking.length === 0 && u.waiting.length > 0);
|
|
255
|
+
const lines = (entries) => textLines(entries.map(([instance, u]) => t('pluginLine', { instance, reason: describeUnmet(u) })));
|
|
213
256
|
return [
|
|
214
257
|
{
|
|
215
258
|
id: 'plugins.active',
|
|
216
259
|
category: 'plugins',
|
|
217
260
|
level: 'ok',
|
|
218
|
-
message:
|
|
261
|
+
message: t('pluginsActive', { active: active.length, total: status.length }),
|
|
219
262
|
},
|
|
220
263
|
{
|
|
221
264
|
id: 'plugins.errored',
|
|
222
265
|
category: 'plugins',
|
|
223
266
|
level: errored.length === 0 ? 'ok' : 'error',
|
|
224
|
-
message: errored.length === 0 ? '
|
|
225
|
-
detail: errored.length > 0
|
|
267
|
+
message: errored.length === 0 ? t('noErrored') : t('errored', { count: errored.length }),
|
|
268
|
+
detail: errored.length > 0
|
|
269
|
+
? textLines(errored.map(p => t('pluginLine', { instance: p.instanceId, reason: failureText(p) ?? '' })))
|
|
270
|
+
: undefined,
|
|
226
271
|
},
|
|
227
272
|
{
|
|
228
273
|
id: 'plugins.pending',
|
|
229
274
|
category: 'plugins',
|
|
230
|
-
level:
|
|
231
|
-
message:
|
|
232
|
-
detail:
|
|
275
|
+
level: lacking.length === 0 ? 'ok' : 'warn',
|
|
276
|
+
message: lacking.length === 0 ? t('noLacking') : t('lacking', { count: lacking.length }),
|
|
277
|
+
detail: lacking.length > 0 ? lines(lacking) : undefined,
|
|
233
278
|
},
|
|
279
|
+
...(waiting.length > 0
|
|
280
|
+
? [
|
|
281
|
+
{
|
|
282
|
+
id: 'plugins.waiting',
|
|
283
|
+
category: 'plugins',
|
|
284
|
+
level: 'ok',
|
|
285
|
+
message: t('waiting', { count: waiting.length }),
|
|
286
|
+
detail: lines(waiting),
|
|
287
|
+
},
|
|
288
|
+
]
|
|
289
|
+
: []),
|
|
234
290
|
{
|
|
235
291
|
id: 'plugins.slow',
|
|
236
292
|
category: 'plugins',
|
|
237
293
|
level: slow.length === 0 ? 'ok' : 'warn',
|
|
238
|
-
message: slow.length === 0 ? '
|
|
239
|
-
detail: slow.length > 0 ? slow.map(p => p.instanceId)
|
|
294
|
+
message: slow.length === 0 ? t('noSlow') : t('slow', { count: slow.length }),
|
|
295
|
+
detail: slow.length > 0 ? textLines([...slow.map(p => p.instanceId), t('slowHint')]) : undefined,
|
|
240
296
|
},
|
|
297
|
+
...(lingering.length > 0
|
|
298
|
+
? [
|
|
299
|
+
{
|
|
300
|
+
id: 'plugins.lingering',
|
|
301
|
+
category: 'plugins',
|
|
302
|
+
level: 'warn',
|
|
303
|
+
message: t('lingering', { count: lingering.length }),
|
|
304
|
+
detail: textLines([
|
|
305
|
+
...lingering.map(p => t('lingeringLine', { id: p.instanceId })),
|
|
306
|
+
t('lingeringHint'),
|
|
307
|
+
]),
|
|
308
|
+
},
|
|
309
|
+
]
|
|
310
|
+
: []),
|
|
241
311
|
];
|
|
242
312
|
},
|
|
243
313
|
});
|
|
314
|
+
// 配置文档里的服务偏好指向的提供者此刻不在这个服务里:偏好没有生效,服务落到了别的提供者上(模型删了、插件停用了)。
|
|
315
|
+
// 全局偏好与各插件的本插件偏好(pluginServicePreferences)各查一遍,每个这样的偏好一条,写明实际在用哪个:按偏好所在
|
|
316
|
+
// 口径的解析顺序排第一的就是在用的
|
|
317
|
+
reg.registerCheck({
|
|
318
|
+
id: 'services.preferences',
|
|
319
|
+
category: 'service',
|
|
320
|
+
pluginName: PLUGIN_NAME,
|
|
321
|
+
run() {
|
|
322
|
+
const results = [];
|
|
323
|
+
const doc = host.present ? host.use : undefined;
|
|
324
|
+
for (const plugin of [undefined, ...Object.keys(doc?.get('pluginServicePreferences') ?? {})]) {
|
|
325
|
+
for (const [name, preferred] of Object.entries(doc?.getServicePreferences({ for: plugin }) ?? {})) {
|
|
326
|
+
const entries = services.inspect(name, { for: plugin });
|
|
327
|
+
if (entries.some(entry => entry.contextId === preferred))
|
|
328
|
+
continue;
|
|
329
|
+
const [inUse] = entries;
|
|
330
|
+
// 在用的提供者的标签是 core 的展示值(unknown):是字符串或文字对象才写出来,否则只写 id
|
|
331
|
+
const label = inUse && asText(inUse.label);
|
|
332
|
+
results.push({
|
|
333
|
+
id: plugin === undefined ? `services.preferences.${name}` : `services.preferences.${plugin}.${name}`,
|
|
334
|
+
category: 'service',
|
|
335
|
+
level: 'warn',
|
|
336
|
+
message: plugin === undefined
|
|
337
|
+
? t('preferenceMissed', { name, preferred })
|
|
338
|
+
: t('pluginPreferenceMissed', { plugin, name, preferred }),
|
|
339
|
+
detail: textLines([
|
|
340
|
+
!inUse
|
|
341
|
+
? t('noProvider')
|
|
342
|
+
: label
|
|
343
|
+
? t('inUse', { label, id: inUse.contextId })
|
|
344
|
+
: t('inUseId', { id: inUse.contextId }),
|
|
345
|
+
plugin === undefined
|
|
346
|
+
? t('fixPreference', { name, preferred })
|
|
347
|
+
: t('fixPluginPreference', { plugin, preferred }),
|
|
348
|
+
]),
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return results.length > 0
|
|
353
|
+
? results
|
|
354
|
+
: { id: 'services.preferences', category: 'service', level: 'ok', message: t('preferencesInEffect') };
|
|
355
|
+
},
|
|
356
|
+
});
|
|
244
357
|
}
|
|
245
358
|
// ===== helpers =====
|
|
359
|
+
/**
|
|
360
|
+
* /doctor 的回复:聊天栏排版,按 level 分组,加换行,避免一坨平铺。整份报告是文字对象,出口按读者的语言渲染;各检查项的
|
|
361
|
+
* message 与 detail 原样作参数,detail 逐行缩进(见 detailLines)
|
|
362
|
+
*/
|
|
246
363
|
export function formatReport(report) {
|
|
247
|
-
// 聊天栏排版:按 level 分组,加换行,避免一坨平铺
|
|
248
364
|
const byLevel = { error: [], warn: [], ok: [] };
|
|
249
365
|
for (const c of report.checks)
|
|
250
366
|
byLevel[c.level].push(c);
|
|
251
|
-
const
|
|
252
|
-
const lines = [
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
367
|
+
const { ok, warn, error } = report.summary;
|
|
368
|
+
const lines = [
|
|
369
|
+
t('reportTitle', { at: Date.parse(report.generatedAt) }),
|
|
370
|
+
t('reportSummary', { ok, warn, error }),
|
|
371
|
+
];
|
|
256
372
|
const sections = [
|
|
257
|
-
['error', '
|
|
258
|
-
['warn', '
|
|
259
|
-
['ok', '
|
|
373
|
+
['error', t('reportErrors')],
|
|
374
|
+
['warn', t('reportWarnings')],
|
|
375
|
+
['ok', t('reportPassed')],
|
|
260
376
|
];
|
|
261
377
|
for (const [level, title] of sections) {
|
|
262
378
|
const items = byLevel[level];
|
|
263
379
|
if (items.length === 0)
|
|
264
380
|
continue;
|
|
265
|
-
lines.push(
|
|
381
|
+
lines.push('', title);
|
|
266
382
|
for (const c of items) {
|
|
267
|
-
lines.push(
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
lines.push(` ${dl}`);
|
|
271
|
-
}
|
|
383
|
+
lines.push(t('reportCheck', { check: `${c.category}/${c.id}`, message: c.message }));
|
|
384
|
+
for (const detail of detailLines(c.detail))
|
|
385
|
+
lines.push(t('reportDetail', { detail }));
|
|
272
386
|
}
|
|
273
|
-
lines.push('');
|
|
274
387
|
}
|
|
275
|
-
return lines
|
|
388
|
+
return textLines(lines);
|
|
276
389
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
390
|
+
/**
|
|
391
|
+
* 详情拆成行,好逐行缩进:textLines 生成的文字对象按段拆,字符串再按换行拆;别的文字对象渲染之前分不出行,算一行
|
|
392
|
+
*/
|
|
393
|
+
function detailLines(detail) {
|
|
394
|
+
if (!detail)
|
|
395
|
+
return [];
|
|
396
|
+
const parts = typeof detail === 'string' ? [detail] : (linesOf(detail) ?? [detail]);
|
|
397
|
+
return parts.flatMap(part => (typeof part === 'string' ? part.split('\n') : part));
|
|
283
398
|
}
|
|
284
399
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly displayName: "System diagnostics";
|
|
3
|
+
readonly runNow: "Run now";
|
|
4
|
+
readonly ran: "Diagnostics finished: {ok, number} passed, {warn, plural, one {# warning} other {# warnings}}, {error, plural, one {# error} other {# errors}}";
|
|
5
|
+
readonly lastRun: "Last run";
|
|
6
|
+
readonly time: "Time";
|
|
7
|
+
readonly notRunYet: "Not run yet";
|
|
8
|
+
readonly countWarn: "Warnings";
|
|
9
|
+
readonly countError: "Errors";
|
|
10
|
+
readonly levelOk: "Passed";
|
|
11
|
+
readonly levelWarn: "Warning";
|
|
12
|
+
readonly levelError: "Error";
|
|
13
|
+
readonly results: "Diagnostic results";
|
|
14
|
+
readonly noResults: "No diagnostics have run yet";
|
|
15
|
+
readonly columnLevel: "Level";
|
|
16
|
+
readonly columnCategory: "Category";
|
|
17
|
+
readonly columnCheck: "Check";
|
|
18
|
+
readonly columnMessage: "Message";
|
|
19
|
+
readonly columnDetail: "Details";
|
|
20
|
+
readonly categoryEnv: "Environment";
|
|
21
|
+
readonly categoryFilesystem: "File system";
|
|
22
|
+
readonly categoryPlugins: "Plugins";
|
|
23
|
+
readonly categoryConfig: "Config";
|
|
24
|
+
readonly categoryService: "Service";
|
|
25
|
+
readonly categoryOther: "Other";
|
|
26
|
+
readonly noticeErrorsWarnings: "Diagnostics found {error, plural, one {# error} other {# errors}} and {warn, plural, one {# warning} other {# warnings}}";
|
|
27
|
+
readonly noticeErrors: "Diagnostics found {error, plural, one {# error} other {# errors}}";
|
|
28
|
+
readonly noticeWarnings: "Diagnostics found {warn, plural, one {# warning} other {# warnings}}";
|
|
29
|
+
readonly commandDescription: "Run system diagnostics. Covers the environment, file system and plugin status";
|
|
30
|
+
readonly checkThrew: "Check {id} threw an exception";
|
|
31
|
+
readonly nodeTooOld: "Node 24.15.0 or later is required; see https://aalis.acenyan.com/guide/first-run#upgrade-node for how to upgrade";
|
|
32
|
+
readonly platform: "Platform {platform}";
|
|
33
|
+
readonly noPluginManager: "PluginManagerService is unavailable; plugin checks skipped";
|
|
34
|
+
readonly pluginsActive: "{active, number} of {total, plural, one {# plugin} other {# plugins}} active";
|
|
35
|
+
readonly noErrored: "No plugins in the error state";
|
|
36
|
+
readonly errored: "{count, plural, one {# plugin is} other {# plugins are}} in error (activation failed or automatic retries ran out)";
|
|
37
|
+
readonly noLacking: "No plugins missing services";
|
|
38
|
+
readonly lacking: "{count, plural, one {# plugin is} other {# plugins are}} missing services and not ready";
|
|
39
|
+
readonly waiting: "{count, plural, one {# plugin is} other {# plugins are}} waiting for other plugins to start";
|
|
40
|
+
readonly noSlow: "No plugins over the activation threshold";
|
|
41
|
+
readonly slow: "{count, plural, one {# plugin has} other {# plugins have}} been activating past the threshold, still running in the background";
|
|
42
|
+
readonly slowHint: "Just wait for it to finish; if it takes long, check its logs (usually it is waiting on the network or an external service); disabling and re-enabling it retries";
|
|
43
|
+
readonly lingering: "{count, plural, one {# plugin has an old instance} other {# plugins have old instances}} still not stopped after the grace period";
|
|
44
|
+
readonly lingeringLine: "Waiting for the old instance of {id} to stop";
|
|
45
|
+
readonly lingeringHint: "Once it stops, things continue toward the target state; if it never stops, check its logs (usually cleanup is waiting on the network or an external process); restarting the process resolves it";
|
|
46
|
+
readonly preferenceMissed: "The preference {preferred} for service {name} is not among its providers and has no effect";
|
|
47
|
+
readonly pluginPreferenceMissed: "Plugin {plugin}'s preference {preferred} for service {name} is not among its providers and has no effect";
|
|
48
|
+
readonly inUse: "Actually in use: {label} ({id})";
|
|
49
|
+
readonly inUseId: "Actually in use: {id}";
|
|
50
|
+
readonly noProvider: "This service has no provider right now";
|
|
51
|
+
readonly fixPreference: "Choose another preference: servicePreferences.{name} in the config file, or the service preferences under WebUI Settings “System”; to use the original one, enable the plugin that provides {preferred}";
|
|
52
|
+
readonly fixPluginPreference: "Choose another preference: the service preferences in the WebUI plugin details ({plugin}), or pluginServicePreferences in the config file; to use the original one, enable the plugin that provides {preferred}";
|
|
53
|
+
readonly preferencesInEffect: "All service preferences are in effect";
|
|
54
|
+
readonly pluginLine: "{instance}: {reason}";
|
|
55
|
+
readonly reportTitle: "**System diagnostics — {at, datetime, medium}**";
|
|
56
|
+
readonly reportSummary: "Summary: {ok, number} passed, {warn, plural, one {# warning} other {# warnings}}, {error, plural, one {# error} other {# errors}}";
|
|
57
|
+
readonly reportErrors: "__Errors__";
|
|
58
|
+
readonly reportWarnings: "__Warnings__";
|
|
59
|
+
readonly reportPassed: "__Passed__";
|
|
60
|
+
readonly reportCheck: "- {check, code} — {message}";
|
|
61
|
+
readonly reportDetail: " {detail}";
|
|
62
|
+
};
|
|
63
|
+
export default _default;
|
|
64
|
+
//# sourceMappingURL=en.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAuEG"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { defineLocale } from '@aalis/schema-i18n';
|
|
2
|
+
export default defineLocale()({
|
|
3
|
+
displayName: 'System diagnostics',
|
|
4
|
+
runNow: 'Run now',
|
|
5
|
+
ran: 'Diagnostics finished: {ok, number} passed, {warn, plural, one {# warning} other {# warnings}}, {error, plural, one {# error} other {# errors}}',
|
|
6
|
+
lastRun: 'Last run',
|
|
7
|
+
time: 'Time',
|
|
8
|
+
notRunYet: 'Not run yet',
|
|
9
|
+
countWarn: 'Warnings',
|
|
10
|
+
countError: 'Errors',
|
|
11
|
+
levelOk: 'Passed',
|
|
12
|
+
levelWarn: 'Warning',
|
|
13
|
+
levelError: 'Error',
|
|
14
|
+
results: 'Diagnostic results',
|
|
15
|
+
noResults: 'No diagnostics have run yet',
|
|
16
|
+
columnLevel: 'Level',
|
|
17
|
+
columnCategory: 'Category',
|
|
18
|
+
columnCheck: 'Check',
|
|
19
|
+
columnMessage: 'Message',
|
|
20
|
+
columnDetail: 'Details',
|
|
21
|
+
categoryEnv: 'Environment',
|
|
22
|
+
categoryFilesystem: 'File system',
|
|
23
|
+
categoryPlugins: 'Plugins',
|
|
24
|
+
categoryConfig: 'Config',
|
|
25
|
+
categoryService: 'Service',
|
|
26
|
+
categoryOther: 'Other',
|
|
27
|
+
noticeErrorsWarnings: 'Diagnostics found {error, plural, one {# error} other {# errors}} and {warn, plural, one {# warning} other {# warnings}}',
|
|
28
|
+
noticeErrors: 'Diagnostics found {error, plural, one {# error} other {# errors}}',
|
|
29
|
+
noticeWarnings: 'Diagnostics found {warn, plural, one {# warning} other {# warnings}}',
|
|
30
|
+
commandDescription: 'Run system diagnostics. Covers the environment, file system and plugin status',
|
|
31
|
+
checkThrew: 'Check {id} threw an exception',
|
|
32
|
+
nodeTooOld: 'Node 24.15.0 or later is required; see https://aalis.acenyan.com/guide/first-run#upgrade-node for how to upgrade',
|
|
33
|
+
platform: 'Platform {platform}',
|
|
34
|
+
noPluginManager: 'PluginManagerService is unavailable; plugin checks skipped',
|
|
35
|
+
pluginsActive: '{active, number} of {total, plural, one {# plugin} other {# plugins}} active',
|
|
36
|
+
noErrored: 'No plugins in the error state',
|
|
37
|
+
errored: '{count, plural, one {# plugin is} other {# plugins are}} in error (activation failed or automatic retries ran out)',
|
|
38
|
+
noLacking: 'No plugins missing services',
|
|
39
|
+
lacking: '{count, plural, one {# plugin is} other {# plugins are}} missing services and not ready',
|
|
40
|
+
waiting: '{count, plural, one {# plugin is} other {# plugins are}} waiting for other plugins to start',
|
|
41
|
+
noSlow: 'No plugins over the activation threshold',
|
|
42
|
+
slow: '{count, plural, one {# plugin has} other {# plugins have}} been activating past the threshold, still running in the background',
|
|
43
|
+
slowHint: 'Just wait for it to finish; if it takes long, check its logs (usually it is waiting on the network or an external service); disabling and re-enabling it retries',
|
|
44
|
+
lingering: '{count, plural, one {# plugin has an old instance} other {# plugins have old instances}} still not stopped after the grace period',
|
|
45
|
+
lingeringLine: 'Waiting for the old instance of {id} to stop',
|
|
46
|
+
lingeringHint: 'Once it stops, things continue toward the target state; if it never stops, check its logs (usually cleanup is waiting on the network or an external process); restarting the process resolves it',
|
|
47
|
+
preferenceMissed: 'The preference {preferred} for service {name} is not among its providers and has no effect',
|
|
48
|
+
pluginPreferenceMissed: "Plugin {plugin}'s preference {preferred} for service {name} is not among its providers and has no effect",
|
|
49
|
+
inUse: 'Actually in use: {label} ({id})',
|
|
50
|
+
inUseId: 'Actually in use: {id}',
|
|
51
|
+
noProvider: 'This service has no provider right now',
|
|
52
|
+
fixPreference: 'Choose another preference: servicePreferences.{name} in the config file, or the service preferences under WebUI Settings “System”; to use the original one, enable the plugin that provides {preferred}',
|
|
53
|
+
fixPluginPreference: 'Choose another preference: the service preferences in the WebUI plugin details ({plugin}), or pluginServicePreferences in the config file; to use the original one, enable the plugin that provides {preferred}',
|
|
54
|
+
preferencesInEffect: 'All service preferences are in effect',
|
|
55
|
+
pluginLine: '{instance}: {reason}',
|
|
56
|
+
reportTitle: '**System diagnostics — {at, datetime, medium}**',
|
|
57
|
+
reportSummary: 'Summary: {ok, number} passed, {warn, plural, one {# warning} other {# warnings}}, {error, plural, one {# error} other {# errors}}',
|
|
58
|
+
reportErrors: '__Errors__',
|
|
59
|
+
reportWarnings: '__Warnings__',
|
|
60
|
+
reportPassed: '__Passed__',
|
|
61
|
+
reportCheck: '- {check, code} — {message}',
|
|
62
|
+
reportDetail: ' {detail}',
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,WAAW,EAAE,oBAAoB;IACjC,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,gJAAgJ;IACrJ,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,oBAAoB;IAC7B,SAAS,EAAE,6BAA6B;IACxC,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,UAAU;IAC1B,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,aAAa;IACjC,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,OAAO;IACtB,oBAAoB,EAClB,0HAA0H;IAC5H,YAAY,EAAE,mEAAmE;IACjF,cAAc,EAAE,sEAAsE;IACtF,kBAAkB,EAAE,+EAA+E;IACnG,UAAU,EAAE,+BAA+B;IAC3C,UAAU,EACR,kHAAkH;IACpH,QAAQ,EAAE,qBAAqB;IAC/B,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,8EAA8E;IAC7F,SAAS,EAAE,+BAA+B;IAC1C,OAAO,EACL,oHAAoH;IACtH,SAAS,EAAE,6BAA6B;IACxC,OAAO,EAAE,yFAAyF;IAClG,OAAO,EAAE,6FAA6F;IACtG,MAAM,EAAE,0CAA0C;IAClD,IAAI,EAAE,gIAAgI;IACtI,QAAQ,EACN,kKAAkK;IACpK,SAAS,EACP,mIAAmI;IACrI,aAAa,EAAE,8CAA8C;IAC7D,aAAa,EACX,kMAAkM;IACpM,gBAAgB,EAAE,4FAA4F;IAC9G,sBAAsB,EACpB,0GAA0G;IAC5G,KAAK,EAAE,iCAAiC;IACxC,OAAO,EAAE,uBAAuB;IAChC,UAAU,EAAE,wCAAwC;IACpD,aAAa,EACX,yMAAyM;IAC3M,mBAAmB,EACjB,iNAAiN;IACnN,mBAAmB,EAAE,uCAAuC;IAC5D,UAAU,EAAE,sBAAsB;IAClC,WAAW,EAAE,iDAAiD;IAC9D,aAAa,EACX,mIAAmI;IACrI,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,6BAA6B;IAC1C,YAAY,EAAE,cAAc;CAC7B,CAAC,CAAC"}
|
package/dist/texts.d.ts
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
declare const SOURCE: {
|
|
2
|
+
readonly displayName: "系统诊断";
|
|
3
|
+
readonly runNow: "立即运行";
|
|
4
|
+
readonly ran: "诊断完成:{ok, number} 项通过、{warn, number} 项警告、{error, number} 项错误";
|
|
5
|
+
readonly lastRun: "上次运行";
|
|
6
|
+
readonly time: "时间";
|
|
7
|
+
readonly notRunYet: "尚未运行";
|
|
8
|
+
readonly countWarn: "警告";
|
|
9
|
+
readonly countError: "错误";
|
|
10
|
+
readonly levelOk: "通过";
|
|
11
|
+
readonly levelWarn: "警告";
|
|
12
|
+
readonly levelError: "错误";
|
|
13
|
+
readonly results: "诊断结果";
|
|
14
|
+
readonly noResults: "还没有运行过诊断";
|
|
15
|
+
readonly columnLevel: "级别";
|
|
16
|
+
readonly columnCategory: "类别";
|
|
17
|
+
readonly columnCheck: "检查项";
|
|
18
|
+
readonly columnMessage: "说明";
|
|
19
|
+
readonly columnDetail: "详情";
|
|
20
|
+
readonly categoryEnv: "环境";
|
|
21
|
+
readonly categoryFilesystem: "文件系统";
|
|
22
|
+
readonly categoryPlugins: "插件";
|
|
23
|
+
readonly categoryConfig: "配置";
|
|
24
|
+
readonly categoryService: "服务";
|
|
25
|
+
readonly categoryOther: "其他";
|
|
26
|
+
readonly noticeErrorsWarnings: "诊断有 {error, number} 项错误、{warn, number} 项警告";
|
|
27
|
+
readonly noticeErrors: "诊断有 {error, number} 项错误";
|
|
28
|
+
readonly noticeWarnings: "诊断有 {warn, number} 项警告";
|
|
29
|
+
readonly commandDescription: "运行系统诊断(环境 / 文件系统 / 插件状态)";
|
|
30
|
+
readonly checkThrew: "检查项 {id} 抛出异常";
|
|
31
|
+
readonly nodeTooOld: "需要 Node 24.15.0 起;升级方法见 https://aalis.acenyan.com/guide/first-run#upgrade-node";
|
|
32
|
+
readonly platform: "平台 {platform}";
|
|
33
|
+
readonly noPluginManager: "PluginManagerService 不可用,跳过插件检查";
|
|
34
|
+
readonly pluginsActive: "已激活插件 {active, number} 个 / 共 {total, number} 个";
|
|
35
|
+
readonly noErrored: "无错误状态插件";
|
|
36
|
+
readonly errored: "{count, number} 个插件处于 error(激活失败或自动重试用尽)";
|
|
37
|
+
readonly noLacking: "无缺服务的插件";
|
|
38
|
+
readonly lacking: "{count, number} 个插件缺服务,未就绪";
|
|
39
|
+
readonly waiting: "{count, number} 个插件在等别的插件启动";
|
|
40
|
+
readonly noSlow: "无激活超时的插件";
|
|
41
|
+
readonly slow: "{count, number} 个插件激活超过阈值,仍在后台进行";
|
|
42
|
+
readonly slowHint: "等它完成即可;长时间不完成时看它的日志(多为在等网络或外部服务),停用再启用可重试";
|
|
43
|
+
readonly lingering: "{count, number} 个插件的旧实例超过宽限仍未停下";
|
|
44
|
+
readonly lingeringLine: "等待 {id} 的旧实例停下";
|
|
45
|
+
readonly lingeringHint: "停下后按目标态继续;一直不停时看它的日志(多为清理在等网络或外部进程),重启进程可解决";
|
|
46
|
+
readonly preferenceMissed: "服务 {name} 的偏好 {preferred} 不在提供者里,没有生效";
|
|
47
|
+
readonly pluginPreferenceMissed: "插件 {plugin} 的服务 {name} 偏好 {preferred} 不在提供者里,没有生效";
|
|
48
|
+
readonly inUse: "实际在用:{label}({id})";
|
|
49
|
+
readonly inUseId: "实际在用:{id}";
|
|
50
|
+
readonly noProvider: "这个服务现在没有提供者";
|
|
51
|
+
readonly fixPreference: "改选偏好:配置文件的 servicePreferences.{name},或 WebUI 设置「系统」的服务偏好;要用原来的,启用提供 {preferred} 的插件";
|
|
52
|
+
readonly fixPluginPreference: "改选偏好:WebUI 插件详情({plugin})的服务偏好,或配置文件的 pluginServicePreferences;要用原来的,启用提供 {preferred} 的插件";
|
|
53
|
+
readonly preferencesInEffect: "没有未生效的服务偏好";
|
|
54
|
+
readonly pluginLine: "{instance}: {reason}";
|
|
55
|
+
readonly reportTitle: "**系统诊断 — {at, datetime, medium}**";
|
|
56
|
+
readonly reportSummary: "汇总:通过 {ok, number} 警告 {warn, number} 错误 {error, number}";
|
|
57
|
+
readonly reportErrors: "__错误__";
|
|
58
|
+
readonly reportWarnings: "__警告__";
|
|
59
|
+
readonly reportPassed: "__通过__";
|
|
60
|
+
readonly reportCheck: "- {check, code} — {message}";
|
|
61
|
+
readonly reportDetail: " {detail}";
|
|
62
|
+
};
|
|
63
|
+
export type Source = typeof SOURCE;
|
|
64
|
+
export declare const t: import("@aalis/schema-i18n").TextFactory<{
|
|
65
|
+
readonly displayName: "系统诊断";
|
|
66
|
+
readonly runNow: "立即运行";
|
|
67
|
+
readonly ran: "诊断完成:{ok, number} 项通过、{warn, number} 项警告、{error, number} 项错误";
|
|
68
|
+
readonly lastRun: "上次运行";
|
|
69
|
+
readonly time: "时间";
|
|
70
|
+
readonly notRunYet: "尚未运行";
|
|
71
|
+
readonly countWarn: "警告";
|
|
72
|
+
readonly countError: "错误";
|
|
73
|
+
readonly levelOk: "通过";
|
|
74
|
+
readonly levelWarn: "警告";
|
|
75
|
+
readonly levelError: "错误";
|
|
76
|
+
readonly results: "诊断结果";
|
|
77
|
+
readonly noResults: "还没有运行过诊断";
|
|
78
|
+
readonly columnLevel: "级别";
|
|
79
|
+
readonly columnCategory: "类别";
|
|
80
|
+
readonly columnCheck: "检查项";
|
|
81
|
+
readonly columnMessage: "说明";
|
|
82
|
+
readonly columnDetail: "详情";
|
|
83
|
+
readonly categoryEnv: "环境";
|
|
84
|
+
readonly categoryFilesystem: "文件系统";
|
|
85
|
+
readonly categoryPlugins: "插件";
|
|
86
|
+
readonly categoryConfig: "配置";
|
|
87
|
+
readonly categoryService: "服务";
|
|
88
|
+
readonly categoryOther: "其他";
|
|
89
|
+
readonly noticeErrorsWarnings: "诊断有 {error, number} 项错误、{warn, number} 项警告";
|
|
90
|
+
readonly noticeErrors: "诊断有 {error, number} 项错误";
|
|
91
|
+
readonly noticeWarnings: "诊断有 {warn, number} 项警告";
|
|
92
|
+
readonly commandDescription: "运行系统诊断(环境 / 文件系统 / 插件状态)";
|
|
93
|
+
readonly checkThrew: "检查项 {id} 抛出异常";
|
|
94
|
+
readonly nodeTooOld: "需要 Node 24.15.0 起;升级方法见 https://aalis.acenyan.com/guide/first-run#upgrade-node";
|
|
95
|
+
readonly platform: "平台 {platform}";
|
|
96
|
+
readonly noPluginManager: "PluginManagerService 不可用,跳过插件检查";
|
|
97
|
+
readonly pluginsActive: "已激活插件 {active, number} 个 / 共 {total, number} 个";
|
|
98
|
+
readonly noErrored: "无错误状态插件";
|
|
99
|
+
readonly errored: "{count, number} 个插件处于 error(激活失败或自动重试用尽)";
|
|
100
|
+
readonly noLacking: "无缺服务的插件";
|
|
101
|
+
readonly lacking: "{count, number} 个插件缺服务,未就绪";
|
|
102
|
+
readonly waiting: "{count, number} 个插件在等别的插件启动";
|
|
103
|
+
readonly noSlow: "无激活超时的插件";
|
|
104
|
+
readonly slow: "{count, number} 个插件激活超过阈值,仍在后台进行";
|
|
105
|
+
readonly slowHint: "等它完成即可;长时间不完成时看它的日志(多为在等网络或外部服务),停用再启用可重试";
|
|
106
|
+
readonly lingering: "{count, number} 个插件的旧实例超过宽限仍未停下";
|
|
107
|
+
readonly lingeringLine: "等待 {id} 的旧实例停下";
|
|
108
|
+
readonly lingeringHint: "停下后按目标态继续;一直不停时看它的日志(多为清理在等网络或外部进程),重启进程可解决";
|
|
109
|
+
readonly preferenceMissed: "服务 {name} 的偏好 {preferred} 不在提供者里,没有生效";
|
|
110
|
+
readonly pluginPreferenceMissed: "插件 {plugin} 的服务 {name} 偏好 {preferred} 不在提供者里,没有生效";
|
|
111
|
+
readonly inUse: "实际在用:{label}({id})";
|
|
112
|
+
readonly inUseId: "实际在用:{id}";
|
|
113
|
+
readonly noProvider: "这个服务现在没有提供者";
|
|
114
|
+
readonly fixPreference: "改选偏好:配置文件的 servicePreferences.{name},或 WebUI 设置「系统」的服务偏好;要用原来的,启用提供 {preferred} 的插件";
|
|
115
|
+
readonly fixPluginPreference: "改选偏好:WebUI 插件详情({plugin})的服务偏好,或配置文件的 pluginServicePreferences;要用原来的,启用提供 {preferred} 的插件";
|
|
116
|
+
readonly preferencesInEffect: "没有未生效的服务偏好";
|
|
117
|
+
readonly pluginLine: "{instance}: {reason}";
|
|
118
|
+
readonly reportTitle: "**系统诊断 — {at, datetime, medium}**";
|
|
119
|
+
readonly reportSummary: "汇总:通过 {ok, number} 警告 {warn, number} 错误 {error, number}";
|
|
120
|
+
readonly reportErrors: "__错误__";
|
|
121
|
+
readonly reportWarnings: "__警告__";
|
|
122
|
+
readonly reportPassed: "__通过__";
|
|
123
|
+
readonly reportCheck: "- {check, code} — {message}";
|
|
124
|
+
readonly reportDetail: " {detail}";
|
|
125
|
+
}>;
|
|
126
|
+
export {};
|
|
127
|
+
//# sourceMappingURL=texts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkG,CAAC"}
|
package/dist/texts.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// 本插件自己的原文字典:显示名与诊断页,内置检查项的说明与详情,「需要处理」的提示,/doctor 的说明与报告版式
|
|
2
|
+
import { defineTexts } from '@aalis/schema-i18n';
|
|
3
|
+
import en from './locales/en.js';
|
|
4
|
+
const SOURCE = {
|
|
5
|
+
displayName: '系统诊断',
|
|
6
|
+
runNow: '立即运行',
|
|
7
|
+
ran: '诊断完成:{ok, number} 项通过、{warn, number} 项警告、{error, number} 项错误',
|
|
8
|
+
lastRun: '上次运行',
|
|
9
|
+
time: '时间',
|
|
10
|
+
notRunYet: '尚未运行',
|
|
11
|
+
countWarn: '警告',
|
|
12
|
+
countError: '错误',
|
|
13
|
+
levelOk: '通过',
|
|
14
|
+
levelWarn: '警告',
|
|
15
|
+
levelError: '错误',
|
|
16
|
+
results: '诊断结果',
|
|
17
|
+
noResults: '还没有运行过诊断',
|
|
18
|
+
columnLevel: '级别',
|
|
19
|
+
columnCategory: '类别',
|
|
20
|
+
columnCheck: '检查项',
|
|
21
|
+
columnMessage: '说明',
|
|
22
|
+
columnDetail: '详情',
|
|
23
|
+
categoryEnv: '环境',
|
|
24
|
+
categoryFilesystem: '文件系统',
|
|
25
|
+
categoryPlugins: '插件',
|
|
26
|
+
categoryConfig: '配置',
|
|
27
|
+
categoryService: '服务',
|
|
28
|
+
categoryOther: '其他',
|
|
29
|
+
noticeErrorsWarnings: '诊断有 {error, number} 项错误、{warn, number} 项警告',
|
|
30
|
+
noticeErrors: '诊断有 {error, number} 项错误',
|
|
31
|
+
noticeWarnings: '诊断有 {warn, number} 项警告',
|
|
32
|
+
commandDescription: '运行系统诊断(环境 / 文件系统 / 插件状态)',
|
|
33
|
+
checkThrew: '检查项 {id} 抛出异常',
|
|
34
|
+
nodeTooOld: '需要 Node 24.15.0 起;升级方法见 https://aalis.acenyan.com/guide/first-run#upgrade-node',
|
|
35
|
+
platform: '平台 {platform}',
|
|
36
|
+
noPluginManager: 'PluginManagerService 不可用,跳过插件检查',
|
|
37
|
+
pluginsActive: '已激活插件 {active, number} 个 / 共 {total, number} 个',
|
|
38
|
+
noErrored: '无错误状态插件',
|
|
39
|
+
errored: '{count, number} 个插件处于 error(激活失败或自动重试用尽)',
|
|
40
|
+
noLacking: '无缺服务的插件',
|
|
41
|
+
lacking: '{count, number} 个插件缺服务,未就绪',
|
|
42
|
+
waiting: '{count, number} 个插件在等别的插件启动',
|
|
43
|
+
noSlow: '无激活超时的插件',
|
|
44
|
+
slow: '{count, number} 个插件激活超过阈值,仍在后台进行',
|
|
45
|
+
slowHint: '等它完成即可;长时间不完成时看它的日志(多为在等网络或外部服务),停用再启用可重试',
|
|
46
|
+
lingering: '{count, number} 个插件的旧实例超过宽限仍未停下',
|
|
47
|
+
lingeringLine: '等待 {id} 的旧实例停下',
|
|
48
|
+
lingeringHint: '停下后按目标态继续;一直不停时看它的日志(多为清理在等网络或外部进程),重启进程可解决',
|
|
49
|
+
preferenceMissed: '服务 {name} 的偏好 {preferred} 不在提供者里,没有生效',
|
|
50
|
+
pluginPreferenceMissed: '插件 {plugin} 的服务 {name} 偏好 {preferred} 不在提供者里,没有生效',
|
|
51
|
+
inUse: '实际在用:{label}({id})',
|
|
52
|
+
inUseId: '实际在用:{id}',
|
|
53
|
+
noProvider: '这个服务现在没有提供者',
|
|
54
|
+
fixPreference: '改选偏好:配置文件的 servicePreferences.{name},或 WebUI 设置「系统」的服务偏好;要用原来的,启用提供 {preferred} 的插件',
|
|
55
|
+
fixPluginPreference: '改选偏好:WebUI 插件详情({plugin})的服务偏好,或配置文件的 pluginServicePreferences;要用原来的,启用提供 {preferred} 的插件',
|
|
56
|
+
preferencesInEffect: '没有未生效的服务偏好',
|
|
57
|
+
pluginLine: '{instance}: {reason}',
|
|
58
|
+
reportTitle: '**系统诊断 — {at, datetime, medium}**',
|
|
59
|
+
reportSummary: '汇总:通过 {ok, number} 警告 {warn, number} 错误 {error, number}',
|
|
60
|
+
reportErrors: '__错误__',
|
|
61
|
+
reportWarnings: '__警告__',
|
|
62
|
+
reportPassed: '__通过__',
|
|
63
|
+
reportCheck: '- {check, code} — {message}',
|
|
64
|
+
reportDetail: ' {detail}',
|
|
65
|
+
};
|
|
66
|
+
export const t = defineTexts({ ns: '@aalis/plugin-doctor', language: 'zh-CN', source: SOURCE, locales: { en } });
|
|
67
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,8DAA8D;IACnE,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,4CAA4C;IAClE,YAAY,EAAE,yBAAyB;IACvC,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,0BAA0B;IAC9C,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,gFAAgF;IAC5F,QAAQ,EAAE,eAAe;IACzB,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,gDAAgD;IAC/D,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,0CAA0C;IACnD,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,4BAA4B;IACrC,OAAO,EAAE,6BAA6B;IACtC,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,kCAAkC;IACxC,QAAQ,EAAE,2CAA2C;IACrD,SAAS,EAAE,iCAAiC;IAC5C,aAAa,EAAE,gBAAgB;IAC/B,aAAa,EAAE,6CAA6C;IAC5D,gBAAgB,EAAE,uCAAuC;IACzD,sBAAsB,EAAE,mDAAmD;IAC3E,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,WAAW;IACpB,UAAU,EAAE,aAAa;IACzB,aAAa,EACX,qFAAqF;IACvF,mBAAmB,EACjB,2FAA2F;IAC7F,mBAAmB,EAAE,YAAY;IACjC,UAAU,EAAE,sBAAsB;IAClC,WAAW,EAAE,mCAAmC;IAChD,aAAa,EAAE,yDAAyD;IACxE,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,6BAA6B;IAC1C,YAAY,EAAE,cAAc;CACpB,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-doctor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,24 +24,27 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/api-commands": ">=0.
|
|
28
|
-
"@aalis/api-doctor": ">=0.
|
|
29
|
-
"@aalis/api-
|
|
27
|
+
"@aalis/api-commands": ">=0.9.0 <1.0.0",
|
|
28
|
+
"@aalis/api-doctor": ">=0.9.0 <1.0.0",
|
|
29
|
+
"@aalis/api-host-config": ">=0.3.0 <1.0.0",
|
|
30
|
+
"@aalis/api-webui": ">=0.13.0 <1.0.0",
|
|
31
|
+
"@aalis/schema-i18n": ">=0.1.0 <1.0.0"
|
|
30
32
|
},
|
|
31
33
|
"devDependencies": {
|
|
32
34
|
"@types/node": "^22.0.0",
|
|
33
35
|
"typescript": "^5.7.0",
|
|
34
|
-
"@aalis/core": "0.
|
|
36
|
+
"@aalis/core": "0.21.0"
|
|
35
37
|
},
|
|
36
38
|
"peerDependencies": {
|
|
37
|
-
"@aalis/core": ">=0.
|
|
39
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
38
40
|
},
|
|
39
41
|
"aalis": {
|
|
40
42
|
"service": {
|
|
41
43
|
"optional": [
|
|
42
44
|
"plugins",
|
|
43
45
|
"commands",
|
|
44
|
-
"webui-server"
|
|
46
|
+
"webui-server",
|
|
47
|
+
"host-config"
|
|
45
48
|
],
|
|
46
49
|
"provides": [
|
|
47
50
|
"doctor"
|