@aalis/runtime 0.19.0 → 0.20.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.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/config-store.d.ts +9 -1
  3. package/dist/config-store.d.ts.map +1 -1
  4. package/dist/config-store.js +76 -25
  5. package/dist/config-store.js.map +1 -1
  6. package/dist/config-sync.d.ts +9 -15
  7. package/dist/config-sync.d.ts.map +1 -1
  8. package/dist/config-sync.js +45 -50
  9. package/dist/config-sync.js.map +1 -1
  10. package/dist/console-sink.d.ts +1 -1
  11. package/dist/console-sink.d.ts.map +1 -1
  12. package/dist/console-sink.js +1 -5
  13. package/dist/console-sink.js.map +1 -1
  14. package/dist/data-dir.d.ts +2 -2
  15. package/dist/data-dir.d.ts.map +1 -1
  16. package/dist/data-dir.js +1 -1
  17. package/dist/file-logger.d.ts +2 -2
  18. package/dist/file-logger.d.ts.map +1 -1
  19. package/dist/file-logger.js +12 -9
  20. package/dist/file-logger.js.map +1 -1
  21. package/dist/host-logs.d.ts +1 -1
  22. package/dist/host-logs.js +1 -1
  23. package/dist/index.d.ts +1 -3
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/instance-lock.js +2 -2
  28. package/dist/instance-lock.js.map +1 -1
  29. package/dist/locales/en.d.ts +4 -0
  30. package/dist/locales/en.d.ts.map +1 -1
  31. package/dist/locales/en.js +4 -0
  32. package/dist/locales/en.js.map +1 -1
  33. package/dist/node-modules-loader.d.ts +4 -7
  34. package/dist/node-modules-loader.d.ts.map +1 -1
  35. package/dist/node-modules-loader.js +17 -24
  36. package/dist/node-modules-loader.js.map +1 -1
  37. package/dist/plugin-discovery.d.ts +10 -3
  38. package/dist/plugin-discovery.d.ts.map +1 -1
  39. package/dist/plugin-discovery.js +64 -30
  40. package/dist/plugin-discovery.js.map +1 -1
  41. package/dist/providers.d.ts +10 -10
  42. package/dist/providers.d.ts.map +1 -1
  43. package/dist/providers.js +19 -32
  44. package/dist/providers.js.map +1 -1
  45. package/dist/start.d.ts +2 -4
  46. package/dist/start.d.ts.map +1 -1
  47. package/dist/start.js +78 -53
  48. package/dist/start.js.map +1 -1
  49. package/dist/subcommand.d.ts +1 -1
  50. package/dist/subcommand.js +1 -1
  51. package/dist/texts.d.ts +8 -0
  52. package/dist/texts.d.ts.map +1 -1
  53. package/dist/texts.js +4 -0
  54. package/dist/texts.js.map +1 -1
  55. package/dist/yaml-file.d.ts +4 -2
  56. package/dist/yaml-file.d.ts.map +1 -1
  57. package/dist/yaml-file.js +9 -5
  58. package/dist/yaml-file.js.map +1 -1
  59. package/package.json +5 -5
  60. package/dist/bootstrap-buffer.d.ts +0 -34
  61. package/dist/bootstrap-buffer.d.ts.map +0 -1
  62. package/dist/bootstrap-buffer.js +0 -42
  63. package/dist/bootstrap-buffer.js.map +0 -1
  64. package/dist/terminal.d.ts +0 -16
  65. package/dist/terminal.d.ts.map +0 -1
  66. package/dist/terminal.js +0 -43
  67. package/dist/terminal.js.map +0 -1
package/dist/start.js CHANGED
@@ -5,8 +5,9 @@ import { describeUnmet, unmetDependencies } from '@aalis/api-doctor';
5
5
  import { hostLogs } from '@aalis/api-host-logs';
6
6
  import { hostPaths } from '@aalis/api-host-paths';
7
7
  import { pluginSource } from '@aalis/api-plugin-source';
8
- import { App, events, LogHub, provide, services } from '@aalis/core';
9
- import { installBootstrapBuffer } from './bootstrap-buffer.js';
8
+ import { App, DefaultLogger, events, LogHub, provide, services } from '@aalis/core';
9
+ import { CORE_CONFIG_SCHEMA, CORE_RESTART_KEYS, readFieldValue } from '@aalis/schema-config';
10
+ import { isTextError, resolveText } from '@aalis/schema-i18n';
10
11
  import { createConfigStore, installHostConfig } from './config-store.js';
11
12
  import { installConfigHotReload, withPluginConfigSync } from './config-sync.js';
12
13
  import { installConsoleSink } from './console-sink.js';
@@ -16,9 +17,8 @@ import { createHostLogs } from './host-logs.js';
16
17
  import { acquireInstanceLock } from './instance-lock.js';
17
18
  import { createNodeModulesPluginLoader } from './node-modules-loader.js';
18
19
  import { createPluginDiscovery } from './plugin-discovery.js';
19
- import { createFsSecretsProvider, createFsYamlConfigProvider, createProcessRespawnStrategy, createServiceRestartStrategy, READY_MESSAGE, } from './providers.js';
20
+ import { createFsSecretsProvider, createFsYamlConfigProvider, createProcessRespawnStrategy, createServiceRestartStrategy, READY_MESSAGE, SERVICE_RESTART_EXIT_CODE, } from './providers.js';
20
21
  import { tryDispatchSubcommand } from './subcommand.js';
21
- import { installTerminalStateRestorer } from './terminal.js';
22
22
  // ============================================================
23
23
  // startAalis —— Node 宿主一行启动(独立部署与 monorepo 自托管共用)
24
24
  // ============================================================
@@ -34,12 +34,12 @@ import { installTerminalStateRestorer } from './terminal.js';
34
34
  // 模式——`node index.mjs <name> [args]` ≡ 聊天里的 `/<name> args`,命中即执行并退出,未命中报错退出
35
35
  // (exit 2),**两种情况都不进守护进程**。宿主自己解析命令行时传 `argv: []` 或显式数组。
36
36
  //
37
- // 数据目录没初始化就拒绝启动,只提示怎样初始化:绝不在找不到数据目录时静默起一个空的家。
37
+ // 数据目录没初始化就拒绝启动,只提示怎样初始化:绝不在找不到数据目录时静默创建一个空的家。
38
38
  //
39
39
  // 子命令进程是与守护进程零通信的一次性实例,因此不装文件日志(会把守护进程正在写的 latest.log 轮转走)、
40
40
  // 不注入重启策略(`restart` 会 spawn 出 argv 仍带 restart 的 detached 子进程,无限连环——实测)。
41
41
  //
42
- // 宿主的「I/O 那一层」(日志 sink / 终端复原 / 子命令分发)全在本包,core 只产生 LogEntry。
42
+ // 宿主的「I/O 那一层」(日志 sink / 子命令分发)全在本包,core 只产生 LogEntry。终端模式由改它的插件自己复原。
43
43
  const APP_DIR_EXAMPLE = 'startAalis({ appDir: dirname(fileURLToPath(import.meta.url)) })';
44
44
  /** respawn 时把实例锁的交接令牌交给新进程的环境变量 */
45
45
  const HANDOFF_ENV = 'AALIS_LOCK_HANDOFF';
@@ -64,12 +64,15 @@ function readCoreVersion() {
64
64
  * ② 子命令短路必须在 `app.start` 之前。
65
65
  */
66
66
  export async function startAalis(opts) {
67
+ // 两条输出流先在这里建好:macOS 上终端挂断之后首次取 process.stdout / process.stderr 会卡住(建流时重新打开已挂断的终端设备,
68
+ // 一直等不到),停机路径(下面的 SIGHUP 与写出错)要用到它们。不靠哪个依赖在载入时碰巧把它们建好
69
+ const outputs = [process.stdout, process.stderr];
67
70
  // JS 入口可能一个参数都不传:在动数据目录之前停下,不落到缺省的数据目录
68
71
  if (typeof opts?.appDir !== 'string') {
69
72
  console.error(`[aalis] startAalis is missing appDir: pass the directory of the entry file as appDir, for example ${APP_DIR_EXAMPLE}.`);
70
73
  process.exit(2);
71
74
  }
72
- const { consoleSink = true, fileLog = true, terminalRestore = true } = opts;
75
+ const { consoleSink = true, fileLog = true } = opts;
73
76
  // ── 数据目录:在任何日志与文件写入之前定下来 ──
74
77
  // 命令行与环境变量里写的相对路径按启动时的 cwd 解析一次:那是用户在 shell 里的意图。
75
78
  // 启动目录可能已被删除,这时 process.cwd() 会抛错;只有遇到相对路径才需要它。
@@ -113,15 +116,15 @@ export async function startAalis(opts) {
113
116
  // 交给插件的数据目录是真实路径:符号链接、大小写与末尾分隔符不同的写法指向同一个目录时,插件拿到的是同一个路径
114
117
  // (记忆库按它记归属)
115
118
  const paths = derivePaths(realpathSync.native(declared.data), appDir, resolved.profile);
116
- // 默认加载器从安装集的 package.json 找插件:缺了它会一个插件都不加载、照样起来,只留一行「发现 0 个插件」
119
+ // 默认加载器从安装集的 package.json 找插件:缺了它会一个插件都不加载、照样启动,只留一行「发现 0 个插件」
117
120
  if (!opts.pluginLoader && !existsSync(join(paths.app, 'package.json'))) {
118
121
  console.error(`[aalis] The install directory ${paths.app} has no package.json, so there are no plugins to load.\n` +
119
122
  `[aalis] appDir must point to the directory of the entry file, which holds package.json, for example ${APP_DIR_EXAMPLE}.`);
120
123
  process.exit(1);
121
124
  }
122
125
  const subcommands = hostArgs.rest;
123
- // ── 实例锁:同一数据目录只许一个守护进程。要在写日志之前取到,否则第二个实例一起来就把正在写的 latest.log 轮转走 ──
124
- // 交接令牌读到就从环境里删掉,不让插件起的子进程与侧车继承它。子命令进程不取锁(它们以后经 socket 连实例)。
126
+ // ── 实例锁:同一数据目录只许一个守护进程。要在写日志之前取到,否则第二个实例一启动就把正在写的 latest.log 轮转走 ──
127
+ // 交接令牌读到就从环境里删掉,不让插件启动的子进程与侧车继承它。子命令进程不取锁(它们以后经 socket 连实例)。
125
128
  const handoffToken = process.env[HANDOFF_ENV];
126
129
  delete process.env[HANDOFF_ENV];
127
130
  let instanceLock;
@@ -140,7 +143,7 @@ export async function startAalis(opts) {
140
143
  '[aalis] If you are sure no instance is running (for example, the process was killed and this machine cannot look up ' +
141
144
  'process start times, or a container was killed and restarted within the same boot), delete this lock file and start again.';
142
145
  if (hostArgs.service) {
143
- // 服务形态按正常退出:配合 KeepAlive={SuccessfulExit=false},不会被服务管理器反复拉起再抢锁
146
+ // 服务形态按正常退出:配合 KeepAlive={SuccessfulExit=false},不会被服务管理器反复重新启动再抢锁
144
147
  console.error(`${occupied}\n[aalis] Started as a service, so this counts as a normal exit.`);
145
148
  process.exit(0);
146
149
  }
@@ -151,13 +154,10 @@ export async function startAalis(opts) {
151
154
  const lock = acquired.lock;
152
155
  process.on('exit', () => lock.release());
153
156
  }
154
- // ── 最早期:任何日志之前先装 bootstrap buffer,再装 terminal / console sink ──
155
- const bootstrap = installBootstrapBuffer();
156
- if (terminalRestore)
157
- installTerminalStateRestorer();
157
+ // ── 最早期:任何日志之前先装 console sink ──
158
158
  const subcommandMode = subcommands.length > 0;
159
159
  // console sink 在 App 之前装:此时尚无事件总线(根绑定),sink 处于「无条件写」状态以打印早期启动日志,
160
- // 待 App 起来再 bindEvents 接管 terminal:claimed/released。子命令模式日志走 stderr,stdout 只留命令结果。
160
+ // 待 App 启动后再 bindEvents 接管 terminal:claimed/released。子命令模式日志走 stderr,stdout 只留命令结果。
161
161
  // consoleSink: false 仍装 stderr + minLevel warn:加载器拒载「另一份 @aalis/core」的插件记 error,不能只剩下游的指令服务不可用报错。
162
162
  const consoleHandle = consoleSink
163
163
  ? installConsoleSink(subcommandMode ? { target: 'stderr' } : {})
@@ -185,35 +185,48 @@ export async function startAalis(opts) {
185
185
  };
186
186
  process.on('uncaughtException', err => void exitWithFatalLog('Uncaught exception', err));
187
187
  process.on('unhandledRejection', reason => void exitWithFatalLog('Unhandled promise rejection', reason));
188
- // ── file logger(async)+ 释放 bootstrap buffer ──
188
+ // ── file logger(async)──
189
189
  if (fileLogTarget)
190
190
  fileLogger = await setupFileLogger(fileLogTarget);
191
- // sink 全部装好;bootstrap buffer 完成使命,解除订阅并释放内存。
192
- bootstrap.dispose();
193
191
  // ── 组装 App:YAML 配置文档与密钥文件、按 loader 发现插件、用 spawn 重启 ──
194
- // 配置或密钥文件读不进来(写坏了、读不了)是环境问题:一行报错退出,不带调用栈(消息不含文件内容)
192
+ // 配置或密钥文件读不进来(格式有误、读不了、插件配置段不是映射)是环境问题:一行报错退出,不带调用栈(消息不含文件内容)。
193
+ // 这时插件还没加载、没有读者语言,文字对象取英文
195
194
  const loadOrExit = (load) => {
196
195
  try {
197
196
  return load();
198
197
  }
199
198
  catch (err) {
200
- console.error(`[aalis] ${err instanceof Error ? err.message : String(err)}`);
199
+ const message = isTextError(err)
200
+ ? resolveText(err.text, ['en'])
201
+ : err instanceof Error
202
+ ? err.message
203
+ : String(err);
204
+ console.error(`[aalis] ${message}`);
201
205
  process.exit(1);
202
206
  }
203
207
  };
204
208
  const { config, provider } = loadOrExit(() => createFsYamlConfigProvider(paths.config));
205
209
  const secrets = loadOrExit(() => createFsSecretsProvider(paths.secrets));
206
- const store = createConfigStore(config, provider, secrets);
207
- // core 的慢操作阈值:缺省(含 YAML 空键解出的 null)交给 core 默认;不是非负有限数的写法告警后同样交给默认。
208
- // 它与 logLevel 只在这里读一次,改了要重启:哪些核心键只在启动时读以 schema-config 的 CORE_RESTART_KEYS 为准,
210
+ const store = loadOrExit(() => createConfigStore(config, provider, secrets));
211
+ // 只在启动时读、改了要重启的核心键(schema-config 的 CORE_RESTART_KEYS)在这里读一次交给 core,逐个按 CORE_CONFIG_SCHEMA
212
+ // 判定,与 WebUI 设置页同一套规则:缺省(含 YAML 空键解出的 null)交给 core 默认,不合法的告警后同样交给默认。
209
213
  // 改成热生效或新加启动时才读的键,同步改那一份
210
- const slowThresholdMs = store.get('slowThresholdMs') ?? undefined;
211
- const slowThresholdValid = slowThresholdMs === undefined ||
212
- (typeof slowThresholdMs === 'number' && Number.isFinite(slowThresholdMs) && slowThresholdMs >= 0);
214
+ const startup = {};
215
+ for (const key of CORE_RESTART_KEYS) {
216
+ const value = store.get(key);
217
+ const read = readFieldValue(CORE_CONFIG_SCHEMA[key], value);
218
+ if ('value' in read)
219
+ startup[key] = read.value;
220
+ else {
221
+ // 数字照原样显示:JSON.stringify 会把 Infinity / NaN 显示成 null
222
+ const received = typeof value === 'number' ? String(value) : JSON.stringify(value);
223
+ new DefaultLogger('aalis:config').warn(`配置项 ${key} 的值 ${received} 不可用:${read.invalid.source},按默认值处理`);
224
+ }
225
+ }
213
226
  const app = new App({
214
227
  name: store.get('name'),
215
- logLevel: store.get('logLevel'),
216
- slowThresholdMs: slowThresholdValid ? slowThresholdMs : undefined,
228
+ logLevel: startup.logLevel,
229
+ slowThresholdMs: startup.slowThresholdMs,
217
230
  // 子命令进程没有重启能力,不注入策略:`app.restart()` 按 core 语义抛「不可用」,指令层折成失败文案。
218
231
  // 注入的话,`restart` 子命令在 app.stop 超过策略 500ms 等待时会 spawn 一个 argv 仍带 restart 的
219
232
  // detached 子进程,新进程再命中 restart……无限连环(实测 5 代,Ctrl+C 打不到)。
@@ -231,11 +244,6 @@ export async function startAalis(opts) {
231
244
  // 宿主读取 @aalis/core 的实际版本注入启动 banner——core 环境无关、不自读 package.json。
232
245
  version: readCoreVersion(),
233
246
  });
234
- if (!slowThresholdValid) {
235
- // 数字照原样显示:JSON.stringify 会把 Infinity / NaN 显示成 null
236
- const received = typeof slowThresholdMs === 'number' ? String(slowThresholdMs) : JSON.stringify(slowThresholdMs);
237
- app.logger.warn(`配置项 slowThresholdMs 应为不小于 0 的有限数字(毫秒),收到 ${received},按默认值处理`);
238
- }
239
247
  // 宿主的根绑定:事件订阅、服务查询与宿主服务登记都经它,随 App 停止撤回
240
248
  const host = app.bind({ events, provide, services });
241
249
  // 宿主路径、日志与配置文档先于任何插件接上:插件激活时就要用到,文档里的服务偏好要在全部提供者上线前生效。
@@ -243,23 +251,16 @@ export async function startAalis(opts) {
243
251
  host.provide.use(hostPaths, paths, { exclusive: true });
244
252
  host.provide.use(hostLogs, createHostLogs(LogHub.default, fileLogger, app.logger), { exclusive: true });
245
253
  installHostConfig(app, store, opts.configSync);
246
- // 默认值从 configSchema 派生(唯一声明来源),导入定义后、登记前深合并进文档;登记时原样交给 core
247
- const configLoader = withPluginConfigSync(opts.pluginLoader ?? createNodeModulesPluginLoader(paths.app), app, store, opts.configSync);
248
- const discovery = createPluginDiscovery(app, configLoader.loader, store);
249
- host.provide.use(pluginSource, { rescan: () => discovery.rescan() }, { exclusive: true });
254
+ // 默认值从 configSchema 派生(唯一声明来源),发现驱动每批定下要登记的定义后、登记前深合并进文档;登记时原样交给 core
255
+ const discovery = createPluginDiscovery(app, opts.pluginLoader ?? createNodeModulesPluginLoader(paths.app), store, withPluginConfigSync(app, store, opts.configSync));
256
+ host.provide.use(pluginSource, { rescan: () => discovery.rescan(), loaded: name => discovery.loaded(name) }, { exclusive: true });
250
257
  // 不变量①:App 构造完成后再让 sink 监听终端归属事件——此前没有事件总线可订阅。
251
258
  consoleHandle.bindEvents(host.events.use);
252
- try {
253
- // 每个定义交给 Core 前已经规范化;首次 apply 与配置快照用同一份字段。
254
- await discovery.loadAll();
255
- }
256
- finally {
257
- // 即使后续加载失败,也保存本批已完成的规范化;不启动第二轮 bounce。
258
- configLoader.finishInitialLoad();
259
- }
259
+ // 每个定义交给 Core 前已经规范化;首次 apply 与配置快照用同一份字段。
260
+ await discovery.loadAll();
260
261
  // ── 不变量②:子命令短路在 app.start 之前 ──
261
262
  // `aalis <name> [args...]` 等价于聊天里 `/<name> args...`:命中则执行返回串,未命中则报错,
262
- // 两种情况都干净退出、**绝不进守护进程**——打错的命令名若照常起守护,就是与运行中实例并存的
263
+ // 两种情况都干净退出、**绝不进守护进程**——打错的命令名若照常启动守护进程,就是与运行中实例并存的
263
264
  // 第二个实例(同时连 onebot、每条消息回两遍)。与具体命令解耦——各插件自行注册命令。
264
265
  if (subcommandMode) {
265
266
  const exitCode = await tryDispatchSubcommand(host.services.use, subcommands);
@@ -282,7 +283,7 @@ export async function startAalis(opts) {
282
283
  else if (unmet.waiting.length > 0)
283
284
  app.logger.info(`插件 "${instance}" 在等依赖启动:${why}`);
284
285
  }
285
- // 向重启我们的父进程回报「起来了」。父进程据此决定放手退出,还是判定本次
286
+ // 向重启我们的父进程回报「已启动」。父进程据此决定放手退出,还是判定本次
286
287
  // 更新失败并回滚(见 providers.ts 的 createProcessRespawnStrategy)。
287
288
  //
288
289
  // 两道防护缺一不可,都为了「本进程绝不能因为报喜而死」:
@@ -292,7 +293,7 @@ export async function startAalis(opts) {
292
293
  // 2. callback —— 通道在判断与发送之间关闭(TOCTOU)时,错误改走 callback。没有它,
293
294
  // Node 会在 nextTick 往 process 上 emit 无监听者的 'error',直接升级成
294
295
  // uncaughtException 被 start.ts 顶部的 handler 捕获并 exit(1)——**同步 try/catch
295
- // 接不住**(错误是异步抛的)。症状会是「一重启就没、手动起就好」。
296
+ // 接不住**(错误是异步抛的)。症状会是「一重启就没、手动启动就好」。
296
297
  if (process.connected)
297
298
  process.send?.({ type: READY_MESSAGE }, undefined, undefined, () => { });
298
299
  // 握手完成后解除 IPC 对事件循环的持有——否则父进程退出前本进程无法自然结束。
@@ -300,7 +301,8 @@ export async function startAalis(opts) {
300
301
  // 配置外部变更热重载(provider 不支持 watch 时为 no-op);文件里新增的后缀实例经发现驱动登记。
301
302
  installConfigHotReload(app, store, discovery, opts.configSync);
302
303
  let stopping = false;
303
- const shutdown = async () => {
304
+ /** 走完停机后以 exitCode 退出。停机途中再来的不另行执行一次,退出码按先来的那次 */
305
+ const shutdown = async (exitCode) => {
304
306
  if (stopping)
305
307
  return;
306
308
  stopping = true;
@@ -309,10 +311,33 @@ export async function startAalis(opts) {
309
311
  // 入队,再等队列清空,确保 latest.log 含完整关闭日志。
310
312
  await new Promise(r => setImmediate(r));
311
313
  await fileLogger?.dispose();
312
- process.exit(0);
314
+ process.exit(exitCode);
313
315
  };
314
- process.on('SIGINT', shutdown);
315
- process.on('SIGTERM', shutdown);
316
+ // 停机要等插件收尾,停机途中再按 Ctrl+C 不打断它(npm start 一次 Ctrl+C 本就送来两个 SIGINT)。要立即退出改按 Ctrl+\:
317
+ // 不接 SIGQUIT,按默认动作当场结束,卡住的事件循环也拦不住;Windows 上对应的是 Ctrl+Break(SIGBREAK)。
318
+ // 提示是给按着键的人看的,直接写 stderr,不经日志:日志级别与控制台输出的设置都可能把它滤掉
319
+ process.on('SIGINT', () => {
320
+ if (!stopping)
321
+ console.error(`[aalis] Shutting down; press ${process.platform === 'win32' ? 'Ctrl+Break' : 'Ctrl+\\'} to quit now without waiting.`);
322
+ void shutdown(0);
323
+ });
324
+ process.on('SIGTERM', () => void shutdown(0));
325
+ // 关掉所在的终端时 shell 给前台作业发 SIGHUP,默认动作是不经停机直接结束,插件收尾与清理里的落盘全被跳过:接住它走完停机。
326
+ // respawn 出来的后代自成会话,终端关掉时收不到 SIGHUP,只在之后往已挂断的终端写时得到 EIO;输出接在管道上而读端走了是 EPIPE。
327
+ // 这两种写出错同样走完停机。以 --service 运行时输出断了(日志转发进程异常退出)不是要它停:停完以服务重启的退出码结束,由服务
328
+ // 管理器重新启动进程、重新接上输出,以 0 退出的话服务管理器当它正常退出、不再重新启动。两条流上一直挂着监听,写出错都由它接住、不再抛:
329
+ // 直接写流的(终端界面停用时写的复原序列)出错原本是未捕获的 'error';console 只在流上没有别的 'error' 监听时才自己接住,有工作
330
+ // 线程(经 tsx 跑源码时就有)时它的输出接在这两条流上,管道留下的监听把错误再抛出来,console 也接不住。未捕获的 'error' 经顶部
331
+ // 的 fatal handler 以 1 退出,停机断在中途。别的写错误(如输出重定向到写满的磁盘)只丢掉这次输出,与流上没有监听时 console 的
332
+ // 做法一致,文件日志照常
333
+ process.on('SIGHUP', () => void shutdown(0));
334
+ const outputLost = hostArgs.service ? SERVICE_RESTART_EXIT_CODE : 0;
335
+ for (const stream of outputs) {
336
+ stream.on('error', (err) => {
337
+ if (err.code === 'EIO' || err.code === 'EPIPE')
338
+ void shutdown(outputLost);
339
+ });
340
+ }
316
341
  return app;
317
342
  }
318
343
  //# sourceMappingURL=start.js.map
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Services } from '@aalis/core';
4
4
  *
5
5
  * 返回进程 exit code:命中则执行并返回 0;commands 服务不存在或命令名未注册则经 `err`
6
6
  * 报错并返回 2。**不存在「未命中就放行」的分支**——argv 非空即子命令模式,调用方据此退出、
7
- * 不进守护进程:打错的命令名若照常起守护,就是与运行中实例并存的第二个实例。
7
+ * 不进守护进程:打错的命令名若照常启动守护进程,就是与运行中实例并存的第二个实例。
8
8
  *
9
9
  * 不直接绑定任何具体命令;所有命令由插件向 commands 服务注册。
10
10
  *
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 返回进程 exit code:命中则执行并返回 0;commands 服务不存在或命令名未注册则经 `err`
5
5
  * 报错并返回 2。**不存在「未命中就放行」的分支**——argv 非空即子命令模式,调用方据此退出、
6
- * 不进守护进程:打错的命令名若照常起守护,就是与运行中实例并存的第二个实例。
6
+ * 不进守护进程:打错的命令名若照常启动守护进程,就是与运行中实例并存的第二个实例。
7
7
  *
8
8
  * 不直接绑定任何具体命令;所有命令由插件向 commands 服务注册。
9
9
  *
package/dist/texts.d.ts CHANGED
@@ -5,6 +5,10 @@ declare const SOURCE: {
5
5
  readonly yamlPosition: "{code}(第 {line} 行第 {col} 列)";
6
6
  readonly saveRefused: "{file}有尚未生效的外部修改,为免覆盖已拒绝本次保存({path})";
7
7
  readonly unsafePluginId: "插件 id 不合法:{id}";
8
+ readonly notMapping: "插件 {instance} 的配置须为映射,不能是 null、数组或标量";
9
+ readonly sectionNotMapping: "配置文档里的 {at} 不是映射(得到 {kind})";
10
+ readonly sectionNotList: "配置文档里的 {at} 不是列表(得到 {kind})";
11
+ readonly entryNotString: "配置文档里的 {at} 不是字符串(得到 {kind})";
8
12
  readonly noDefinition: "插件 {instance} 不存在,也没有可用来新建它的同模块定义(模块须已登记且声明 reusable)";
9
13
  readonly plainSecret: "setPluginConfig 只收文档形态:{instance} 的 {paths, list} 是密钥字段,不能写原值;改配置请用 applyPluginConfig";
10
14
  readonly secretAt: "{path}(键 {key})";
@@ -20,6 +24,10 @@ export declare const t: import("@aalis/schema-i18n").TextFactory<{
20
24
  readonly yamlPosition: "{code}(第 {line} 行第 {col} 列)";
21
25
  readonly saveRefused: "{file}有尚未生效的外部修改,为免覆盖已拒绝本次保存({path})";
22
26
  readonly unsafePluginId: "插件 id 不合法:{id}";
27
+ readonly notMapping: "插件 {instance} 的配置须为映射,不能是 null、数组或标量";
28
+ readonly sectionNotMapping: "配置文档里的 {at} 不是映射(得到 {kind})";
29
+ readonly sectionNotList: "配置文档里的 {at} 不是列表(得到 {kind})";
30
+ readonly entryNotString: "配置文档里的 {at} 不是字符串(得到 {kind})";
23
31
  readonly noDefinition: "插件 {instance} 不存在,也没有可用来新建它的同模块定义(模块须已登记且声明 reusable)";
24
32
  readonly plainSecret: "setPluginConfig 只收文档形态:{instance} 的 {paths, list} 是密钥字段,不能写原值;改配置请用 applyPluginConfig";
25
33
  readonly secretAt: "{path}(键 {key})";
@@ -1 +1 @@
1
- {"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM;;;;;;;;;;;;;CAgBF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;EAA4F,CAAC"}
1
+ {"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;CAoBF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;EAA4F,CAAC"}
package/dist/texts.js CHANGED
@@ -10,6 +10,10 @@ const SOURCE = {
10
10
  yamlPosition: '{code}(第 {line} 行第 {col} 列)',
11
11
  saveRefused: '{file}有尚未生效的外部修改,为免覆盖已拒绝本次保存({path})',
12
12
  unsafePluginId: '插件 id 不合法:{id}',
13
+ notMapping: '插件 {instance} 的配置须为映射,不能是 null、数组或标量',
14
+ sectionNotMapping: '配置文档里的 {at} 不是映射(得到 {kind})',
15
+ sectionNotList: '配置文档里的 {at} 不是列表(得到 {kind})',
16
+ entryNotString: '配置文档里的 {at} 不是字符串(得到 {kind})',
13
17
  noDefinition: '插件 {instance} 不存在,也没有可用来新建它的同模块定义(模块须已登记且声明 reusable)',
14
18
  plainSecret: 'setPluginConfig 只收文档形态:{instance} 的 {paths, list} 是密钥字段,不能写原值;改配置请用 applyPluginConfig',
15
19
  secretAt: '{path}(键 {key})',
package/dist/texts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,6DAA6D;AAC7D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,6BAA6B;IAC3C,WAAW,EAAE,sCAAsC;IACnD,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,uDAAuD;IACrE,WAAW,EACT,uFAAuF;IACzF,QAAQ,EAAE,iBAAiB;IAC3B,gBAAgB,EACd,+EAA+E;IACjF,QAAQ,EACN,8GAA8G;IAChH,eAAe,EAAE,0BAA0B;CACnC,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,6DAA6D;AAC7D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,6BAA6B;IAC3C,WAAW,EAAE,sCAAsC;IACnD,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,sCAAsC;IAClD,iBAAiB,EAAE,6BAA6B;IAChD,cAAc,EAAE,6BAA6B;IAC7C,cAAc,EAAE,8BAA8B;IAC9C,YAAY,EAAE,uDAAuD;IACrE,WAAW,EACT,uFAAuF;IACzF,QAAQ,EAAE,iBAAiB;IAC3B,gBAAgB,EACd,+EAA+E;IACjF,QAAQ,EACN,8GAA8G;IAChH,eAAe,EAAE,0BAA0B;CACnC,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC"}
@@ -13,7 +13,7 @@ interface YamlFileOptions<T> {
13
13
  */
14
14
  mode?: number;
15
15
  /**
16
- * 运行中改成空文件(或只剩注释)时按 {@link missing} 的值投递。缺省拒收:主配置变空多是写坏了,
16
+ * 运行中改成空文件(或只剩注释)时按 {@link missing} 的值投递。缺省拒收:主配置变空多是写入出错,
17
17
  * 放行会让全部插件按默认值重载;密钥文件清空是合法状态
18
18
  */
19
19
  emptyAsMissing?: boolean;
@@ -27,10 +27,12 @@ interface YamlFile<T> {
27
27
  save(value: T): void;
28
28
  /**
29
29
  * 监听文件所在目录(按文件名过滤)+ 300ms 去抖,按与上次读入或写出的内容比对去重(自写回不触发);
30
- * 拒写之后的下一次变更不去重;武装后立即对账一次。返回退订
30
+ * 拒写之后的下一次变更不去重;武装后立即核对一次。返回退订
31
31
  */
32
32
  watch(onChange: (next: T) => void): () => void;
33
33
  }
34
+ /** 值必须是纯映射:裸标量、数组会被下游按 Object.entries 摊开写回垃圾 */
35
+ export declare function describeNonMapping(v: unknown): string | null;
34
36
  export declare function openYamlFile<T extends object>(absPath: string, opts: YamlFileOptions<T>): YamlFile<T>;
35
37
  export {};
36
38
  //# sourceMappingURL=yaml-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-file.d.ts","sourceRoot":"","sources":["../src/yaml-file.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAe,KAAK,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AAUnF,UAAU,eAAe,CAAC,CAAC;IACzB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,iBAAiB;IACjB,OAAO,IAAI,CAAC,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,QAAQ,CAAC,CAAC;IAClB,eAAe;IACf,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAChD;AAuCD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAsKrG"}
1
+ {"version":3,"file":"yaml-file.d.ts","sourceRoot":"","sources":["../src/yaml-file.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAe,KAAK,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AAUnF,UAAU,eAAe,CAAC,CAAC;IACzB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,iBAAiB;IACjB,OAAO,IAAI,CAAC,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,QAAQ,CAAC,CAAC;IAClB,eAAe;IACf,OAAO,EAAE,CAAC,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAChD;AA+BD,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CA4KrG"}
package/dist/yaml-file.js CHANGED
@@ -34,7 +34,7 @@ function parseYamlText(text, label, logger) {
34
34
  return doc.toJS();
35
35
  }
36
36
  /** 值必须是纯映射:裸标量、数组会被下游按 Object.entries 摊开写回垃圾 */
37
- function describeNonMapping(v) {
37
+ export function describeNonMapping(v) {
38
38
  if (v === null)
39
39
  return 'empty';
40
40
  if (Array.isArray(v))
@@ -48,7 +48,7 @@ export function openYamlFile(absPath, opts) {
48
48
  const dataDir = dirname(absPath);
49
49
  let raw = null;
50
50
  // 拒写之后调用方手里的文档(常连同运行态)已领先于文件:下一次文件变更不论内容是否等于 raw 都要投递,
51
- // 让宿主按文件重新对账。否则把文件原样改回的「修好」会被当成空变更跳过,文档与运行态从此偏离文件,
51
+ // 让宿主按文件重新核对。否则把文件原样改回的「修好」会被当成空变更跳过,文档与运行态从此偏离文件,
52
52
  // 下一次成功保存还会把被拒的改动写进去。
53
53
  let reconcilePending = false;
54
54
  let watcher = null;
@@ -78,7 +78,7 @@ export function openYamlFile(absPath, opts) {
78
78
  initial,
79
79
  save(value) {
80
80
  // 写前比对磁盘实况:盘上内容必须仍是本进程最后读入或写出的那份。不是,就有尚未生效的外部修改
81
- // (去抖窗口内、监听未武装、解析失败被搁置、另一个进程写过),整份覆写会把它静默吃掉,所以拒写。
81
+ // (去抖窗口内、监听未武装、解析失败被搁置、另一个进程写过),整份覆写会把它静默丢弃,所以拒写。
82
82
  // 文件不存在时没有可保护的内容,照写。
83
83
  let onDisk = null;
84
84
  try {
@@ -176,13 +176,17 @@ export function openYamlFile(absPath, opts) {
176
176
  logger.warn(`${label.source}不是一个映射(得到 ${kind}),本次变更已忽略`);
177
177
  return;
178
178
  }
179
+ // 处理器里的保存要看到这次的内容已读入,先推进;处理器拒收(抛错)时退回,与解析失败一样搁置:
180
+ // 之后的保存照样拒写,不把这份手改盖掉
181
+ const before = { raw, reconcilePending };
179
182
  raw = current;
180
183
  reconcilePending = false;
181
184
  try {
182
185
  onChange(parsed);
183
186
  }
184
187
  catch (err) {
185
- logger.warn(`${label.source}变更处理器抛错:${err instanceof Error ? err.message : String(err)}`);
188
+ ({ raw, reconcilePending } = before);
189
+ logger.warn(`${label.source}变更处理器抛错,本次变更已忽略,仍在使用上一份内容:${err instanceof Error ? err.message : String(err)}`);
186
190
  }
187
191
  }, 300);
188
192
  };
@@ -200,7 +204,7 @@ export function openYamlFile(absPath, opts) {
200
204
  watcher?.close();
201
205
  watcher = null;
202
206
  });
203
- // 武装即对账一次:武装前(启动期)的外部修改不会再有事件,不补就既不生效、又让 save 一直拒写
207
+ // 武装即核对一次:武装前(启动期)的外部修改不会再有事件,不补就既不生效、又让 save 一直拒写
204
208
  schedule();
205
209
  }
206
210
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-file.js","sourceRoot":"","sources":["../src/yaml-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-file.js","sourceRoot":"","sources":["../src/yaml-file.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/runtime",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,10 +29,10 @@
29
29
  "dependencies": {
30
30
  "chalk": "^5.4.0",
31
31
  "yaml": "^2.7.0",
32
- "@aalis/schema-config": ">=0.16.0 <1.0.0",
32
+ "@aalis/schema-config": ">=0.16.2 <1.0.0",
33
33
  "@aalis/schema-log": ">=0.2.0 <1.0.0",
34
34
  "@aalis/api-doctor": ">=0.9.0 <1.0.0",
35
- "@aalis/api-plugin-source": ">=0.2.0 <1.0.0",
35
+ "@aalis/api-plugin-source": ">=0.3.0 <1.0.0",
36
36
  "@aalis/api-host-config": ">=0.3.0 <1.0.0",
37
37
  "@aalis/api-host-logs": ">=0.1.0 <1.0.0",
38
38
  "@aalis/api-host-paths": ">=0.3.0 <1.0.0",
@@ -44,8 +44,8 @@
44
44
  "devDependencies": {
45
45
  "typescript": "^5.7.0",
46
46
  "@types/node": "^22.0.0",
47
- "@aalis/core": "0.21.0",
48
- "@aalis/api-commands": "0.9.0"
47
+ "@aalis/api-commands": "0.9.0",
48
+ "@aalis/core": "0.21.1"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "tsc",
@@ -1,34 +0,0 @@
1
- import { LogHub } from '@aalis/core';
2
- import type { LogEntry } from '@aalis/schema-log';
3
- /**
4
- * 启动期 bootstrap buffer:在任何 sink(file/console)装好之前订阅 LogHub,
5
- * 把启动期产生的所有 LogEntry 暂存。等所有 sink 装好后调用 `dispose()`
6
- * 解除订阅并清空——之后所有日志直接通过 LogHub.onEntry 走 sink 实时落盘 / 渲染。
7
- *
8
- * 设计要点:
9
- * - **进程级单例**:通过 module-level state 实现,由 `startAalis` 在最早时机
10
- * 调用 `installBootstrapBuffer()` 一次(在 Logger 第一次被调用之前)。
11
- * - **多 sink 共享**:每个 sink 装载时调用 `snapshot()` 拿到当前已捕获条目副本
12
- * 并自行消费(写文件 / 渲染 stdout);snapshot 不改变状态,可任意次。
13
- * - **显式 dispose**:所有 sink 装好后由 host 显式 `dispose()` —— 之后 buffer
14
- * 不再接收新条目,但已订阅的 sink 通过 `LogHub.onEntry` 继续收实时事件。
15
- * - **核心零状态**:LogHub 自身不再持有 buffer,bootstrap 这种"短暂状态"是
16
- * runtime 关注点,不污染 core。
17
- */
18
- interface BootstrapBuffer {
19
- /** 当前已捕获 entries 的副本。可重复调用。 */
20
- snapshot(): LogEntry[];
21
- /** 解除订阅 + 清空。重复调用幂等。 */
22
- dispose(): void;
23
- }
24
- /**
25
- * 安装 bootstrap buffer。必须在所有日志产生之前调用(由 `startAalis` 最先调用)。
26
- * 重复调用返回同一实例。
27
- */
28
- export declare function installBootstrapBuffer(hub?: LogHub): BootstrapBuffer;
29
- /** 获取已安装的 bootstrap buffer。未安装则返回空 stub(snapshot 永远空)。 */
30
- export declare function getBootstrapBuffer(): BootstrapBuffer;
31
- /** 测试钩子:重置 installed 状态。仅供单元测试使用。 */
32
- export declare function __resetBootstrapBufferForTests(): void;
33
- export {};
34
- //# sourceMappingURL=bootstrap-buffer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap-buffer.d.ts","sourceRoot":"","sources":["../src/bootstrap-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,UAAU,eAAe;IACvB,+BAA+B;IAC/B,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAuB,GAAG,eAAe,CAuBpF;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,qCAAqC;AACrC,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}