skill-chef 0.3.14 → 0.3.15
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/config.d.ts +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +24 -5
- package/dist/config.js.map +1 -1
- package/package.json +3 -3
package/dist/config.d.ts
CHANGED
|
@@ -32,7 +32,8 @@ export interface LoadedChefConfig {
|
|
|
32
32
|
/** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
|
|
33
33
|
*
|
|
34
34
|
* 读回来的 `values` 是**文件里那份 ⊕ 默认值**(文件里写空串则仍是空串=按默认落点);
|
|
35
|
-
* 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。
|
|
35
|
+
* 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。
|
|
36
|
+
* 可改落点那一格在这里过 `toNativeDir`:文件里是什么斜杠,面板与生效路径上都是平台原生那一串。 */
|
|
36
37
|
export declare function loadChefConfig(): LoadedChefConfig;
|
|
37
38
|
/** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
|
|
38
39
|
export declare function saveChefConfig(values: ConfigRecord): {
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAEhD;;2EAE2E;AAC3E,eAAO,MAAM,oBAAoB;;;;;;;;;CAGhC,CAAC;AAEF;;;;yBAIyB;AACzB,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAmC,CAAC;AAErF,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,OAAO,oBAAoB,CAAC;AA6C3D,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAQD;;;;4DAI4D;AAC5D,wBAAgB,cAAc,IAAI,gBAAgB,CAkBjD;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIrE;AAED,yCAAyC;AACzC,wBAAgB,eAAe,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAI7E;AAED;6DAC6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAExD"}
|
package/dist/config.js
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* #796 起这条约定的**两半分头**:**读**认空串;**写**(首次落文件/保存/重置)把面板上可改的
|
|
22
22
|
* 那一格(`db.dir`)落成算出来的绝对路径——见下面 `writableDefaults()` 的注释。
|
|
23
23
|
*/
|
|
24
|
+
import { normalize } from 'node:path';
|
|
24
25
|
import { configPaths, loadConfig, resetConfig, saveConfig } from 'base-link-core';
|
|
25
26
|
/** 配置文件主体名:`<配置目录>/chef.yaml`。 */
|
|
26
27
|
export const CHEF_CONFIG_STEM = 'chef';
|
|
@@ -37,6 +38,16 @@ export const CHEF_CONFIG_DEFAULTS = {
|
|
|
37
38
|
* `files.help`/`files.lookup`(#795 定稿)在本票 #796 里删:文件名回代码常量,产物名逐字不变。
|
|
38
39
|
* 退出条件:下一个大版本删掉这张清单。 */
|
|
39
40
|
export const CHEF_CONFIG_RETIRED = ['files.help', 'files.lookup'];
|
|
41
|
+
/** 可改落点那一格(`db.dir`)的**规范形**:非空即按**平台原生分隔符**(Windows 反斜杠)。
|
|
42
|
+
|
|
43
|
+
* 为什么要有这一格:用户在设置页里手输路径时两种斜杠都会用(`D:/a/b` 与 `D:\a\b` 指同一个地方),
|
|
44
|
+
* 而值是逐字存进配置文件的——存成 `D:/2Study/StudyNotes/.db` 之后,面板上「数据目录」那行与紧挨着的
|
|
45
|
+
* 「配置文件 C:\…\chef.yaml」那行斜杠方向就不一致(维护者 2026-09-23 报的就是这一处)。
|
|
46
|
+
* 读回来时归一(面板显示与生效路径同一串)+写盘时归一(配置文件里也只剩一种斜杠),两处同一个算式。
|
|
47
|
+
* **空串不动**:空串=按默认落点(另一条语义),而 `path.normalize('')` 会回 `'.'`,那是另一回事。 */
|
|
48
|
+
function toNativeDir(value) {
|
|
49
|
+
return value === '' ? '' : normalize(value);
|
|
50
|
+
}
|
|
40
51
|
/** 写盘那一份用的默认值表:**可改落点**(`db.dir`)写成算出来的绝对路径(#746 总口径回灌,本票 #796 落地)。
|
|
41
52
|
*
|
|
42
53
|
* 为什么写绝对路径:面板上「数据目录」那一格显示的是从配置文件算出的生效值,而空串的语义是「按默认落点」
|
|
@@ -53,16 +64,22 @@ function writableDefaults() {
|
|
|
53
64
|
}
|
|
54
65
|
/** 写盘前把可改落点那一格的**空白值**去掉:空串=按默认落点,而写的时候那个落点要落成绝对路径
|
|
55
66
|
* (见 `writableDefaults`)——去掉这一格,`base-link-core` 的 `fillDefaults` 自会补上写盘用的默认值。
|
|
56
|
-
* 组里一个子项都不剩时连组一起去掉(空组写出去解析不回来)。
|
|
67
|
+
* 组里一个子项都不剩时连组一起去掉(空组写出去解析不回来)。
|
|
68
|
+
* 非空值在这一步过 `toNativeDir`:用户手输的正斜杠与旧文件里留下的正斜杠,都归成平台原生那一串。 */
|
|
57
69
|
function withoutBlankEditableDir(values) {
|
|
58
70
|
const group = values['db'];
|
|
59
71
|
if (typeof group !== 'object' || group === null || Array.isArray(group))
|
|
60
72
|
return values;
|
|
61
73
|
const dir = group['dir'];
|
|
62
|
-
if (typeof dir !== 'string'
|
|
74
|
+
if (typeof dir !== 'string')
|
|
63
75
|
return values;
|
|
64
76
|
const next = { ...group };
|
|
65
|
-
|
|
77
|
+
if (dir === '') {
|
|
78
|
+
delete next['dir'];
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
next['dir'] = toNativeDir(dir);
|
|
82
|
+
}
|
|
66
83
|
const out = { ...values };
|
|
67
84
|
if (Object.keys(next).length === 0)
|
|
68
85
|
delete out['db'];
|
|
@@ -78,20 +95,22 @@ let memo = null;
|
|
|
78
95
|
/** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
|
|
79
96
|
*
|
|
80
97
|
* 读回来的 `values` 是**文件里那份 ⊕ 默认值**(文件里写空串则仍是空串=按默认落点);
|
|
81
|
-
* 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。
|
|
98
|
+
* 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。
|
|
99
|
+
* 可改落点那一格在这里过 `toNativeDir`:文件里是什么斜杠,面板与生效路径上都是平台原生那一串。 */
|
|
82
100
|
export function loadChefConfig() {
|
|
83
101
|
const file = configPaths(CHEF_CONFIG_STEM).configFile;
|
|
84
102
|
if (memo === null || memo.file !== file) {
|
|
85
103
|
const loaded = loadConfig(CHEF_CONFIG_STEM, writableDefaults(), CHEF_CONFIG_RETIRED);
|
|
86
104
|
// base-link-core 读回来时已经过了「键齐 + 类型对」两道校验(不认识的键、类型不符一律抛),
|
|
87
105
|
// 故这一处从宽松记录到形状记录的转换是有依据的投影,不是猜测。
|
|
106
|
+
const values = loaded.values;
|
|
88
107
|
memo = {
|
|
89
108
|
file,
|
|
90
109
|
loaded: {
|
|
91
110
|
path: loaded.path,
|
|
92
111
|
dataDir: loaded.dataDir,
|
|
93
112
|
created: loaded.created,
|
|
94
|
-
values:
|
|
113
|
+
values: { ...values, db: { ...values.db, dir: toNativeDir(values.db.dir) } },
|
|
95
114
|
},
|
|
96
115
|
};
|
|
97
116
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGlF,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEhD;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;IACrC,IAAI,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE;CACvD,CAAC;AAEF;;;;yBAIyB;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAKrF;;;;;;;0DAO0D;AAC1D,SAAS,gBAAgB;IACvB,OAAO;QACL,GAAG,oBAAoB;QACvB,EAAE,EAAE,EAAE,GAAG,oBAAoB,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE;KAC/E,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-chef",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.15",
|
|
4
4
|
"description": "私家大厨SKILL一期:取数+口径+渲染+出口(8 联动 key+cmd_read+SKILL+HELP+parity),依 link-core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"chef-cmd-read": "./dist/cli/cmd_read.js"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"base-link-core": "0.3.
|
|
26
|
-
"base-paint": "0.3.
|
|
25
|
+
"base-link-core": "0.3.15",
|
|
26
|
+
"base-paint": "0.3.15"
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
29
|
"node": ">=22.13"
|