@aalis/plugin-package-manager 0.8.1 → 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
@@ -1,6 +1,6 @@
1
1
  # @aalis/plugin-package-manager
2
2
 
3
- 插件包管理:从 npm 安装/卸载/更新到项目根 dependencies
3
+ 插件包管理:从 npm 安装/卸载/更新到宿主安装集的 dependencies
4
4
 
5
5
  ## 安装
6
6
 
@@ -13,9 +13,11 @@ pnpm add @aalis/plugin-package-manager
13
13
  `definePlugin` 默认导出:
14
14
 
15
15
  - provides:`packageManager`(服务名 `package-manager`;描述符来自 `@aalis/api-package-manager`)
16
- - uses:`proc`(`process`)、`logger`、`config`、`provide`、`services`;可选 `app`、`plugins`、`hostConfig`(`host-config`)、`source`(`plugin-source`)
16
+ - uses:`proc`(`process`)、`paths`(`host-paths`)、`logger`、`provide`、`services`;可选 `app`、`plugins`、`hostConfig`(`host-config`)、`source`(`plugin-source`)
17
17
 
18
- 装卸落在项目根 `dependencies`,随后经宿主的 `plugin-source` 服务 `rescan()` 让加载器发现;宿主不提供插件来源时视同本次没有新插件。卸载后经 `host-config` 清理配置块与禁用标记,宿主未提供配置文档时不清理。
18
+ 装卸落在宿主安装集(`host-paths` 的 `app`,与插件加载器读同一份 `package.json`)的 `dependencies`,随后经宿主的 `plugin-source` 服务 `rescan()` 让加载器发现;宿主不提供插件来源时视同本次没有新插件。卸载后经 `host-config` 清掉各实例的禁用标记;配置块与密钥默认留着(重装后照原配置启动),调用方传 `removeConfig: true` 时一并删掉配置块与只有它们用的密钥。配置文件没写成时包照样卸掉,回执写明原因;宿主未提供配置文档时不整理。
19
+
20
+ 宿主不提供 `host-paths` 时本插件停在 pending。原配置项 `projectRoot` 已删除,配置文件里遗留的这个键不再生效,可以删掉;要装到别的目录,给 `startAalis` 传 `appDir`。
19
21
 
20
22
  装卸只接受插件(`aalis-plugin`)与前端界面(`aalis-interface`)包;卸载会让其它插件失去所需服务的唯一提供者时拒绝。插件写入存储根的数据不随卸载删除。
21
23
 
package/dist/index.d.ts CHANGED
@@ -25,12 +25,16 @@ export declare function declaresPlugin(pkgJson: Record<string, unknown> | undefi
25
25
  * 纯函数,便于单测。
26
26
  */
27
27
  export declare function nonMarketKind(keywords: unknown): string | undefined;
28
+ /** 服务依赖者闸读的插件状态:判谁在提供、谁 required 什么,以及 pending 的目标是缺还是在等(api-doctor 的共享判据) */
29
+ type ServiceStatus = Pick<PluginStatusEntry, 'name' | 'instanceId' | 'state' | 'error' | 'provides' | 'uses'>;
28
30
  /**
29
- * 找出「卸载 target 会断其服务依赖」的插件:target 提供的某服务 S 没有别的插件正在提供(只认 active 与
30
- * activating;disabled / error / pending 的同类提供者不在提供),且有别的插件 requiredServices 含 S → 这些插件
31
- * 会被打断。已禁用(disabled / disposed)的依赖者不算。纯函数,便于单测。
31
+ * 找出「卸载 target 会断其服务依赖」的插件:target 的某个实例正在提供或马上就提供的某服务 S 没有别的插件正在提供,且有别的
32
+ * 插件 required 依赖 S(uses 里未包 optional)→ 这些插件会被打断。卸载连同 target 的全部实例一起卸下,所以按同名的每个实例判:算在提供的是
33
+ * active、activating,以及 pending 而只是在等的(按 api-doctor 的共享判据不缺什么,它要的在启动,起来就提供);disabled、
34
+ * error 与 pending 而缺服务的不在提供。别的提供者只算 active 与 activating(替代得是确定的)。已禁用(disabled / disposed)
35
+ * 的依赖者不算。available 是当前有提供者的服务名(services.names())。纯函数,便于单测。
32
36
  */
33
- export declare function findServiceDependents(targetName: string, status: ReadonlyArray<Pick<PluginStatusEntry, 'name' | 'state' | 'provides' | 'requiredServices'>>): string[];
37
+ export declare function findServiceDependents(targetName: string, status: ReadonlyArray<ServiceStatus>, available: Iterable<string>): string[];
34
38
  /**
35
39
  * 校验单个包 spec,合法返回 `undefined`、非法返回可读理由。
36
40
  *
@@ -42,7 +46,7 @@ export declare function findServiceDependents(targetName: string, status: Readon
42
46
  * 纯函数,便于单测。
43
47
  */
44
48
  export declare function validatePackageSpec(spec: unknown): string | undefined;
45
- /** install/uninstall 的显式依赖(从能力/网关解耦,便于集成测试) */
49
+ /** install/uninstall 的显式依赖(从服务选择解耦,便于集成测试) */
46
50
  export interface PackageManagerDeps {
47
51
  proc: ProcessService;
48
52
  log: {
@@ -72,7 +76,9 @@ export interface PackageManagerDeps {
72
76
  * 运行时插件状态,供服务依赖者判定({@link findServiceDependents})与装后回执(按主实例状态说明)。
73
77
  * 缺省视为没有活跃插件。
74
78
  */
75
- pluginStatus?(): ReadonlyArray<Pick<PluginStatusEntry, 'name' | 'instanceId' | 'state' | 'error' | 'provides' | 'requiredServices'>>;
79
+ pluginStatus?(): ReadonlyArray<ServiceStatus>;
80
+ /** 当前有提供者的服务名(`services.names()`,含宿主在根上提供的),服务依赖者判定用。缺省视为没有 */
81
+ availableServices?(): Iterable<string>;
76
82
  /**
77
83
  * 等插件状态机静置(plugins 服务的 `idle()`),装后回执读状态之前调用:rescan 登记新插件时若已有重算在飞,
78
84
  * 登记只排队、立即返回,主实例还是 pending。不等转入后台的慢激活。缺省不等。
@@ -85,8 +91,11 @@ export interface PackageManagerDeps {
85
91
  * shell 恢复——与内核/宿主同一条判据。见 uninstallOne 的闸一之二。
86
92
  */
87
93
  recoveryChannelProviders?(): string[];
88
- /** 卸载后清理残留配置(删配置块 + 解除禁用标记 + 持久化)。可选:缺省则不清理。 */
89
- cleanupConfig?(name: string): void;
94
+ /**
95
+ * 卸载后整理配置文档并落盘:清掉这些实例的停用标记(否则重装时带着上次的停用态登记);removeConfig 时再删它们的配置段,
96
+ * 落盘后只有这些段引用的密钥由宿主一并删掉。落盘失败以拒绝传出。缺省则不整理
97
+ */
98
+ cleanupConfig?(instanceIds: string[], removeConfig: boolean): Promise<void>;
90
99
  /**
91
100
  * 解析已装 npm 包的插件定义 name(与 `@aalis/api-plugin-source` 的 `pluginDefinitionOf` 同一口径:入口 default.name)。
92
101
  * 解析不到则返回 undefined,调用方回退到包名。name≠包名时由 createPackageManager warn。
@@ -130,6 +139,15 @@ export declare function buildUpdateSpecs(targets: readonly UpdateTarget[]): {
130
139
  * 哪条根依赖引起;完整报告的路径行(`…-eresolve-report.txt`)随不分大小写的 ERESOLVE 一并保留。纯函数,便于单测。
131
140
  */
132
141
  export declare function extractPeerConflicts(output: string): string[];
142
+ /** npm 失败的几类:与 create-aalis 装依赖失败认的同一套,对账用例钉住 */
143
+ type NpmFailureKind = 'disk' | 'permission' | 'platform' | 'peer' | 'browser' | 'native' | 'missing' | 'network';
144
+ /** npm 的失败输出认出是哪一类,认不出时为 undefined。纯函数,便于单测 */
145
+ export declare function npmFailureKind(output: string): NpmFailureKind | undefined;
146
+ /**
147
+ * 把 npm 的失败输出归成一句给用户看的话:认得出的写原因与修法,认不出的写 npm 的最后一条报错,并指向日志与排障页。
148
+ * 整段输出由调用方记进日志,回执与提示里只放这一句。纯函数,便于单测。
149
+ */
150
+ export declare function describeNpmFailure(output: string): string;
133
151
  /**
134
152
  * 从 **成功**(exit 0)的 dry-run 输出里找出因本次目标而无法满足的 peer 依赖。
135
153
  *
@@ -144,22 +162,22 @@ export declare function extractPeerConflicts(output: string): string[];
144
162
  */
145
163
  export declare function findUnmetPeers(output: string, targetNames: readonly string[]): string[];
146
164
  /**
147
- * 包管理核心:install/uninstall 的纯依赖实现(不碰能力/网关,可单测)。
148
- * 所有文件操作走 process 网关(子进程:npm/cp/test),目标是项目根 package.json 与
165
+ * 包管理核心:install/uninstall 的纯依赖实现(不碰服务选择,可单测)。
166
+ * 所有文件操作走 process 服务(子进程:npm/cp/test),目标是项目根 package.json 与
149
167
  * node_modules——不经 storage 沙盒。
150
168
  * 能力组装层见 createService。
151
169
  */
152
170
  export declare function createPackageManager(deps: PackageManagerDeps): PackageManagerService;
153
171
  declare const _default: import("@aalis/core").PluginDefinition<{
154
- proc: import("@aalis/core").ServiceDescriptor<ProcessService, import("@aalis/core").ServiceRef<ProcessService>>;
172
+ proc: import("@aalis/core").ServiceDescriptor<ProcessService, ProcessService>;
173
+ paths: import("@aalis/core").ServiceDescriptor<import("@aalis/api-host-paths").HostPaths, import("@aalis/api-host-paths").HostPaths>;
155
174
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
156
- config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
157
175
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
158
176
  services: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Services, import("@aalis/core").Services>;
159
- app: import("@aalis/core").OptionalUse<AppService, import("@aalis/core").ServiceRef<AppService>>;
160
- plugins: import("@aalis/core").OptionalUse<import("@aalis/core").PluginManagerService, import("@aalis/core").ServiceRef<import("@aalis/core").PluginManagerService>>;
161
- hostConfig: import("@aalis/core").OptionalUse<import("@aalis/api-host-config").HostConfig, import("@aalis/core").ServiceRef<import("@aalis/api-host-config").HostConfig>>;
162
- source: import("@aalis/core").OptionalUse<import("@aalis/api-plugin-source").PluginSourceService, import("@aalis/core").ServiceRef<import("@aalis/api-plugin-source").PluginSourceService>>;
177
+ app: import("@aalis/core").OptionalUse<AppService, AppService>;
178
+ plugins: import("@aalis/core").OptionalUse<import("@aalis/core").PluginManagerService, import("@aalis/core").PluginManagerService>;
179
+ hostConfig: import("@aalis/core").OptionalUse<import("@aalis/api-host-config").HostConfig, import("@aalis/api-host-config").HostConfig>;
180
+ source: import("@aalis/core").OptionalUse<import("@aalis/api-plugin-source").PluginSourceService, import("@aalis/api-plugin-source").PluginSourceService>;
163
181
  }>;
164
182
  export default _default;
165
183
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,17 +1,18 @@
1
1
  import { createRequire } from 'node:module';
2
+ import { unmetDependencies } from '@aalis/api-doctor';
2
3
  import { hostConfig } from '@aalis/api-host-config';
4
+ import { hostPaths } from '@aalis/api-host-paths';
3
5
  import { packageManager, } from '@aalis/api-package-manager';
4
6
  import { pluginDefinitionOf, pluginSource } from '@aalis/api-plugin-source';
5
- import { createProcessGateway, processService } from '@aalis/api-process';
6
- import { appService, config, definePlugin, logger, optional, pluginsService, provide, services, } from '@aalis/core';
7
- import { defineConfig, parseConfig } from '@aalis/schema-config';
7
+ import { processService } from '@aalis/api-process';
8
+ import { appService, definePlugin, logger, optional, pluginsService, provide, services, } from '@aalis/core';
8
9
  import { classifyDepSpec, isRegistryDep, isUpgrade } from '@aalis/util-dep-spec';
9
10
  // ===== 实现 =====
10
11
  /** 短命令(cp、npm view 等)的超时。 */
11
12
  const QUICK_TIMEOUT_MS = 120_000;
12
13
  /**
13
- * 安装类命令的超时。`npm install` 要装全依赖树 + 原生编译(better-sqlite3、puppeteer
14
- * 都在脚手架默认依赖里),快机快网下已达 95 秒量级,而超时行为是 SIGKILL——留足余量,
14
+ * 安装类命令的超时。`npm install` 要装全依赖树并跑依赖的安装脚本(比如 plugin-tool-browser
15
+ * 依赖的 puppeteer 安装时要下载 Chrome),快机快网下已达 95 秒量级,而超时行为是 SIGKILL——留足余量,
15
16
  * 否则会在半装状态下被杀。
16
17
  */
17
18
  const INSTALL_TIMEOUT_MS = 600_000;
@@ -96,25 +97,27 @@ export function nonMarketKind(keywords) {
96
97
  return '非插件包';
97
98
  }
98
99
  /**
99
- * 找出「卸载 target 会断其服务依赖」的插件:target 提供的某服务 S 没有别的插件正在提供(只认 active 与
100
- * activating;disabled / error / pending 的同类提供者不在提供),且有别的插件 requiredServices 含 S → 这些插件
101
- * 会被打断。已禁用(disabled / disposed)的依赖者不算。纯函数,便于单测。
100
+ * 找出「卸载 target 会断其服务依赖」的插件:target 的某个实例正在提供或马上就提供的某服务 S 没有别的插件正在提供,且有别的
101
+ * 插件 required 依赖 S(uses 里未包 optional)→ 这些插件会被打断。卸载连同 target 的全部实例一起卸下,所以按同名的每个实例判:算在提供的是
102
+ * active、activating,以及 pending 而只是在等的(按 api-doctor 的共享判据不缺什么,它要的在启动,起来就提供);disabled、
103
+ * error 与 pending 而缺服务的不在提供。别的提供者只算 active 与 activating(替代得是确定的)。已禁用(disabled / disposed)
104
+ * 的依赖者不算。available 是当前有提供者的服务名(services.names())。纯函数,便于单测。
102
105
  */
103
- export function findServiceDependents(targetName, status) {
104
- const target = status.find(p => p.name === targetName);
105
- const provided = target?.provides ?? [];
106
- if (provided.length === 0)
107
- return [];
106
+ export function findServiceDependents(targetName, status, available) {
107
+ const providing = (p) => p.state === 'active' || p.state === 'activating';
108
+ const unmet = unmetDependencies(status, available);
109
+ const live = status.filter(p => p.name === targetName &&
110
+ (providing(p) || (p.state === 'pending' && unmet.get(p.instanceId)?.lacking.length === 0)));
108
111
  const dependents = new Set();
109
- for (const svc of provided) {
110
- const otherProvider = status.some(p => p.name !== targetName && (p.state === 'active' || p.state === 'activating') && (p.provides ?? []).includes(svc));
112
+ for (const svc of new Set(live.flatMap(p => p.provides ?? []))) {
113
+ const otherProvider = status.some(p => p.name !== targetName && providing(p) && (p.provides ?? []).includes(svc));
111
114
  if (otherProvider)
112
115
  continue; // 还有别的提供者在提供,删了不致命
113
116
  for (const p of status) {
114
117
  if (p.name !== targetName &&
115
118
  p.state !== 'disabled' &&
116
119
  p.state !== 'disposed' &&
117
- (p.requiredServices ?? []).includes(svc)) {
120
+ p.uses.some(use => use.kind === 'required' && use.service === svc)) {
118
121
  dependents.add(p.name);
119
122
  }
120
123
  }
@@ -161,19 +164,10 @@ export function validatePackageSpec(spec) {
161
164
  return undefined;
162
165
  }
163
166
  // ===== 插件入口 =====
164
- const configSchema = defineConfig({
165
- projectRoot: {
166
- type: 'string',
167
- label: '项目目录',
168
- description: '安装插件的项目目录,留空使用当前工作目录;须与宿主的插件加载目录一致。',
169
- default: '',
170
- onInvalid: 'error',
171
- },
172
- });
173
167
  const uses = {
174
168
  proc: processService,
169
+ paths: hostPaths,
175
170
  logger,
176
- config,
177
171
  provide,
178
172
  services,
179
173
  app: optional(appService),
@@ -182,32 +176,19 @@ const uses = {
182
176
  source: optional(pluginSource),
183
177
  };
184
178
  function createService(caps) {
185
- const cfg = parseConfig(configSchema, caps.config, caps.logger);
186
- const log = caps.logger;
187
- const proc = createProcessGateway(caps.proc);
179
+ const log = caps.logger.use;
180
+ const proc = caps.proc.use;
188
181
  function getApp() {
189
- const app = caps.app.current;
190
- if (!app)
182
+ if (!caps.app.present)
191
183
  throw new Error('app 服务不可用,无法执行包管理操作');
192
- return app;
193
- }
194
- /** 把配置里的相对/绝对路径归一成绝对路径;未配置则用当前工作目录。 */
195
- function projectRoot() {
196
- const override = cfg.projectRoot;
197
- if (override.length > 0) {
198
- return override.startsWith('/') ? override : `${process.cwd()}/${override.replace(/^\.?\/+/, '')}`;
199
- }
200
- return process.cwd();
184
+ return caps.app.use;
201
185
  }
202
186
  return createPackageManager({
203
187
  proc,
204
- log,
205
- // 项目根:默认 cwd,与 createNodeModulesPluginLoader(projectDir = process.cwd()) 的
206
- // 默认值同源——两者必须指同一处,否则「我们写的 package.json」与「加载器读的
207
- // package.json」是两份,装了永远不加载。
208
- // 宿主若给 startAalis 传了非 cwd 的 projectDir(公开选项),必须用本配置项对齐。
209
- projectRoot,
210
- // 经 process 网关的 readExternalFile 读,而非 node:fs:目标(项目根 package.json、
188
+ log: log,
189
+ // 装到宿主的安装集:与插件加载器读的是同一份 package.json,否则装了永远不加载
190
+ projectRoot: () => caps.paths.use.app,
191
+ // 经 process 服务的 readExternalFile 读,而非 node:fs:目标(项目根 package.json、
211
192
  // lockfile、node_modules/<pkg>/package.json)在 storage 沙盒之外,而 readExternalFile
212
193
  // 正是文档给这一场景指定的「OS 直通读外部路径」通道——本插件也不在 biome 的 node:* 例外清单里。
213
194
  readText: async (absPath) => {
@@ -219,17 +200,21 @@ function createService(caps) {
219
200
  }
220
201
  },
221
202
  // 宿主不提供插件来源(打包宿主)时视同本次没有新插件;随后仍按注册表判定,声明为插件的包会报「未被加载」
222
- rescanPlugins: async () => (await caps.source.current?.rescan()) ?? [],
203
+ rescanPlugins: async () => (await (caps.source.present ? caps.source.use.rescan() : undefined)) ?? [],
223
204
  // 判据取运行时注册表而非 rescan 返回值(理由见 PackageManagerDeps.isPluginRegistered)。
224
205
  // plugins 服务缺席时保守返回 false——宁可让「声明为插件却没加载」的诊断多报一次,
225
206
  // 也不要在真没装上时谎报成功。
226
- isPluginRegistered: name => caps.plugins.current?.getStatus().some(p => p.name === name) ?? false,
227
- pluginStatus: () => caps.plugins.current?.getStatus() ?? [],
207
+ isPluginRegistered: name => caps.plugins.present ? caps.plugins.use.getStatus().some(p => p.name === name) : false,
208
+ pluginStatus: () => (caps.plugins.present ? caps.plugins.use.getStatus() : []),
209
+ availableServices: () => caps.services.use.names(),
228
210
  idle: async () => {
229
- await caps.plugins.current?.idle();
211
+ if (caps.plugins.present)
212
+ await caps.plugins.use.idle();
230
213
  },
231
- resolveDefinitionName: pkgName => resolveInstalledDefinitionName(projectRoot(), pkgName),
232
- listPluginInstanceIds: definitionName => (caps.plugins.current?.getStatus() ?? []).filter(p => p.name === definitionName).map(p => p.instanceId),
214
+ resolveDefinitionName: pkgName => resolveInstalledDefinitionName(caps.paths.use.app, pkgName),
215
+ listPluginInstanceIds: definitionName => (caps.plugins.present ? caps.plugins.use.getStatus() : [])
216
+ .filter(p => p.name === definitionName)
217
+ .map(p => p.instanceId),
233
218
  // 重启并交付回滚凭据。core 只透传 rollback(不解释形状),由 runtime 的重启策略
234
219
  // 在「新实例 ready 前夭折」时消费——触发者与执行者同为父进程,全程内存不落盘。
235
220
  //
@@ -250,23 +235,29 @@ function createService(caps) {
250
235
  // 而这三个都没有,故也不需要为此加解析。
251
236
  recoveryChannelProviders: () => [
252
237
  ...new Set(['webui-client', 'webui-server', packageManager.name].flatMap(service => {
253
- const id = caps.services.inspect(service)[0]?.contextId;
238
+ const id = caps.services.use.inspect(service)[0]?.contextId;
254
239
  return id ? [id] : [];
255
240
  })),
256
241
  ],
257
242
  unloadPlugin: async (name) => {
258
- await caps.plugins.current?.unload(name);
243
+ if (caps.plugins.present)
244
+ await caps.plugins.use.unload(name);
259
245
  },
260
- // 卸载后清残留配置:删 plugins.<name> 配置块 + 从 disabledPlugins 移除
261
- // (否则重装会被"上次禁用"标记带成已禁用状态),并持久化。宿主没提供配置文档时无可清理。
262
- cleanupConfig: name => {
263
- const doc = caps.hostConfig.current;
264
- if (!doc)
246
+ // 文档没有改动时不保存:没东西要写,也就不该因配置文件的状况报失败
247
+ cleanupConfig: async (instanceIds, removeConfig) => {
248
+ if (!caps.hostConfig.present)
265
249
  return;
266
- doc.removePluginConfig(name);
267
- doc.setPluginEnabled(name, true);
268
- // cleanupConfig 契约返 void;落盘失败只 warn,内存态已清、下次保存会带上
269
- doc.save().catch(err => log.warn(`${name}: 卸载后配置清理落盘失败:`, err));
250
+ const doc = caps.hostConfig.use;
251
+ const plugins = doc.getAll().plugins;
252
+ const touched = instanceIds.filter(id => doc.isPluginDisabled(id) || (removeConfig && Object.hasOwn(plugins, id)));
253
+ if (touched.length === 0)
254
+ return;
255
+ for (const id of touched) {
256
+ doc.setPluginEnabled(id, true);
257
+ if (removeConfig)
258
+ doc.removePluginConfig(id);
259
+ }
260
+ await doc.save();
270
261
  },
271
262
  });
272
263
  }
@@ -380,6 +371,85 @@ export function extractPeerConflicts(output) {
380
371
  const picked = lines.filter(l => /ERESOLVE|peer |Conflicting peer|Found:|Could not resolve|from the root project/i.test(l));
381
372
  return picked.map(l => l.replace(/^npm (ERR!|error|warn)\s*/i, '').trim()).filter(l => l.length > 0);
382
373
  }
374
+ /**
375
+ * npm 失败的几类与给用户看的一句(原因与修法)。浏览器下载与原生编译先于网络认:它们的输出里也可能带网络错误码,但修法
376
+ * 不同
377
+ */
378
+ const NPM_FAILURES = [
379
+ { kind: 'disk', match: /\bENOSPC\b/, describe: () => '磁盘空间不够(ENOSPC):腾出空间后重试' },
380
+ {
381
+ kind: 'permission',
382
+ match: /\bEACCES\b/,
383
+ describe: () => '没有写入权限(EACCES):把项目目录与 npm 的缓存目录(npm config get cache 查看)改回运行 Aalis 的用户所有后重试,不要用 sudo',
384
+ },
385
+ {
386
+ kind: 'platform',
387
+ match: /\bEBADPLATFORM\b/,
388
+ describe: output => {
389
+ const pkg = /Unsupported platform for (\S+?)@\d/.exec(output)?.[1] ?? '某个依赖';
390
+ return `依赖 ${pkg} 不支持这台机器的系统或 CPU 架构(EBADPLATFORM),这个插件在这里装不了`;
391
+ },
392
+ },
393
+ {
394
+ kind: 'peer',
395
+ match: /\bERESOLVE\b/,
396
+ describe: output => `peer 依赖冲突(市场安装不沿用 .npmrc 里的 legacy-peer-deps):${extractPeerConflicts(output).join(';')}`,
397
+ },
398
+ {
399
+ kind: 'browser',
400
+ match: /Failed to set up (?:chrome|chrome-headless-shell|firefox)\b|node_modules[\\/]puppeteer\s*$/m,
401
+ describe: () => '下载浏览器失败:这个插件装的时候要下载 Chrome。给 Aalis 的进程设好镜像地址(环境变量 PUPPETEER_CHROME_DOWNLOAD_BASE_URL)后重启再装',
402
+ },
403
+ {
404
+ kind: 'native',
405
+ match: /gyp ERR!|node-gyp|prebuild-install/,
406
+ describe: output => {
407
+ const pkg = /^npm (?:error|ERR!) path \S*node_modules[\\/]((?:@[^\\/\s]+[\\/])?[^\\/\s]+)\s*$/m.exec(output)?.[1] ??
408
+ '某个依赖';
409
+ return (`原生模块 ${pkg} 编译失败:本机缺 C/C++ 编译工具。macOS 执行 xcode-select --install;` +
410
+ 'Linux 装 build-essential 与 python3;Windows 装 Visual Studio 的「使用 C++ 的桌面开发」,装好后重试');
411
+ },
412
+ },
413
+ {
414
+ kind: 'missing',
415
+ match: /\b(E404|ETARGET)\b/,
416
+ // 镜像源同步有延迟,刚发布的版本可能还没有
417
+ describe: (_output, [, code]) => `源上没有这个包或这个版本(${code}):核对包名与版本;用的是镜像源时它可能还没同步,稍后重试`,
418
+ },
419
+ {
420
+ kind: 'network',
421
+ match: /\b(ENOTFOUND|ETIMEDOUT|ECONNRESET|ECONNREFUSED|EAI_AGAIN)\b/,
422
+ describe: (_output, [, code]) => `连不上 npm 源(${code}):检查网络与代理后重试;默认源不通时在终端执行 npm config set registry <源地址> 换一个源`,
423
+ },
424
+ ];
425
+ /** 按先后认 npm 的失败输出:第一个对上的类别与匹配结果 */
426
+ function recognizeNpmFailure(output) {
427
+ for (const failure of NPM_FAILURES) {
428
+ const found = failure.match.exec(output);
429
+ if (found)
430
+ return { failure, found };
431
+ }
432
+ return undefined;
433
+ }
434
+ /** npm 的失败输出认出是哪一类,认不出时为 undefined。纯函数,便于单测 */
435
+ export function npmFailureKind(output) {
436
+ return recognizeNpmFailure(output)?.failure.kind;
437
+ }
438
+ /**
439
+ * 把 npm 的失败输出归成一句给用户看的话:认得出的写原因与修法,认不出的写 npm 的最后一条报错,并指向日志与排障页。
440
+ * 整段输出由调用方记进日志,回执与提示里只放这一句。纯函数,便于单测。
441
+ */
442
+ export function describeNpmFailure(output) {
443
+ const known = recognizeNpmFailure(output);
444
+ if (known)
445
+ return known.failure.describe(output, known.found);
446
+ const errors = output
447
+ .split('\n')
448
+ .map(line => /^npm (?:error|ERR!)\s*(.*)$/.exec(line.trim())?.[1]?.trim())
449
+ .filter((line) => !!line && !line.startsWith('A complete log of this run'));
450
+ const last = errors.at(-1) ?? output.trim().split('\n').at(-1)?.trim();
451
+ return `npm 出错:${last}。完整输出在日志里,常见原因与修法见 https://aalis.acenyan.com/guide/troubleshooting`;
452
+ }
383
453
  /**
384
454
  * 从 **成功**(exit 0)的 dry-run 输出里找出因本次目标而无法满足的 peer 依赖。
385
455
  *
@@ -408,8 +478,8 @@ export function findUnmetPeers(output, targetNames) {
408
478
  return [...out];
409
479
  }
410
480
  /**
411
- * 包管理核心:install/uninstall 的纯依赖实现(不碰能力/网关,可单测)。
412
- * 所有文件操作走 process 网关(子进程:npm/cp/test),目标是项目根 package.json 与
481
+ * 包管理核心:install/uninstall 的纯依赖实现(不碰服务选择,可单测)。
482
+ * 所有文件操作走 process 服务(子进程:npm/cp/test),目标是项目根 package.json 与
413
483
  * node_modules——不经 storage 沙盒。
414
484
  * 能力组装层见 createService。
415
485
  */
@@ -454,6 +524,17 @@ export function createPackageManager(deps) {
454
524
  inflight = null;
455
525
  }
456
526
  }
527
+ /** 跑一条 npm 命令:失败时整段输出记进日志,抛出的错误只带 {@link describeNpmFailure} 认出的原因与修法 */
528
+ async function npm(args, cwd, timeout, extraEnv) {
529
+ try {
530
+ return (await execProcBoth(proc, 'npm', args, cwd, timeout, extraEnv)).stdout;
531
+ }
532
+ catch (err) {
533
+ const output = err instanceof Error ? err.message : String(err);
534
+ log.error(`npm ${args.join(' ')} 失败: ${output}`);
535
+ throw new Error(describeNpmFailure(output));
536
+ }
537
+ }
457
538
  /** 安装源查询的缓存:只留成功的结果,失败时清掉,下次调用重查 */
458
539
  let registryUrl;
459
540
  function registry() {
@@ -475,7 +556,7 @@ export function createPackageManager(deps) {
475
556
  /** 路径存在性:`test -d|-f <abs>`(不存在 → exit 1 → 抛 → false)。绝对路径,cwd 无关。 */
476
557
  async function pathExists(absPath, kind) {
477
558
  try {
478
- await proc.execFile('test', [`-${kind}`, absPath], { cwd: process.cwd(), timeout: 10_000 });
559
+ await proc.execFile('test', [`-${kind}`, absPath], { cwd: deps.projectRoot(), timeout: 10_000 });
479
560
  return true;
480
561
  }
481
562
  catch {
@@ -515,7 +596,7 @@ export function createPackageManager(deps) {
515
596
  * HTTP 路由——本服务对外公开,任何插件都能绕过路由直接调。返回拒绝理由,`undefined` = 放行。
516
597
  */
517
598
  async function installKindRefusal(npmPkg, root) {
518
- const out = (await execProc(proc, 'npm', ['view', npmPkg, 'keywords', '--json'], root)).trim();
599
+ const out = (await npm(['view', npmPkg, 'keywords', '--json'], root)).trim();
519
600
  // 包没有 keywords 字段时 npm 什么都不输出;spec 是版本范围时按版本逐个给出、返回二维数组
520
601
  const parsed = out ? JSON.parse(out) : [];
521
602
  const perVersion = Array.isArray(parsed) && parsed.length > 0 && parsed.every(Array.isArray) ? parsed : [parsed];
@@ -541,15 +622,16 @@ export function createPackageManager(deps) {
541
622
  if (deps.isPluginRegistered(defName)) {
542
623
  await deps.idle?.();
543
624
  const main = deps.pluginStatus?.().find(p => p.instanceId === defName);
625
+ const settled = (message) => ({ ok: true, message, plugin: defName });
544
626
  switch (main?.state) {
545
627
  case 'error':
546
- return { ok: true, message: `已安装 ${target},但激活失败,已转为 error 态(${main.error ?? '详见日志'})` };
628
+ return settled(`已安装 ${target},但激活失败,已转为 error 态(${main.error ?? '详见日志'})`);
547
629
  case 'activating':
548
- return { ok: true, message: `已安装 ${target},仍在激活(超过慢激活阈值,已转入后台),结果以插件列表为准` };
630
+ return settled(`已安装 ${target},仍在激活(超过慢激活阈值,已转入后台),结果以插件列表为准`);
549
631
  case 'pending':
550
- return { ok: true, message: `已安装 ${target},尚未激活,正在等待 required 依赖满足` };
632
+ return settled(`已安装 ${target},尚未激活,正在等待 required 依赖满足`);
551
633
  }
552
- return { ok: true, message: `已安装并加载: ${target}` };
634
+ return settled(`已安装并加载: ${target}`);
553
635
  }
554
636
  const meta = await readJson(installedPkgJsonPath);
555
637
  if (declaresPlugin(meta)) {
@@ -563,7 +645,7 @@ export function createPackageManager(deps) {
563
645
  * 不按「项目形态」分叉:检测到 `pnpm-workspace.yaml` 就把 npm 包解包成
564
646
  * `packages/<dir>` 源码是错的——那个文件与真正生效的加载器**没有因果关系**,加载器是入口
565
647
  * 文件传给 `startAalis` 的(默认读根依赖,本仓显式传 fs 加载器扫 packages/)。于是一个
566
- * 用 pnpm 工作区但走默认 `startAalis()` 的用户,包会被装进加载器永远不看的地方,静默失败。
648
+ * 用 pnpm 工作区、却不给 `startAalis` 传插件加载器(走默认的 node_modules 加载器)的用户,包会被装进加载器永远不看的地方,静默失败。
567
649
  *
568
650
  * 只有一条路径。真正的 monorepo 由下面的 `hasWorkspaceProtocol` 守卫拦住并说清
569
651
  * 该用什么工具——那才是开发者场景,不该用市场往自己仓里塞源码。
@@ -583,22 +665,13 @@ export function createPackageManager(deps) {
583
665
  log.info(`正在安装: ${npmPkg} → 根依赖 + node_modules`);
584
666
  // **刻意不加 `--ignore-scripts`**:依赖树的 preinstall/install/postinstall 会照常执行。
585
667
  // 三条理由:脚手架自身就是裸 `npm install`(其生成的 README 也教用户裸装),加了会让
586
- // 「同一个包、同一个用户、两条途径」行为分叉;会打穿 plugin-memory-sqlite
587
- // (better-sqlite3,脚手架默认勾选)与 plugin-tool-browser(puppeteer);而真正的增量
668
+ // 「同一个包、同一个用户、两条途径」行为分叉;会打穿 plugin-tool-browser(puppeteer);而真正的增量
588
669
  // 风险只有传递依赖的 install 脚本这一片——入口是 owner 级、包名由用户自己点选、包本体
589
670
  // 反正会被动态 import 执行(插件与内核同进程同权限,见 docs/concepts/security-model.md §1)。
590
671
  //
591
672
  // peer 护栏与更新预检相同(STRICT_PEERS_ENV)。代价:本就靠 legacy-peer-deps 容忍既有
592
- // peer 冲突的项目,市场安装会整体失败,故失败文案要点明原因。
593
- try {
594
- await execProcBoth(proc, 'npm', ['install', npmPkg, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
595
- }
596
- catch (err) {
597
- const raw = err instanceof Error ? err.message : String(err);
598
- if (!raw.includes('ERESOLVE'))
599
- throw err;
600
- throw new Error(`peer 依赖冲突,未安装(市场安装不沿用 .npmrc 里的 legacy-peer-deps):${extractPeerConflicts(raw).join(';')}`);
601
- }
673
+ // peer 冲突的项目,市场安装会整体失败,故失败文案要点明原因(见 describeNpmFailure)。
674
+ await npm(['install', npmPkg, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
602
675
  const bare = stripVersion(npmPkg);
603
676
  return settleInstall(npmPkg, `${root}/node_modules/${bare}/package.json`, 'node_modules');
604
677
  }
@@ -629,23 +702,29 @@ export function createPackageManager(deps) {
629
702
  async function preflightInSandbox(specs, root) {
630
703
  const tmp = await proc.makeTempDir('preflight');
631
704
  try {
632
- // 直接 cp 现有文件,不重新写内容——与本插件其余文件操作同一路子(走 proc 网关的
705
+ // 直接 cp 现有文件,不重新写内容——与本插件其余文件操作同一路子(走 process 服务的
633
706
  // POSIX 命令),也省掉一个只为此处存在的写原语。
634
707
  await execProc(proc, 'cp', [`${root}/package.json`, `${tmp.path}/package.json`], tmp.path);
635
708
  const lock = `${root}/package-lock.json`;
636
709
  if (await pathExists(lock, 'f')) {
637
710
  await execProc(proc, 'cp', [lock, `${tmp.path}/package-lock.json`], tmp.path);
638
711
  }
639
- const { stdout, stderr } = await execProcBoth(proc, 'npm', ['install', ...specs, '--dry-run', '--no-audit', '--no-fund'], tmp.path, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
640
- const unmet = findUnmetPeers(`${stderr}\n${stdout}`, specs.map(stripVersion));
712
+ let output;
713
+ try {
714
+ output = await execProcBoth(proc, 'npm', ['install', ...specs, '--dry-run', '--no-audit', '--no-fund'], tmp.path, INSTALL_TIMEOUT_MS, STRICT_PEERS_ENV);
715
+ }
716
+ catch (err) {
717
+ // 非零退出:npm 判定 peer 无解(ERESOLVE 等)时报冲突要点;别的失败(连不上源等)不是冲突,抛出原因与修法
718
+ const raw = err instanceof Error ? err.message : String(err);
719
+ const conflicts = extractPeerConflicts(raw);
720
+ if (conflicts.length > 0)
721
+ return conflicts;
722
+ log.error(`更新预检失败: ${raw}`);
723
+ throw new Error(describeNpmFailure(raw));
724
+ }
725
+ const unmet = findUnmetPeers(`${output.stderr}\n${output.stdout}`, specs.map(stripVersion));
641
726
  return unmet.length > 0 ? unmet : undefined;
642
727
  }
643
- catch (err) {
644
- // 非零退出 = npm 自己判定无解(ERESOLVE 等)。原样上报,不猜。
645
- const raw = err instanceof Error ? err.message : String(err);
646
- const conflicts = extractPeerConflicts(raw);
647
- return conflicts.length > 0 ? conflicts : [raw.slice(0, 2000)];
648
- }
649
728
  finally {
650
729
  await tmp.cleanup().catch(() => { });
651
730
  }
@@ -723,7 +802,13 @@ export function createPackageManager(deps) {
723
802
  message: '依赖预检未通过,未改动任何文件。若是 peer 版本要求,请把被依赖方一并勾选后重试。',
724
803
  conflicts,
725
804
  });
726
- const verdict = await preflightInSandbox(specs, root);
805
+ let verdict;
806
+ try {
807
+ verdict = await preflightInSandbox(specs, root);
808
+ }
809
+ catch (err) {
810
+ return { ok: false, message: `依赖预检没跑成:${err instanceof Error ? err.message : String(err)}` };
811
+ }
727
812
  if (verdict)
728
813
  return reject(verdict);
729
814
  // ── 快照:预检过了才有必要 ──
@@ -756,12 +841,10 @@ export function createPackageManager(deps) {
756
841
  // ── 提交 ──
757
842
  // 预检在副本里做,live tree 此刻**未被任何 dry-run 触碰**,可以直接装。
758
843
  try {
759
- await execProc(proc, 'npm', ['install', ...specs, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS);
844
+ await npm(['install', ...specs, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS);
760
845
  }
761
846
  catch (err) {
762
- const message = err instanceof Error ? err.message : String(err);
763
- log.error(`更新安装失败: ${message}`);
764
- return { ok: false, message: `安装失败(工程未重启,可重试): ${message}` };
847
+ return { ok: false, message: `安装失败(工程未重启,可重试):${err.message}` };
765
848
  }
766
849
  // ── 重启接管 ──
767
850
  // 回滚凭据交给重启策略:只有它能观察到「新实例 ready 前夭折」。插件级失败不在此列
@@ -815,8 +898,8 @@ export function createPackageManager(deps) {
815
898
  return { ok: false, message };
816
899
  }
817
900
  }),
818
- uninstall: pluginName => exclusive(`卸载 ${pluginName}`, () => uninstallOne(pluginName)),
819
- serviceDependents: name => findServiceDependents(name, deps.pluginStatus?.() ?? []),
901
+ uninstall: (pluginName, options) => exclusive(`卸载 ${pluginName}`, () => uninstallOne(pluginName, options)),
902
+ serviceDependents: name => findServiceDependents(name, deps.pluginStatus?.() ?? [], deps.availableServices?.() ?? []),
820
903
  registry,
821
904
  };
822
905
  /**
@@ -826,14 +909,17 @@ export function createPackageManager(deps) {
826
909
  * (与 `buildUpdateSpecs`、`isRegistryDep` 同一理由)。前端早就有正确策略
827
910
  * (只给 plugin/interface 卡片渲染卸载按钮),但那只是客户端校验,服务端不设防。
828
911
  */
829
- async function uninstallOne(pluginName) {
912
+ async function uninstallOne(pluginName, { removeConfig = false } = {}) {
830
913
  const bad = validatePackageSpec(pluginName);
831
914
  if (bad)
832
915
  return { ok: false, message: bad };
833
916
  const root = deps.projectRoot();
834
917
  const meta = await readJson(`${root}/node_modules/${pluginName}/package.json`);
835
918
  if (!meta) {
836
- return { ok: false, message: `读不到 ${pluginName} 的 package.json,无法确认它是什么,已拒绝卸载` };
919
+ return {
920
+ ok: false,
921
+ message: `读不到 ${pluginName} 的 package.json,无法确认它是什么,市场不卸;确认要卸就在项目目录执行 npm uninstall ${pluginName} 后重启`,
922
+ };
837
923
  }
838
924
  // ── 闸一:类型 ──
839
925
  // 市场管的是**插件**。core / runtime / api / schema / util 不是插件,不在本工具职权内。
@@ -869,7 +955,7 @@ export function createPackageManager(deps) {
869
955
  return {
870
956
  ok: false,
871
957
  message: `${pluginName} 正在承载市场/管理界面本身,卸掉它这个页面会立刻不可用,` +
872
- '只能在终端里恢复。若确要更换实现,请先装上替代者并在「服务」页切换过去,再回来卸载它。',
958
+ '只能在终端里恢复。若确要更换实现,请先装上替代者并在设置「系统」的服务偏好里切换过去,再回来卸载它。',
873
959
  };
874
960
  }
875
961
  // ── 闸二:来源 ──
@@ -894,7 +980,7 @@ export function createPackageManager(deps) {
894
980
  // ── 闸三:服务依赖者 ──
895
981
  // 某服务没有别的插件正在提供时,卸掉它的提供者会打断 required 该服务的插件(已禁用的不算)。
896
982
  // 与市场卸载前的预警同一份判定(serviceDependents),按加载器解析出的定义 name 查。
897
- const dependents = findServiceDependents(defName, deps.pluginStatus?.() ?? []);
983
+ const dependents = findServiceDependents(defName, deps.pluginStatus?.() ?? [], deps.availableServices?.() ?? []);
898
984
  if (dependents.length > 0) {
899
985
  return {
900
986
  ok: false,
@@ -902,31 +988,40 @@ export function createPackageManager(deps) {
902
988
  };
903
989
  }
904
990
  try {
905
- await execProc(proc, 'npm', ['uninstall', pluginName, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS);
906
- for (const id of instanceIds) {
907
- await deps.unloadPlugin(id); // 从运行时注册表彻底移除(dispose + delete),幂等
908
- deps.cleanupConfig?.(id); // 清残留配置(含禁用标记)
909
- }
910
- log.info(`${pluginName}: 已从根依赖与 node_modules 移除`);
911
- return {
912
- ok: true,
913
- message: `插件 ${pluginName} 已卸载(已从根依赖与 node_modules 移除)。它写入 data/ 等存储根的数据不会删除,需要时请手动清理。`,
914
- };
991
+ await npm(['uninstall', pluginName, '--no-audit', '--no-fund'], root, INSTALL_TIMEOUT_MS);
992
+ // 从运行时注册表彻底移除(dispose + delete),幂等
993
+ for (const id of instanceIds)
994
+ await deps.unloadPlugin(id);
915
995
  }
916
996
  catch (err) {
917
997
  return { ok: false, message: err instanceof Error ? err.message : String(err) };
918
998
  }
999
+ log.info(`${pluginName}: 已从根依赖与 node_modules 移除`);
1000
+ const removed = `插件 ${pluginName} 已卸载(已从根依赖与 node_modules 移除)`;
1001
+ // 包已经卸掉了,配置文件没写成不改变这一点:回执照样 ok,写明原因与残留
1002
+ try {
1003
+ await deps.cleanupConfig?.(instanceIds, removeConfig);
1004
+ }
1005
+ catch (err) {
1006
+ return {
1007
+ ok: true,
1008
+ message: `${removed},但配置文件没写成(${err instanceof Error ? err.message : String(err)}):需要时手动删掉配置文件里它的${removeConfig ? '配置段与' : ''}停用标记。`,
1009
+ };
1010
+ }
1011
+ return {
1012
+ ok: true,
1013
+ message: `${removed}。${removeConfig ? '它的配置已从配置文件删除,只有它用的密钥一并删除' : '它的配置留在配置文件里,重装后照原配置启动'};写在家目录 state/ 等处的数据不会删除,需要时请手动清理。`,
1014
+ };
919
1015
  }
920
1016
  }
921
1017
  export default definePlugin({
922
1018
  name: '@aalis/plugin-package-manager',
923
1019
  displayName: '包管理器',
924
1020
  subsystem: 'system',
925
- configSchema,
926
1021
  provides: [packageManager],
927
1022
  uses,
928
1023
  apply(caps) {
929
- caps.provide(packageManager, createService(caps), { label: 'package-manager' });
1024
+ caps.provide.use(packageManager, createService(caps), { label: 'package-manager' });
930
1025
  },
931
1026
  });
932
1027
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-package-manager",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,25 +24,26 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/api-process": ">=0.8.0 <1.0.0",
27
+ "@aalis/api-doctor": ">=0.8.0 <1.0.0",
28
+ "@aalis/api-process": ">=0.9.0 <1.0.0",
28
29
  "@aalis/util-dep-spec": ">=0.1.1 <1.0.0",
29
- "@aalis/api-plugin-source": ">=0.1.0 <1.0.0",
30
- "@aalis/api-host-config": ">=0.1.0 <1.0.0",
31
- "@aalis/api-package-manager": ">=0.1.0 <1.0.0",
32
- "@aalis/schema-config": ">=0.14.0 <1.0.0"
30
+ "@aalis/api-plugin-source": ">=0.2.0 <1.0.0",
31
+ "@aalis/api-host-config": ">=0.2.0 <1.0.0",
32
+ "@aalis/api-host-paths": ">=0.1.0 <1.0.0",
33
+ "@aalis/api-package-manager": ">=0.2.0 <1.0.0"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@types/node": "^22.0.0",
36
37
  "typescript": "^5.7.0",
37
- "@aalis/core": "0.19.1"
38
+ "@aalis/core": "0.20.0"
38
39
  },
39
40
  "peerDependencies": {
40
- "@aalis/core": ">=0.18.0 <1.0.0"
41
+ "@aalis/core": ">=0.20.0 <1.0.0"
41
42
  },
42
43
  "aalis": {
43
44
  "service": {
44
45
  "required": [
45
- "config",
46
+ "host-paths",
46
47
  "logger",
47
48
  "process",
48
49
  "provide",