@aalis/schema-config 0.14.0 → 0.15.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/schema-config
2
2
 
3
- 配置表单 Schema 词汇契约包:`ConfigSchema` / `SchemaField` / `SchemaGroup` / `SchemaArray` 及 `SchemaFieldTypes` 扩展点;声明与读取插件配置的 `defineConfig` / `ConfigOf` / `parseConfig`;对这套词汇的中立解释函数 `defaultsFrom` / `deepMergeDefaults` / `validateConfig` / `removeExtraFields`,配置危险键闸与拷贝 `isUnsafeConfigKey` / `cloneConfigObject`,以及插件因配置问题无法激活时在 `apply` 里抛出的 `configError` / `missingConfigError`(后者用于缺必填项;name 为 `ConfigError`、不带 stack,激活失败日志只有一行,不像程序崩溃)。
3
+ 配置表单 Schema 词汇契约包:`ConfigSchema` / `SchemaField` / `SchemaGroup` / `SchemaArray` 及 `SchemaFieldTypes` 扩展点;声明与读取插件配置的 `defineConfig` / `ConfigOf` / `parseConfig`;对这套词汇的中立解释函数 `defaultsFrom` / `deepMergeDefaults` / `validateConfig` / `removeExtraFields`,密钥引用的类型与工具 `SecretRef` / `isSecretRef` / `mapSecretFields` / `SecretPosition`,配置危险键闸与拷贝 `isUnsafeConfigKey` / `cloneConfigObject`,以及插件因配置问题无法激活时在 `apply` 里抛出的 `configError` / `missingConfigError`(后者用于缺必填项;name 为 `ConfigError`、不带 stack,激活失败日志只有一行,不像程序崩溃)。
4
4
 
5
5
  `@aalis/core` 把插件的 `configSchema` 当作 opaque 数据透传、不解释任何字段;表单词汇(label / options / textarea …)属呈现层,统一住在本包。同一份 schema 既是表单描述,又是插件配置值类型的来源(`ConfigOf`)和运行时解析规则(`parseConfig`);渲染宿主(WebUI)与宿主政策(runtime 的配置同步)也用它消费 schema。
6
6
 
@@ -13,7 +13,7 @@ import { config, definePlugin, logger } from '@aalis/core';
13
13
  import { defineConfig, parseConfig } from '@aalis/schema-config';
14
14
 
15
15
  const configSchema = defineConfig({
16
- apiKey: { type: 'string', label: 'API Key', required: true },
16
+ apiKey: { type: 'string', label: 'API Key', required: true, secret: true },
17
17
  port: { type: 'number', label: '端口', default: 8080, min: 1, max: 65535, integer: true },
18
18
  mode: {
19
19
  type: 'select',
@@ -31,7 +31,7 @@ export default definePlugin({
31
31
  configSchema,
32
32
  uses: { config, logger },
33
33
  apply({ config, logger }) {
34
- const cfg = parseConfig(configSchema, config, logger);
34
+ const cfg = parseConfig(configSchema, config.use, logger.use);
35
35
  // cfg: { apiKey: string; port: number; mode: 'fast' | 'safe' }
36
36
  },
37
37
  });
@@ -47,7 +47,7 @@ export default definePlugin({
47
47
 
48
48
  | type | 取值类型(`ConfigOf`) | 判定 |
49
49
  |---|---|---|
50
- | `string` / `textarea` | `string` | 字符串;有限数字按字符串收;声明了 `pattern` 时按正则匹配 |
50
+ | `string` / `textarea` | `string` | 字符串;有限数字按字符串收;声明了 `pattern` 时按正则匹配;声明了 `format` 时按路径写法判定 |
51
51
  | `number` | `number` | 有限数值;去掉首尾空白后非空、能完整解析为有限数的字符串按数字收;`min` / `max` / `integer` |
52
52
  | `boolean` | `boolean` | 类型,不做转换 |
53
53
  | `select` | 选项值的字面量联合,否则 `string` | 字符串或有限数字;有静态 `options`、没有 `dynamicOptions` 且 `allowCustom` 不为 `true` 时须是某个选项值 |
@@ -56,29 +56,40 @@ export default definePlugin({
56
56
  | `map` | `Record<string, string>` | 对象,每个值按字符串判定(如环境变量表) |
57
57
 
58
58
  - **标量宽容**:YAML 里不加引号的纯数字(QQ 号、口令、端口、环境变量值)在期望字符串的位置照常可用,加了引号的数字在期望数字的位置照常可用;`parseConfig` 返回换算后的值。
59
+ - **`format`**:写宿主文件路径的 `string` / `textarea` 字段声明。`'absolute-path'` 只收绝对路径(`/…`、`C:\…` 或 `\\…`);`'executable'` 另收不含路径分隔符的命令名(按 PATH 查找),`C:foo` 这类带盘符的相对写法不算。判定忽略首尾空白,交给插件的值也去掉首尾空白;空串与只有空白都表示未填、不查(`required` 字段算缺失);只按写法判定、与宿主平台无关,Windows 形状的绝对路径在 POSIX 宿主上同样通过。配置里的相对路径没有可靠的基准(宿主进程的 cwd 不带语义),所以不收。
59
60
  - **选项即取值范围**:选项按字符串比较,`parseConfig` 取选项声明的原值(WebUI 把数字选项存成字符串,读出时归位成数字)。
60
- - **`dynamicOptions` / `allowCustom`**:两者影响取值判定,由本包声明。`dynamicOptions` 是动态选项来源的服务名(WebUI 经 webui-server 调该服务的 `listModels()` 或等价方法获取选项),声明后静态 `options` 不再是取值范围,只查取值是字符串或数字;`allowCustom` 表示接受选项之外的值,不查是否在选项内:WebUI 给 multiselect 提供手动输入;select 用它表示静态选项不全(例如由插件在运行时补全选项的字段)。只影响 WebUI 呈现的 `secret` 由 `@aalis/api-webui` 注入。
61
+ - **`dynamicOptions` / `allowCustom`**:两者影响取值判定,由本包声明。`dynamicOptions` 是动态选项来源的服务名(WebUI 经 webui-server 调该服务的 `listModels()` 或等价方法获取选项),声明后静态 `options` 不再是取值范围,只查取值是字符串或数字;`allowCustom` 表示接受选项之外的值,不查是否在选项内:WebUI 给 multiselect 提供手动输入;select 用它表示静态选项不全(例如由插件在运行时补全选项的字段)。
61
62
  - **扩展字段类型**:api 包经 declaration merging 往 `SchemaFieldTypes` 登记类型名与取值类型(如 `'llm-ref': ModelRef`),`ConfigOf` 据此推导。本包不校验外来类型的取值:`validateConfig` 跳过,`parseConfig` 除把 `''` 当作未配置外原样透传。
62
63
 
64
+ ## 密钥字段(`secret`)
65
+
66
+ `secret: true` 表示字段的值是凭据(API key、token、可能带账号密码的连接串),由本包声明,各宿主都按它处理:值不放在配置文档里,存进宿主的密钥存储(Node 宿主 `@aalis/runtime` 用家目录的 `secrets.yaml`),文档里只写引用 `{ $secret: '<键>' }`(类型 `SecretRef`),宿主把配置交给插件之前解析回原值,展示与回传都不给原值。标在 `map`、`list` 等非标量字段上时整个值算一个密钥。名字像凭据却不是凭据的字段(如 `maxTokens`)写 `secret: false` 表明已判断过。本包只声明词汇,不读写密钥存储。
67
+
68
+ - **`isSecretRef(value)`**:是不是引用,即只有 `$secret` 一个自有键、值为非空字符串的纯对象。只在 `secret: true` 的字段上有这层含义。
69
+ - **`mapSecretFields(schema, config, fn)`**:逐个处理配置里密钥字段上的值(顶层、分组内、数组元素内;值为 `undefined` 的跳过),`fn` 收到值与位置 `SecretPosition`(`path` 是点号路径,数组元素里的不带下标;`inArray` 表示在数组元素里),`fn` 返回 `undefined` 时删掉这个键。不改入参:有改动时返回浅拷贝(没动到的部分与入参共享),没有改动时返回入参本身,调用方要改写结果请先复制。宿主拆出、解析密钥与给呈现方去掉密钥都用它。
70
+ - **`validateConfig`** 校验的是文档:密钥字段上的引用算合法,不查键在不在。
71
+ - **`parseConfig`** 给插件用:密钥字段上仍是引用,说明宿主没能解析它(键不在密钥存储里),一律不可恢复,消息点名键名;不看 `default` 与 `onInvalid`,在数组元素里也让整次解析失败,不只丢这一条元素。回落默认值会悄悄连上别的东西(例如默认的本机数据库),所以不回落。
72
+ - **`defaultsFrom`** 不产出密钥字段:派生结果会被宿主写进配置文档,密钥的默认值不进文档;`parseConfig` 照常补上默认值。
73
+
63
74
  ## parseConfig 的处置
64
75
 
65
- - **缺失**:`undefined` 与 `null`(YAML 裸键);`required` 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填),外来类型的 `''` 一律当作缺失(WebUI 给未选的 `llm-ref` 存 `''`)。有 `default` 用 `default` 的拷贝;无 `default` 且 `required` 不可恢复;否则省略该键。
76
+ - **缺失**:`undefined` 与 `null`(YAML 裸键);`required` 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填;声明了 `format` 的只有空白也算),外来类型的 `''` 一律当作缺失(WebUI 给未选的 `llm-ref` 存 `''`)。有 `default` 用 `default` 的拷贝;无 `default` 且 `required` 不可恢复;否则省略该键。
66
77
  - **无效**(不符合上表的判定):未声明 `onInvalid` 时保持宽容处置:有 `default` 回落并告警;无 `default` 且 `required` 不可恢复;否则省略并告警。字段声明 `onInvalid: 'error'` 时,显式无效值即使有 `default` 也抛 `ConfigError`;它不改变 `required` 的缺省含义,`undefined` / `null` 仍走上述缺省规则。
67
78
  - **list / map / multiselect**:默认坏元素、坏值逐个丢弃并告警,其余保留;稀疏数组的空位和 map 的保留键也属于坏成员。严格字段只要含一个坏成员就拒绝整个值,不返回部分结果。
68
79
  - **分组**:值不是对象时默认告警,整组按空对象解析,子字段各取默认值。显式给非对象且分组含严格字段时拒绝;`undefined` / `null` 仍视为缺省。
69
80
  - **数组**:值不是数组按无效处理,含严格元素字段时显式无效的数组值会被拒绝;元素不是对象、或元素内有不可恢复的字段时只丢这一条元素并告警,邻居元素照常解析;元素字段的默认值逐元素补齐(runtime 的配置同步不补数组元素的默认值)。
70
81
  - **整体配置**:显式非对象且 schema 含严格字段时拒绝;`undefined` / `null` 仍视为缺省。严格错误说明字段路径与安全的类型或约束原因;集合的下标可定位,map 的键可能含密钥,因此错误只定位到 map 字段,不写用户值或键。
71
82
  - **schema 外的键**:丢弃并告警。runtime 已先裁掉顶层与分组内的,这里主要覆盖数组元素,以及不经 runtime 的宿主。
72
- - **不可恢复**(顶层或分组内):缺失抛 `missingConfigError`,无效抛 `configError`,插件随之进 error 态,在 WebUI 保存或配置文件热重载后重试激活。
83
+ - **不可恢复**(顶层或分组内):缺失抛 `missingConfigError`,无效抛 `configError`,插件随之进 error 态,在 WebUI 保存或配置文件热重载后重试激活。密钥字段上没被解析的引用见上节,在任何位置都不可恢复。
73
84
  - **告警文案**:`配置项 <路径> <原因>,改用默认值 <JSON>`、`配置项 <路径> <原因>,已忽略`、`配置项 <数组路径>[i] 已忽略:<字段> <原因>`。只写路径、类型名与约束,不写原值(可能是密钥);默认值会写出。
74
85
 
75
86
  数组也可声明 `onInvalid: 'error'`:非对象元素或元素内不可恢复的字段会拒绝整个数组,避免丢弃坏项后触发空数组的业务默认;元素内普通字段仍按自身的回落策略解析。未声明时继续逐项跳过,适合相互独立的 server 列表。
76
87
 
77
- `validateConfig(schema, config)` 用同一份判定做只读检查,返回问题清单(`kind` 为 `missing` 或 `invalid`),不转换、不回填、不裁剪;它只把 `undefined` / `null` 当作未配置,只在 `required` 且无 `default` 时报缺。`onInvalid` 改变 `parseConfig` 的处置,不改变校验器的判定或报告。宿主用它告警或拦截保存:runtime 的配置同步对启用中的插件打告警,WebUI 保存插件配置时拒绝本次新引入的 `invalid`。
88
+ `validateConfig(schema, config)` 用同一份判定做只读检查,返回问题清单(`kind` 为 `missing` 或 `invalid`),不转换、不回填、不裁剪;它把 `undefined` / `null` 当作未配置,`required` 字段另把 `''`(声明了 `format` 的字符串只有空白也算)当作缺失,与 `parseConfig` 同一判定;只在 `required` 且无 `default` 时报缺,声明了 `default` 的永远不算缺。`onInvalid` 改变 `parseConfig` 的处置,不改变校验器的判定或报告。宿主用它告警或拦截保存:runtime 的配置同步对启用中的插件打告警,WebUI 保存插件配置时拒绝本次新引入的 `invalid`。
78
89
 
79
90
  `list` 与 `map` 的补充约定:
80
91
 
81
- - **默认值**:`default` 分别写数组与对象,`defaultsFrom` 按值拷贝。`deepMergeDefaults` 合并默认值时递归合并对象(runtime 的配置同步与 WebUI 保存插件配置都用它),因此顶层或分组里的 `map` 会按键补齐:默认映射中的键总会回到用户配置里,删掉也无效。需要用户可删除的预置条目时,默认值写 `{}`,由插件代码兜底。`list` 不参与合并,用户配置了就整体采用。
92
+ - **默认值**:`default` 分别写数组与对象,`defaultsFrom` 按值拷贝(`secret: true` 的除外)。`deepMergeDefaults` 合并默认值时递归合并对象(runtime 的配置同步与 WebUI 保存插件配置都用它),因此顶层或分组里的 `map` 会按键补齐:默认映射中的键总会回到用户配置里,删掉也无效。需要用户可删除的预置条目时,默认值写 `{}`,由插件代码兜底。`list` 不参与合并,用户配置了就整体采用。
82
93
  - **未知字段裁剪**:`removeExtraFields` 把 `map` 当作叶子整体保留,不按键裁剪。
83
94
  - **缺省 UI**(WebUI 的 SchemaForm):两者都渲染为多行文本框。`list` 每行一项,空白行忽略;`map` 每行一条 `KEY=VALUE`,按第一个 `=` 切分,键去掉首尾空白,值原样保留,缺少 `=` 或键为空的行不保存。现有的数字、布尔项或值按字符串显示,编辑后写成字符串;其余无法按这套规则逐行表达的值(项或值本身含换行、`list` 含空白项、`null`、嵌套的数组或对象等)会让该字段只读显示,需在配置文件中编辑。旧版存下的空串按空列表 / 空映射显示,保存时写成 `[]` / `{}`。
84
95
 
package/dist/index.d.ts CHANGED
@@ -33,9 +33,8 @@ export type SchemaFieldType = keyof SchemaFieldTypes & string;
33
33
  /**
34
34
  * 单个配置字段。
35
35
  *
36
- * 声明各渲染宿主共需的字段,以及影响取值判定的属性(`dynamicOptions` / `allowCustom`);
37
- * 只影响单一宿主呈现的交互属性(如 `secret`)由消费它们的宿主 api 包
38
- * (@aalis/api-webui)通过 declaration merging 注入。
36
+ * 声明各渲染宿主共需的字段、影响取值判定的属性(`dynamicOptions` / `allowCustom`)与各宿主都按它处理的
37
+ * `secret`;只影响单一宿主呈现的交互属性由消费它们的宿主 api 包通过 declaration merging 注入。
39
38
  */
40
39
  export interface SchemaField {
41
40
  type: SchemaFieldType;
@@ -73,7 +72,46 @@ export interface SchemaField {
73
72
  step?: number;
74
73
  /** string / textarea:正则约束(RegExp 源文本,test() 子串语义——要整串匹配请显式 ^…$),validateConfig 与 parseConfig 强制;模式本身非法则跳过该检查 */
75
74
  pattern?: string;
75
+ /**
76
+ * string / textarea:宿主文件路径的写法,validateConfig 与 parseConfig 强制;判定忽略首尾空白,parseConfig 交出的值也去掉首尾空白;
77
+ * 空串与只有空白都表示未填(required 字段算缺失),不查。
78
+ * 配置里的相对路径没有可靠的基准(宿主进程的 cwd 不带语义),所以路径一律写绝对路径:
79
+ * - `absolute-path`:绝对路径(`/…`、`C:\…` 或 `\\…`);
80
+ * - `executable`:可执行文件,绝对路径或不含路径分隔符的命令名(按 PATH 查找;`C:foo` 这类带盘符的相对写法不算)。
81
+ * 只按写法判定、与宿主平台无关:Windows 形状的绝对路径在 POSIX 宿主上也算通过。
82
+ */
83
+ format?: 'absolute-path' | 'executable';
84
+ /**
85
+ * 值是凭据(API key、token、带账号密码的连接串)。宿主不把它放在配置文档里:值存进宿主的密钥存储
86
+ * (Node 宿主是家目录的 `secrets.yaml`),文档里只写引用 {@link SecretRef},交给插件之前解析回原值;
87
+ * 展示与回传都不给原值。标在 map、list 上时整个值算一个密钥。插件照常经 parseConfig 读到原值;
88
+ * 引用没被宿主解析(键不在密钥存储里)时 parseConfig 拒绝激活,不回落默认值。
89
+ * 名字像凭据却不是凭据的字段(如 `maxTokens`)写 `false` 表明已判断过
90
+ */
91
+ secret?: boolean;
76
92
  }
93
+ /**
94
+ * 配置文档里密钥字段的值:指向宿主密钥存储里的一个键。几个字段可以指向同一个键。
95
+ * 只在 `secret: true` 的字段上有这层含义;别的字段上它只是一个普通对象。
96
+ */
97
+ export interface SecretRef {
98
+ $secret: string;
99
+ }
100
+ /** 是不是密钥引用:只有 `$secret` 一个自有键、值为非空字符串的纯对象 */
101
+ export declare function isSecretRef(value: unknown): value is SecretRef;
102
+ /** 密钥字段在 schema 里的位置,交给 {@link mapSecretFields} 的回调 */
103
+ export interface SecretPosition {
104
+ /** 点号路径,数组元素里的字段不带下标:`apiKey`、`auth.token`、`connections.accessToken` */
105
+ path: string;
106
+ /** 字段在数组元素里(同一个 path 对应多个值) */
107
+ inArray: boolean;
108
+ }
109
+ /**
110
+ * 逐个处理配置里密钥字段上的值(顶层、分组内、数组元素内;值为 undefined 的不处理),不改入参:有改动时返回浅拷贝
111
+ * (没动到的部分与入参共享),没有改动时返回入参本身,调用方要改写结果请先复制。回调返回 undefined 时删掉这个键。
112
+ * 宿主拆出、解析密钥与给呈现方去掉密钥都用它,密钥字段的位置只在这里认。
113
+ */
114
+ export declare function mapSecretFields(schema: ConfigSchema | undefined, config: Record<string, unknown>, fn: (value: unknown, at: SecretPosition) => unknown): Record<string, unknown>;
77
115
  export interface SchemaGroup {
78
116
  label?: string;
79
117
  description?: string;
@@ -160,7 +198,7 @@ export type ConfigOf<S extends ConfigSchema> = Flatten<{
160
198
  */
161
199
  export declare const CORE_CONFIG_SCHEMA: ConfigSchema;
162
200
  /**
163
- * 从 ConfigSchema 派生默认配置。
201
+ * 从 ConfigSchema 派生默认配置(密钥字段除外)。
164
202
  *
165
203
  * ConfigSchema 是插件配置的**唯一声明来源**:每个字段的 `default` 就是运行时默认值,
166
204
  * 不存在第二份手抄的默认值对象。宿主在注册插件前用本函数派生出默认配置并深合并进配置文档,
@@ -170,6 +208,8 @@ export declare const CORE_CONFIG_SCHEMA: ConfigSchema;
170
208
  * - SchemaField / SchemaArray:取 `default`(没写 default 的字段不产出键,
171
209
  * 等同于「该字段无默认值」——读取方自行处理 undefined)
172
210
  * - SchemaGroup:递归 `fields`,总是产出嵌套对象(即使子字段全无默认值)
211
+ * - `secret: true` 的字段不产出:派生结果会被写进配置文档,密钥的默认值不进文档(map 的默认值还会被深合并进
212
+ * 引用对象),插件经 parseConfig 照常补上
173
213
  */
174
214
  export declare function defaultsFrom(schema: ConfigSchema | undefined): Record<string, unknown>;
175
215
  /**
@@ -189,6 +229,8 @@ export interface SchemaIssue {
189
229
  message: string;
190
230
  kind: 'missing' | 'invalid';
191
231
  }
232
+ /** 字段类型是不是本包内置的:内置类型的取值经 validateConfig 与 parseConfig 校验,外来类型(如 'llm-ref')的不经 */
233
+ export declare function isBuiltinFieldType(type: string): boolean;
192
234
  /**
193
235
  * 按 ConfigSchema 对配置做只读结构校验,返回问题清单(空数组 = 无问题)。
194
236
  *
@@ -196,18 +238,19 @@ export interface SchemaIssue {
196
238
  * - **只读**:不转换、不回填、不裁剪——回填是 defaultsFrom,裁剪是 removeExtraFields,取值是 parseConfig。
197
239
  * 逐字段判定与 parseConfig 共用同一份:这里报 invalid 的值,parseConfig 会回落、忽略或拒绝。
198
240
  * 校验器出错的最大代价必须始终是"少一条警告",因此它对畸形 schema 不抛错。
199
- * - **只解释本包的词汇**:type/required、约束键与影响取值的 dynamicOptions/allowCustom;
200
- * 宿主经 declaration merging 注入的呈现属性(如 secret)一概不解读。
241
+ * - **只解释本包的词汇**:type/required、约束键、影响取值的 dynamicOptions/allowCustom 与 secret;
242
+ * 宿主经 declaration merging 注入的呈现属性一概不解读。
243
+ * - **校验的是文档**:`secret` 字段上的 {@link SecretRef} 算合法(值在宿主的密钥存储里),不查引用的键在不在。
201
244
  * - **标量宽容**:期望字符串的位置(string/textarea、list 元素、map 值、选项比较)接受有限数字;
202
245
  * 期望数字的位置接受去掉首尾空白后能完整解析为有限数的字符串。boolean 不做转换。
203
246
  * - **options 即取值范围**:select 有静态 options、没有 dynamicOptions 且 allowCustom 不为 true 时,值须是
204
247
  * 某个选项值(按字符串比较);multiselect 同样逐元素判定。
205
248
  * - **约束键**:number 强制 min/max(含边界)与 integer,string/textarea 强制
206
- * pattern(模式非法则跳过该检查);step 是纯 UI 提示不校验。约束只在类型
249
+ * pattern(模式非法则跳过该检查)与 format(空串与只有空白不查);step 是纯 UI 提示不校验。约束只在类型
207
250
  * 检查通过后评估——类型都不对时报类型错,不叠报约束错。
208
251
  * - **list / map**:list 须为数组、map 须为对象,逐元素 / 逐值报错,路径形如 `args[1]`、`env.KEY`。
209
252
  * - **宽容缺失**:undefined 与 null(YAML 裸键)视为"未配置",required 字段的 `''` 也算未配置(WebUI 与脚手架
210
- * 用 `''` 表示未填,与 parseConfig 一致;空数组仍算已配置),仅在 required 且未声明 default 时报缺——顶层/分组的默认值在调用点已合并,数组元素的默认值
253
+ * 用 `''` 表示未填,与 parseConfig 一致;声明了 format 的只有空白也算;空数组仍算已配置),仅在 required 且未声明 default 时报缺——顶层/分组的默认值在调用点已合并,数组元素的默认值
211
254
  * 不参与合并(defaultsFrom 把 SchemaArray 当叶子),靠 default 声明本身放行。
212
255
  *
213
256
  * 政策留给调用方:config-sync 对启用插件打 warn(禁用插件的配置是休眠数据,不告警),
@@ -218,12 +261,15 @@ export declare function validateConfig(schema: ConfigSchema | undefined, config:
218
261
  * 按 schema 解析插件拿到的配置,返回 {@link ConfigOf} 类型的新对象(不改入参)。插件在 apply 里用它读配置:
219
262
  * `const cfg = parseConfig(configSchema, caps.config, caps.logger)`,之后的夹紧、跨字段约束等核对作用于 cfg。
220
263
  *
221
- * - **缺失**:undefined 与 null;required 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填),
222
- * 外来类型的 `''` 一律当作缺失。有 default 用 default(拷贝),无 default 且 required 不可恢复,否则省略该键。
264
+ * - **缺失**:undefined 与 null;required 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填;声明了 format 的
265
+ * 只有空白也算),外来类型的 `''` 一律当作缺失。有 default 用 default(拷贝),无 default 且 required 不可恢复,否则省略该键。
223
266
  * - **无效**:逐字段判定与 validateConfig 共用(标量宽容、选项即取值范围、约束键)。
224
267
  * 默认有 default 回落并告警;无 default 且 required 不可恢复;否则省略并告警。
225
268
  * `onInvalid: 'error'` 的字段遇到显式无效值或坏集合成员时,即使有 default 也不可恢复。
226
269
  * - **外来类型**:除 `''` 外原样透传,不校验。
270
+ * - **密钥字段**:宿主交给插件之前已把引用解析成原值;`secret` 字段上仍是 {@link SecretRef},说明引用的键不在
271
+ * 宿主的密钥存储里,一律不可恢复(不回落 default,数组元素里的也不只丢这一条),消息点名键名。owner 写了引用,
272
+ * 引用落空就是配置错误,回落默认值会悄悄连上别的东西(例如默认的本机数据库)。
227
273
  * - **list / map / multiselect**:默认坏元素、坏值逐个丢弃并告警;严格字段拒绝整个值。
228
274
  * - **分组**:值不是对象时默认告警并按空对象解析;含严格字段时拒绝显式无效的分组值。
229
275
  * - **数组**:值不是数组按无效处理,含严格元素字段时拒绝显式无效的数组值;元素不是对象、或元素内有不可恢复的字段时只丢这一条元素并告警;
@@ -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
@@ -16,6 +16,58 @@
16
16
  //
17
17
  // 本包零运行时依赖:对 @aalis/core 仅有 type-only 锚点 import(编译后擦除)。
18
18
  // ============================================================
19
+ /** 是不是密钥引用:只有 `$secret` 一个自有键、值为非空字符串的纯对象 */
20
+ export function isSecretRef(value) {
21
+ if (!isRecord(value))
22
+ return false;
23
+ const keys = Object.keys(value);
24
+ return keys.length === 1 && keys[0] === '$secret' && typeof value.$secret === 'string' && value.$secret !== '';
25
+ }
26
+ /**
27
+ * 逐个处理配置里密钥字段上的值(顶层、分组内、数组元素内;值为 undefined 的不处理),不改入参:有改动时返回浅拷贝
28
+ * (没动到的部分与入参共享),没有改动时返回入参本身,调用方要改写结果请先复制。回调返回 undefined 时删掉这个键。
29
+ * 宿主拆出、解析密钥与给呈现方去掉密钥都用它,密钥字段的位置只在这里认。
30
+ */
31
+ export function mapSecretFields(schema, config, fn) {
32
+ const visit = (fields, source, prefix, inArray) => {
33
+ let out = source;
34
+ const put = (key, value) => {
35
+ if (out === source)
36
+ out = { ...source };
37
+ if (value === undefined)
38
+ delete out[key];
39
+ else
40
+ out[key] = value;
41
+ };
42
+ for (const [key, entry] of Object.entries(fields)) {
43
+ if (!isRecord(entry) || isUnsafeConfigKey(key) || !Object.hasOwn(source, key))
44
+ continue;
45
+ const value = source[key];
46
+ if ('fields' in entry) {
47
+ if (isRecord(value) && isRecord(entry.fields)) {
48
+ const next = visit(entry.fields, value, `${prefix}${key}.`, inArray);
49
+ if (next !== value)
50
+ put(key, next);
51
+ }
52
+ }
53
+ else if (entry.type === 'array') {
54
+ if (Array.isArray(value) && isRecord(entry.items)) {
55
+ const items = entry.items;
56
+ const next = value.map(item => (isRecord(item) ? visit(items, item, `${prefix}${key}.`, true) : item));
57
+ if (next.some((item, i) => item !== value[i]))
58
+ put(key, next);
59
+ }
60
+ }
61
+ else if (entry.secret === true && value !== undefined) {
62
+ const next = fn(value, { path: prefix + key, inArray });
63
+ if (next !== value)
64
+ put(key, next);
65
+ }
66
+ }
67
+ return out;
68
+ };
69
+ return visit(isRecord(schema) ? schema : {}, config, '', false);
70
+ }
19
71
  /**
20
72
  * 声明插件的配置 schema:运行时原样返回传入的对象(不冻结、不加任何属性),类型层保留字面量,
21
73
  * 供 {@link ConfigOf} 推出配置值类型。返回值可直接放进 `definePlugin({ configSchema })`。
@@ -37,7 +89,7 @@ export const CORE_CONFIG_SCHEMA = {
37
89
  name: {
38
90
  type: 'string',
39
91
  label: '应用名称',
40
- description: '应用显示名称,用于启动日志和界面展示;装有人设时仪表盘仍显示它,聊天显示人设名',
92
+ description: '应用显示名称,用于启动日志和界面展示',
41
93
  default: 'Aalis',
42
94
  },
43
95
  logLevel: {
@@ -61,7 +113,7 @@ export const CORE_CONFIG_SCHEMA = {
61
113
  },
62
114
  };
63
115
  /**
64
- * 从 ConfigSchema 派生默认配置。
116
+ * 从 ConfigSchema 派生默认配置(密钥字段除外)。
65
117
  *
66
118
  * ConfigSchema 是插件配置的**唯一声明来源**:每个字段的 `default` 就是运行时默认值,
67
119
  * 不存在第二份手抄的默认值对象。宿主在注册插件前用本函数派生出默认配置并深合并进配置文档,
@@ -71,6 +123,8 @@ export const CORE_CONFIG_SCHEMA = {
71
123
  * - SchemaField / SchemaArray:取 `default`(没写 default 的字段不产出键,
72
124
  * 等同于「该字段无默认值」——读取方自行处理 undefined)
73
125
  * - SchemaGroup:递归 `fields`,总是产出嵌套对象(即使子字段全无默认值)
126
+ * - `secret: true` 的字段不产出:派生结果会被写进配置文档,密钥的默认值不进文档(map 的默认值还会被深合并进
127
+ * 引用对象),插件经 parseConfig 照常补上
74
128
  */
75
129
  export function defaultsFrom(schema) {
76
130
  const out = {};
@@ -83,6 +137,8 @@ export function defaultsFrom(schema) {
83
137
  out[key] = defaultsFrom(entry.fields);
84
138
  continue;
85
139
  }
140
+ if (entry.secret === true)
141
+ continue;
86
142
  if ('default' in entry)
87
143
  out[key] = cloneConfigValue(entry.default);
88
144
  }
@@ -123,6 +179,10 @@ const NEUTRAL_FIELD_TYPES = new Set([
123
179
  'list',
124
180
  'map',
125
181
  ]);
182
+ /** 字段类型是不是本包内置的:内置类型的取值经 validateConfig 与 parseConfig 校验,外来类型(如 'llm-ref')的不经 */
183
+ export function isBuiltinFieldType(type) {
184
+ return NEUTRAL_FIELD_TYPES.has(type);
185
+ }
126
186
  /**
127
187
  * 按 ConfigSchema 对配置做只读结构校验,返回问题清单(空数组 = 无问题)。
128
188
  *
@@ -130,18 +190,19 @@ const NEUTRAL_FIELD_TYPES = new Set([
130
190
  * - **只读**:不转换、不回填、不裁剪——回填是 defaultsFrom,裁剪是 removeExtraFields,取值是 parseConfig。
131
191
  * 逐字段判定与 parseConfig 共用同一份:这里报 invalid 的值,parseConfig 会回落、忽略或拒绝。
132
192
  * 校验器出错的最大代价必须始终是"少一条警告",因此它对畸形 schema 不抛错。
133
- * - **只解释本包的词汇**:type/required、约束键与影响取值的 dynamicOptions/allowCustom;
134
- * 宿主经 declaration merging 注入的呈现属性(如 secret)一概不解读。
193
+ * - **只解释本包的词汇**:type/required、约束键、影响取值的 dynamicOptions/allowCustom 与 secret;
194
+ * 宿主经 declaration merging 注入的呈现属性一概不解读。
195
+ * - **校验的是文档**:`secret` 字段上的 {@link SecretRef} 算合法(值在宿主的密钥存储里),不查引用的键在不在。
135
196
  * - **标量宽容**:期望字符串的位置(string/textarea、list 元素、map 值、选项比较)接受有限数字;
136
197
  * 期望数字的位置接受去掉首尾空白后能完整解析为有限数的字符串。boolean 不做转换。
137
198
  * - **options 即取值范围**:select 有静态 options、没有 dynamicOptions 且 allowCustom 不为 true 时,值须是
138
199
  * 某个选项值(按字符串比较);multiselect 同样逐元素判定。
139
200
  * - **约束键**:number 强制 min/max(含边界)与 integer,string/textarea 强制
140
- * pattern(模式非法则跳过该检查);step 是纯 UI 提示不校验。约束只在类型
201
+ * pattern(模式非法则跳过该检查)与 format(空串与只有空白不查);step 是纯 UI 提示不校验。约束只在类型
141
202
  * 检查通过后评估——类型都不对时报类型错,不叠报约束错。
142
203
  * - **list / map**:list 须为数组、map 须为对象,逐元素 / 逐值报错,路径形如 `args[1]`、`env.KEY`。
143
204
  * - **宽容缺失**:undefined 与 null(YAML 裸键)视为"未配置",required 字段的 `''` 也算未配置(WebUI 与脚手架
144
- * 用 `''` 表示未填,与 parseConfig 一致;空数组仍算已配置),仅在 required 且未声明 default 时报缺——顶层/分组的默认值在调用点已合并,数组元素的默认值
205
+ * 用 `''` 表示未填,与 parseConfig 一致;声明了 format 的只有空白也算;空数组仍算已配置),仅在 required 且未声明 default 时报缺——顶层/分组的默认值在调用点已合并,数组元素的默认值
145
206
  * 不参与合并(defaultsFrom 把 SchemaArray 当叶子),靠 default 声明本身放行。
146
207
  *
147
208
  * 政策留给调用方:config-sync 对启用插件打 warn(禁用插件的配置是休眠数据,不告警),
@@ -156,12 +217,15 @@ export function validateConfig(schema, config) {
156
217
  * 按 schema 解析插件拿到的配置,返回 {@link ConfigOf} 类型的新对象(不改入参)。插件在 apply 里用它读配置:
157
218
  * `const cfg = parseConfig(configSchema, caps.config, caps.logger)`,之后的夹紧、跨字段约束等核对作用于 cfg。
158
219
  *
159
- * - **缺失**:undefined 与 null;required 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填),
160
- * 外来类型的 `''` 一律当作缺失。有 default 用 default(拷贝),无 default 且 required 不可恢复,否则省略该键。
220
+ * - **缺失**:undefined 与 null;required 字段另把 `''` 当作缺失(WebUI 与脚手架用 `''` 表示未填;声明了 format 的
221
+ * 只有空白也算),外来类型的 `''` 一律当作缺失。有 default 用 default(拷贝),无 default 且 required 不可恢复,否则省略该键。
161
222
  * - **无效**:逐字段判定与 validateConfig 共用(标量宽容、选项即取值范围、约束键)。
162
223
  * 默认有 default 回落并告警;无 default 且 required 不可恢复;否则省略并告警。
163
224
  * `onInvalid: 'error'` 的字段遇到显式无效值或坏集合成员时,即使有 default 也不可恢复。
164
225
  * - **外来类型**:除 `''` 外原样透传,不校验。
226
+ * - **密钥字段**:宿主交给插件之前已把引用解析成原值;`secret` 字段上仍是 {@link SecretRef},说明引用的键不在
227
+ * 宿主的密钥存储里,一律不可恢复(不回落 default,数组元素里的也不只丢这一条),消息点名键名。owner 写了引用,
228
+ * 引用落空就是配置错误,回落默认值会悄悄连上别的东西(例如默认的本机数据库)。
165
229
  * - **list / map / multiselect**:默认坏元素、坏值逐个丢弃并告警;严格字段拒绝整个值。
166
230
  * - **分组**:值不是对象时默认告警并按空对象解析;含严格字段时拒绝显式无效的分组值。
167
231
  * - **数组**:值不是数组按无效处理,含严格元素字段时拒绝显式无效的数组值;元素不是对象、或元素内有不可恢复的字段时只丢这一条元素并告警;
@@ -279,7 +343,7 @@ function validateFields(schema, config, prefix, issues) {
279
343
  });
280
344
  continue;
281
345
  }
282
- if (value === undefined || value === null || (value === '' && entry.required)) {
346
+ if (value === undefined || value === null || (entry.required && isBlank(entry, value))) {
283
347
  // 声明了 default 的字段永远不算缺失:顶层/分组的默认值多已在调用点合并,但合并不覆盖
284
348
  // 显式 null(YAML 裸键),这类值照样走到这里,
285
349
  // 数组元素的默认值不参与任何合并(defaultsFrom 把 SchemaArray 当叶子),
@@ -288,6 +352,8 @@ function validateFields(schema, config, prefix, issues) {
288
352
  issues.push({ path, message: '必填字段缺失', kind: 'missing' });
289
353
  continue;
290
354
  }
355
+ if (entry.secret === true && isSecretRef(value))
356
+ continue;
291
357
  if (!NEUTRAL_FIELD_TYPES.has(entry.type))
292
358
  continue;
293
359
  const verdict = judgeField(entry, value);
@@ -309,7 +375,14 @@ function judgeField(field, value) {
309
375
  if (field.pattern !== undefined && !matchesPattern(field.pattern, text)) {
310
376
  return { invalid: `不匹配模式 ${field.pattern}` };
311
377
  }
312
- return { value: text, dropped: [] };
378
+ if (field.format === undefined)
379
+ return { value: text, dropped: [] };
380
+ // 路径按去掉首尾空白后判定,交出去的也是这一份:带空白的原值交给插件会被当成相对路径或找不到
381
+ const path = text.trim();
382
+ if (path !== '' && !matchesFormat(field.format, path)) {
383
+ return { invalid: field.format === 'executable' ? '须为绝对路径或命令名(不含路径分隔符)' : '须为绝对路径' };
384
+ }
385
+ return { value: path, dropped: [] };
313
386
  }
314
387
  case 'number': {
315
388
  const num = asNumber(value);
@@ -398,6 +471,16 @@ function judgeField(field, value) {
398
471
  return { value, dropped: [] };
399
472
  }
400
473
  }
474
+ /**
475
+ * 填的是空串(WebUI 与脚手架用 `''` 表示未填)。声明了 format 的 string / textarea 交给插件的是去掉首尾空白的那份
476
+ * (见 judgeField),只有空白同样算空串
477
+ */
478
+ function isBlank(field, value) {
479
+ if (typeof value !== 'string')
480
+ return false;
481
+ const trims = field.format !== undefined && (field.type === 'string' || field.type === 'textarea');
482
+ return (trims ? value.trim() : value) === '';
483
+ }
401
484
  /** 期望字符串的位置:字符串原样,有限数字转成字符串(YAML 里不加引号的 QQ 号、端口照常可用) */
402
485
  function asText(value) {
403
486
  if (typeof value === 'string')
@@ -435,6 +518,16 @@ function matchesPattern(pattern, text) {
435
518
  return true;
436
519
  }
437
520
  }
521
+ /** POSIX 绝对路径、Windows 盘符路径或 UNC 路径 */
522
+ const ABSOLUTE_PATH = /^(?:\/|[A-Za-z]:[\\/]|\\\\)/;
523
+ function matchesFormat(format, text) {
524
+ if (ABSOLUTE_PATH.test(text))
525
+ return true;
526
+ if (format === 'executable')
527
+ return !/[\\/]/.test(text) && !/^[A-Za-z]:/.test(text);
528
+ // 不认识的写法(作者的 schema bug)同 pattern 一样跳过
529
+ return format !== 'absolute-path';
530
+ }
438
531
  function isRecord(value) {
439
532
  return typeof value === 'object' && value !== null && !Array.isArray(value);
440
533
  }
@@ -447,16 +540,21 @@ function describeType(value) {
447
540
  return String(value);
448
541
  return typeof value;
449
542
  }
450
- /** 顶层或分组内无法恢复的字段:parseConfig 把它转成 missingConfigError / configError 抛出,数组元素内只丢这一条元素 */
543
+ /**
544
+ * 顶层或分组内无法恢复的字段:parseConfig 把它转成 missingConfigError / configError 抛出,数组元素内只丢这一条元素;
545
+ * `fatal` 的(没解析的密钥引用)在数组元素里也让整次解析失败
546
+ */
451
547
  class UnrecoverableField extends Error {
452
548
  path;
453
549
  reason;
454
550
  missing;
455
- constructor(path, reason, missing) {
551
+ fatal;
552
+ constructor(path, reason, missing, fatal = false) {
456
553
  super(`${path} ${reason}`);
457
554
  this.path = path;
458
555
  this.reason = reason;
459
556
  this.missing = missing;
557
+ this.fatal = fatal;
460
558
  }
461
559
  }
462
560
  /** 只在祖先值显式无效时检查;缺省的容器仍按字段原有的缺省规则解析。 */
@@ -514,13 +612,16 @@ function parseGroup(fields, value, path, warn) {
514
612
  }
515
613
  function parseField(field, value, path, warn) {
516
614
  const neutral = NEUTRAL_FIELD_TYPES.has(field.type);
517
- if (value === undefined || value === null || (value === '' && (field.required || !neutral))) {
615
+ if (value === undefined || value === null || (field.required ? isBlank(field, value) : value === '' && !neutral)) {
518
616
  if (field.default !== undefined)
519
617
  return cloneConfigValue(field.default);
520
618
  if (field.required)
521
619
  throw new UnrecoverableField(path, '必填字段缺失', true);
522
620
  return undefined;
523
621
  }
622
+ if (field.secret === true && isSecretRef(value)) {
623
+ throw new UnrecoverableField(path, `引用的密钥 ${value.$secret} 不在宿主的密钥存储里`, false, true);
624
+ }
524
625
  if (!neutral)
525
626
  return cloneConfigValue(value);
526
627
  const verdict = judgeField(field, value);
@@ -567,7 +668,7 @@ function parseArray(entry, value, path, warn) {
567
668
  catch (err) {
568
669
  if (!(err instanceof UnrecoverableField))
569
670
  throw err;
570
- if (entry.onInvalid === 'error')
671
+ if (entry.onInvalid === 'error' || err.fatal)
571
672
  throw err;
572
673
  warn(`配置项 ${at} 已忽略:${err.path.slice(at.length + 1)} ${err.reason}`);
573
674
  continue;
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/schema-config",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,14 +20,14 @@
20
20
  ],
21
21
  "devDependencies": {
22
22
  "typescript": "^5.7.0",
23
- "@aalis/core": "0.19.1"
23
+ "@aalis/core": "0.20.0"
24
24
  },
25
25
  "keywords": [
26
26
  "aalis",
27
27
  "aalis-schema"
28
28
  ],
29
29
  "peerDependencies": {
30
- "@aalis/core": ">=0.18.0 <1.0.0"
30
+ "@aalis/core": ">=0.20.0 <1.0.0"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "tsc",