@aalis/runtime 0.17.0 → 0.19.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/dist/secrets.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // ============================================================
2
2
  // secrets —— 配置文档与运行态之间的密钥换算(纯函数,不碰文件)
3
3
  //
4
- // schema 里 `secret: true` 的字段在文档里是引用 `{ $secret: '<键>' }`,值在宿主的密钥存储(家目录的 secrets.yaml);
4
+ // schema 里 `secret: true` 的字段在文档里是引用 `{ $secret: '<键>' }`,值在宿主的密钥存储(数据目录的 secrets.yaml);
5
5
  // 交给 core(也就是插件)之前解析回原值。字段的位置只认 schema-config 的 mapSecretFields。
6
6
  // ============================================================
7
7
  import { isSecretRef, mapSecretFields } from '@aalis/schema-config';
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uCAAuC;AACvC,EAAE;AACF,yFAAyF;AACzF,iEAAiE;AACjE,+DAA+D;AAE/D,OAAO,EAAqB,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAE/B,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,OAAO,IAAI,GAAG,EAAU;IACrE,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC/E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,gBAAgB,CAAC,MAAgC,EAAE,MAA+B;IAChG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC5C,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAgC,EAChC,UAAkB,EAClB,SAAkC,EAClC,IAA6B,EAC7B,KAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QAC3D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,GAAG,GACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAQ,CAAC,GAAG,UAAU,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAgC,EAChC,GAA4B,EAC5B,MAAuD;IAEvD,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACxD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,QAAqC;IACxF,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAC,MAAmC;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,4BAA4B;AAC5B,SAAS,KAAK,CAAC,MAA+B,EAAE,IAAY;IAC1D,IAAI,KAAK,GAAY,MAAM,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1F,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAA+B;IAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/dist/start.d.ts CHANGED
@@ -3,15 +3,11 @@ import { type ConfigSyncOptions } from './config-sync.js';
3
3
  import { type PluginLoader } from './plugin-discovery.js';
4
4
  export interface StartAalisOptions {
5
5
  /**
6
- * 安装集目录(package.json 与 node_modules 所在,源码形态另有 packages/),必须是绝对路径。
7
- * 源码形态的入口传仓库根,脚手架生成的入口传项目目录。
6
+ * 安装集目录,也就是部署目录(package.json 与 node_modules 所在,源码形态另有 packages/),必须是绝对路径。
7
+ * 源码形态的入口传仓库根,脚手架生成的入口传项目目录。`--data`、`AALIS_DATA` 都没给时数据目录在它下面:
8
+ * `data/`,给了 `--profile` / `AALIS_PROFILE` 时是 `data-<名>/`。
8
9
  */
9
10
  appDir: string;
10
- /**
11
- * 宿主代码给的兜底家目录,必须是绝对路径。优先级最低:`--home`、`AALIS_HOME`、`--profile` / `AALIS_PROFILE`
12
- * 都没给时才用它,再没有就是 `~/.aalis`。
13
- */
14
- defaultHome?: string;
15
11
  /** 插件加载器,默认 createNodeModulesPluginLoader(安装集);monorepo 传 createFsPluginLoader(<仓库>/packages) */
16
12
  pluginLoader?: PluginLoader;
17
13
  /**
@@ -21,7 +17,7 @@ export interface StartAalisOptions {
21
17
  */
22
18
  consoleSink?: boolean;
23
19
  /**
24
- * 文件日志写到家目录的 `logs/latest.log`,默认开(WebUI 与 CLI 的日志页尾读这个文件)。
20
+ * 文件日志写到数据目录的 `logs/latest.log`,默认开(WebUI 与 CLI 的日志页尾读这个文件)。
25
21
  * 启动时先把上一轮的日志改名保留(编号插在扩展名前:latest.1.log),更早的依次后移,保留 5 份。
26
22
  * 子命令模式一律不写文件日志。
27
23
  */
@@ -29,8 +25,8 @@ export interface StartAalisOptions {
29
25
  /** 退出时复原终端 raw-mode/alt-screen,默认 true */
30
26
  terminalRestore?: boolean;
31
27
  /**
32
- * 命令行参数,默认 `process.argv.slice(2)`。开头的宿主参数先取走:`--home <目录>`、`--profile <名>`、
33
- * `--init`(初始化家目录后退出)、`--service`(由服务管理器拉起:实例锁被占时以 0 退出,重启交给服务管理器)。余下的非空即子命令模式:命中执行后退出,未命中报错退出(exit 2),不进守护进程。
28
+ * 命令行参数,默认 `process.argv.slice(2)`。开头的宿主参数先取走:`--data <目录>`、`--profile <名>`、
29
+ * `--init`(初始化数据目录后退出)、`--service`(由服务管理器拉起:实例锁被占时以 0 退出,重启交给服务管理器)。余下的非空即子命令模式:命中执行后退出,未命中报错退出(exit 2),不进守护进程。
34
30
  * 宿主自管命令行时传显式数组(`[]` 即守护进程)。
35
31
  */
36
32
  argv?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAoD,MAAM,aAAa,CAAC;AAGpF,OAAO,EAAE,KAAK,iBAAiB,EAAgD,MAAM,kBAAkB,CAAC;AAgBxG,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAmCjF,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAkBD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CA8QtE"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAoD,MAAM,aAAa,CAAC;AAGpF,OAAO,EAAE,KAAK,iBAAiB,EAAgD,MAAM,kBAAkB,CAAC;AAcxG,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAmCjF,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAkBD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CA0QtE"}
package/dist/start.js CHANGED
@@ -10,8 +10,8 @@ import { installBootstrapBuffer } from './bootstrap-buffer.js';
10
10
  import { createConfigStore, installHostConfig } from './config-store.js';
11
11
  import { installConfigHotReload, withPluginConfigSync } from './config-sync.js';
12
12
  import { installConsoleSink } from './console-sink.js';
13
+ import { derivePaths, HostArgsError, initDataDir, isDataDirInitialized, parseHostArgs, resolveDataDir, } from './data-dir.js';
13
14
  import { appendCrashLog, setupFileLogger } from './file-logger.js';
14
- import { derivePaths, HomeArgsError, initHome, isFullyAbsolute, isHomeInitialized, parseHostArgs, profileOfRealHome, resolveHome, } from './home.js';
15
15
  import { createHostLogs } from './host-logs.js';
16
16
  import { acquireInstanceLock } from './instance-lock.js';
17
17
  import { createNodeModulesPluginLoader } from './node-modules-loader.js';
@@ -25,16 +25,16 @@ import { installTerminalStateRestorer } from './terminal.js';
25
25
  //
26
26
  // 独立部署(scaffold 生成的 index.mjs):
27
27
  // import { startAalis } from '@aalis/runtime';
28
- // startAalis({ appDir: here, defaultHome: join(here, 'home') }); // 从 node_modules 加载插件 + 默认开控制台/文件日志
28
+ // startAalis({ appDir: here }); // 从 node_modules 加载插件 + 默认开控制台/文件日志,数据目录缺省是 here/data
29
29
  //
30
30
  // monorepo 自托管(src/index.ts)传仓库根与 monorepo 风味的加载器:
31
31
  // startAalis({ appDir, pluginLoader: createFsPluginLoader(join(appDir, 'packages')) });
32
32
  //
33
- // 命令行开头的宿主参数(`--home`、`--profile`、`--init`、`--service`)先取走,用来定家目录与运行形态;余下的 argv 非空即子命令
33
+ // 命令行开头的宿主参数(`--data`、`--profile`、`--init`、`--service`)先取走,用来定数据目录与运行形态;余下的 argv 非空即子命令
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 子进程,无限连环——实测)。
@@ -64,13 +64,13 @@ function readCoreVersion() {
64
64
  * ② 子命令短路必须在 `app.start` 之前。
65
65
  */
66
66
  export async function startAalis(opts) {
67
- // JS 入口可能一个参数都不传:在动家目录之前停下,不落到缺省的家目录
67
+ // JS 入口可能一个参数都不传:在动数据目录之前停下,不落到缺省的数据目录
68
68
  if (typeof opts?.appDir !== 'string') {
69
69
  console.error(`[aalis] startAalis is missing appDir: pass the directory of the entry file as appDir, for example ${APP_DIR_EXAMPLE}.`);
70
70
  process.exit(2);
71
71
  }
72
72
  const { consoleSink = true, fileLog = true, terminalRestore = true } = opts;
73
- // ── 家目录:在任何日志与文件写入之前定下来 ──
73
+ // ── 数据目录:在任何日志与文件写入之前定下来 ──
74
74
  // 命令行与环境变量里写的相对路径按启动时的 cwd 解析一次:那是用户在 shell 里的意图。
75
75
  // 启动目录可能已被删除,这时 process.cwd() 会抛错;只有遇到相对路径才需要它。
76
76
  let startCwd;
@@ -81,42 +81,38 @@ export async function startAalis(opts) {
81
81
  startCwd = undefined;
82
82
  }
83
83
  let hostArgs;
84
- let home;
84
+ let resolved;
85
85
  try {
86
86
  hostArgs = parseHostArgs(opts.argv ?? process.argv.slice(2));
87
- home = resolveHome({ args: hostArgs, env: process.env, defaultHome: opts.defaultHome, cwd: startCwd });
88
- if (!isFullyAbsolute(opts.appDir)) {
89
- throw new HomeArgsError(`appDir must be an absolute path: ${opts.appDir}`);
90
- }
87
+ resolved = resolveDataDir({ args: hostArgs, env: process.env, appDir: opts.appDir, cwd: startCwd });
91
88
  }
92
89
  catch (err) {
93
- if (!(err instanceof HomeArgsError))
90
+ if (!(err instanceof HostArgsError))
94
91
  throw err;
95
92
  console.error(`[aalis] ${err.message}`);
96
93
  process.exit(2);
97
94
  }
98
95
  const appDir = normalize(opts.appDir);
99
- const declared = derivePaths(home.home, appDir, home.profile);
96
+ const declared = derivePaths(resolved.dir, appDir, resolved.profile);
100
97
  if (hostArgs.init) {
101
98
  try {
102
- initHome(declared);
99
+ initDataDir(declared);
103
100
  }
104
101
  catch (err) {
105
102
  console.error(`[aalis] ${err instanceof Error ? err.message : String(err)}`);
106
103
  process.exit(1);
107
104
  }
108
- console.log(`[aalis] Initialized the home directory: ${declared.home}`);
105
+ console.log(`[aalis] Initialized the data directory: ${declared.data}`);
109
106
  process.exit(0);
110
107
  }
111
- if (!isHomeInitialized(declared)) {
112
- console.error(`[aalis] The home directory is not initialized: ${declared.home}\n` +
108
+ if (!isDataDirInitialized(declared)) {
109
+ console.error(`[aalis] The data directory is not initialized: ${declared.data}\n` +
113
110
  '[aalis] Run the start command once with --init (before any subcommand) to initialize it.');
114
111
  process.exit(1);
115
112
  }
116
- // 交给插件的家目录是真实路径:符号链接、大小写与末尾分隔符不同的写法指向同一个目录时,插件拿到的是同一个路径
117
- // (记忆库按它记归属)。profile 按写法认不出时按真实路径再认一次,派生的库名才跟着同一个目录走
118
- const realHome = realpathSync.native(declared.home);
119
- const paths = derivePaths(realHome, appDir, home.profile ?? profileOfRealHome(realHome));
113
+ // 交给插件的数据目录是真实路径:符号链接、大小写与末尾分隔符不同的写法指向同一个目录时,插件拿到的是同一个路径
114
+ // (记忆库按它记归属)
115
+ const paths = derivePaths(realpathSync.native(declared.data), appDir, resolved.profile);
120
116
  // 默认加载器从安装集的 package.json 找插件:缺了它会一个插件都不加载、照样起来,只留一行「发现 0 个插件」
121
117
  if (!opts.pluginLoader && !existsSync(join(paths.app, 'package.json'))) {
122
118
  console.error(`[aalis] The install directory ${paths.app} has no package.json, so there are no plugins to load.\n` +
@@ -124,7 +120,7 @@ export async function startAalis(opts) {
124
120
  process.exit(1);
125
121
  }
126
122
  const subcommands = hostArgs.rest;
127
- // ── 实例锁:同一家目录只许一个守护进程。要在写日志之前取到,否则第二个实例一起来就把正在写的 latest.log 轮转走 ──
123
+ // ── 实例锁:同一数据目录只许一个守护进程。要在写日志之前取到,否则第二个实例一起来就把正在写的 latest.log 轮转走 ──
128
124
  // 交接令牌读到就从环境里删掉,不让插件起的子进程与侧车继承它。子命令进程不取锁(它们以后经 socket 连实例)。
129
125
  const handoffToken = process.env[HANDOFF_ENV];
130
126
  delete process.env[HANDOFF_ENV];
@@ -140,7 +136,7 @@ export async function startAalis(opts) {
140
136
  }
141
137
  if (!acquired.ok) {
142
138
  const { holder, file } = acquired;
143
- const occupied = `[aalis] An instance is already running in the home directory ${paths.home}: pid ${holder.pid} (lock file ${file}).\n` +
139
+ const occupied = `[aalis] An instance is already running in the data directory ${paths.data}: pid ${holder.pid} (lock file ${file}).\n` +
144
140
  '[aalis] If you are sure no instance is running (for example, the process was killed and this machine cannot look up ' +
145
141
  'process start times, or a container was killed and restarted within the same boot), delete this lock file and start again.';
146
142
  if (hostArgs.service) {
@@ -227,7 +223,7 @@ export async function startAalis(opts) {
227
223
  ? createServiceRestartStrategy()
228
224
  : createProcessRespawnStrategy({
229
225
  appDir: paths.app,
230
- cwd: startCwd ?? paths.home,
226
+ cwd: startCwd ?? paths.data,
231
227
  ...(instanceLock ? { env: { [HANDOFF_ENV]: instanceLock.handoffToken } } : {}),
232
228
  }),
233
229
  // 宿主层决定 dev/prod;core 不读 process.env
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAiB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAA0B,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAA0B,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAyB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,gCAAgC;AAChC,iDAAiD;AACjD,0GAA0G;AAC1G,EAAE;AACF,mDAAmD;AACnD,0FAA0F;AAC1F,EAAE;AACF,uFAAuF;AACvF,4EAA4E;AAC5E,yDAAyD;AACzD,EAAE;AACF,4CAA4C;AAC5C,EAAE;AACF,4DAA4D;AAC5D,wEAAwE;AACxE,EAAE;AACF,8DAA8D;AAE9D,MAAM,eAAe,GAAG,iEAAiE,CAAC;AA4C1F,mCAAmC;AACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;;;GAIG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,OAAQ,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,0BAA0B,CAA0B,CAAC,OAAO,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAuB;IACtD,qCAAqC;IACrC,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CACX,qGAAqG,eAAe,GAAG,CACxH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAE5E,4BAA4B;IAC5B,kDAAkD;IAClD,gDAAgD;IAChD,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,IAAI,QAA0C,CAAC;IAC/C,IAAI,IAAoC,CAAC;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,aAAa,CAAC,oCAAoC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,aAAa,CAAC;YAAE,MAAM,GAAG,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,2CAA2C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CACX,kDAAkD,QAAQ,CAAC,IAAI,IAAI;YACjE,0FAA0F,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,wDAAwD;IACxD,qDAAqD;IACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,+DAA+D;IAC/D,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,KAAK,CACX,iCAAiC,KAAK,CAAC,GAAG,0DAA0D;YAClG,uGAAuG,eAAe,GAAG,CAC5H,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;IAElC,oEAAoE;IACpE,4DAA4D;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,YAAsC,CAAC;IAC3C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,QAAgD,CAAC;QACrD,IAAI,CAAC;YACH,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,+CAA+C,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAClC,MAAM,QAAQ,GACZ,gEAAgE,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,eAAe,IAAI,MAAM;gBACtH,sHAAsH;gBACtH,4HAA4H,CAAC;YAC/H,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,gEAAgE;gBAChE,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,kEAAkE,CAAC,CAAC;gBAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,iEAAiE;IACjE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;IAC3C,IAAI,eAAe;QAAE,4BAA4B,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,iEAAiE;IACjE,mFAAmF;IACnF,kGAAkG;IAClG,MAAM,aAAa,GAAsB,WAAW;QAClD,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/D,uEAAuE;IACvE,eAAe;IACf,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,sCAAsC;IACtC,IAAI,UAAwC,CAAC;IAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,GAAY,EAAkB,EAAE;QAC7E,IAAI,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,aAAa,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;YAC1B,IAAI,aAAa;gBAAE,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzG,gDAAgD;IAChD,IAAI,aAAa;QAAE,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IACrE,6CAA6C;IAC7C,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpB,uDAAuD;IACvD,mDAAmD;IACnD,MAAM,UAAU,GAAG,CAAI,IAAa,EAAK,EAAE;QACzC,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,mEAAmE;IACnE,+EAA+E;IAC/E,yBAAyB;IACzB,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;IAClE,MAAM,kBAAkB,GACtB,eAAe,KAAK,SAAS;QAC7B,CAAC,OAAO,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC,CAAC;IACpG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAa;QAC3C,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAE,eAAsC,CAAC,CAAC,CAAC,SAAS;QACzF,+DAA+D;QAC/D,0EAA0E;QAC1E,wDAAwD;QACxD,eAAe,EAAE,cAAc;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,OAAO;gBAChB,CAAC,CAAC,4BAA4B,EAAE;gBAChC,CAAC,CAAC,4BAA4B,CAAC;oBAC3B,MAAM,EAAE,KAAK,CAAC,GAAG;oBACjB,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,IAAI;oBAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E,CAAC;QACR,qCAAqC;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAC9D,iEAAiE;QACjE,OAAO,EAAE,eAAe,EAAE;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,oDAAoD;QACpD,MAAM,QAAQ,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,QAAQ,SAAS,CAAC,CAAC;IACjF,CAAC;IAED,wCAAwC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,uDAAuD;IACvD,+CAA+C;IAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxG,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,MAAM,YAAY,GAAG,oBAAoB,CACvC,IAAI,CAAC,YAAY,IAAI,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,EAC7D,GAAG,EACH,KAAK,EACL,IAAI,CAAC,UAAU,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,+CAA+C;IAC/C,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,uCAAuC;QACvC,YAAY,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED,iCAAiC;IACjC,qEAAqE;IACrE,kDAAkD;IAClD,gDAAgD;IAChD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,yBAAyB;IACzB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAElB,uDAAuD;IACvD,qDAAqD;IACrD,wCAAwC;IACxC,+DAA+D;IAC/D,+DAA+D;IAC/D,4EAA4E;IAC5E,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACtG,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,eAAe,GAAG,EAAE,CAAC,CAAC;aAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,YAAY,GAAG,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,sCAAsC;IACtC,0DAA0D;IAC1D,EAAE;IACF,8BAA8B;IAC9B,sEAAsE;IACtE,4DAA4D;IAC5D,mCAAmC;IACnC,0DAA0D;IAC1D,2DAA2D;IAC3D,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/F,2CAA2C;IAC3C,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAEzB,4DAA4D;IAC5D,sBAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,8DAA8D;QAC9D,mCAAmC;QACnC,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,UAAU,EAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.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.17.0",
3
+ "version": "0.19.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,7 +35,7 @@
35
35
  "@aalis/api-plugin-source": ">=0.2.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
- "@aalis/api-host-paths": ">=0.1.0 <1.0.0",
38
+ "@aalis/api-host-paths": ">=0.3.0 <1.0.0",
39
39
  "@aalis/schema-i18n": ">=0.1.0 <1.0.0"
40
40
  },
41
41
  "peerDependencies": {
package/dist/home.d.ts DELETED
@@ -1,64 +0,0 @@
1
- import type { HostPaths } from '@aalis/api-host-paths';
2
- /** 宿主件的路径参数必须是绝对路径:相对路径会按调用那一刻的 cwd 解析,而 cwd 不带语义 */
3
- export declare function assertAbsolute(what: string, p: string): void;
4
- /**
5
- * 绝对路径。Windows 上还要带盘符或 UNC 前缀:`\aalis` 这类按当前盘解析,仍然依赖 cwd。
6
- */
7
- export declare function isFullyAbsolute(p: string, platform?: NodeJS.Platform): boolean;
8
- /** 家目录相关的输入有误(参数缺值、profile 名不合法、来源冲突):宿主据此一行报错退出。 */
9
- export declare class HomeArgsError extends Error {
10
- name: string;
11
- }
12
- /** 出现在子命令之前的宿主参数。 */
13
- export interface HostArgs {
14
- home?: string;
15
- profile?: string;
16
- /** `--init`:初始化家目录后退出 */
17
- init: boolean;
18
- /** `--service`:由服务管理器拉起;实例锁被占时按正常退出,免得被反复拉起 */
19
- service: boolean;
20
- /** 余下的 argv:非空即子命令 */
21
- rest: string[];
22
- }
23
- /**
24
- * 只认开头的宿主参数(`--home <dir>`、`--home=<dir>`、`--profile`、`--init`、`--service`),遇到第一个别的参数即停:
25
- * 之后的都属于子命令,子命令自己的参数里出现同名写法也不会被吃掉。
26
- * 开头这一段里的 `--` 跳过:`pnpm dev -- --init` 会把 `--` 原样传进来。
27
- */
28
- export declare function parseHostArgs(argv: readonly string[]): HostArgs;
29
- export interface ResolveHomeInput {
30
- args: Pick<HostArgs, 'home' | 'profile'>;
31
- env: Readonly<Record<string, string | undefined>>;
32
- /** 宿主代码给的兜底家目录,优先级最低,必须是绝对路径 */
33
- defaultHome?: string;
34
- /** 解析命令行与环境变量里相对路径的基准:启动时的 cwd。取不到(目录已被删除)时不给,只有遇到相对路径才需要它 */
35
- cwd?: string;
36
- /** 用户主目录 */
37
- userHome?: string;
38
- }
39
- /**
40
- * 家目录的覆盖顺序:`--home` → `AALIS_HOME` → `--profile` / `AALIS_PROFILE`(`~/.aalis-<p>`)→ 宿主的 defaultHome → `~/.aalis`。
41
- * 指定了 profile、同时又有更高优先级的 `--home` 或 `AALIS_HOME` 时报错,不静默忽略 profile:
42
- * 以为进了测试实例、实际写进主实例,是这类配置错误最坏的后果。
43
- */
44
- export declare function resolveHome(input: ResolveHomeInput): {
45
- home: string;
46
- profile?: string;
47
- };
48
- /**
49
- * 按真实路径补认 profile:家目录的真实路径就是 `~/.aalis-<p>` 的真实路径时为 p。补上按写法认不出的情形:
50
- * 大小写写错、经指向它的符号链接选中、用户主目录本身是符号链接。`~/.aalis-<p>` 自己是指向别处的链接时,
51
- * 经那个别处的路径选中仍认不出。用户主目录不存在时没有 profile。
52
- */
53
- export declare function profileOfRealHome(realHome: string, userHome?: string): string | undefined;
54
- /** 由家目录与安装集派生全部路径(家目录布局见计划书「家目录布局」)。 */
55
- export declare function derivePaths(home: string, app: string, profile?: string): HostPaths;
56
- /** 初始化的判据:主配置文件存在。 */
57
- export declare function isHomeInitialized(paths: HostPaths): boolean;
58
- /**
59
- * 建家目录:目录 0700,写默认主配置与空的密钥文件(0600),建布局里的子目录。主配置里写上 owner 平台的平台档。
60
- * 已初始化时拒绝,不覆盖任何文件。目录已存在时只接受空目录,或只有布局自己条目的目录(上次初始化中途失败),
61
- * 沿用并收紧为 0700:`--home ~ --init` 这类笔误不能把用户主目录改成 0700、再往里铺一层布局。
62
- */
63
- export declare function initHome(paths: HostPaths): void;
64
- //# sourceMappingURL=home.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAYvD,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE5D;AAqBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAEhG;AAED,qDAAqD;AACrD,qBAAa,aAAc,SAAQ,KAAK;IAC7B,IAAI,SAAmB;CACjC;AAED,qBAAqB;AACrB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAmB/D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BvF;AAaD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,GAAG,MAAM,GAAG,SAAS,CAQpG;AAyBD,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAwBlF;AAED,sBAAsB;AACtB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE3D;AAaD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAqC/C"}
package/dist/home.js DELETED
@@ -1,236 +0,0 @@
1
- import { chmodSync, existsSync, mkdirSync, readdirSync, realpathSync, writeFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { basename, isAbsolute, join, normalize, resolve } from 'node:path';
4
- import { CORE_CONFIG_SCHEMA, defaultsFrom } from '@aalis/schema-config';
5
- import { stringify as stringifyYaml } from 'yaml';
6
- // ============================================================
7
- // 家目录:解析、路径派生与初始化
8
- // ============================================================
9
- //
10
- // 家目录装着一个实例的全部状态与密钥,只在这里解析,core 不参与。进程的 cwd 不带语义:
11
- // 唯一的例外是命令行与环境变量里写的相对路径,它们按启动时的 cwd 解析一次(那是用户在 shell 里的意图),
12
- // 之后全程只用绝对路径。
13
- /** 宿主件的路径参数必须是绝对路径:相对路径会按调用那一刻的 cwd 解析,而 cwd 不带语义 */
14
- export function assertAbsolute(what, p) {
15
- if (!isFullyAbsolute(p))
16
- throw new Error(`${what} must be an absolute path: ${p}`);
17
- }
18
- /** profile 名既拼进 `~/.aalis-<profile>`,也拼进数据库名:只许小写字母、数字与连字符,挡住 `../x` 这类跳出。 */
19
- const PROFILE_PATTERN = /^[a-z0-9][a-z0-9-]{0,31}$/;
20
- const CONFIG_FILE = 'aalis.config.yaml';
21
- const SECRETS_FILE = 'secrets.yaml';
22
- /** `--init` 只在空目录、或只有布局自己的条目(上次初始化中途失败留下的)的目录里做 */
23
- const LAYOUT_ENTRIES = new Set([
24
- 'state',
25
- 'logs',
26
- 'cache',
27
- 'run',
28
- 'tmp',
29
- 'self',
30
- 'stage',
31
- SECRETS_FILE,
32
- '.DS_Store',
33
- ]);
34
- /**
35
- * 绝对路径。Windows 上还要带盘符或 UNC 前缀:`\aalis` 这类按当前盘解析,仍然依赖 cwd。
36
- */
37
- export function isFullyAbsolute(p, platform = process.platform) {
38
- return platform === 'win32' ? /^(?:[A-Za-z]:[\\/]|\\\\)/.test(p) : isAbsolute(p);
39
- }
40
- /** 家目录相关的输入有误(参数缺值、profile 名不合法、来源冲突):宿主据此一行报错退出。 */
41
- export class HomeArgsError extends Error {
42
- name = 'HomeArgsError';
43
- }
44
- /**
45
- * 只认开头的宿主参数(`--home <dir>`、`--home=<dir>`、`--profile`、`--init`、`--service`),遇到第一个别的参数即停:
46
- * 之后的都属于子命令,子命令自己的参数里出现同名写法也不会被吃掉。
47
- * 开头这一段里的 `--` 跳过:`pnpm dev -- --init` 会把 `--` 原样传进来。
48
- */
49
- export function parseHostArgs(argv) {
50
- const out = { init: false, service: false, rest: [] };
51
- let i = 0;
52
- for (; i < argv.length; i++) {
53
- const arg = argv[i];
54
- if (arg === '--')
55
- continue;
56
- if (arg === '--init' || arg === '--service') {
57
- out[arg === '--init' ? 'init' : 'service'] = true;
58
- continue;
59
- }
60
- const m = /^--(home|profile)(?:=(.*))?$/.exec(arg);
61
- if (!m)
62
- break;
63
- const key = m[1];
64
- const value = m[2] ?? argv[++i];
65
- if (!value)
66
- throw new HomeArgsError(`--${key} is missing a value`);
67
- out[key] = value;
68
- }
69
- out.rest = argv.slice(i);
70
- return out;
71
- }
72
- /**
73
- * 家目录的覆盖顺序:`--home` → `AALIS_HOME` → `--profile` / `AALIS_PROFILE`(`~/.aalis-<p>`)→ 宿主的 defaultHome → `~/.aalis`。
74
- * 指定了 profile、同时又有更高优先级的 `--home` 或 `AALIS_HOME` 时报错,不静默忽略 profile:
75
- * 以为进了测试实例、实际写进主实例,是这类配置错误最坏的后果。
76
- */
77
- export function resolveHome(input) {
78
- const { args, env } = input;
79
- const userHome = input.userHome ?? homedir();
80
- // 环境变量设成空串(`AALIS_HOME=` 用来清掉它)视同没设
81
- const explicit = args.home ?? nonEmpty(env.AALIS_HOME);
82
- const profile = args.profile ?? nonEmpty(env.AALIS_PROFILE);
83
- // defaultHome 是宿主代码写死的值:写错了不论这次谁胜出都报,免得换一台没设环境变量的机器才暴露
84
- if (input.defaultHome !== undefined && !isFullyAbsolute(input.defaultHome)) {
85
- throw new HomeArgsError(`defaultHome must be an absolute path: ${input.defaultHome}`);
86
- }
87
- if (explicit !== undefined && profile !== undefined) {
88
- const homeSource = args.home !== undefined ? '--home' : 'AALIS_HOME';
89
- const profileSource = args.profile !== undefined ? '--profile' : 'AALIS_PROFILE';
90
- throw new HomeArgsError(`Both ${homeSource} and ${profileSource} are set; use only one of them`);
91
- }
92
- if (explicit !== undefined)
93
- return withProfile(toAbsolute(explicit, userHome, input.cwd), userHome);
94
- if (profile !== undefined) {
95
- if (!PROFILE_PATTERN.test(profile)) {
96
- throw new HomeArgsError(`Invalid profile name "${profile}": use only lowercase letters, digits and hyphens, start with a letter or digit, and keep it within 32 characters`);
97
- }
98
- return { home: join(userHome, `.aalis-${profile}`), profile };
99
- }
100
- if (input.defaultHome !== undefined)
101
- return withProfile(normalize(input.defaultHome), userHome);
102
- return { home: join(userHome, '.aalis') };
103
- }
104
- /**
105
- * `~/.aalis-<p>` 就是 profile p 的家目录:经 `--home`、`AALIS_HOME` 或 defaultHome 选中它时同样带上 profile,
106
- * 插件按 profile 派生的名字(如记忆库名)对同一个家目录才一样。这里按路径的写法认,认不出的写法由
107
- * {@link profileOfRealHome} 按真实路径补认。
108
- */
109
- function withProfile(home, userHome) {
110
- const profile = /^\.aalis-(.+)$/.exec(basename(home))?.[1];
111
- if (profile === undefined || !PROFILE_PATTERN.test(profile))
112
- return { home };
113
- return resolve(home) === resolve(userHome, `.aalis-${profile}`) ? { home, profile } : { home };
114
- }
115
- /**
116
- * 按真实路径补认 profile:家目录的真实路径就是 `~/.aalis-<p>` 的真实路径时为 p。补上按写法认不出的情形:
117
- * 大小写写错、经指向它的符号链接选中、用户主目录本身是符号链接。`~/.aalis-<p>` 自己是指向别处的链接时,
118
- * 经那个别处的路径选中仍认不出。用户主目录不存在时没有 profile。
119
- */
120
- export function profileOfRealHome(realHome, userHome = homedir()) {
121
- let realUserHome;
122
- try {
123
- realUserHome = realpathSync.native(userHome);
124
- }
125
- catch {
126
- return undefined;
127
- }
128
- return withProfile(realHome, realUserHome).profile;
129
- }
130
- function nonEmpty(value) {
131
- return value === '' ? undefined : value;
132
- }
133
- /**
134
- * 命令行与环境变量里的家目录写法转成绝对路径。开头的 `~` 展开成用户主目录:`--home=~/x` 不经 shell 展开,
135
- * launchd、systemd 与容器的环境变量也不展开,不处理就会在 cwd 下建出一个名叫 `~` 的目录。
136
- */
137
- function toAbsolute(value, userHome, cwd) {
138
- if (value === '~')
139
- return userHome;
140
- if (/^~[\\/]/.test(value))
141
- return join(userHome, value.slice(2));
142
- if (value.startsWith('~')) {
143
- throw new HomeArgsError(`"~user" paths are not supported; write an absolute path: ${value}`);
144
- }
145
- if (isFullyAbsolute(value))
146
- return normalize(value);
147
- if (cwd === undefined) {
148
- throw new HomeArgsError(`The current directory no longer exists; write the home directory as an absolute path: ${value}`);
149
- }
150
- return resolve(cwd, value);
151
- }
152
- /** 由家目录与安装集派生全部路径(家目录布局见计划书「家目录布局」)。 */
153
- export function derivePaths(home, app, profile) {
154
- // 冻结:同一个对象交给每个插件,任何一处改了它(例如改 app)都会把别的插件的装卸目录一起带偏
155
- return Object.freeze({
156
- home,
157
- ...(profile !== undefined ? { profile } : {}),
158
- app,
159
- config: join(home, CONFIG_FILE),
160
- secrets: join(home, SECRETS_FILE),
161
- state: join(home, 'state'),
162
- logs: join(home, 'logs'),
163
- cache: join(home, 'cache'),
164
- run: join(home, 'run'),
165
- tmp: join(home, 'tmp'),
166
- self: Object.freeze({
167
- personas: join(home, 'self', 'personas'),
168
- skills: join(home, 'self', 'skills'),
169
- workflows: join(home, 'self', 'workflows'),
170
- }),
171
- stage: Object.freeze({
172
- drafts: join(home, 'stage', 'drafts'),
173
- public: join(home, 'stage', 'public'),
174
- paper: join(home, 'stage', 'paper'),
175
- }),
176
- });
177
- }
178
- /** 初始化的判据:主配置文件存在。 */
179
- export function isHomeInitialized(paths) {
180
- return existsSync(paths.config);
181
- }
182
- /**
183
- * 只有 owner 进得来的平台(本地终端、单 token 的 WebUI)的平台档开箱给全部工具分组,无条件写:平台没装时这一层不起作用,
184
- * 之后从市场装上即生效。多人平台不代开:带分组的工具默认不暴露,public 工具在群里的可达性靠这道分组闸。平台档按插件实例放
185
- * 这个实例的值。与 create-aalis 生成的平台档一致。两档各写一份:共用一个对象会被序列化成 YAML 锚点与别名,读回仍是同一个对象,
186
- * 改一个平台档另一个跟着变
187
- */
188
- const OWNER_PLATFORM_PROFILES = {
189
- cli: { '@aalis/plugin-tools': { enabledToolGroups: ['*'] } },
190
- webui: { '@aalis/plugin-tools': { enabledToolGroups: ['*'] } },
191
- };
192
- /**
193
- * 建家目录:目录 0700,写默认主配置与空的密钥文件(0600),建布局里的子目录。主配置里写上 owner 平台的平台档。
194
- * 已初始化时拒绝,不覆盖任何文件。目录已存在时只接受空目录,或只有布局自己条目的目录(上次初始化中途失败),
195
- * 沿用并收紧为 0700:`--home ~ --init` 这类笔误不能把用户主目录改成 0700、再往里铺一层布局。
196
- */
197
- export function initHome(paths) {
198
- if (isHomeInitialized(paths))
199
- throw new HomeArgsError(`The home directory is already initialized: ${paths.home}`);
200
- if (existsSync(paths.home)) {
201
- const foreign = readdirSync(paths.home).filter(name => !LAYOUT_ENTRIES.has(name));
202
- if (foreign.length > 0) {
203
- const shown = foreign.slice(0, 3).join(', ') + (foreign.length > 3 ? ' and more' : '');
204
- throw new HomeArgsError(`The directory is not empty (it contains ${shown}); cannot initialize a home directory here: ${paths.home}`);
205
- }
206
- }
207
- mkdirSync(paths.home, { recursive: true, mode: 0o700 });
208
- chmodSync(paths.home, 0o700);
209
- for (const dir of [
210
- paths.state,
211
- paths.logs,
212
- paths.cache,
213
- paths.run,
214
- paths.self.personas,
215
- paths.self.skills,
216
- paths.self.workflows,
217
- paths.stage.drafts,
218
- paths.stage.public,
219
- paths.stage.paper,
220
- ]) {
221
- mkdirSync(dir, { recursive: true });
222
- }
223
- mkdirSync(paths.tmp, { recursive: true, mode: 0o700 });
224
- // 密钥文件先建:主配置是初始化的判据,最后写,中途失败时下次仍能重新初始化
225
- if (existsSync(paths.secrets))
226
- chmodSync(paths.secrets, 0o600);
227
- else
228
- writeFileSync(paths.secrets, '', { mode: 0o600, flag: 'wx' });
229
- const { name, logLevel } = defaultsFrom(CORE_CONFIG_SCHEMA);
230
- const sessionConfig = { platforms: OWNER_PLATFORM_PROFILES };
231
- writeFileSync(paths.config, stringifyYaml({ name, logLevel, plugins: {}, sessionConfig }), {
232
- mode: 0o600,
233
- flag: 'wx',
234
- });
235
- }
236
- //# sourceMappingURL=home.js.map
package/dist/home.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"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"}