@aalis/plugin-doctor 0.7.0 → 0.9.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 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,13 +1,15 @@
1
1
  import { type DoctorReport } from '@aalis/api-doctor';
2
- import { type PluginManagerService, type ServiceRef, type Services } from '@aalis/core';
2
+ import { type HostConfig } from '@aalis/api-host-config';
3
+ import { type PluginManagerService, type Services } from '@aalis/core';
3
4
  declare const _default: import("@aalis/core").PluginDefinition<{
4
5
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
5
6
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
6
7
  events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
7
8
  services: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Services, Services>;
8
- plugins: import("@aalis/core").OptionalUse<PluginManagerService, ServiceRef<PluginManagerService>>;
9
+ plugins: import("@aalis/core").OptionalUse<PluginManagerService, PluginManagerService>;
9
10
  commands: import("@aalis/core").OptionalUse<import("@aalis/api-commands").CommandService, import("@aalis/api-commands").BoundCommands>;
10
11
  webui: import("@aalis/core").OptionalUse<import("@aalis/api-webui").WebUIService, import("@aalis/api-webui").BoundWebui>;
12
+ hostConfig: import("@aalis/core").OptionalUse<HostConfig, HostConfig>;
11
13
  }>;
12
14
  export default _default;
13
15
  export declare function formatReport(report: DoctorReport): string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAML,KAAK,oBAAoB,EAIzB,KAAK,UAAU,EACf,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;;;;;;;;;;AAuHrB,wBA+BG;AAiHH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA+BzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,YAAY,EAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,UAAU,EAAc,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAML,KAAK,oBAAoB,EAIzB,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAC;;;;;;;;;;;AAkGrB,wBAkGG;AAsLH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA+BzD"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
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, 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';
6
7
  const PLUGIN_NAME = '@aalis/plugin-doctor';
@@ -12,21 +13,25 @@ const uses = {
12
13
  plugins: optional(pluginsService),
13
14
  commands: optional(commands),
14
15
  webui: optional(webuiServer),
16
+ hostConfig: optional(hostConfig),
15
17
  };
16
18
  // ===== Registry =====
17
19
  class DoctorRegistry {
18
20
  caps;
21
+ reported;
19
22
  last;
20
23
  specs = new Map();
21
- constructor(caps) {
24
+ /** reported:每次运行完,诊断页按新报告刷新并发出或撤回提示 */
25
+ constructor(caps, reported) {
22
26
  this.caps = caps;
27
+ this.reported = reported;
23
28
  }
24
29
  getLastReport() {
25
30
  return this.last;
26
31
  }
27
32
  registerCheck(spec) {
28
33
  if (this.specs.has(spec.id)) {
29
- this.caps.logger.debug(`doctor: 检查项 ${spec.id} 被覆盖注册`);
34
+ this.caps.logger.use.debug(`doctor: 检查项 ${spec.id} 被覆盖注册`);
30
35
  }
31
36
  this.specs.set(spec.id, spec);
32
37
  return () => {
@@ -66,44 +71,18 @@ class DoctorRegistry {
66
71
  summary,
67
72
  checks,
68
73
  };
69
- // 通知 WebUI 同步刷新(webui-server 监听并广播到所有连接的客户端)
70
- this.caps.events.emit('doctor:updated', { generatedAt: this.last.generatedAt, summary }).catch(() => { });
74
+ // 通知订阅者报告换了
75
+ this.caps.events.use.emit('doctor:updated', { generatedAt: this.last.generatedAt, summary }).catch(() => { });
76
+ this.reported(this.last);
71
77
  return this.last;
72
78
  }
73
79
  }
74
80
  // ===== WebUI 页面 =====
75
- const webuiPages = [
76
- {
77
- key: 'doctor',
78
- label: '系统诊断',
79
- icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>',
80
- order: 90,
81
- content: [
82
- {
83
- type: 'actions',
84
- label: '运行诊断',
85
- items: [{ label: '立即运行', method: 'runChecks' }],
86
- },
87
- {
88
- type: 'info',
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
- ];
81
+ const LEVELS = {
82
+ ok: { text: '通过' },
83
+ warn: { text: '警告', state: 'attention' },
84
+ error: { text: '错误', state: 'error' },
85
+ };
107
86
  // ===== 插件入口 =====
108
87
  export default definePlugin({
109
88
  name: PLUGIN_NAME,
@@ -111,25 +90,91 @@ export default definePlugin({
111
90
  subsystem: 'platform',
112
91
  provides: [doctor],
113
92
  uses,
114
- apply({ provide, logger, events, services, plugins, commands, webui }) {
115
- const registry = new DoctorRegistry({ logger, events });
116
- provide(doctor, registry);
117
- // 注册 builtin 检查项(与第三方插件走同一条注册路径,自然出现在 listChecks 里)
118
- registerBuiltinChecks(registry, plugins, services);
119
- for (const page of webuiPages)
120
- webui.registerPage(page);
121
- // 页面动作直接闭包本次激活的 registry:页面属于本插件,不该去查「当前胜出的 doctor」
122
- webui.registerAction('runChecks', () => registry.runChecks());
123
- webui.registerAction('getReport', async () => registry.getLastReport()?.checks ?? []);
124
- webui.registerAction('getLastRunAt', async () => {
125
- const last = registry.getLastReport();
126
- if (!last)
127
- return { value: '尚未运行' };
128
- const s = last.summary;
129
- return { value: `${formatLocalTime(last.generatedAt)} — ok=${s.ok} warn=${s.warn} error=${s.error}` };
93
+ apply({ provide, logger, events, services, plugins, commands, webui, hostConfig }) {
94
+ // 诊断页只读本次激活的 registry:页面属于本插件,不该去查「当前胜出的 doctor」
95
+ const page = webui.use.definePage({
96
+ key: 'doctor',
97
+ title: '系统诊断',
98
+ icon: 'activity',
99
+ actions: {
100
+ runDiagnostics: {
101
+ label: '立即运行',
102
+ effect: 'read',
103
+ async handler() {
104
+ const { ok, warn, error } = (await registry.runChecks()).summary;
105
+ return `诊断完成:${ok} 项通过、${warn} 项警告、${error} 项错误`;
106
+ },
107
+ },
108
+ },
109
+ content: [
110
+ { type: 'actions', actions: ['runDiagnostics'] },
111
+ {
112
+ type: 'info',
113
+ id: 'summary',
114
+ label: '上次运行',
115
+ data() {
116
+ const last = registry.getLastReport();
117
+ if (!last)
118
+ return [{ label: '时间', value: '尚未运行' }];
119
+ return [
120
+ { label: '时间', value: last.generatedAt, kind: 'time' },
121
+ { label: '通过', value: last.summary.ok },
122
+ { label: '警告', value: last.summary.warn },
123
+ { label: '错误', value: last.summary.error },
124
+ ];
125
+ },
126
+ },
127
+ {
128
+ type: 'table',
129
+ id: 'checks',
130
+ label: '诊断结果',
131
+ rowKey: 'key',
132
+ empty: '还没有运行过诊断',
133
+ columns: [
134
+ { key: 'level', label: '级别', kind: 'status', primary: true },
135
+ { key: 'category', label: '类别' },
136
+ { key: 'id', label: '检查项', kind: 'code' },
137
+ { key: 'message', label: '说明', primary: true },
138
+ { key: 'detail', label: '详情', kind: 'long-text' },
139
+ ],
140
+ // 检查项的 id 可能重复(一个检查项回多条结果),行按报告里的次序标识
141
+ data: () => (registry.getLastReport()?.checks ?? []).map((check, i) => ({
142
+ key: String(i),
143
+ level: LEVELS[check.level],
144
+ category: check.category,
145
+ id: check.id,
146
+ message: check.message,
147
+ detail: check.detail,
148
+ })),
149
+ },
150
+ ],
151
+ });
152
+ let notice;
153
+ const registry = new DoctorRegistry({ logger, events }, report => {
154
+ page.invalidate();
155
+ const { error, warn } = report.summary;
156
+ if (error + warn === 0) {
157
+ notice?.clear();
158
+ notice = undefined;
159
+ return;
160
+ }
161
+ // 「诊断有 2 项错误、1 项警告」:只写不为零的
162
+ const counts = [error && `${error} 项错误`, warn && `${warn} 项警告`].filter(Boolean);
163
+ notice = webui.use.notify({
164
+ id: 'checks',
165
+ level: error > 0 ? 'error' : 'action',
166
+ title: `诊断有 ${counts.join('、')}`,
167
+ open: { page: 'doctor' },
168
+ });
130
169
  });
131
- // 注册 /doctor 命令 —— chat 与 CLI 通用入口
132
- commands.command('doctor', '运行系统诊断(环境 / 文件系统 / 插件状态)').action(async () => {
170
+ provide.use(doctor, registry);
171
+ // 注册 builtin 检查项(与第三方插件走同一条注册路径,自然出现在 listChecks 里)
172
+ registerBuiltinChecks(registry, plugins, services.use, hostConfig);
173
+ // 注册 /doctor 命令 —— chat 与 CLI 通用入口。受限(等级 2):报告带存储根的宿主路径、
174
+ // 插件报错原文(其中可能有内网地址与端口),不该让群里人人都能看到
175
+ commands.use
176
+ .command('doctor', '运行系统诊断(环境 / 文件系统 / 插件状态)', { visibility: 'restricted' })
177
+ .action(async () => {
133
178
  const report = await registry.runChecks();
134
179
  return formatReport(report);
135
180
  });
@@ -141,20 +186,23 @@ export default definePlugin({
141
186
  // plugin-storage-local,经 doctor 契约自行注册——避免 doctor 反向硬依赖业务插件。
142
187
  //
143
188
  // `plugins.status` 留在这里:它读 PluginManager(核心服务),不属于任何业务插件领域;
144
- // 若未来 PluginManager 自带 self-check,可一并迁走。
145
- function registerBuiltinChecks(reg, plugins, services) {
189
+ // 若未来 PluginManager 自带 self-check,可一并迁走。`services.preferences` 同理,读的是宿主配置与服务容器。
190
+ function registerBuiltinChecks(reg, plugins, services, host) {
146
191
  reg.registerCheck({
147
192
  id: 'env.node',
148
193
  category: 'env',
149
194
  pluginName: PLUGIN_NAME,
150
195
  run() {
151
- const major = Number(nodeVersion.replace(/^v/, '').split('.')[0]);
196
+ const [major, minor] = nodeVersion.slice(1).split('.').map(Number);
197
+ const supported = major > 24 || (major === 24 && minor >= 15);
152
198
  return {
153
199
  id: 'env.node',
154
200
  category: 'env',
155
- level: major >= 22 ? 'ok' : 'error',
201
+ level: supported ? 'ok' : 'error',
156
202
  message: `Node ${nodeVersion}`,
157
- detail: major >= 22 ? undefined : '推荐 Node ≥ 22',
203
+ detail: supported
204
+ ? undefined
205
+ : '需要 Node 24.15.0 起;升级方法见 https://aalis.acenyan.com/guide/first-run#upgrade-node',
158
206
  };
159
207
  },
160
208
  });
@@ -171,8 +219,7 @@ function registerBuiltinChecks(reg, plugins, services) {
171
219
  category: 'plugins',
172
220
  pluginName: PLUGIN_NAME,
173
221
  run() {
174
- const pm = plugins.current;
175
- if (!pm) {
222
+ if (!plugins.present) {
176
223
  return {
177
224
  id: 'plugins.service',
178
225
  category: 'plugins',
@@ -180,33 +227,21 @@ function registerBuiltinChecks(reg, plugins, services) {
180
227
  message: 'PluginManagerService 不可用,跳过插件检查',
181
228
  };
182
229
  }
230
+ const pm = plugins.use;
183
231
  const status = pm.getStatus();
184
232
  const errored = status.filter(s => s.state === 'error');
185
- const pending = status.filter(s => s.state === 'pending');
186
233
  const active = status.filter(s => s.state === 'active');
187
234
  // 激活超过 core 慢操作阈值、已转入后台的(依赖它服务的插件在它完成前保持 pending)
188
235
  const slow = status.filter(s => s.state === 'activating' && s.slow);
189
- // 与 runtime 启动收敛后的 pending 告警同一判据:required 服务当前没有任何提供者登记;
190
- // 由仍在激活中(含已转入后台)的插件声明提供的,归为「等待 <实例> 激活完成」,其余才是缺少
191
- const activating = status.filter(s => s.state === 'activating');
192
- const describePending = (p) => {
193
- const missing = [];
194
- const waiting = new Set();
195
- for (const svc of p.requiredServices ?? []) {
196
- if (services.inspect(svc).length > 0)
197
- continue;
198
- const provider = activating.find(s => s.provides?.includes(svc));
199
- if (provider)
200
- waiting.add(provider.instanceId);
201
- else
202
- missing.push(svc);
203
- }
204
- const reasons = [
205
- ...(missing.length > 0 ? [`缺少服务: ${missing.join('、')}`] : []),
206
- ...[...waiting].map(id => `等待 ${id} 激活完成`),
207
- ];
208
- return reasons.length > 0 ? `${p.instanceId}: ${reasons.join(';')}` : p.instanceId;
209
- };
236
+ // 旧实例超过宽限仍未停下的:停下之前同一 id 不起新实例,说法与依赖链的根(api-doctor)一致
237
+ const lingering = status.filter(s => s.lingering);
238
+ // 缺与在等:与 runtime 启动告警、WebUI 同一判据(api-doctor),缺的沿链追到根;只在等提供者启动的不算未就绪。
239
+ // 没有缺的时只说「无缺服务」:pending 的插件可能还在等别的插件启动或等自己的旧实例停下,各在 plugins.waiting 与
240
+ // plugins.lingering 里报
241
+ const unmet = [...unmetDependencies(status, services.names())];
242
+ const lacking = unmet.filter(([, u]) => u.lacking.length > 0);
243
+ const waiting = unmet.filter(([, u]) => u.lacking.length === 0 && u.waiting.length > 0);
244
+ const lines = (entries) => entries.map(([id, u]) => `${id}: ${describeUnmet(u)}`).join('\n');
210
245
  return [
211
246
  {
212
247
  id: 'plugins.active',
@@ -218,26 +253,98 @@ function registerBuiltinChecks(reg, plugins, services) {
218
253
  id: 'plugins.errored',
219
254
  category: 'plugins',
220
255
  level: errored.length === 0 ? 'ok' : 'error',
221
- message: errored.length === 0 ? '无错误状态插件' : `${errored.length} 个插件处于 error(激活失败或未在宽限内停止)`,
256
+ message: errored.length === 0 ? '无错误状态插件' : `${errored.length} 个插件处于 error(激活失败或自动重试用尽)`,
222
257
  detail: errored.length > 0 ? errored.map(p => `${p.instanceId}: ${p.error}`).join('\n') : undefined,
223
258
  },
224
259
  {
225
260
  id: 'plugins.pending',
226
261
  category: 'plugins',
227
- level: pending.length === 0 ? 'ok' : 'warn',
228
- message: pending.length === 0 ? '无未就绪插件' : `${pending.length} 个插件 required deps 未满足`,
229
- detail: pending.length > 0 ? pending.map(describePending).join('\n') : undefined,
262
+ level: lacking.length === 0 ? 'ok' : 'warn',
263
+ message: lacking.length === 0 ? '无缺服务的插件' : `${lacking.length} 个插件缺服务,未就绪`,
264
+ detail: lacking.length > 0 ? lines(lacking) : undefined,
230
265
  },
266
+ ...(waiting.length > 0
267
+ ? [
268
+ {
269
+ id: 'plugins.waiting',
270
+ category: 'plugins',
271
+ level: 'ok',
272
+ message: `${waiting.length} 个插件在等别的插件启动`,
273
+ detail: lines(waiting),
274
+ },
275
+ ]
276
+ : []),
231
277
  {
232
278
  id: 'plugins.slow',
233
279
  category: 'plugins',
234
280
  level: slow.length === 0 ? 'ok' : 'warn',
235
281
  message: slow.length === 0 ? '无激活超时的插件' : `${slow.length} 个插件激活超过阈值,仍在后台进行`,
236
- detail: slow.length > 0 ? slow.map(p => p.instanceId).join('\n') : undefined,
282
+ detail: slow.length > 0
283
+ ? [
284
+ ...slow.map(p => p.instanceId),
285
+ '等它完成即可;长时间不完成时看它的日志(多为在等网络或外部服务),停用再启用可重试',
286
+ ].join('\n')
287
+ : undefined,
237
288
  },
289
+ ...(lingering.length > 0
290
+ ? [
291
+ {
292
+ id: 'plugins.lingering',
293
+ category: 'plugins',
294
+ level: 'warn',
295
+ message: `${lingering.length} 个插件的旧实例超过宽限仍未停下`,
296
+ detail: [
297
+ ...lingering.map(p => `等待 ${p.instanceId} 的旧实例停下`),
298
+ '停下后按目标态继续;一直不停时看它的日志(多为清理在等网络或外部进程),重启进程可解决',
299
+ ].join('\n'),
300
+ },
301
+ ]
302
+ : []),
238
303
  ];
239
304
  },
240
305
  });
306
+ // 配置文档里的服务偏好指向的提供者此刻不在这个服务里:偏好没有生效,服务落到了别的提供者上(模型删了、插件停用了)。
307
+ // 全局偏好与各插件的本插件偏好(pluginServicePreferences)各查一遍,每个这样的偏好一条,写明实际在用哪个:按偏好所在
308
+ // 口径的解析顺序排第一的就是在用的
309
+ reg.registerCheck({
310
+ id: 'services.preferences',
311
+ category: 'service',
312
+ pluginName: PLUGIN_NAME,
313
+ run() {
314
+ const results = [];
315
+ const doc = host.present ? host.use : undefined;
316
+ for (const plugin of [undefined, ...Object.keys(doc?.get('pluginServicePreferences') ?? {})]) {
317
+ for (const [name, preferred] of Object.entries(doc?.getServicePreferences({ for: plugin }) ?? {})) {
318
+ const entries = services.inspect(name, { for: plugin });
319
+ if (entries.some(entry => entry.contextId === preferred))
320
+ continue;
321
+ const [inUse] = entries;
322
+ const fix = plugin !== undefined
323
+ ? `改选偏好:WebUI 插件详情(${plugin})的服务偏好,或配置文件的 pluginServicePreferences;要用原来的,启用提供 ${preferred} 的插件`
324
+ : name === 'llm'
325
+ ? `改选偏好:在 WebUI 设置「会话默认」的全局默认层改「模型」(写进配置文件的 servicePreferences.llm);要用原来的,启用提供 ${preferred} 的插件`
326
+ : `改选偏好:配置文件的 servicePreferences.${name},或 WebUI 设置「系统」的服务偏好;要用原来的,启用提供 ${preferred} 的插件`;
327
+ results.push({
328
+ id: plugin === undefined ? `services.preferences.${name}` : `services.preferences.${plugin}.${name}`,
329
+ category: 'service',
330
+ level: 'warn',
331
+ message: plugin === undefined
332
+ ? `服务 ${name} 的偏好 ${preferred} 不在提供者里,没有生效`
333
+ : `插件 ${plugin} 的服务 ${name} 偏好 ${preferred} 不在提供者里,没有生效`,
334
+ detail: [
335
+ inUse
336
+ ? `实际在用:${inUse.label ? `${inUse.label}(${inUse.contextId})` : inUse.contextId}`
337
+ : '这个服务现在没有提供者',
338
+ fix,
339
+ ].join('\n'),
340
+ });
341
+ }
342
+ }
343
+ return results.length > 0
344
+ ? results
345
+ : { id: 'services.preferences', category: 'service', level: 'ok', message: '没有未生效的服务偏好' };
346
+ },
347
+ });
241
348
  }
242
349
  // ===== helpers =====
243
350
  export function formatReport(report) {
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-doctor",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,24 +24,26 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/api-commands": ">=0.7.0 <1.0.0",
28
- "@aalis/api-doctor": ">=0.7.0 <1.0.0",
29
- "@aalis/api-webui": ">=0.11.0 <1.0.0"
27
+ "@aalis/api-commands": ">=0.8.0 <1.0.0",
28
+ "@aalis/api-doctor": ">=0.8.0 <1.0.0",
29
+ "@aalis/api-host-config": ">=0.2.0 <1.0.0",
30
+ "@aalis/api-webui": ">=0.12.0 <1.0.0"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/node": "^22.0.0",
33
34
  "typescript": "^5.7.0",
34
- "@aalis/core": "0.18.0"
35
+ "@aalis/core": "0.20.0"
35
36
  },
36
37
  "peerDependencies": {
37
- "@aalis/core": ">=0.18.0 <1.0.0"
38
+ "@aalis/core": ">=0.20.0 <1.0.0"
38
39
  },
39
40
  "aalis": {
40
41
  "service": {
41
42
  "optional": [
42
43
  "plugins",
43
44
  "commands",
44
- "webui-server"
45
+ "webui-server",
46
+ "host-config"
45
47
  ],
46
48
  "provides": [
47
49
  "doctor"