skill-memo-ilife 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/SKILL.md +24 -7
  2. package/dist/cli/cmd_read.js +356 -52
  3. package/dist/cli/cmd_read.js.map +1 -1
  4. package/dist/cli/config.d.ts +16 -0
  5. package/dist/cli/config.d.ts.map +1 -0
  6. package/dist/cli/config.js +84 -0
  7. package/dist/cli/config.js.map +1 -0
  8. package/dist/cli/health.d.ts +7 -0
  9. package/dist/cli/health.d.ts.map +1 -0
  10. package/dist/cli/health.js +32 -0
  11. package/dist/cli/health.js.map +1 -0
  12. package/dist/config.d.ts +47 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +65 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/fetch/auth.d.ts +13 -0
  17. package/dist/fetch/auth.d.ts.map +1 -0
  18. package/dist/fetch/auth.js +94 -0
  19. package/dist/fetch/auth.js.map +1 -0
  20. package/dist/fetch/batch.d.ts +20 -0
  21. package/dist/fetch/batch.d.ts.map +1 -0
  22. package/dist/fetch/batch.js +45 -0
  23. package/dist/fetch/batch.js.map +1 -0
  24. package/dist/fetch/db.d.ts +72 -21
  25. package/dist/fetch/db.d.ts.map +1 -1
  26. package/dist/fetch/db.js +197 -85
  27. package/dist/fetch/db.js.map +1 -1
  28. package/dist/fetch/errors.d.ts +3 -1
  29. package/dist/fetch/errors.d.ts.map +1 -1
  30. package/dist/fetch/errors.js.map +1 -1
  31. package/dist/fetch/feishu.d.ts +1 -1
  32. package/dist/fetch/feishu.d.ts.map +1 -1
  33. package/dist/fetch/feishu.js +15 -13
  34. package/dist/fetch/feishu.js.map +1 -1
  35. package/dist/fetch/index.d.ts +14 -2
  36. package/dist/fetch/index.d.ts.map +1 -1
  37. package/dist/fetch/index.js +10 -1
  38. package/dist/fetch/index.js.map +1 -1
  39. package/dist/fetch/paths.d.ts +9 -0
  40. package/dist/fetch/paths.d.ts.map +1 -0
  41. package/dist/fetch/paths.js +24 -0
  42. package/dist/fetch/paths.js.map +1 -0
  43. package/dist/fetch/reminders.d.ts +30 -0
  44. package/dist/fetch/reminders.d.ts.map +1 -0
  45. package/dist/fetch/reminders.js +284 -0
  46. package/dist/fetch/reminders.js.map +1 -0
  47. package/dist/fetch/sentinel.d.ts +28 -0
  48. package/dist/fetch/sentinel.d.ts.map +1 -0
  49. package/dist/fetch/sentinel.js +150 -0
  50. package/dist/fetch/sentinel.js.map +1 -0
  51. package/dist/fetch/taskWrite.d.ts +27 -0
  52. package/dist/fetch/taskWrite.d.ts.map +1 -0
  53. package/dist/fetch/taskWrite.js +70 -0
  54. package/dist/fetch/taskWrite.js.map +1 -0
  55. package/dist/fetch/tasks.d.ts +19 -0
  56. package/dist/fetch/tasks.d.ts.map +1 -0
  57. package/dist/fetch/tasks.js +77 -0
  58. package/dist/fetch/tasks.js.map +1 -0
  59. package/dist/health.d.ts +41 -0
  60. package/dist/health.d.ts.map +1 -0
  61. package/dist/health.js +594 -0
  62. package/dist/health.js.map +1 -0
  63. package/dist/help/lookup.d.ts.map +1 -1
  64. package/dist/help/lookup.js +3 -2
  65. package/dist/help/lookup.js.map +1 -1
  66. package/dist/help/manifest.d.ts +7 -16
  67. package/dist/help/manifest.d.ts.map +1 -1
  68. package/dist/help/manifest.js +30 -10
  69. package/dist/help/manifest.js.map +1 -1
  70. package/dist/help/sceneData.js +1 -1
  71. package/dist/help/scenes/checkin.d.ts +1 -1
  72. package/dist/help/scenes/checkin.js +1 -1
  73. package/dist/help/scenes/init.d.ts +1 -1
  74. package/dist/help/scenes/init.js +1 -1
  75. package/dist/help/scenes/memo.d.ts +1 -1
  76. package/dist/help/scenes/memo.js +1 -1
  77. package/dist/help/scenes/mood.d.ts +1 -1
  78. package/dist/help/scenes/mood.js +1 -1
  79. package/dist/help/scenes/remind.d.ts +1 -1
  80. package/dist/help/scenes/remind.js +1 -1
  81. package/dist/help/scenes/search.d.ts +1 -1
  82. package/dist/help/scenes/search.js +1 -1
  83. package/dist/help/scenes/sync.d.ts +1 -1
  84. package/dist/help/scenes/sync.js +2 -2
  85. package/dist/help/scenes/sync.js.map +1 -1
  86. package/dist/help/scenes/wish.d.ts +1 -1
  87. package/dist/help/scenes/wish.js +2 -2
  88. package/dist/help/scenes/wish.js.map +1 -1
  89. package/dist/policy/category.d.ts.map +1 -1
  90. package/dist/policy/category.js +5 -2
  91. package/dist/policy/category.js.map +1 -1
  92. package/dist/policy/crud.d.ts +6 -2
  93. package/dist/policy/crud.d.ts.map +1 -1
  94. package/dist/policy/crud.js +14 -5
  95. package/dist/policy/crud.js.map +1 -1
  96. package/dist/policy/index.d.ts +4 -3
  97. package/dist/policy/index.d.ts.map +1 -1
  98. package/dist/policy/index.js +4 -2
  99. package/dist/policy/index.js.map +1 -1
  100. package/dist/policy/media.d.ts +15 -0
  101. package/dist/policy/media.d.ts.map +1 -0
  102. package/dist/policy/media.js +88 -0
  103. package/dist/policy/media.js.map +1 -0
  104. package/dist/policy/reminder.d.ts +8 -1
  105. package/dist/policy/reminder.d.ts.map +1 -1
  106. package/dist/policy/reminder.js +82 -4
  107. package/dist/policy/reminder.js.map +1 -1
  108. package/dist/policy/wakewords.d.ts +1 -1
  109. package/dist/policy/wakewords.d.ts.map +1 -1
  110. package/dist/policy/wakewords.js +1 -0
  111. package/dist/policy/wakewords.js.map +1 -1
  112. package/dist/render/envelope.d.ts.map +1 -1
  113. package/dist/render/envelope.js +3 -1
  114. package/dist/render/envelope.js.map +1 -1
  115. package/dist/render/errors.d.ts +1 -1
  116. package/dist/render/errors.d.ts.map +1 -1
  117. package/dist/render/errors.js +1 -1
  118. package/dist/render/errors.js.map +1 -1
  119. package/dist/render/html.d.ts +0 -3
  120. package/dist/render/html.d.ts.map +1 -1
  121. package/dist/render/html.js +2 -12
  122. package/dist/render/html.js.map +1 -1
  123. package/dist/render/index.d.ts +4 -1
  124. package/dist/render/index.d.ts.map +1 -1
  125. package/dist/render/index.js +5 -1
  126. package/dist/render/index.js.map +1 -1
  127. package/dist/render/pageAssets.d.ts +9 -0
  128. package/dist/render/pageAssets.d.ts.map +1 -0
  129. package/dist/render/pageAssets.js +73 -0
  130. package/dist/render/pageAssets.js.map +1 -0
  131. package/dist/render/pages.d.ts +54 -0
  132. package/dist/render/pages.d.ts.map +1 -0
  133. package/dist/render/pages.js +175 -0
  134. package/dist/render/pages.js.map +1 -0
  135. package/dist/wish/complete.d.ts +10 -0
  136. package/dist/wish/complete.d.ts.map +1 -0
  137. package/dist/wish/complete.js +72 -0
  138. package/dist/wish/complete.js.map +1 -0
  139. package/dist/wish/due.d.ts +16 -0
  140. package/dist/wish/due.d.ts.map +1 -0
  141. package/dist/wish/due.js +54 -0
  142. package/dist/wish/due.js.map +1 -0
  143. package/dist/wish/ensure.d.ts +60 -0
  144. package/dist/wish/ensure.d.ts.map +1 -0
  145. package/dist/wish/ensure.js +233 -0
  146. package/dist/wish/ensure.js.map +1 -0
  147. package/dist/wish/gate.d.ts +10 -0
  148. package/dist/wish/gate.d.ts.map +1 -0
  149. package/dist/wish/gate.js +14 -0
  150. package/dist/wish/gate.js.map +1 -0
  151. package/dist/wish/index.d.ts +11 -0
  152. package/dist/wish/index.d.ts.map +1 -0
  153. package/dist/wish/index.js +8 -0
  154. package/dist/wish/index.js.map +1 -0
  155. package/dist/wish/mark.d.ts +5 -0
  156. package/dist/wish/mark.d.ts.map +1 -0
  157. package/dist/wish/mark.js +15 -0
  158. package/dist/wish/mark.js.map +1 -0
  159. package/dist/wish/reconcile.d.ts +24 -0
  160. package/dist/wish/reconcile.d.ts.map +1 -0
  161. package/dist/wish/reconcile.js +159 -0
  162. package/dist/wish/reconcile.js.map +1 -0
  163. package/dist/wish/taskRemove.d.ts +4 -0
  164. package/dist/wish/taskRemove.d.ts.map +1 -0
  165. package/dist/wish/taskRemove.js +22 -0
  166. package/dist/wish/taskRemove.js.map +1 -0
  167. package/dist/wish/taskSync.d.ts +19 -0
  168. package/dist/wish/taskSync.d.ts.map +1 -0
  169. package/dist/wish/taskSync.js +50 -0
  170. package/dist/wish/taskSync.js.map +1 -0
  171. package/dist/wish/wizards.d.ts +38 -0
  172. package/dist/wish/wizards.d.ts.map +1 -0
  173. package/dist/wish/wizards.js +92 -0
  174. package/dist/wish/wizards.js.map +1 -0
  175. package/package.json +1 -1
  176. package/templates/change_category.html +2 -2
  177. package/templates/init_report.html +2 -2
  178. package/templates/memo_query.html +2 -2
  179. package/templates/sync_report.html +2 -2
  180. package/templates/wish_complete.html +2 -2
  181. package/templates/wish_plan.html +2 -2
  182. package/dist/help/memoOutput.d.ts +0 -29
  183. package/dist/help/memoOutput.d.ts.map +0 -1
  184. package/dist/help/memoOutput.js +0 -115
  185. package/dist/help/memoOutput.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cmd_read.js","sourceRoot":"","sources":["../../src/cli/cmd_read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd_read.js","sourceRoot":"","sources":["../../src/cli/cmd_read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** 三个 key 的唯一定义地(插件侧镜像同值,见 `packages/plugin-memo-ilife/src/bridge.ts`)。 */
2
+ export declare const CONFIG_KEYS: {
3
+ readonly read: "memo.config.read";
4
+ readonly write: "memo.config.write";
5
+ readonly reset: "memo.config.reset";
6
+ };
7
+ /** 是不是配置 key(分派层拦截用)。 */
8
+ export declare function isConfigKey(key: string): boolean;
9
+ /**
10
+ * 跑一个配置 key,返回整行 envelope JSON。
11
+ *
12
+ * 三个 key 的载荷:读 → `{path, dataDir, created, values}`;写 → 入参 `{values}`,回执 `{path, values}`;
13
+ * 重置 → `{path, backupPath}`(`backupPath` 为 null 表示本来就没有配置文件)。
14
+ */
15
+ export declare function runConfigKey(key: string, params: Record<string, unknown>): string;
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAeA,2EAA2E;AAC3E,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAyCD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAejF"}
@@ -0,0 +1,84 @@
1
+ /** 设置页专用的三个配置 key:读/写/重置。**它们不是唤醒词命令**。
2
+ *
3
+ * 为什么事实住这儿、不进 `src/policy/wakewords.ts` 那张唤醒词表:那张表管的是**唤醒词命令**
4
+ * (短语→key→形状→示例),要进 HELP 与唤醒词计数;这三个 key 只由设置页(插件)经既有
5
+ * 「RPC → spawn 技能 CLI」通道调用,没有唤醒词、不进 HELP、也不该出现在用户的命令面上。
6
+ * 按「一条命令的事实只住一处」的同一取向,它们的唯一定义地是这里,并由 `cmd_read.ts` 在
7
+ * **预检与分派层之前**拦下来(读写配置不该要求库目录已配、也不需要形状表里有它)。
8
+ *
9
+ * 输出仍守唯一出口那条规矩:stdout 一行 envelope JSON(version/skill/shape/key/data 五字段)。
10
+ * 解析器与校验在 `base-link-core`:本件只把它的报错原样交给人看(配置件第 N 行那句人话)。
11
+ */
12
+ import { ENVELOPE_VERSION } from 'base-link-core';
13
+ import { loadMemoConfig, resetMemoConfig, saveMemoConfig } from '../config.js';
14
+ /** 三个 key 的唯一定义地(插件侧镜像同值,见 `packages/plugin-memo-ilife/src/bridge.ts`)。 */
15
+ export const CONFIG_KEYS = {
16
+ read: 'memo.config.read',
17
+ write: 'memo.config.write',
18
+ reset: 'memo.config.reset',
19
+ };
20
+ /** 是不是配置 key(分派层拦截用)。 */
21
+ export function isConfigKey(key) {
22
+ return key === CONFIG_KEYS.read || key === CONFIG_KEYS.write || key === CONFIG_KEYS.reset;
23
+ }
24
+ /** 本技能的 envelope skill 名(与 `render/envelope.ts` 的 `createEnvelope({skill:'memo'})` 同值)。 */
25
+ const MEMO_SKILL = 'memo';
26
+ function fail(code, msg) {
27
+ console.error('ERR ' + code + ': ' + msg);
28
+ process.exit(code);
29
+ }
30
+ function envelope(key, shape, data) {
31
+ return JSON.stringify({ version: ENVELOPE_VERSION, skill: MEMO_SKILL, shape, key, data });
32
+ }
33
+ /** 局部写:给的组按键覆盖,组里没给的子项保留现值(设置页一次只提交改动过的项)。 */
34
+ function mergeValues(current, incoming) {
35
+ const out = {};
36
+ for (const [key, value] of Object.entries(current))
37
+ out[key] = value;
38
+ for (const [key, value] of Object.entries(incoming)) {
39
+ const group = typeof value === 'object' && value !== null && !Array.isArray(value);
40
+ const base = out[key];
41
+ if (!group) {
42
+ out[key] = value;
43
+ continue;
44
+ }
45
+ const merged = { ...(typeof base === 'object' && base !== null ? base : {}) };
46
+ for (const [child, inner] of Object.entries(value))
47
+ merged[child] = inner;
48
+ out[key] = merged;
49
+ }
50
+ return out;
51
+ }
52
+ /** 人话交回:base-link-core 的 `ConfigError` 报文里已经带了行号与文件名,别包成栈。 */
53
+ function withHumanError(run) {
54
+ try {
55
+ return run();
56
+ }
57
+ catch (e) {
58
+ fail(1, e instanceof Error ? e.message : String(e));
59
+ }
60
+ }
61
+ /**
62
+ * 跑一个配置 key,返回整行 envelope JSON。
63
+ *
64
+ * 三个 key 的载荷:读 → `{path, dataDir, created, values}`;写 → 入参 `{values}`,回执 `{path, values}`;
65
+ * 重置 → `{path, backupPath}`(`backupPath` 为 null 表示本来就没有配置文件)。
66
+ */
67
+ export function runConfigKey(key, params) {
68
+ if (key === CONFIG_KEYS.read) {
69
+ const c = withHumanError(() => loadMemoConfig());
70
+ return envelope(key, 'detail', { path: c.path, dataDir: c.dataDir, created: c.created, values: c.values });
71
+ }
72
+ if (key === CONFIG_KEYS.write) {
73
+ const raw = params['values'];
74
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
75
+ fail(2, '缺参数 values(须为对象)');
76
+ const current = withHumanError(() => loadMemoConfig()).values;
77
+ const merged = mergeValues(current, raw);
78
+ const r = withHumanError(() => saveMemoConfig(merged));
79
+ return envelope(key, 'receipt', { path: r.path, values: merged });
80
+ }
81
+ const r = withHumanError(() => resetMemoConfig());
82
+ return envelope(key, 'receipt', { path: r.path, backupPath: r.backupPath });
83
+ }
84
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** 体检命令名(插件侧镜像同值,见 `packages/plugin-memo-ilife/src/bridge.ts`)。 */
2
+ export declare const HEALTH_CHECK_KEY: "memo.config.check";
3
+ /** 是不是体检命令(分派层拦截用)。 */
4
+ export declare function isHealthCheckKey(key: string): boolean;
5
+ /** 跑一次体检,返回整行 envelope JSON(`data` 即那份报告)。 */
6
+ export declare function runHealthCheckKey(key: string): string;
7
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/cli/health.ts"],"names":[],"mappings":"AAaA,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,EAAG,mBAA4B,CAAC;AAK7D,uBAAuB;AACvB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrD"}
@@ -0,0 +1,32 @@
1
+ /** 配置体检这个只读命令的**技能入口装配**:把 `src/health.ts` 的报告包成唯一出口那行 envelope。
2
+ *
3
+ * 为什么这个 key 与三个配置命令同住 `cli/config.ts` 的旁边、而不进 `src/policy/wakewords.ts` 那张唤醒词表:
4
+ * 那张表管的是**唤醒词命令**(短语→key→形状→示例),要进 HELP 与唤醒词计数。体检是**设置页专用**的只读
5
+ * 出口(面板点一下才跑),没有唤醒词、不进 HELP,故按「一条命令的事实只住一处」与三个配置命令并列;
6
+ * `cmd_read.ts` 在**进预检与分派层之前**拦下它(体检不该要求库目录已配——它要报的正是「库在哪、通不通」)。
7
+ *
8
+ * 判据与文案住在 `src/health.ts`;本件只做包封,不重写一个字。
9
+ */
10
+ import { ENVELOPE_VERSION } from 'base-link-core';
11
+ import { buildMemoHealthReport } from '../health.js';
12
+ /** 体检命令名(插件侧镜像同值,见 `packages/plugin-memo-ilife/src/bridge.ts`)。 */
13
+ export const HEALTH_CHECK_KEY = 'memo.config.check';
14
+ /** 本技能的 envelope skill 名(与 `src/render/envelope.ts` 的 `createEnvelope({skill:'memo'})` 同值)。 */
15
+ const MEMO_SKILL = 'memo';
16
+ /** 是不是体检命令(分派层拦截用)。 */
17
+ export function isHealthCheckKey(key) {
18
+ return key === HEALTH_CHECK_KEY;
19
+ }
20
+ /** 跑一次体检,返回整行 envelope JSON(`data` 即那份报告)。 */
21
+ export function runHealthCheckKey(key) {
22
+ const report = buildMemoHealthReport();
23
+ const envelope = {
24
+ version: ENVELOPE_VERSION,
25
+ skill: MEMO_SKILL,
26
+ shape: 'detail',
27
+ key,
28
+ data: report,
29
+ };
30
+ return JSON.stringify(envelope);
31
+ }
32
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/cli/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAA4B,CAAC;AAE7D,+FAA+F;AAC/F,MAAM,UAAU,GAAG,MAAe,CAAC;AAEnC,uBAAuB;AACvB,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,KAAK,gBAAgB,CAAC;AAClC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,QAAyB;QAChC,GAAG;QACH,IAAI,EAAE,MAAM;KACb,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { ConfigRecord } from 'base-link-core';
2
+ /** 配置文件主体名:`<配置目录>/memo.yaml`。 */
3
+ export declare const MEMO_CONFIG_STEM: "memo";
4
+ /** 备忘录那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。 */
5
+ export declare const MEMO_CONFIG_DEFAULTS: {
6
+ db: {
7
+ dir: string;
8
+ name: string;
9
+ };
10
+ html: {
11
+ dir: string;
12
+ };
13
+ files: {
14
+ help: string;
15
+ lookup: string;
16
+ };
17
+ media: {
18
+ dir: string;
19
+ };
20
+ lark: {
21
+ cliPath: string;
22
+ qrDir: string;
23
+ };
24
+ };
25
+ /** 取值形状由默认值表派生(同一件事只有一个定义地)。 */
26
+ export type MemoConfigValues = typeof MEMO_CONFIG_DEFAULTS;
27
+ /** 读回来的一份配置:文件路径(人话报错要指它)+数据目录+取值。 */
28
+ export interface LoadedMemoConfig {
29
+ readonly path: string;
30
+ readonly dataDir: string;
31
+ readonly created: boolean;
32
+ readonly values: MemoConfigValues;
33
+ }
34
+ /** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。 */
35
+ export declare function loadMemoConfig(): LoadedMemoConfig;
36
+ /** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
37
+ export declare function saveMemoConfig(values: ConfigRecord): {
38
+ path: string;
39
+ };
40
+ /** 重置为默认(先另存 `<配置目录>/memo.yaml.bak`)。 */
41
+ export declare function resetMemoConfig(): {
42
+ path: string;
43
+ backupPath: string | null;
44
+ };
45
+ /** 把配置里的相对段串拆成段(`/` 与 `\` 都认,空段丢弃)。 */
46
+ export declare function splitDirSegments(value: string): string[];
47
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAEhD,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;CAMhC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,OAAO,oBAAoB,CAAC;AAE3D,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;AAKD,0CAA0C;AAC1C,wBAAgB,cAAc,IAAI,gBAAgB,CAajD;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,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAExD"}
package/dist/config.js ADDED
@@ -0,0 +1,65 @@
1
+ /** 备忘录自己的配置面:那份默认值表 + 读/写/重置三个薄转调。
2
+ *
3
+ * 口径出处(「配置的存与生效口径裁定」#675 的解决评论,本票 #695 落地):**每个技能一份 YAML 配置文件,
4
+ * 配置文件是唯一真相,环境变量不参与配置**。默认落点 `~/.ilife/memo.yaml`(由 `os.homedir()` 派生,
5
+ * 平台无关),`ILIFE_CONFIG_DIR` 设定且非空即整体接管配置目录;数据目录默认 `~/.ilife/data/`,
6
+ * 首次读时自动建;「重置为默认」先另存 `<配置目录>/memo.yaml.bak`。
7
+ *
8
+ * 读写实现(受限 YAML 子集解析、键表与类型校验、备份、建目录)住 `base-link-core` 的 `src/config/`
9
+ * ——#694 已交付,本件只做「备忘录的那份表 + 转调」,一份实现不抄第二处(结构纪律铁律一)。
10
+ *
11
+ * 默认值逐项等于改造前的代码常量(对照读数见 `docs/skills/skill-memo-ilife/t695-证据.md`):
12
+ * · `db.dir`=空串=按默认落点(数据目录 `~/.ilife/data/`;改造前是环境变量 `SKILLS_DB_PATH` 必设);
13
+ * · `db.name`=`memo.db`(原 `src/fetch/db.ts` 的 `memoDbFile()` 里写死的文件名);
14
+ * · `html.dir`=`memo_html`(原 `src/help/manifest.ts` 的 `HELP_HTML_DIR_NAME`,**扁平一段**);
15
+ * · `files.help`/`files.lookup`=`备忘录_HELP`/`备忘录_速查表`(原 `manifest.ts` 的两个主体名);
16
+ * · `media.dir`=`media`(原 `src/policy/media.ts` 的 `MEDIA_DIR_DEFAULT`;语义的升级归 #712);
17
+ * · `lark.cliPath`=空串=没有显式值(走兜底探测;改造前是环境变量 `LARK_CLI_PATH`);
18
+ * · `lark.qrDir`=空串=系统临时目录下的 `memo_feishu_qr`(原 `src/fetch/auth.ts:50` 的缺省)。
19
+ * 用法上一处约定:**空串=按默认落点**(照卡路里的`db.dir` 那条),所以空串不是「没配」。
20
+ */
21
+ import { loadConfig, resetConfig, saveConfig } from 'base-link-core';
22
+ /** 配置文件主体名:`<配置目录>/memo.yaml`。 */
23
+ export const MEMO_CONFIG_STEM = 'memo';
24
+ /** 备忘录那份配置表:键即设置页的行,一层嵌套(子集支持范围见 base-link-core README)。 */
25
+ export const MEMO_CONFIG_DEFAULTS = {
26
+ db: { dir: '', name: 'memo.db' },
27
+ html: { dir: 'memo_html' },
28
+ files: { help: '备忘录_HELP', lookup: '备忘录_速查表' },
29
+ media: { dir: 'media' },
30
+ lark: { cliPath: '', qrDir: '' },
31
+ };
32
+ /** 每进程只读一次:配置文件的「保存即生效」靠**下一次调用现读**,同一个进程里不反复读盘。 */
33
+ let memo = null;
34
+ /** 读一份配置(文件不存在即按默认值落一份并把配置目录/数据目录建出来)。 */
35
+ export function loadMemoConfig() {
36
+ if (memo === null) {
37
+ const loaded = loadConfig(MEMO_CONFIG_STEM, MEMO_CONFIG_DEFAULTS);
38
+ // base-link-core 读回来时已经过了「键齐 + 类型对」两道校验(不认识的键、类型不符一律抛),
39
+ // 故这一处从宽松记录到形状记录的转换是有依据的投影,不是猜测。
40
+ memo = {
41
+ path: loaded.path,
42
+ dataDir: loaded.dataDir,
43
+ created: loaded.created,
44
+ values: loaded.values,
45
+ };
46
+ }
47
+ return memo;
48
+ }
49
+ /** 写一份配置(写出去的是完整一份:没给的项按默认值补齐)。写完清记忆,同进程后续读也现取。 */
50
+ export function saveMemoConfig(values) {
51
+ const r = saveConfig(MEMO_CONFIG_STEM, MEMO_CONFIG_DEFAULTS, values);
52
+ memo = null;
53
+ return r;
54
+ }
55
+ /** 重置为默认(先另存 `<配置目录>/memo.yaml.bak`)。 */
56
+ export function resetMemoConfig() {
57
+ const r = resetConfig(MEMO_CONFIG_STEM, MEMO_CONFIG_DEFAULTS);
58
+ memo = null;
59
+ return r;
60
+ }
61
+ /** 把配置里的相对段串拆成段(`/` 与 `\` 都认,空段丢弃)。 */
62
+ export function splitDirSegments(value) {
63
+ return value.split(/[\\/]+/).filter((s) => s.length > 0);
64
+ }
65
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGrE,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEhD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAChC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;IAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9C,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;IACvB,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;CACjC,CAAC;AAaF,oDAAoD;AACpD,IAAI,IAAI,GAA4B,IAAI,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,UAAU,cAAc;IAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QAClE,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,MAAqC;SACrD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,cAAc,CAAC,MAAoB;IACjD,MAAM,CAAC,GAAG,UAAU,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACrE,IAAI,GAAG,IAAI,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,GAAG,WAAW,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAC9D,IAAI,GAAG,IAAI,CAAC;IACZ,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uCAAuC;AACvC,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"}
@@ -0,0 +1,13 @@
1
+ /** 授权二维码的默认目录名(老 `DEFAULT_QR_DIR` 的目录段):`<系统临时目录>/memo_feishu_qr`。 */
2
+ export declare const DEFAULT_QR_DIR_NAME = "memo_feishu_qr";
3
+ /** Step 1:发起授权(非阻塞,秒回)。返回含 `device_code`+`verification_url` 的对象。 */
4
+ export declare function authInit(brand?: string): Record<string, unknown>;
5
+ /** Step 2:扫码地址转 PNG 二维码。`outDir` 缺省=配置项 `lark.qrDir`,空串再用通用临时目录下的
6
+ * `memo_feishu_qr`(老 `DEFAULT_QR_DIR`,不绑定用户机器;#695 起这一档可配)。
7
+ * lark-cli 要求 `--output` 是相对路径(老原文),此处进目录执行、回绝对路径。 */
8
+ export declare function authQr(verificationUrl: string, outDir?: string): string;
9
+ /** Step 3:续轮询(用户说“好了”之后调)。返回授权结果(含 `ok`/用户信息)。 */
10
+ export declare function authPoll(deviceCode: string, domain?: string): Record<string, unknown>;
11
+ /** 辅助:当前 lark-cli 授权状态(诊断用)。 */
12
+ export declare function authStatus(): Record<string, unknown>;
13
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/fetch/auth.ts"],"names":[],"mappings":"AAYA,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAsBpD,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,SAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOlE;AAED;;uDAEuD;AACvD,wBAAgB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAavE;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASrF;AAED,gCAAgC;AAChC,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUpD"}
@@ -0,0 +1,94 @@
1
+ // 取数层·飞书授权引导(#665):老 `scripts/feishu_auth_helper.py` 的 TS 换皮,三步非阻塞形状。
2
+ // 第一性(老原文):AI 工具的 timeout 是秒级、用户浏览器操作是分钟级,同步阻塞命令必被强杀——
3
+ // 物理上不暴露同步阻塞 API,只暴露三个非阻塞函数:发起(秒回 device_code+扫码地址)/
4
+ // 发 QR(AI 本轮回复结束 turn)/续轮询(用户说“好了”之后调,秒级)。
5
+ // lark-cli 老版本(< 1.0.82)不支持 `--no-wait` 会报错提示升级(老原文逐字行为)。
6
+ import { mkdirSync } from 'node:fs';
7
+ import { tmpdir } from 'node:os';
8
+ import { basename, join, resolve } from 'node:path';
9
+ import { findLarkCli, runLark } from './feishu.js';
10
+ import { MemoFetchError } from './errors.js';
11
+ import { loadMemoConfig } from '../config.js';
12
+ /** 授权二维码的默认目录名(老 `DEFAULT_QR_DIR` 的目录段):`<系统临时目录>/memo_feishu_qr`。 */
13
+ export const DEFAULT_QR_DIR_NAME = 'memo_feishu_qr';
14
+ function runJson(cli, args, what, cwd) {
15
+ let r;
16
+ try {
17
+ r = runLark(cli, args, 30000, cwd);
18
+ }
19
+ catch (e) {
20
+ throw new MemoFetchError('LARK_UNAVAILABLE', what + ' 调不动:' + e.message);
21
+ }
22
+ if (!r.ok) {
23
+ if (r.stderr.includes('--no-wait') || r.stderr.includes('unknown flag')) {
24
+ throw new MemoFetchError('LARK_UNAVAILABLE', 'lark-cli 版本太老(不支持 --no-wait),请先升级:lark-cli update');
25
+ }
26
+ throw new MemoFetchError('LARK_TASK_FAILED', what + ' 失败:' + r.stderr.slice(0, 300));
27
+ }
28
+ try {
29
+ return JSON.parse(r.stdout);
30
+ }
31
+ catch {
32
+ throw new MemoFetchError('LARK_BAD_RESPONSE', what + ' 非 JSON:' + String(r.stdout).slice(0, 300));
33
+ }
34
+ }
35
+ /** Step 1:发起授权(非阻塞,秒回)。返回含 `device_code`+`verification_url` 的对象。 */
36
+ export function authInit(brand = 'feishu') {
37
+ if (brand !== 'feishu' && brand !== 'lark')
38
+ throw new MemoFetchError('LARK_BAD_RESPONSE', 'brand 只认 feishu/lark');
39
+ const cli = findLarkCli();
40
+ if (!cli)
41
+ throw new MemoFetchError('LARK_UNAVAILABLE', 'lark-cli 未找到:缺失阻断取数');
42
+ const r = runJson(cli, ['config', 'init', '--new', '--brand', brand, '--no-wait', '--json'], '飞书授权发起');
43
+ if (typeof r !== 'object' || r === null)
44
+ throw new MemoFetchError('LARK_BAD_RESPONSE', '飞书授权发起非对象');
45
+ return r;
46
+ }
47
+ /** Step 2:扫码地址转 PNG 二维码。`outDir` 缺省=配置项 `lark.qrDir`,空串再用通用临时目录下的
48
+ * `memo_feishu_qr`(老 `DEFAULT_QR_DIR`,不绑定用户机器;#695 起这一档可配)。
49
+ * lark-cli 要求 `--output` 是相对路径(老原文),此处进目录执行、回绝对路径。 */
50
+ export function authQr(verificationUrl, outDir) {
51
+ if (typeof verificationUrl !== 'string' || verificationUrl.length === 0) {
52
+ throw new MemoFetchError('LARK_BAD_RESPONSE', '扫码地址须非空');
53
+ }
54
+ const cli = findLarkCli();
55
+ if (!cli)
56
+ throw new MemoFetchError('LARK_UNAVAILABLE', 'lark-cli 未找到:缺失阻断取数');
57
+ const configured = loadMemoConfig().values.lark.qrDir;
58
+ const dir = outDir !== undefined ? outDir : (configured === '' ? join(tmpdir(), DEFAULT_QR_DIR_NAME) : configured);
59
+ mkdirSync(dir, { recursive: true });
60
+ const name = 'feishu_qr_' + Date.now() + '.png';
61
+ const r = runLark(cli, ['auth', 'qrcode', verificationUrl, '--output', name], 30000, dir);
62
+ if (!r.ok)
63
+ throw new MemoFetchError('LARK_TASK_FAILED', '生成 QR 失败:' + r.stderr.slice(0, 300));
64
+ return resolve(join(dir, basename(name)));
65
+ }
66
+ /** Step 3:续轮询(用户说“好了”之后调)。返回授权结果(含 `ok`/用户信息)。 */
67
+ export function authPoll(deviceCode, domain = 'task') {
68
+ if (typeof deviceCode !== 'string' || deviceCode.length === 0) {
69
+ throw new MemoFetchError('LARK_BAD_RESPONSE', 'device_code 须非空(过期请重走发起)');
70
+ }
71
+ const cli = findLarkCli();
72
+ if (!cli)
73
+ throw new MemoFetchError('LARK_UNAVAILABLE', 'lark-cli 未找到:缺失阻断取数');
74
+ const r = runJson(cli, ['auth', 'login', '--domain', domain, '--device-code', deviceCode], '飞书授权续轮询');
75
+ if (typeof r !== 'object' || r === null)
76
+ throw new MemoFetchError('LARK_BAD_RESPONSE', '飞书授权续轮询非对象');
77
+ return r;
78
+ }
79
+ /** 辅助:当前 lark-cli 授权状态(诊断用)。 */
80
+ export function authStatus() {
81
+ const cli = findLarkCli();
82
+ if (!cli)
83
+ throw new MemoFetchError('LARK_UNAVAILABLE', 'lark-cli 未找到:缺失阻断取数');
84
+ const r = runLark(cli, ['auth', 'status']);
85
+ if (!r.ok)
86
+ throw new MemoFetchError('LARK_TASK_FAILED', '授权状态查询失败:' + r.stderr.slice(0, 300));
87
+ try {
88
+ return JSON.parse(r.stdout);
89
+ }
90
+ catch {
91
+ return { raw: r.stdout.slice(0, 500) };
92
+ }
93
+ }
94
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/fetch/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type MemoDb } from './db.js';
2
+ export interface BatchItem {
3
+ readonly id: number;
4
+ readonly content: string;
5
+ readonly sub_category: string | null;
6
+ readonly media_path: string | null;
7
+ readonly due: string | null;
8
+ readonly selected: boolean;
9
+ }
10
+ /** 收集候选。`fromCategory` 为空即全部分类。 */
11
+ export declare function collectBatchItems(db: MemoDb, fromCategory?: string | null): BatchItem[];
12
+ export declare function countNotesByCategory(db: MemoDb, category: string): number;
13
+ export interface BatchApplyResult {
14
+ readonly updated: number;
15
+ readonly skipped: number;
16
+ readonly errors: string[];
17
+ }
18
+ /** 执行改分类:逐条落(顶层分类,子分类不动),找不到逐条记账不吞错。 */
19
+ export declare function applyBatchCategory(db: MemoDb, ids: readonly number[], toCategory: string): BatchApplyResult;
20
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/fetch/batch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,CAevF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAgB3G"}
@@ -0,0 +1,45 @@
1
+ // 取数层·批量改分类(#665):收集(老 `batch-update-category`)+执行(老 `update-category` 逐条)。
2
+ // 收集:按原分类取最近 200 条(默认全部分类),条目默认勾选,目标分类下条数作提示;
3
+ // 执行:逐条改顶层分类(子分类不动,老原文),找不到逐条记账。
4
+ // 远端不碰(老原文两条路都不调飞书)。
5
+ import { getNote, updateNote } from './db.js';
6
+ /** 收集候选。`fromCategory` 为空即全部分类。 */
7
+ export function collectBatchItems(db, fromCategory) {
8
+ const rows = fromCategory === undefined || fromCategory === null
9
+ ? db.conn.prepare('SELECT id, content, sub_category, media_path, due FROM notes ORDER BY updated_at DESC LIMIT 200').all()
10
+ : db.conn
11
+ .prepare('SELECT id, content, sub_category, media_path, due FROM notes WHERE category = ? ORDER BY updated_at DESC LIMIT 200')
12
+ .all(fromCategory);
13
+ return rows.map((r) => ({
14
+ id: r.id,
15
+ content: r.content,
16
+ sub_category: r.sub_category ?? null,
17
+ media_path: r.media_path ?? null,
18
+ due: r.due ?? null,
19
+ selected: true,
20
+ }));
21
+ }
22
+ export function countNotesByCategory(db, category) {
23
+ const r = db.conn.prepare('SELECT COUNT(*) AS c FROM notes WHERE category = ?').get(category);
24
+ return r.c;
25
+ }
26
+ /** 执行改分类:逐条落(顶层分类,子分类不动),找不到逐条记账不吞错。 */
27
+ export function applyBatchCategory(db, ids, toCategory) {
28
+ const errors = [];
29
+ let updated = 0;
30
+ let skipped = 0;
31
+ for (const id of ids) {
32
+ try {
33
+ getNote(db, id);
34
+ }
35
+ catch {
36
+ skipped += 1;
37
+ errors.push('id=' + id + ':没有这条笔记');
38
+ continue;
39
+ }
40
+ updateNote(db, id, { category: toCategory });
41
+ updated += 1;
42
+ }
43
+ return { updated, skipped, errors };
44
+ }
45
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/fetch/batch.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8CAA8C;AAC9C,iCAAiC;AACjC,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAe,MAAM,SAAS,CAAC;AAW3D,mCAAmC;AACnC,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,YAA4B;IACxE,MAAM,IAAI,GACR,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI;QACjD,CAAC,CAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,iGAAiG,CAAC,CAAC,GAAG,EAAiC;QAC3J,CAAC,CAAG,EAAE,CAAC,IAAI;aACN,OAAO,CAAC,oHAAoH,CAAC;aAC7H,GAAG,CAAC,YAAY,CAAgC,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAY;QAClB,OAAO,EAAE,CAAC,CAAC,OAAiB;QAC5B,YAAY,EAAG,CAAC,CAAC,YAA8B,IAAI,IAAI;QACvD,UAAU,EAAG,CAAC,CAAC,UAA4B,IAAI,IAAI;QACnD,GAAG,EAAG,CAAC,CAAC,GAAqB,IAAI,IAAI;QACrC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,QAAgB;IAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAkB,CAAC;IAC/G,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAQD,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,GAAsB,EAAE,UAAkB;IACvF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}