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.
Files changed (151) hide show
  1. package/SKILL.md +9 -7
  2. package/dist/.gen-inputs.json +45 -0
  3. package/dist/admin/commands.d.ts +10 -0
  4. package/dist/admin/commands.d.ts.map +1 -0
  5. package/dist/admin/commands.js +5 -0
  6. package/dist/admin/commands.js.map +1 -0
  7. package/dist/admin/handlers.d.ts +3 -0
  8. package/dist/admin/handlers.d.ts.map +1 -0
  9. package/dist/admin/handlers.js +66 -0
  10. package/dist/admin/handlers.js.map +1 -0
  11. package/dist/admin/index.d.ts +3 -0
  12. package/dist/admin/index.d.ts.map +1 -0
  13. package/dist/admin/index.js +3 -0
  14. package/dist/admin/index.js.map +1 -0
  15. package/dist/admin/routes.d.ts +8 -0
  16. package/dist/admin/routes.d.ts.map +1 -0
  17. package/dist/admin/routes.js +7 -0
  18. package/dist/admin/routes.js.map +1 -0
  19. package/dist/analyze/commands.d.ts +10 -0
  20. package/dist/analyze/commands.d.ts.map +1 -0
  21. package/dist/analyze/commands.js +5 -0
  22. package/dist/analyze/commands.js.map +1 -0
  23. package/dist/analyze/handlers.d.ts +3 -0
  24. package/dist/analyze/handlers.d.ts.map +1 -0
  25. package/dist/analyze/handlers.js +57 -0
  26. package/dist/analyze/handlers.js.map +1 -0
  27. package/dist/analyze/index.d.ts +3 -0
  28. package/dist/analyze/index.d.ts.map +1 -0
  29. package/dist/analyze/index.js +3 -0
  30. package/dist/analyze/index.js.map +1 -0
  31. package/dist/analyze/routes.d.ts +8 -0
  32. package/dist/analyze/routes.d.ts.map +1 -0
  33. package/dist/analyze/routes.js +8 -0
  34. package/dist/analyze/routes.js.map +1 -0
  35. package/dist/cli/cmd_read.js +48 -251
  36. package/dist/cli/cmd_read.js.map +1 -1
  37. package/dist/cli/config.d.ts +5 -2
  38. package/dist/cli/config.d.ts.map +1 -1
  39. package/dist/cli/config.js +8 -3
  40. package/dist/cli/config.js.map +1 -1
  41. package/dist/cli/keys.d.ts +5 -0
  42. package/dist/cli/keys.d.ts.map +1 -0
  43. package/dist/cli/keys.js +21 -0
  44. package/dist/cli/keys.js.map +1 -0
  45. package/dist/cli/registry.d.ts +4 -0
  46. package/dist/cli/registry.d.ts.map +1 -0
  47. package/dist/cli/registry.js +12 -0
  48. package/dist/cli/registry.js.map +1 -0
  49. package/dist/config.d.ts +19 -8
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +81 -21
  52. package/dist/config.js.map +1 -1
  53. package/dist/delivery/index.d.ts +8 -0
  54. package/dist/delivery/index.d.ts.map +1 -0
  55. package/dist/delivery/index.js +7 -0
  56. package/dist/delivery/index.js.map +1 -0
  57. package/dist/delivery/naming.d.ts +24 -0
  58. package/dist/delivery/naming.d.ts.map +1 -0
  59. package/dist/delivery/naming.js +8 -0
  60. package/dist/delivery/naming.js.map +1 -0
  61. package/dist/delivery/output.d.ts +22 -0
  62. package/dist/delivery/output.d.ts.map +1 -0
  63. package/dist/delivery/output.js +83 -0
  64. package/dist/delivery/output.js.map +1 -0
  65. package/dist/fetch/feishu.d.ts +5 -0
  66. package/dist/fetch/feishu.d.ts.map +1 -1
  67. package/dist/fetch/feishu.js +48 -23
  68. package/dist/fetch/feishu.js.map +1 -1
  69. package/dist/fetch/index.d.ts +3 -2
  70. package/dist/fetch/index.d.ts.map +1 -1
  71. package/dist/fetch/index.js +2 -2
  72. package/dist/fetch/index.js.map +1 -1
  73. package/dist/fetch/paths.d.ts +42 -4
  74. package/dist/fetch/paths.d.ts.map +1 -1
  75. package/dist/fetch/paths.js +67 -11
  76. package/dist/fetch/paths.js.map +1 -1
  77. package/dist/health.d.ts.map +1 -1
  78. package/dist/health.js +34 -73
  79. package/dist/health.js.map +1 -1
  80. package/dist/help/helpFile.d.ts +5 -3
  81. package/dist/help/helpFile.d.ts.map +1 -1
  82. package/dist/help/helpFile.js +6 -5
  83. package/dist/help/helpFile.js.map +1 -1
  84. package/dist/help/helpPaths.d.ts +11 -12
  85. package/dist/help/helpPaths.d.ts.map +1 -1
  86. package/dist/help/helpPaths.js +9 -36
  87. package/dist/help/helpPaths.js.map +1 -1
  88. package/dist/plan/commands.d.ts +9 -0
  89. package/dist/plan/commands.d.ts.map +1 -0
  90. package/dist/plan/commands.js +5 -0
  91. package/dist/plan/commands.js.map +1 -0
  92. package/dist/plan/handlers.d.ts +3 -0
  93. package/dist/plan/handlers.d.ts.map +1 -0
  94. package/dist/plan/handlers.js +31 -0
  95. package/dist/plan/handlers.js.map +1 -0
  96. package/dist/plan/index.d.ts +2 -0
  97. package/dist/plan/index.d.ts.map +1 -1
  98. package/dist/plan/index.js +4 -2
  99. package/dist/plan/index.js.map +1 -1
  100. package/dist/plan/routes.d.ts +8 -0
  101. package/dist/plan/routes.d.ts.map +1 -0
  102. package/dist/plan/routes.js +18 -0
  103. package/dist/plan/routes.js.map +1 -0
  104. package/dist/policy/wakewords.d.ts.map +1 -1
  105. package/dist/policy/wakewords.js +9 -59
  106. package/dist/policy/wakewords.js.map +1 -1
  107. package/dist/query/commands.d.ts +26 -0
  108. package/dist/query/commands.d.ts.map +1 -0
  109. package/dist/query/commands.js +8 -0
  110. package/dist/query/commands.js.map +1 -0
  111. package/dist/query/handlers.d.ts +6 -0
  112. package/dist/query/handlers.d.ts.map +1 -0
  113. package/dist/query/handlers.js +67 -0
  114. package/dist/query/handlers.js.map +1 -0
  115. package/dist/query/index.d.ts +3 -0
  116. package/dist/query/index.d.ts.map +1 -0
  117. package/dist/query/index.js +3 -0
  118. package/dist/query/index.js.map +1 -0
  119. package/dist/query/routes.d.ts +9 -0
  120. package/dist/query/routes.d.ts.map +1 -0
  121. package/dist/query/routes.js +20 -0
  122. package/dist/query/routes.js.map +1 -0
  123. package/dist/render/envelope.d.ts +2 -1
  124. package/dist/render/envelope.d.ts.map +1 -1
  125. package/dist/render/envelope.js +5 -11
  126. package/dist/render/envelope.js.map +1 -1
  127. package/dist/shared/commandSpec.d.ts +83 -0
  128. package/dist/shared/commandSpec.d.ts.map +1 -0
  129. package/dist/shared/commandSpec.js +2 -0
  130. package/dist/shared/commandSpec.js.map +1 -0
  131. package/dist/triggers/routes.generated.d.ts +297 -0
  132. package/dist/triggers/routes.generated.d.ts.map +1 -0
  133. package/dist/triggers/routes.generated.js +52 -0
  134. package/dist/triggers/routes.generated.js.map +1 -0
  135. package/dist/write/commands.d.ts +9 -0
  136. package/dist/write/commands.d.ts.map +1 -0
  137. package/dist/write/commands.js +5 -0
  138. package/dist/write/commands.js.map +1 -0
  139. package/dist/write/handlers.d.ts +3 -0
  140. package/dist/write/handlers.d.ts.map +1 -0
  141. package/dist/write/handlers.js +24 -0
  142. package/dist/write/handlers.js.map +1 -0
  143. package/dist/write/index.d.ts +3 -0
  144. package/dist/write/index.d.ts.map +1 -0
  145. package/dist/write/index.js +3 -0
  146. package/dist/write/index.js.map +1 -0
  147. package/dist/write/routes.d.ts +8 -0
  148. package/dist/write/routes.d.ts.map +1 -0
  149. package/dist/write/routes.js +10 -0
  150. package/dist/write/routes.js.map +1 -0
  151. 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
- * 平台无关),`ILIFE_CONFIG_DIR` 设定且非空即整体接管配置目录;数据目录默认 `~/.ilife/data/`,
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/help`(原 `src/help/helpPaths.ts` 的 `HELP_HTML_DIR_PARTS` 两段——
14
- * 配置形状是字符串、段间用 `/` 或 `\` 分隔,因为受限子集不收数组;见 `base-link-core/README.md` §支持范围);
15
- * · `files.help`=`作息管家_HELP`(原 `src/help/helpFile.ts` 的 `HELP_FILE_STEM`);
16
- * · `lark.cliPath`=空串(原 `LARK_CLI_PATH` 环境变量;空串=没有显式值,走 `findLarkCli` 的兜底探测)。
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/help' },
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
- if (memo === null) {
35
- const loaded = loadConfig(SCHEDULE_CONFIG_STEM, SCHEDULE_CONFIG_DEFAULTS);
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
- path: loaded.path,
40
- dataDir: loaded.dataDir,
41
- created: loaded.created,
42
- values: loaded.values,
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, SCHEDULE_CONFIG_DEFAULTS, values);
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, SCHEDULE_CONFIG_DEFAULTS);
115
+ const r = resetConfig(SCHEDULE_CONFIG_STEM, writableDefaults(), SCHEDULE_CONFIG_RETIRED);
56
116
  memo = null;
57
117
  return r;
58
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGrE,sCAAsC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAmB,CAAC;AAExD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACzC,IAAI,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE;IACnC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CACtB,CAAC;AAaF,oDAAoD;AACpD,IAAI,IAAI,GAAgC,IAAI,CAAC;AAE7C,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB;IAChC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC;QAC1E,wDAAwD;QACxD,iCAAiC;QACjC,IAAI,GAAG;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAyC;SACzD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,CAAC,GAAG,UAAU,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,GAAG,IAAI,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,GAAG,WAAW,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC;IACtE,IAAI,GAAG,IAAI,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED;6DAC6D;AAC7D,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,CAAC"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/fetch/feishu.ts"],"names":[],"mappings":"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"}
@@ -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
- // 跨平台定位:配置里的显式路径 → Windows npm 全局(家目录派生)→ where/which → 固定路径;找不到返 null。
23
- // #695 起显式值改从配置项 `lark.cliPath` 取(空串=没有显式值,走兜底探测);原 `LARK_CLI_PATH` 与
24
- // `APPDATA` 两个环境变量读取**已删**(口径见「配置的存与生效口径裁定」#675 的解决评论)。
25
- export function findLarkCli() {
26
- const config = loadScheduleConfig();
27
- const over = config.values.lark.cliPath;
28
- if (over !== '') {
29
- try {
30
- accessSync(over, constants.X_OK);
31
- return over;
32
- }
33
- catch {
34
- throw new ScheduleFetchError('LARK_UNAVAILABLE', '配置项 lark.cliPath 指的那条 lark-cli 用不了:' + over
35
- + '(该在哪配=配置文件 ' + config.path + ' 的 lark.cliPath;留空即走本机自动探测)');
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
- // 老实现认 `%APPDATA%\npm\lark-cli.cmd`;#695 起由 `os.homedir()` 派生同一处(平台无关地算出来),
40
- // 只在 win32 这一支里用——不再读 `APPDATA`。
41
- const cand = join(homedir(), 'AppData', 'Roaming', 'npm', 'lark-cli.cmd');
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
- const out = execFileSync('where', ['lark-cli'], { stdio: 'pipe', encoding: 'utf8' }).split(/\r?\n/)[0].trim();
49
- if (out)
50
- return out;
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;
@@ -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":"AAAA,qDAAqD;AACrD,4FAA4F;AAC5F,mEAAmE;AACnE,yDAAyD;AACzD,+CAA+C;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAC9C,oDAAoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAC1C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,uDAAuD;AACvD,yDAAyD;AACzD,8CAA8C;AAC9C,yDAAyD;AACzD,iDAAiD;AACjD,+DAA+D;AAC/D,EAAE;AACF,iDAAiD;AACjD,wEAAwE;AACxE,wEAAwE;AACxE,yFAAyF;AACzF,8BAA8B;AAC9B,8CAA8C;AAC9C,qCAAqC;AACrC;;;kEAGkE;AAClE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;YACL,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC;YACvD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC;YACtE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC;SACvE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,4BAA4B;QAC5B,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,YAAY,CAAC,UAA6B;IACjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,qEAAqE;YACrE,+DAA+D;YAC/D,qEAAqE;YACrE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;iBACnF,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,GAAG,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5F,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC;YAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC3C,CAAC;AAKD,qDAAqD;AACrD,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,SAAS,GAAG,sBAAsB;IACrF,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAmF,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,GAAG,GAAG,CAAC,CAAC;QACnG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;IACjG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACrD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAC;IAC/F,IAAI,CAAC,GAAY,IAAI,CAAC;IACtB,IAAI,CAAC;QAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IACjC,MAAM,CAAC;QAAC,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;IAAC,CAAC;IAC3F,MAAM,EAAE,GAAI,CAAsD,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC;IAC5F,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,qCAAqC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAID,+CAA+C;AAC/C,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,aAAa,EAAE,kCAAkC,CAAC,CAAC;IACzG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC5D,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAoB;IACrD,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACpF,CAAC;AAcD,SAAS,GAAG,CAAC,CAAU,IAAY,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3E,SAAS,OAAO,CAAC,GAA4B;IAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,KAAK,EAAE,GAAG,CAAE,GAAG,CAAC,UAAkD,EAAE,QAAQ,CAAC;QAC7E,GAAG,EAAE,GAAG,CAAE,GAAG,CAAC,QAAgD,EAAE,QAAQ,CAAC;QACzE,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B;IAChD,gFAAgF;IAChF,iBAAiB;IACjB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,KAAK,EAAE,GAAG,CAAE,GAAG,CAAC,KAA6C,EAAE,SAAS,CAAC;QACzE,GAAG,EAAE,GAAG,CAAE,GAAG,CAAC,GAA2C,EAAE,SAAS,CAAC;QACrE,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAc,EAAE,IAAY;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAA4B,CAAC;IAAC,CAAC;IAC/D,MAAM,CAAC;QAAC,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;IAAC,CAAC;AACxF,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAc;IACtE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAClI,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAc;IAC5E,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACtI,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;AACxG,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,OAAe;IACvD,IAAI,CAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACrH,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,CAAC,IAA2C,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,EAAE,KAA4C,CAAC;IAC9D,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACxB,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAE,WAAmB;IACjH,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB;QACxD,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;KAC3D,CAAC;IACF,IAAI,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IACvD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACjH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO;QACrC,KAAK,EAAE,GAAG,CAAE,IAAI,CAAC,UAAkD,EAAE,QAAQ,CAAC,IAAI,QAAQ;QAC1F,GAAG,EAAE,GAAG,CAAE,IAAI,CAAC,QAAgD,EAAE,QAAQ,CAAC,IAAI,MAAM;QACpF,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW;QACjD,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAC7B,GAAW,EAAE,OAAe,EAC5B,KAA+E;IAE/E,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/F,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChH,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IACvD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAC9D,OAAO;QACL,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;QACjD,KAAK,EAAE,GAAG,CAAE,IAAI,CAAC,UAAkD,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;QACnG,GAAG,EAAE,GAAG,CAAE,IAAI,CAAC,QAAgD,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE;QAC7F,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe,EAAE,aAAqB,gBAAgB;IACjG,MAAM,CAAC,GAAG,OAAO,CACf,GAAG,EACH,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,EACpF,oBAAoB,CACrB,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnH,CAAC"}
@@ -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,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1F,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,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EACvE,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"}
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"}
@@ -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
@@ -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,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1F,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,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EACvE,wBAAwB,EAAE,kBAAkB,EAC5C,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,GAC9F,MAAM,aAAa,CAAC"}
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"}