skill-schedule 0.3.0 → 0.3.2
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/SKILL.md +9 -7
- package/dist/.gen-inputs.json +45 -0
- package/dist/admin/commands.d.ts +10 -0
- package/dist/admin/commands.d.ts.map +1 -0
- package/dist/admin/commands.js +5 -0
- package/dist/admin/commands.js.map +1 -0
- package/dist/admin/handlers.d.ts +3 -0
- package/dist/admin/handlers.d.ts.map +1 -0
- package/dist/admin/handlers.js +66 -0
- package/dist/admin/handlers.js.map +1 -0
- package/dist/admin/index.d.ts +3 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +3 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/routes.d.ts +8 -0
- package/dist/admin/routes.d.ts.map +1 -0
- package/dist/admin/routes.js +7 -0
- package/dist/admin/routes.js.map +1 -0
- package/dist/analyze/commands.d.ts +10 -0
- package/dist/analyze/commands.d.ts.map +1 -0
- package/dist/analyze/commands.js +5 -0
- package/dist/analyze/commands.js.map +1 -0
- package/dist/analyze/handlers.d.ts +3 -0
- package/dist/analyze/handlers.d.ts.map +1 -0
- package/dist/analyze/handlers.js +57 -0
- package/dist/analyze/handlers.js.map +1 -0
- package/dist/analyze/index.d.ts +3 -0
- package/dist/analyze/index.d.ts.map +1 -0
- package/dist/analyze/index.js +3 -0
- package/dist/analyze/index.js.map +1 -0
- package/dist/analyze/routes.d.ts +8 -0
- package/dist/analyze/routes.d.ts.map +1 -0
- package/dist/analyze/routes.js +8 -0
- package/dist/analyze/routes.js.map +1 -0
- package/dist/cli/cmd_read.js +48 -251
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +5 -2
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +8 -3
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/keys.d.ts +5 -0
- package/dist/cli/keys.d.ts.map +1 -0
- package/dist/cli/keys.js +21 -0
- package/dist/cli/keys.js.map +1 -0
- package/dist/cli/registry.d.ts +4 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +12 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/config.d.ts +19 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +81 -21
- package/dist/config.js.map +1 -1
- package/dist/delivery/index.d.ts +8 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +7 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/naming.d.ts +24 -0
- package/dist/delivery/naming.d.ts.map +1 -0
- package/dist/delivery/naming.js +8 -0
- package/dist/delivery/naming.js.map +1 -0
- package/dist/delivery/output.d.ts +22 -0
- package/dist/delivery/output.d.ts.map +1 -0
- package/dist/delivery/output.js +83 -0
- package/dist/delivery/output.js.map +1 -0
- package/dist/fetch/feishu.d.ts +5 -0
- package/dist/fetch/feishu.d.ts.map +1 -1
- package/dist/fetch/feishu.js +48 -23
- package/dist/fetch/feishu.js.map +1 -1
- package/dist/fetch/index.d.ts +3 -2
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +2 -2
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/paths.d.ts +42 -4
- package/dist/fetch/paths.d.ts.map +1 -1
- package/dist/fetch/paths.js +67 -11
- package/dist/fetch/paths.js.map +1 -1
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +34 -73
- package/dist/health.js.map +1 -1
- package/dist/help/helpFile.d.ts +5 -3
- package/dist/help/helpFile.d.ts.map +1 -1
- package/dist/help/helpFile.js +6 -5
- package/dist/help/helpFile.js.map +1 -1
- package/dist/help/helpPaths.d.ts +11 -12
- package/dist/help/helpPaths.d.ts.map +1 -1
- package/dist/help/helpPaths.js +9 -36
- package/dist/help/helpPaths.js.map +1 -1
- package/dist/plan/commands.d.ts +9 -0
- package/dist/plan/commands.d.ts.map +1 -0
- package/dist/plan/commands.js +5 -0
- package/dist/plan/commands.js.map +1 -0
- package/dist/plan/handlers.d.ts +3 -0
- package/dist/plan/handlers.d.ts.map +1 -0
- package/dist/plan/handlers.js +31 -0
- package/dist/plan/handlers.js.map +1 -0
- package/dist/plan/index.d.ts +2 -0
- package/dist/plan/index.d.ts.map +1 -1
- package/dist/plan/index.js +4 -2
- package/dist/plan/index.js.map +1 -1
- package/dist/plan/routes.d.ts +8 -0
- package/dist/plan/routes.d.ts.map +1 -0
- package/dist/plan/routes.js +18 -0
- package/dist/plan/routes.js.map +1 -0
- package/dist/policy/wakewords.d.ts.map +1 -1
- package/dist/policy/wakewords.js +9 -59
- package/dist/policy/wakewords.js.map +1 -1
- package/dist/query/commands.d.ts +26 -0
- package/dist/query/commands.d.ts.map +1 -0
- package/dist/query/commands.js +8 -0
- package/dist/query/commands.js.map +1 -0
- package/dist/query/handlers.d.ts +6 -0
- package/dist/query/handlers.d.ts.map +1 -0
- package/dist/query/handlers.js +67 -0
- package/dist/query/handlers.js.map +1 -0
- package/dist/query/index.d.ts +3 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +3 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/routes.d.ts +9 -0
- package/dist/query/routes.d.ts.map +1 -0
- package/dist/query/routes.js +20 -0
- package/dist/query/routes.js.map +1 -0
- package/dist/render/envelope.d.ts +2 -1
- package/dist/render/envelope.d.ts.map +1 -1
- package/dist/render/envelope.js +5 -11
- package/dist/render/envelope.js.map +1 -1
- package/dist/shared/commandSpec.d.ts +83 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +2 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/triggers/routes.generated.d.ts +297 -0
- package/dist/triggers/routes.generated.d.ts.map +1 -0
- package/dist/triggers/routes.generated.js +52 -0
- package/dist/triggers/routes.generated.js.map +1 -0
- package/dist/write/commands.d.ts +9 -0
- package/dist/write/commands.d.ts.map +1 -0
- package/dist/write/commands.js +5 -0
- package/dist/write/commands.js.map +1 -0
- package/dist/write/handlers.d.ts +3 -0
- package/dist/write/handlers.d.ts.map +1 -0
- package/dist/write/handlers.js +24 -0
- package/dist/write/handlers.js.map +1 -0
- package/dist/write/index.d.ts +3 -0
- package/dist/write/index.d.ts.map +1 -0
- package/dist/write/index.js +3 -0
- package/dist/write/index.js.map +1 -0
- package/dist/write/routes.d.ts +8 -0
- package/dist/write/routes.d.ts.map +1 -0
- package/dist/write/routes.js +10 -0
- package/dist/write/routes.js.map +1 -0
- package/package.json +3 -3
package/dist/config.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* 口径出处(「配置的存与生效口径裁定」#675 的解决评论,本票 #695 落地):**每个技能一份 YAML 配置文件,
|
|
4
4
|
* 配置文件是唯一真相,环境变量不参与配置**。默认落点 `~/.ilife/schedule.yaml`(由 `os.homedir()` 派生,
|
|
5
|
-
*
|
|
5
|
+
* 平台无关,只此一处);数据目录默认 `~/.ilife/data/`,
|
|
6
6
|
* 首次读时自动建;「重置为默认」先另存 `<配置目录>/schedule.yaml.bak`。
|
|
7
7
|
*
|
|
8
8
|
* 读写实现(受限 YAML 子集解析、键表与类型校验、备份、建目录)住 `base-link-core` 的 `src/config/`
|
|
@@ -10,49 +10,109 @@
|
|
|
10
10
|
*
|
|
11
11
|
* 默认值逐项等于改造前的代码常量(对照读数见 `docs/skills/skill-schedule/t695-证据.md`):
|
|
12
12
|
* · `db.name`=`schedule_data.db`(原 `src/fetch/paths.ts` 的 `DB_FILENAME`);
|
|
13
|
-
* · `html.dir`=`schedule_html
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* · `html.dir`=`schedule_html`/`html.helpDir`=`help`(两段合起来=原 `src/help/helpPaths.ts` 的
|
|
14
|
+
* `HELP_HTML_DIR_PARTS` 那两级 `<库目录>/schedule_html/help`——产物根与 HELP 子目录分家见下;
|
|
15
|
+
* 配置形状是字符串、段间用 `/` 或 `\` 分隔,因为受限子集不收数组;见 `base-link-core/README.md` §支持范围)。
|
|
16
|
+
* #764 起 `files.help`/`lark.cliPath` 出表(#761 定稿:文件名回代码常量 `作息管家_HELP`;
|
|
17
|
+
* 飞书 CLI 路径由新增的「飞书 CLI」状态行替代,它不是配置项),故本表现是 3 键。
|
|
17
18
|
* 用法上一处约定:**空串=按默认落点**——`db.dir` 空即用数据目录(`~/.ilife/data/`),由取用处算,
|
|
18
19
|
* 所以空串不是「没配」,老数据不会看起来丢了。
|
|
20
|
+
* #764 起这条约定的**两半分头**(#746 总口径回灌,照 #749 样板):**读**认空串;**写**(首次落文件/保存/重置)
|
|
21
|
+
* 把面板上可改的那一格(`db.dir`)落成算出来的绝对路径——见下面 `writableDefaults()` 的注释。
|
|
19
22
|
*/
|
|
20
|
-
import { loadConfig, resetConfig, saveConfig } from 'base-link-core';
|
|
23
|
+
import { configPaths, loadConfig, resetConfig, saveConfig } from 'base-link-core';
|
|
21
24
|
/** 配置文件主体名:`<配置目录>/schedule.yaml`。 */
|
|
22
25
|
export const SCHEDULE_CONFIG_STEM = 'schedule';
|
|
23
|
-
/** 作息管家那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。
|
|
26
|
+
/** 作息管家那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。
|
|
27
|
+
*
|
|
28
|
+
* **产物落点分家(#843)**:`html.dir`=产物**根目录**(页面落它下面),`html.helpDir`=该根下
|
|
29
|
+
* HELP 那一支的子目录名。两件产物各有各的落点,一个键不当两个用;名字由来——
|
|
30
|
+
* `html.dir` 段串是「库目录下的哪几个子目录」的算料(不绝对化,见 `writableDefaults()`),
|
|
31
|
+
* `html.helpDir` 是**单段**子目录名(算料是段串,单段也是段串)。 */
|
|
24
32
|
export const SCHEDULE_CONFIG_DEFAULTS = {
|
|
25
33
|
db: { dir: '', name: 'schedule_data.db' },
|
|
26
|
-
html: { dir: 'schedule_html
|
|
27
|
-
files: { help: '作息管家_HELP' },
|
|
28
|
-
lark: { cliPath: '' },
|
|
34
|
+
html: { dir: 'schedule_html', helpDir: 'help' },
|
|
29
35
|
};
|
|
30
|
-
/**
|
|
36
|
+
/** **已退休键**(#762 过渡件):我们自己删过、老配置文件里必然还留着的键的叶子全路径。命中的键跳过校验、
|
|
37
|
+
* 不进取值、也不会被写回(任何一次保存/重置天然抹掉它);**整组的子项全退休时那一层组名也不写出**
|
|
38
|
+
* (`lark` 这一组在本家正是这个形状:`lark.cliPath` 是它唯一的子项)。
|
|
39
|
+
* 名单**只许写已经删掉的键**——键还在默认值表里就写进清单=在护栏上开洞,
|
|
40
|
+
* `base-link-core` 收到清单时当场拒。
|
|
41
|
+
* `files.help`/`lark.cliPath` 删于【实施】作息管家设置页收窄(#764,定稿 #761)。
|
|
42
|
+
* 退出条件:下一个大版本删掉这张清单。 */
|
|
43
|
+
export const SCHEDULE_CONFIG_RETIRED = ['files.help', 'lark.cliPath'];
|
|
44
|
+
/** 写盘那一份用的默认值表:**可改落点**(`db.dir`)写成算出来的绝对路径(#746 总口径回灌,本票 #764 落地,
|
|
45
|
+
* 照 #749 样板的 `writableDefaults()`)。
|
|
46
|
+
*
|
|
47
|
+
* 为什么写绝对路径:面板上「数据目录」那一格显示的是从配置文件算出的生效值,而空串的语义是「按默认落点」
|
|
48
|
+
* ——默认落点由 `os.homedir()` 派生,换机器/改用户名就会漂到别处;写死了才是「这一格写的是什么就是什么」。
|
|
49
|
+
* **代价**(维护者已确认接受):换机器后 yaml 指向不存在的目录。**只读落点保持相对**(`html.dir` 的值是
|
|
50
|
+
* 「库目录下的哪几个子目录」,绝对化=改语义,见 #761 定稿第 5 条)。
|
|
51
|
+
*
|
|
52
|
+
* 口径的两半:**读**仍认空串(=按默认落点,老文件一份不用动,也不与 #762 的退休键过渡打架);
|
|
53
|
+
* **写**(首次落文件/保存/重置)一律落绝对路径。那一格不自己拼路径——直接用 `configPaths(stem).dataDir`,
|
|
54
|
+
* 今天算数据目录只有这一处算法(`base-link-core/src/config/dirs.ts`)。 */
|
|
55
|
+
function writableDefaults() {
|
|
56
|
+
return {
|
|
57
|
+
...SCHEDULE_CONFIG_DEFAULTS,
|
|
58
|
+
db: { ...SCHEDULE_CONFIG_DEFAULTS.db, dir: configPaths(SCHEDULE_CONFIG_STEM).dataDir },
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** 写盘前把可改落点那一格的**空白值**去掉:空串=按默认落点,而写的时候那个落点要落成绝对路径
|
|
62
|
+
* (见 `writableDefaults`)——去掉这一格,`base-link-core` 的 `fillDefaults` 自会补上写盘用的默认值。
|
|
63
|
+
* 组里一个子项都不剩时连组一起去掉(空组写出去解析不回来)。 */
|
|
64
|
+
function withoutBlankEditableDir(values) {
|
|
65
|
+
const group = values['db'];
|
|
66
|
+
if (typeof group !== 'object' || group === null || Array.isArray(group))
|
|
67
|
+
return values;
|
|
68
|
+
const dir = group['dir'];
|
|
69
|
+
if (typeof dir !== 'string' || dir !== '')
|
|
70
|
+
return values;
|
|
71
|
+
const next = { ...group };
|
|
72
|
+
delete next['dir'];
|
|
73
|
+
const out = { ...values };
|
|
74
|
+
if (Object.keys(next).length === 0)
|
|
75
|
+
delete out['db'];
|
|
76
|
+
else
|
|
77
|
+
out['db'] = next;
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
/** 每份配置文件记一份:家目录一变(测试逐用例换临时家目录)即现读,
|
|
81
|
+
* 同一文件里不反复读盘(「保存即生效」由 `saveScheduleConfig`/`resetScheduleConfig` 清记忆保证,
|
|
82
|
+
* 不靠长连接)。记忆位不绑「进程」而绑「配置文件路径」,是为了不让换目录后的读落到上一份的缓存上
|
|
83
|
+
* ——照 `packages/skill-bill/src/config.ts` 同形(#749 样板)。 */
|
|
31
84
|
let memo = null;
|
|
32
|
-
/** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
|
|
85
|
+
/** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。
|
|
86
|
+
*
|
|
87
|
+
* 读回来的 `values` 是**文件里那份 ⊕ 默认值**(文件里写空串则仍是空串=按默认落点);
|
|
88
|
+
* 首次落文件时写下去的是 `writableDefaults()`(可改落点=绝对路径)。 */
|
|
33
89
|
export function loadScheduleConfig() {
|
|
34
|
-
|
|
35
|
-
|
|
90
|
+
const file = configPaths(SCHEDULE_CONFIG_STEM).configFile;
|
|
91
|
+
if (memo === null || memo.file !== file) {
|
|
92
|
+
const loaded = loadConfig(SCHEDULE_CONFIG_STEM, writableDefaults(), SCHEDULE_CONFIG_RETIRED);
|
|
36
93
|
// base-link-core 读回来时已经过了「键齐 + 类型对」两道校验(不认识的键、类型不符一律抛),
|
|
37
94
|
// 故这一处从宽松记录到形状记录的转换是有依据的投影,不是猜测。
|
|
38
95
|
memo = {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
96
|
+
file,
|
|
97
|
+
loaded: {
|
|
98
|
+
path: loaded.path,
|
|
99
|
+
dataDir: loaded.dataDir,
|
|
100
|
+
created: loaded.created,
|
|
101
|
+
values: loaded.values,
|
|
102
|
+
},
|
|
43
103
|
};
|
|
44
104
|
}
|
|
45
|
-
return memo;
|
|
105
|
+
return memo.loaded;
|
|
46
106
|
}
|
|
47
107
|
/** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
|
|
48
108
|
export function saveScheduleConfig(values) {
|
|
49
|
-
const r = saveConfig(SCHEDULE_CONFIG_STEM,
|
|
109
|
+
const r = saveConfig(SCHEDULE_CONFIG_STEM, writableDefaults(), withoutBlankEditableDir(values), SCHEDULE_CONFIG_RETIRED);
|
|
50
110
|
memo = null;
|
|
51
111
|
return r;
|
|
52
112
|
}
|
|
53
113
|
/** 重置为默认(先另存 `<配置目录>/schedule.yaml.bak`)。 */
|
|
54
114
|
export function resetScheduleConfig() {
|
|
55
|
-
const r = resetConfig(SCHEDULE_CONFIG_STEM,
|
|
115
|
+
const r = resetConfig(SCHEDULE_CONFIG_STEM, writableDefaults(), SCHEDULE_CONFIG_RETIRED);
|
|
56
116
|
memo = null;
|
|
57
117
|
return r;
|
|
58
118
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** 交付面的能力门:出口 `src/cli/cmd_read.ts` 只从这里取交付面那三件东西。
|
|
2
|
+
* - `deliverHtml`/`HtmlDelivery`——本包写 HTML 文件的唯一出口(页面与 HELP 一条链);
|
|
3
|
+
* - `pageStemFor`——产物文件名主体的唯一定义地(`./naming.ts`)。
|
|
4
|
+
* 落点目录算法不在这里:它住 `src/fetch/paths.ts`(全部落点算式的唯一定义地)。 */
|
|
5
|
+
export { deliverHtml } from './output.js';
|
|
6
|
+
export type { HtmlDelivery } from './output.js';
|
|
7
|
+
export { pageStemFor, SCHEDULE_SKILL_NAME } from './naming.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;wDAGwD;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** 交付面的能力门:出口 `src/cli/cmd_read.ts` 只从这里取交付面那三件东西。
|
|
2
|
+
* - `deliverHtml`/`HtmlDelivery`——本包写 HTML 文件的唯一出口(页面与 HELP 一条链);
|
|
3
|
+
* - `pageStemFor`——产物文件名主体的唯一定义地(`./naming.ts`)。
|
|
4
|
+
* 落点目录算法不在这里:它住 `src/fetch/paths.ts`(全部落点算式的唯一定义地)。 */
|
|
5
|
+
export { deliverHtml } from './output.js';
|
|
6
|
+
export { pageStemFor, SCHEDULE_SKILL_NAME } from './naming.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;wDAGwD;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** 交付面·命名:**产物文件名主体在哪、叫什么**(一处定义,别处引用)。
|
|
2
|
+
*
|
|
3
|
+
* 本件是 #843 的「命名一处定义」那一半:全仓只有这里算得出「某一页的产物叫什么」。
|
|
4
|
+
* 谁能读同一份:
|
|
5
|
+
* · **实现**——`src/delivery/output.ts` 落盘时用它算 `stem`(唯一调用点 `src/cli/cmd_read.ts`);
|
|
6
|
+
* · **探针**——`docs/skills/skill-schedule/tA0-交付面探针.mjs` 把它与真跑出来的 `delivery.path` 对账;
|
|
7
|
+
* · **链路页与墙**(后续票 #791/#792)——**不自己算名字**:读回执里的 `delivery.path` 即可
|
|
8
|
+
* (票面「遗留出口」:链路页读的是本票产出的路径,不自己算名字)。所以本件不派生任何清册文件。
|
|
9
|
+
*
|
|
10
|
+
* 名字通式(时间戳/递补/扩展名**不在本件**):`〈主体〉_<YYYYMMDD_HHMMSS>[_<N>].html`,
|
|
11
|
+
* 由共用件 `base-paint/save-html` 的 `saveHtmlFile` 算——本件只给「主体」。
|
|
12
|
+
*
|
|
13
|
+
* **主体怎么取**:`〈技能名〉_〈页名〉`。技能名与 HELP 产物同一份(同一个技能的产物同前缀);
|
|
14
|
+
* 页名=**命令声明上的标题**(`CommandSpec.title`,只从能力目录的 `commands.ts` 来,
|
|
15
|
+
* 经生成的 `registry.ts` 转出)——同一件事不写第二遍,页面标题与文件名主体同源。
|
|
16
|
+
* 故本件是**纯函数**:给「key + 声明上的标题」,出「文件名主体」。零 IO、不读配置、不碰盘。
|
|
17
|
+
*/
|
|
18
|
+
import type { CommandSpec } from '../shared/commandSpec.js';
|
|
19
|
+
/** 技能名(产物名前缀):与 HELP 产物主体 `作息管家_HELP`(`src/help/helpFile.ts` 的
|
|
20
|
+
* `HELP_FILE_STEM`)同一份,这里写一份是**唯一定义地**,别处引用。 */
|
|
21
|
+
export declare const SCHEDULE_SKILL_NAME: "\u4F5C\u606F\u7BA1\u5BB6";
|
|
22
|
+
/** 一条命令的产物**文件名主体**:`〈技能名〉_〈命令标题〉`。 */
|
|
23
|
+
export declare function pageStemFor(spec: CommandSpec): string;
|
|
24
|
+
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/delivery/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;iDACiD;AACjD,eAAO,MAAM,mBAAmB,EAAG,0BAAe,CAAC;AAEnD,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** 技能名(产物名前缀):与 HELP 产物主体 `作息管家_HELP`(`src/help/helpFile.ts` 的
|
|
2
|
+
* `HELP_FILE_STEM`)同一份,这里写一份是**唯一定义地**,别处引用。 */
|
|
3
|
+
export const SCHEDULE_SKILL_NAME = '作息管家';
|
|
4
|
+
/** 一条命令的产物**文件名主体**:`〈技能名〉_〈命令标题〉`。 */
|
|
5
|
+
export function pageStemFor(spec) {
|
|
6
|
+
return SCHEDULE_SKILL_NAME + '_' + spec.title;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/delivery/naming.ts"],"names":[],"mappings":"AAmBA;iDACiD;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAe,CAAC;AAEnD,uCAAuC;AACvC,MAAM,UAAU,WAAW,CAAC,IAAiB;IAC3C,OAAO,mBAAmB,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type HtmlReceipt } from 'base-paint/save-html';
|
|
2
|
+
/** 交付结果(`file` 态唯一;`path` 必为绝对路径;形状=票面第 2 条的顶层 `delivery{mode,path,bytes}`)。
|
|
3
|
+
* #245 起=共用件回执的形状,别名指向它,不另立第二份定义。 */
|
|
4
|
+
export type HtmlDelivery = HtmlReceipt;
|
|
5
|
+
/** 交付一次 HTML 产物(**唯一落盘点**):
|
|
6
|
+
* - `explicit`(`--html <路径>`,用户逐字指定)→ **覆盖写**,语义与该参数既有口径一致(票面第 3 条);
|
|
7
|
+
* **不吃复用窗口**(逐字落点=说哪落哪);
|
|
8
|
+
* - `targetDir`(落点**目录**的绝对路径;相对路径也收,写前归一为绝对)+ `stem`(文件名主体)→
|
|
9
|
+
* **独占创建 + 递补**(#128);带 `reuseMs`(>0)时改为**窗口内复用**(#245):已有那份不超龄
|
|
10
|
+
* 就返回它、不新建;
|
|
11
|
+
* - 两者都给时 `explicit` 优先(用户指定胜过默认落点;**逐字覆盖写,不带时间戳、不递补**)。
|
|
12
|
+
* ⚠️ **时间戳只在共用件里算一次**:调用方给的是「目录 + 主体」,**不**把「带戳的初候选路径」传进来
|
|
13
|
+
* ——那样共用件会用「带戳的名字」当主体再拼一次时间戳(实测会落出
|
|
14
|
+
* `作息管家_HELP_<stamp>_<stamp>.html`,本项目已踩过一次)。失败抛错给调用方走 exit 5。 */
|
|
15
|
+
export declare function deliverHtml(input: {
|
|
16
|
+
explicit?: string;
|
|
17
|
+
targetDir?: string;
|
|
18
|
+
stem?: string;
|
|
19
|
+
html: string;
|
|
20
|
+
reuseMs?: number;
|
|
21
|
+
}): HtmlDelivery;
|
|
22
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/delivery/output.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAYtE;sCACsC;AACtC,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC;;;;;;;;;mEASmE;AACnE,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,YAAY,CAyBf"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** 交付面·落盘点:**本包写 HTML 文件的唯一那一个函数**(页面与 HELP 共用一条链)。
|
|
2
|
+
*
|
|
3
|
+
* 归属=结构裁定 `docs/skills/skill-schedule/t199-structure-verdict.md` §「消费共享 help 模板的技术路线」
|
|
4
|
+
* 第 4 条:照 bill 的 `src/output.ts` 自持一份最小管线,只抄**需要的那一小块**。那一小块(命名通式 +
|
|
5
|
+
* 独占创建 + `EEXIST` 递补)**#237 起已收进共用件** `base-paint/save-html` 的 `saveHtmlFile`
|
|
6
|
+
* (记账/卡路里/大厨三家同期改走它;备忘录侧走 `#240`)——本件若继续自持,就是**第 5 份同逻辑实现**,
|
|
7
|
+
* 正是仓规铁律二禁止的「同一件事两份实现」。故本件只给**落点意图**(目录 + 文件名主体),命名与落盘全交共用件。
|
|
8
|
+
*
|
|
9
|
+
* #843 起本件**不再只是 HELP 的**:出口的 8 个键(7 个唤醒词命令 + HELP)都从这里落盘,
|
|
10
|
+
* 故件头与件名从 `src/help/output.ts` 摆到 `src/delivery/output.ts`——「交付面」是这条链的名字,
|
|
11
|
+
* 文件名主体由 `./naming.ts` 一处定义(页面取命令标题,HELP 取 `作息管家_HELP`)。
|
|
12
|
+
*
|
|
13
|
+
* #128 的因果(照抄注释,别重演):默认落点曾是「`readdirSync` 计数选名 → `writeFileSync`(`w` 覆盖)」
|
|
14
|
+
* 两步,两步之间无独占性;多进程并发同秒都选同一路径 → 后写覆盖先写,用户按回执路径可能打开
|
|
15
|
+
* 另一次调用的产物。修法(现住共用件):`flag:'wx'` 独占创建,`EEXIST` 时递增 `_N` 重试(原子,无需锁)。
|
|
16
|
+
* - 串行语义不变:交付仍是「通式名 + 首试即中」⇒ 文件名与老版逐字一致;
|
|
17
|
+
* - 并发下由文件系统仲裁:败者 `EEXIST` → `_N+1` 重试,保证每个回执路径的内容就是本次产物;
|
|
18
|
+
* - 大小写不敏感(Windows `normcase`)由 `wx` 天然覆盖:`.HTML` 占位同样 `EEXIST`;
|
|
19
|
+
* - **仅** `EEXIST` 重试,其余错误原样抛出(不把权限/路径错伪装成「换个名再写一次」)。
|
|
20
|
+
*
|
|
21
|
+
* #83 返修 R-1 的教训(同抄):回执路径必须 `resolve()` 归一为**绝对路径**——`SKILLS_DB_PATH`
|
|
22
|
+
* 本身可以是相对路径,产物已写盘却把相对串回传给调用方,下游按它打开就会找不到(或找到别处的同名文件)。
|
|
23
|
+
* 共用件回执的 `path` 恒为绝对路径,这条由它保证(本件不再自己 `resolve`)。
|
|
24
|
+
*
|
|
25
|
+
* #245 · 复用窗口(`reuseMs`):**给了就「窗口内已有同一主体的一份 ⇒ 返回它、不新建」**——这是
|
|
26
|
+
* 「24 小时内只产出 1 个」那条口径的落点。判据在共用件里按**落盘名里的时间戳**算(不看 mtime:
|
|
27
|
+
* mtime 会被复制/同步/touch 改掉),超龄那份不算命中 ⇒ 与未命中同路落一份新的(旧的留着当留档)。
|
|
28
|
+
* 只对 `target` 那支生效:`explicit`(`--html <路径>`)是用户逐字指定的落点,共用件本身也不许
|
|
29
|
+
* `file` + `reuse` 同给(`EINVAL`)。
|
|
30
|
+
*
|
|
31
|
+
* 写失败**不静默降级**(本票面第 3 条):照本包 `src/render/errors.ts` 的既有形状抛
|
|
32
|
+
* `ScheduleRenderError`(`code` 取该类型已有的 `'SCHEDULE_HTML_TOO_LARGE'`=「体积/落盘门」那一条,
|
|
33
|
+
* 不新增错误类、不改既有导出面),由出口 `cmd_read.ts` 走 exit 5 + stderr 回执。
|
|
34
|
+
*/
|
|
35
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
36
|
+
import { saveHtmlFile } from 'base-paint/save-html';
|
|
37
|
+
import { ScheduleRenderError } from '../render/errors.js';
|
|
38
|
+
/** 落盘失败一律抛本包渲染层错误(`cause` 保留原始系统错,信息不丢)。 */
|
|
39
|
+
function writeFailed(path, e) {
|
|
40
|
+
if (e instanceof ScheduleRenderError)
|
|
41
|
+
throw e;
|
|
42
|
+
const code = e?.code;
|
|
43
|
+
const detail = e?.message ?? String(e);
|
|
44
|
+
throw new ScheduleRenderError('SCHEDULE_HTML_TOO_LARGE', '[skill-schedule] HTML 落盘失败:' + path + '(' + (code ? code + ':' : '') + detail + ')');
|
|
45
|
+
}
|
|
46
|
+
/** 交付一次 HTML 产物(**唯一落盘点**):
|
|
47
|
+
* - `explicit`(`--html <路径>`,用户逐字指定)→ **覆盖写**,语义与该参数既有口径一致(票面第 3 条);
|
|
48
|
+
* **不吃复用窗口**(逐字落点=说哪落哪);
|
|
49
|
+
* - `targetDir`(落点**目录**的绝对路径;相对路径也收,写前归一为绝对)+ `stem`(文件名主体)→
|
|
50
|
+
* **独占创建 + 递补**(#128);带 `reuseMs`(>0)时改为**窗口内复用**(#245):已有那份不超龄
|
|
51
|
+
* 就返回它、不新建;
|
|
52
|
+
* - 两者都给时 `explicit` 优先(用户指定胜过默认落点;**逐字覆盖写,不带时间戳、不递补**)。
|
|
53
|
+
* ⚠️ **时间戳只在共用件里算一次**:调用方给的是「目录 + 主体」,**不**把「带戳的初候选路径」传进来
|
|
54
|
+
* ——那样共用件会用「带戳的名字」当主体再拼一次时间戳(实测会落出
|
|
55
|
+
* `作息管家_HELP_<stamp>_<stamp>.html`,本项目已踩过一次)。失败抛错给调用方走 exit 5。 */
|
|
56
|
+
export function deliverHtml(input) {
|
|
57
|
+
if (input.explicit !== undefined && input.explicit.length > 0) {
|
|
58
|
+
const written = resolve(input.explicit);
|
|
59
|
+
try {
|
|
60
|
+
return saveHtmlFile({
|
|
61
|
+
dir: dirname(written), file: basename(written), html: input.html, onExists: 'overwrite',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
writeFailed(written, e);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (input.targetDir === undefined || input.targetDir.length === 0 || input.stem === undefined) {
|
|
69
|
+
throw new ScheduleRenderError('SCHEDULE_HTML_TOO_LARGE', '[skill-schedule] deliverHtml 缺落点(`explicit` 与「`targetDir` + `stem`」至少给一组)');
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
return saveHtmlFile({
|
|
73
|
+
dir: input.targetDir,
|
|
74
|
+
stem: input.stem,
|
|
75
|
+
html: input.html,
|
|
76
|
+
...(input.reuseMs === undefined ? {} : { onExists: { reuse: { byAge: input.reuseMs } } }),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
writeFailed(join(input.targetDir, input.stem), e);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/delivery/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,4CAA4C;AAC5C,SAAS,WAAW,CAAC,IAAY,EAAE,CAAU;IAC3C,IAAI,CAAC,YAAY,mBAAmB;QAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAI,CAAuC,EAAE,IAAI,CAAC;IAC5D,MAAM,MAAM,GAAI,CAAuB,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,EACrD,6BAA6B,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;AAC1F,CAAC;AAMD;;;;;;;;;mEASmE;AACnE,MAAM,UAAU,WAAW,CAAC,KAM3B;IACC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,YAAY,CAAC;gBAClB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW;aACxF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,mBAAmB,CAAC,yBAAyB,EACrD,2EAA2E,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC;YAClB,GAAG,EAAE,KAAK,CAAC,SAAS;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
package/dist/fetch/feishu.d.ts
CHANGED
|
@@ -8,6 +8,11 @@ export declare const LARK_CALENDAR_ID = "primary";
|
|
|
8
8
|
export declare const FEISHU_OWNER_MARK = "\u4F5C\u606F\u7BA1\u5BB6\u81EA\u52A8\u540C\u6B65";
|
|
9
9
|
/** 自检留下的远端对象前缀(D-03:用户可据此识别并手工清掉;默认不跑,只走显式 op=check)。 */
|
|
10
10
|
export declare const FEISHU_SENTINEL_MARK = "[\u4F5C\u606F\u7BA1\u5BB6\u6D4B\u8BD5]";
|
|
11
|
+
/** 家目录派生的那一组绝对候选(**纯函数**:只拼路径,不读配置、不碰盘、不起子进程)。
|
|
12
|
+
*
|
|
13
|
+
* 这是候选顺序的唯一定义地——`findLarkCli()` 与体检(`src/health.ts`)都调它,两处不许走散。
|
|
14
|
+
* `where`/`which` 的动态查找与 `/usr` 固定尾巴不在这一组里(见 `probeLarkCli`)。 */
|
|
15
|
+
export declare function larkCliCandidates(): string[];
|
|
11
16
|
export declare function findLarkCli(): string | null;
|
|
12
17
|
export interface LarkRunOk {
|
|
13
18
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/fetch/feishu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/fetch/feishu.ts"],"names":[],"mappings":"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"}
|
package/dist/fetch/feishu.js
CHANGED
|
@@ -8,7 +8,6 @@ import { execFileSync } from 'node:child_process';
|
|
|
8
8
|
import { homedir } from 'node:os';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { ScheduleFetchError } from './errors.js';
|
|
11
|
-
import { loadScheduleConfig } from '../config.js';
|
|
12
11
|
export const LARK_TIMEOUT_SHORT_MS = 15000;
|
|
13
12
|
export const LARK_TIMEOUT_NORMAL_MS = 30000;
|
|
14
13
|
export const LARK_TIMEOUT_LONG_MS = 60000;
|
|
@@ -19,35 +18,58 @@ export const LARK_CALENDAR_ID = 'primary';
|
|
|
19
18
|
export const FEISHU_OWNER_MARK = '作息管家自动同步';
|
|
20
19
|
/** 自检留下的远端对象前缀(D-03:用户可据此识别并手工清掉;默认不跑,只走显式 op=check)。 */
|
|
21
20
|
export const FEISHU_SENTINEL_MARK = '[作息管家测试]';
|
|
22
|
-
//
|
|
23
|
-
// #695 起显式值改从配置项 `lark.cliPath`
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
21
|
+
// 跨平台定位:家目录派生的绝对路径 → `where`/`which` → 固定路径;找不到返 null。
|
|
22
|
+
// #695 起显式值改从配置项 `lark.cliPath` 取;#764(定稿 #761)删掉这个配置项——
|
|
23
|
+
// 「飞书 CLI 路径」不再是配置,由新增的「飞书 CLI」状态行替代(它不是配置项),
|
|
24
|
+
// 故这里只剩兜底探测。原 `LARK_CLI_PATH` 与 `APPDATA` 两个环境变量读取**已删**
|
|
25
|
+
// (口径见「配置的存与生效口径裁定」#675 的解决评论):`%APPDATA%` 那一档改由
|
|
26
|
+
// `os.homedir()` 派生(平台无关地算出来),**不读** `%APPDATA%`/`$HOME` 环境变量。
|
|
27
|
+
//
|
|
28
|
+
// 候选表(#761 定稿 + 维护者 2026-09-20 裁决补 4 条):保留现有 5 档
|
|
29
|
+
// (Windows npm 全局 → `where` → `which` → `/usr/local/bin` → `/usr/bin`),
|
|
30
|
+
// 补 scoop(`<家>\AppData\Local\Programs\lark-cli\lark-cli.exe` 与 `.cmd`)、
|
|
31
|
+
// `/opt/homebrew/bin/lark-cli`、`<家>/.npm-global/bin/lark-cli`、`<家>/.local/bin/lark-cli`。
|
|
32
|
+
// 与备忘录那张表**逐条相同**(跨包锁进 #758)。
|
|
33
|
+
// 理由(第一性原理):技能是**在宿主进程里跑的**,那种进程的 PATH 常常是空的,
|
|
34
|
+
// 所以「靠 PATH 找」这一档靠不住,真正能靠的只有绝对路径那条线。
|
|
35
|
+
/** 家目录派生的那一组绝对候选(**纯函数**:只拼路径,不读配置、不碰盘、不起子进程)。
|
|
36
|
+
*
|
|
37
|
+
* 这是候选顺序的唯一定义地——`findLarkCli()` 与体检(`src/health.ts`)都调它,两处不许走散。
|
|
38
|
+
* `where`/`which` 的动态查找与 `/usr` 固定尾巴不在这一组里(见 `probeLarkCli`)。 */
|
|
39
|
+
export function larkCliCandidates() {
|
|
40
|
+
const home = homedir();
|
|
38
41
|
if (process.platform === 'win32') {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
return [
|
|
43
|
+
join(home, 'AppData', 'Roaming', 'npm', 'lark-cli.cmd'),
|
|
44
|
+
join(home, 'AppData', 'Local', 'Programs', 'lark-cli', 'lark-cli.exe'),
|
|
45
|
+
join(home, 'AppData', 'Local', 'Programs', 'lark-cli', 'lark-cli.cmd'),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
return [
|
|
49
|
+
'/opt/homebrew/bin/lark-cli',
|
|
50
|
+
join(home, '.npm-global', 'bin', 'lark-cli'),
|
|
51
|
+
join(home, '.local', 'bin', 'lark-cli'),
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
/** 按固定顺序探一遍:绝对候选 → `where`/`which` → `/usr` 固定尾巴。命中即返,不抛。 */
|
|
55
|
+
function probeLarkCli(candidates) {
|
|
56
|
+
for (const cand of candidates) {
|
|
42
57
|
try {
|
|
43
58
|
accessSync(cand, constants.X_OK);
|
|
44
59
|
return cand;
|
|
45
60
|
}
|
|
46
61
|
catch { /* 继续 */ }
|
|
62
|
+
}
|
|
63
|
+
if (process.platform === 'win32') {
|
|
47
64
|
try {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
// `where` 常一次吐多行(npm 会同时放 `lark-cli`/`lark-cli.cmd`/`lark-cli.ps1`):
|
|
66
|
+
// 无扩展名那一行 Windows 起不来(直 spawn 报 EINVAL/ENOENT),故优先取 `.cmd` 那一行
|
|
67
|
+
// (真 lark-cli 本体就是 `.cmd`,见 #759 本机实测 `%APPDATA%\npm\lark-cli.cmd`)。
|
|
68
|
+
const lines = execFileSync('where', ['lark-cli'], { stdio: 'pipe', encoding: 'utf8' })
|
|
69
|
+
.split(/\r?\n/).map((s) => s.trim()).filter((s) => s !== '');
|
|
70
|
+
const hit = lines.find((s) => /\.cmd$/i.test(s)) ?? lines[0];
|
|
71
|
+
if (hit !== undefined && hit !== '')
|
|
72
|
+
return hit;
|
|
51
73
|
}
|
|
52
74
|
catch { /* 继续 */ }
|
|
53
75
|
}
|
|
@@ -68,6 +90,9 @@ export function findLarkCli() {
|
|
|
68
90
|
}
|
|
69
91
|
return null;
|
|
70
92
|
}
|
|
93
|
+
export function findLarkCli() {
|
|
94
|
+
return probeLarkCli(larkCliCandidates());
|
|
95
|
+
}
|
|
71
96
|
// 调 lark-cli:超时/缺失 throw;非 0 退出返 ok:false(供权限判定),不抛。
|
|
72
97
|
export function runLark(cli, args, timeoutMs = LARK_TIMEOUT_NORMAL_MS) {
|
|
73
98
|
let file = cli;
|
package/dist/fetch/feishu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/fetch/feishu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/fetch/feishu.ts"],"names":[],"mappings":"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"}
|
package/dist/fetch/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { ScheduleFetchError, SchedulePolicyError } from './errors.js';
|
|
2
|
-
export { DEFAULT_DB_FILENAME, dbFilename, resolveDbDir, resolveDbPath } from './paths.js';
|
|
2
|
+
export { DEFAULT_DB_FILENAME, DEFAULT_HELP_DIR, dbFilename, resolveDbDir, resolveDbPath, resolveHtmlDir, dbDirOf, dbFileOf, htmlDirOf, resolvedSchedulePaths, } from './paths.js';
|
|
3
|
+
export type { ScheduleResolvedPaths } from './paths.js';
|
|
3
4
|
export { SCHEMA_VERSION, openScheduleDb, closeScheduleDb, addRecord, amendRecord, getRecordById, listRecordsByDate, listRecordsRange, getLastRecord, getStatus, addSummary, getDailySummary, getSummariesRange, listPlanEvents, getPlanEventsRange, getPlanEvent, getPlanTimestamps, searchPlanEvent, ensurePlanEvent, upsertPlanEvents, updatePlanEvent, deactivatePlanEvent, setFeishuEventId, } from './db.js';
|
|
4
5
|
export type { ScheduleDb, ScheduleRecord, DailySummary, PlanEvent } from './db.js';
|
|
5
|
-
export { LARK_TIMEOUT_SHORT_MS, LARK_TIMEOUT_NORMAL_MS, LARK_TIMEOUT_LONG_MS, LARK_CALENDAR_SCOPE, LARK_CALENDAR_ID, FEISHU_OWNER_MARK, FEISHU_SENTINEL_MARK, findLarkCli, runLark, larkVersion, authOpenId, checkCalendar, larkReady, composeFeishuDescription, isOwnedDescription, larkAgenda, larkSearchEvents, larkGetEvent, larkCreateEvent, larkUpdateEvent, larkDeleteEvent, } from './feishu.js';
|
|
6
|
+
export { LARK_TIMEOUT_SHORT_MS, LARK_TIMEOUT_NORMAL_MS, LARK_TIMEOUT_LONG_MS, LARK_CALENDAR_SCOPE, LARK_CALENDAR_ID, FEISHU_OWNER_MARK, FEISHU_SENTINEL_MARK, larkCliCandidates, findLarkCli, runLark, larkVersion, authOpenId, checkCalendar, larkReady, composeFeishuDescription, isOwnedDescription, larkAgenda, larkSearchEvents, larkGetEvent, larkCreateEvent, larkUpdateEvent, larkDeleteEvent, } from './feishu.js';
|
|
6
7
|
export type { LarkRunOk, LarkRunDenied, LarkReady, LarkEvent } from './feishu.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EAAE,gBAAgB,EACrC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,GACpD,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,cAAc,EAAE,cAAc,EAAE,eAAe,EAC/C,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EACpG,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAC9C,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EACpF,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,GAC1F,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EACxF,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EACzD,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAC1F,wBAAwB,EAAE,kBAAkB,EAC5C,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAC9F,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/fetch/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { ScheduleFetchError, SchedulePolicyError } from './errors.js';
|
|
2
|
-
export { DEFAULT_DB_FILENAME, dbFilename, resolveDbDir, resolveDbPath } from './paths.js';
|
|
2
|
+
export { DEFAULT_DB_FILENAME, DEFAULT_HELP_DIR, dbFilename, resolveDbDir, resolveDbPath, resolveHtmlDir, dbDirOf, dbFileOf, htmlDirOf, resolvedSchedulePaths, } from './paths.js';
|
|
3
3
|
export { SCHEMA_VERSION, openScheduleDb, closeScheduleDb, addRecord, amendRecord, getRecordById, listRecordsByDate, listRecordsRange, getLastRecord, getStatus, addSummary, getDailySummary, getSummariesRange, listPlanEvents, getPlanEventsRange, getPlanEvent, getPlanTimestamps, searchPlanEvent, ensurePlanEvent, upsertPlanEvents, updatePlanEvent, deactivatePlanEvent, setFeishuEventId, } from './db.js';
|
|
4
|
-
export { LARK_TIMEOUT_SHORT_MS, LARK_TIMEOUT_NORMAL_MS, LARK_TIMEOUT_LONG_MS, LARK_CALENDAR_SCOPE, LARK_CALENDAR_ID, FEISHU_OWNER_MARK, FEISHU_SENTINEL_MARK, findLarkCli, runLark, larkVersion, authOpenId, checkCalendar, larkReady, composeFeishuDescription, isOwnedDescription, larkAgenda, larkSearchEvents, larkGetEvent, larkCreateEvent, larkUpdateEvent, larkDeleteEvent, } from './feishu.js';
|
|
4
|
+
export { LARK_TIMEOUT_SHORT_MS, LARK_TIMEOUT_NORMAL_MS, LARK_TIMEOUT_LONG_MS, LARK_CALENDAR_SCOPE, LARK_CALENDAR_ID, FEISHU_OWNER_MARK, FEISHU_SENTINEL_MARK, larkCliCandidates, findLarkCli, runLark, larkVersion, authOpenId, checkCalendar, larkReady, composeFeishuDescription, isOwnedDescription, larkAgenda, larkSearchEvents, larkGetEvent, larkCreateEvent, larkUpdateEvent, larkDeleteEvent, } from './feishu.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/fetch/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,mBAAmB,EAAE,gBAAgB,EACrC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,GACpD,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,cAAc,EAAE,cAAc,EAAE,eAAe,EAC/C,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EACpG,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAC9C,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EACpF,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,GAC1F,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EACxF,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EACzD,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAC1F,wBAAwB,EAAE,kBAAkB,EAC5C,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAC9F,MAAM,aAAa,CAAC"}
|