skill-memo-ilife 0.3.2 → 0.3.13

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 (320) hide show
  1. package/SKILL.md +33 -34
  2. package/dist/checkin/index.d.ts +8 -0
  3. package/dist/checkin/index.d.ts.map +1 -0
  4. package/dist/checkin/index.js +8 -0
  5. package/dist/checkin/index.js.map +1 -0
  6. package/dist/checkin/receipt.d.ts +17 -0
  7. package/dist/checkin/receipt.d.ts.map +1 -0
  8. package/dist/checkin/receipt.js +63 -0
  9. package/dist/checkin/receipt.js.map +1 -0
  10. package/dist/checkin/routes.d.ts +4 -0
  11. package/dist/checkin/routes.d.ts.map +1 -1
  12. package/dist/checkin/routes.js +2 -2
  13. package/dist/checkin/routes.js.map +1 -1
  14. package/dist/cli/cmd_read.js +19 -53
  15. package/dist/cli/cmd_read.js.map +1 -1
  16. package/dist/cli/config.d.ts +4 -4
  17. package/dist/cli/config.d.ts.map +1 -1
  18. package/dist/cli/config.js +25 -4
  19. package/dist/cli/config.js.map +1 -1
  20. package/dist/cli/health/items.js +2 -2
  21. package/dist/cli/health/items.js.map +1 -1
  22. package/dist/cli/health.d.ts.map +1 -1
  23. package/dist/cli/health.js +3 -2
  24. package/dist/cli/health.js.map +1 -1
  25. package/dist/cli/keys.d.ts +6 -3
  26. package/dist/cli/keys.d.ts.map +1 -1
  27. package/dist/cli/keys.js +2 -5
  28. package/dist/cli/keys.js.map +1 -1
  29. package/dist/cli/registry.d.ts +1 -1
  30. package/dist/{fetch/db.d.ts → db/readonly.d.ts} +1 -1
  31. package/dist/db/readonly.d.ts.map +1 -0
  32. package/dist/{fetch/db.js → db/readonly.js} +5 -5
  33. package/dist/db/readonly.js.map +1 -0
  34. package/dist/help/lookup.d.ts +18 -1
  35. package/dist/help/lookup.d.ts.map +1 -1
  36. package/dist/help/lookup.js +53 -37
  37. package/dist/help/lookup.js.map +1 -1
  38. package/dist/help/sceneData.js +1 -1
  39. package/dist/help/scenes/checkin.d.ts +1 -1
  40. package/dist/help/scenes/checkin.js +1 -1
  41. package/dist/help/scenes/init.d.ts +1 -1
  42. package/dist/help/scenes/init.js +1 -1
  43. package/dist/help/scenes/memo.d.ts +1 -1
  44. package/dist/help/scenes/memo.js +1 -1
  45. package/dist/help/scenes/mood.d.ts +1 -1
  46. package/dist/help/scenes/mood.js +1 -1
  47. package/dist/help/scenes/remind.d.ts +1 -1
  48. package/dist/help/scenes/remind.js +2 -2
  49. package/dist/help/scenes/remind.js.map +1 -1
  50. package/dist/help/scenes/search.d.ts +1 -1
  51. package/dist/help/scenes/search.js +1 -1
  52. package/dist/help/scenes/sync.d.ts +1 -1
  53. package/dist/help/scenes/sync.js +1 -1
  54. package/dist/help/scenes/wish.d.ts +1 -1
  55. package/dist/help/scenes/wish.js +1 -1
  56. package/dist/index.d.ts +11 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +11 -5
  59. package/dist/index.js.map +1 -1
  60. package/dist/init/diagnosis.d.ts +2 -1
  61. package/dist/init/diagnosis.d.ts.map +1 -1
  62. package/dist/init/diagnosis.js.map +1 -1
  63. package/dist/init/page.d.ts +3 -2
  64. package/dist/init/page.d.ts.map +1 -1
  65. package/dist/init/page.js +20 -10
  66. package/dist/init/page.js.map +1 -1
  67. package/dist/init/routes.d.ts +4 -1
  68. package/dist/init/routes.d.ts.map +1 -1
  69. package/dist/init/routes.js +14 -0
  70. package/dist/init/routes.js.map +1 -1
  71. package/dist/init/run.d.ts.map +1 -1
  72. package/dist/init/run.js +7 -1
  73. package/dist/init/run.js.map +1 -1
  74. package/dist/{fetch → memo}/batch.d.ts +6 -2
  75. package/dist/memo/batch.d.ts.map +1 -0
  76. package/dist/{fetch → memo}/batch.js +8 -4
  77. package/dist/memo/batch.js.map +1 -0
  78. package/dist/memo/category.d.ts.map +1 -0
  79. package/dist/{policy → memo}/category.js +1 -1
  80. package/dist/memo/category.js.map +1 -0
  81. package/dist/memo/commands.d.ts +3 -12
  82. package/dist/memo/commands.d.ts.map +1 -1
  83. package/dist/memo/commands.js +1 -9
  84. package/dist/memo/commands.js.map +1 -1
  85. package/dist/{policy → memo}/crud.d.ts +1 -1
  86. package/dist/memo/crud.d.ts.map +1 -0
  87. package/dist/{policy → memo}/crud.js +22 -7
  88. package/dist/memo/crud.js.map +1 -0
  89. package/dist/memo/index.d.ts +4 -2
  90. package/dist/memo/index.d.ts.map +1 -1
  91. package/dist/memo/index.js +4 -2
  92. package/dist/memo/index.js.map +1 -1
  93. package/dist/memo/media.d.ts.map +1 -0
  94. package/dist/{policy → memo}/media.js +2 -2
  95. package/dist/memo/media.js.map +1 -0
  96. package/dist/memo/receipt.d.ts +35 -0
  97. package/dist/memo/receipt.d.ts.map +1 -0
  98. package/dist/memo/receipt.js +62 -0
  99. package/dist/memo/receipt.js.map +1 -0
  100. package/dist/memo/receiptPage.d.ts +44 -0
  101. package/dist/memo/receiptPage.d.ts.map +1 -0
  102. package/dist/memo/receiptPage.js +50 -0
  103. package/dist/memo/receiptPage.js.map +1 -0
  104. package/dist/memo/routes.d.ts.map +1 -1
  105. package/dist/memo/routes.js +32 -0
  106. package/dist/memo/routes.js.map +1 -1
  107. package/dist/memo/run.d.ts +9 -8
  108. package/dist/memo/run.d.ts.map +1 -1
  109. package/dist/memo/run.js +140 -97
  110. package/dist/memo/run.js.map +1 -1
  111. package/dist/mood/routes.d.ts.map +1 -1
  112. package/dist/mood/routes.js +36 -0
  113. package/dist/mood/routes.js.map +1 -1
  114. package/dist/remind/index.d.ts +5 -2
  115. package/dist/remind/index.d.ts.map +1 -1
  116. package/dist/remind/index.js +5 -2
  117. package/dist/remind/index.js.map +1 -1
  118. package/dist/{policy/reminder.d.ts → remind/policy.d.ts} +1 -1
  119. package/dist/remind/policy.d.ts.map +1 -0
  120. package/dist/{policy/reminder.js → remind/policy.js} +2 -2
  121. package/dist/remind/policy.js.map +1 -0
  122. package/dist/remind/routes.d.ts +1 -2
  123. package/dist/remind/routes.d.ts.map +1 -1
  124. package/dist/remind/routes.js +32 -2
  125. package/dist/remind/routes.js.map +1 -1
  126. package/dist/remind/run.d.ts +1 -1
  127. package/dist/remind/run.d.ts.map +1 -1
  128. package/dist/remind/run.js +112 -7
  129. package/dist/remind/run.js.map +1 -1
  130. package/dist/{fetch/reminders.d.ts → remind/store.d.ts} +2 -2
  131. package/dist/remind/store.d.ts.map +1 -0
  132. package/dist/{fetch/reminders.js → remind/store.js} +3 -3
  133. package/dist/remind/store.js.map +1 -0
  134. package/dist/render/envelope.d.ts.map +1 -1
  135. package/dist/render/envelope.js +3 -2
  136. package/dist/render/envelope.js.map +1 -1
  137. package/dist/render/html.js +1 -1
  138. package/dist/render/html.js.map +1 -1
  139. package/dist/render/index.d.ts +4 -1
  140. package/dist/render/index.d.ts.map +1 -1
  141. package/dist/render/index.js +5 -3
  142. package/dist/render/index.js.map +1 -1
  143. package/dist/render/listPage.d.ts +34 -0
  144. package/dist/render/listPage.d.ts.map +1 -0
  145. package/dist/render/listPage.js +39 -0
  146. package/dist/render/listPage.js.map +1 -0
  147. package/dist/render/memoPageAssets.d.ts +32 -0
  148. package/dist/render/memoPageAssets.d.ts.map +1 -0
  149. package/dist/render/memoPageAssets.js +320 -0
  150. package/dist/render/memoPageAssets.js.map +1 -0
  151. package/dist/render/pageAssets.js +3 -3
  152. package/dist/render/pageAssets.js.map +1 -1
  153. package/dist/render/pages.d.ts +9 -2
  154. package/dist/render/pages.d.ts.map +1 -1
  155. package/dist/render/pages.js +8 -16
  156. package/dist/render/pages.js.map +1 -1
  157. package/dist/render/receipt.d.ts +12 -3
  158. package/dist/render/receipt.d.ts.map +1 -1
  159. package/dist/render/receipt.js +55 -10
  160. package/dist/render/receipt.js.map +1 -1
  161. package/dist/search/routes.d.ts.map +1 -1
  162. package/dist/search/routes.js +1 -0
  163. package/dist/search/routes.js.map +1 -1
  164. package/dist/search/run.d.ts +11 -3
  165. package/dist/search/run.d.ts.map +1 -1
  166. package/dist/search/run.js +130 -11
  167. package/dist/search/run.js.map +1 -1
  168. package/dist/shared/commandSpec.d.ts +4 -5
  169. package/dist/shared/commandSpec.d.ts.map +1 -1
  170. package/dist/shared/errors.d.ts.map +1 -0
  171. package/dist/shared/errors.js.map +1 -0
  172. package/dist/{fetch → shared}/paths.d.ts +1 -1
  173. package/dist/shared/paths.d.ts.map +1 -0
  174. package/dist/{fetch → shared}/paths.js +3 -3
  175. package/dist/shared/paths.js.map +1 -0
  176. package/dist/shared/validators.d.ts +3 -0
  177. package/dist/shared/validators.d.ts.map +1 -0
  178. package/dist/shared/validators.js +15 -0
  179. package/dist/shared/validators.js.map +1 -0
  180. package/dist/sync/auth.d.ts.map +1 -0
  181. package/dist/{fetch → sync}/auth.js +3 -3
  182. package/dist/sync/auth.js.map +1 -0
  183. package/dist/sync/commands.d.ts.map +1 -1
  184. package/dist/sync/commands.js.map +1 -1
  185. package/dist/sync/feishu.d.ts.map +1 -0
  186. package/dist/{fetch → sync}/feishu.js +9 -9
  187. package/dist/sync/feishu.js.map +1 -0
  188. package/dist/sync/index.d.ts +5 -2
  189. package/dist/sync/index.d.ts.map +1 -1
  190. package/dist/sync/index.js +4 -2
  191. package/dist/sync/index.js.map +1 -1
  192. package/dist/sync/run.d.ts +1 -1
  193. package/dist/sync/run.d.ts.map +1 -1
  194. package/dist/sync/run.js +2 -1
  195. package/dist/sync/run.js.map +1 -1
  196. package/dist/{fetch → sync}/sentinel.d.ts +1 -1
  197. package/dist/sync/sentinel.d.ts.map +1 -0
  198. package/dist/{fetch → sync}/sentinel.js +1 -2
  199. package/dist/sync/sentinel.js.map +1 -0
  200. package/dist/triggers/routes.generated.d.ts +1 -1
  201. package/dist/triggers/routes.generated.d.ts.map +1 -1
  202. package/dist/triggers/routes.generated.js +19 -6
  203. package/dist/triggers/routes.generated.js.map +1 -1
  204. package/dist/triggers/routing.d.ts +7 -0
  205. package/dist/triggers/routing.d.ts.map +1 -0
  206. package/dist/triggers/routing.js +35 -0
  207. package/dist/triggers/routing.js.map +1 -0
  208. package/dist/wish/complete.d.ts +1 -1
  209. package/dist/wish/complete.d.ts.map +1 -1
  210. package/dist/wish/complete.js +1 -1
  211. package/dist/wish/complete.js.map +1 -1
  212. package/dist/wish/due.d.ts +1 -1
  213. package/dist/wish/due.d.ts.map +1 -1
  214. package/dist/wish/due.js +1 -1
  215. package/dist/wish/due.js.map +1 -1
  216. package/dist/wish/ensure.d.ts +2 -2
  217. package/dist/wish/ensure.d.ts.map +1 -1
  218. package/dist/wish/ensure.js +2 -2
  219. package/dist/wish/ensure.js.map +1 -1
  220. package/dist/wish/gate.d.ts +1 -1
  221. package/dist/wish/gate.d.ts.map +1 -1
  222. package/dist/wish/gate.js +1 -1
  223. package/dist/wish/gate.js.map +1 -1
  224. package/dist/wish/index.d.ts +4 -0
  225. package/dist/wish/index.d.ts.map +1 -1
  226. package/dist/wish/index.js +7 -0
  227. package/dist/wish/index.js.map +1 -1
  228. package/dist/{policy/wish.d.ts → wish/policy.d.ts} +1 -1
  229. package/dist/wish/policy.d.ts.map +1 -0
  230. package/dist/{policy/wish.js → wish/policy.js} +3 -3
  231. package/dist/wish/policy.js.map +1 -0
  232. package/dist/wish/receipt.d.ts +45 -0
  233. package/dist/wish/receipt.d.ts.map +1 -0
  234. package/dist/wish/receipt.js +68 -0
  235. package/dist/wish/receipt.js.map +1 -0
  236. package/dist/wish/reconcile.d.ts +1 -1
  237. package/dist/wish/reconcile.d.ts.map +1 -1
  238. package/dist/wish/reconcile.js +2 -2
  239. package/dist/wish/reconcile.js.map +1 -1
  240. package/dist/wish/routes.d.ts.map +1 -1
  241. package/dist/wish/routes.js +11 -1
  242. package/dist/wish/routes.js.map +1 -1
  243. package/dist/wish/run.d.ts +11 -3
  244. package/dist/wish/run.d.ts.map +1 -1
  245. package/dist/wish/run.js +75 -7
  246. package/dist/wish/run.js.map +1 -1
  247. package/dist/wish/taskRemove.js +2 -2
  248. package/dist/wish/taskRemove.js.map +1 -1
  249. package/dist/wish/taskSync.d.ts +1 -1
  250. package/dist/wish/taskSync.d.ts.map +1 -1
  251. package/dist/wish/taskSync.js +3 -3
  252. package/dist/wish/taskSync.js.map +1 -1
  253. package/dist/wish/taskWrite.d.ts.map +1 -0
  254. package/dist/{fetch → wish}/taskWrite.js +2 -2
  255. package/dist/wish/taskWrite.js.map +1 -0
  256. package/dist/wish/tasks.d.ts.map +1 -0
  257. package/dist/{fetch → wish}/tasks.js +2 -2
  258. package/dist/wish/tasks.js.map +1 -0
  259. package/dist/wish/wizards.d.ts +1 -1
  260. package/dist/wish/wizards.d.ts.map +1 -1
  261. package/dist/wish/wizards.js +1 -1
  262. package/dist/wish/wizards.js.map +1 -1
  263. package/package.json +4 -7
  264. package/templates/change_category.html +52 -28
  265. package/templates/init_report.html +15 -14
  266. package/templates/memo_query.html +59 -24
  267. package/templates/receipt.html +97 -27
  268. package/templates/sync_report.html +106 -98
  269. package/templates/wish_complete.html +48 -30
  270. package/templates/wish_plan.html +35 -20
  271. package/dist/fetch/auth.d.ts.map +0 -1
  272. package/dist/fetch/auth.js.map +0 -1
  273. package/dist/fetch/batch.d.ts.map +0 -1
  274. package/dist/fetch/batch.js.map +0 -1
  275. package/dist/fetch/db.d.ts.map +0 -1
  276. package/dist/fetch/db.js.map +0 -1
  277. package/dist/fetch/errors.d.ts.map +0 -1
  278. package/dist/fetch/errors.js.map +0 -1
  279. package/dist/fetch/feishu.d.ts.map +0 -1
  280. package/dist/fetch/feishu.js.map +0 -1
  281. package/dist/fetch/index.d.ts +0 -19
  282. package/dist/fetch/index.d.ts.map +0 -1
  283. package/dist/fetch/index.js +0 -13
  284. package/dist/fetch/index.js.map +0 -1
  285. package/dist/fetch/paths.d.ts.map +0 -1
  286. package/dist/fetch/paths.js.map +0 -1
  287. package/dist/fetch/reminders.d.ts.map +0 -1
  288. package/dist/fetch/reminders.js.map +0 -1
  289. package/dist/fetch/sentinel.d.ts.map +0 -1
  290. package/dist/fetch/sentinel.js.map +0 -1
  291. package/dist/fetch/taskWrite.d.ts.map +0 -1
  292. package/dist/fetch/taskWrite.js.map +0 -1
  293. package/dist/fetch/tasks.d.ts.map +0 -1
  294. package/dist/fetch/tasks.js.map +0 -1
  295. package/dist/policy/category.d.ts.map +0 -1
  296. package/dist/policy/category.js.map +0 -1
  297. package/dist/policy/crud.d.ts.map +0 -1
  298. package/dist/policy/crud.js.map +0 -1
  299. package/dist/policy/index.d.ts +0 -11
  300. package/dist/policy/index.d.ts.map +0 -1
  301. package/dist/policy/index.js +0 -8
  302. package/dist/policy/index.js.map +0 -1
  303. package/dist/policy/media.d.ts.map +0 -1
  304. package/dist/policy/media.js.map +0 -1
  305. package/dist/policy/reminder.d.ts.map +0 -1
  306. package/dist/policy/reminder.js.map +0 -1
  307. package/dist/policy/wakewords.d.ts +0 -14
  308. package/dist/policy/wakewords.d.ts.map +0 -1
  309. package/dist/policy/wakewords.js +0 -68
  310. package/dist/policy/wakewords.js.map +0 -1
  311. package/dist/policy/wish.d.ts.map +0 -1
  312. package/dist/policy/wish.js.map +0 -1
  313. /package/dist/{policy → memo}/category.d.ts +0 -0
  314. /package/dist/{policy → memo}/media.d.ts +0 -0
  315. /package/dist/{fetch → shared}/errors.d.ts +0 -0
  316. /package/dist/{fetch → shared}/errors.js +0 -0
  317. /package/dist/{fetch → sync}/auth.d.ts +0 -0
  318. /package/dist/{fetch → sync}/feishu.d.ts +0 -0
  319. /package/dist/{fetch → wish}/taskWrite.d.ts +0 -0
  320. /package/dist/{fetch → wish}/tasks.d.ts +0 -0
@@ -0,0 +1,35 @@
1
+ import type { ReceiptScene } from '../render/receipt.js';
2
+ import type { MemoNote } from '../db/readonly.js';
3
+ import type { WishReceipt } from '../wish/index.js';
4
+ /** 本域 6 格的场景 id(`src/help/booklet.ts` seq 1–6 逐字;6 格全在通用回执族)。 */
5
+ export type MemoReceiptScene = Extract<ReceiptScene, 'memo_add_basic' | 'memo_update_basic' | 'memo_delete_basic' | 'memo_change_category_single' | 'memo_change_subcategory' | 'memo_batch_change_category'>;
6
+ type MemoPage = {
7
+ readonly html: string;
8
+ readonly stem: string;
9
+ };
10
+ /** 记备忘:只认 notes 表那一行的分类=备忘;其他分类归各自域票,本件回 undefined。 */
11
+ export declare function memoCreatePage(r: WishReceipt, created: MemoNote | null): MemoPage | undefined;
12
+ /** 改备忘系三格:纯分类补丁 → 单条改分类;纯子分类补丁 → 改子分类;
13
+ * 其余字段改且行分类=备忘 → 改备忘;其余(打卡等)→ undefined。
14
+ * 调用方保证心愿/情绪日记两支已提前分岔,故本函数只会见到备忘/打卡两类行。 */
15
+ export declare function memoUpdatePage(r: WishReceipt, after: MemoNote, patchKeys: readonly string[]): MemoPage | undefined;
16
+ /** 删备忘:删前那一行的分类=备忘才出页;其他 → undefined。 */
17
+ export declare function memoRemovePage(r: WishReceipt, before: MemoNote): MemoPage | undefined;
18
+ /** 批量改分类执行支的结果页(册子 seq 6,通用回执族):更新/跳过记账进摘要,
19
+ * 逐条错误也进摘要(一条一行,不静默);远端一格如实写不适用(批量两条路都不调飞书)。
20
+ *
21
+ * #882:**回执整份由调用方给**(`runBatch` 从写侧那一次结果拼一次),本件不重算 `message`/`ok`
22
+ * —— 原先这里自己又拼了一遍「改分类完成:更新=N,跳过=M」,与信封的 `data.message` 成了同一句的
23
+ * 两份定义(改一处就屏上与信封各说各话),违背本件件头的铁律二。
24
+ *
25
+ * 「对象」那一格:批量**没有单条对象**,故按族里 #882 定的形制填字符串形态(`N 条`),不吃 `#`。 */
26
+ export declare function memoBatchResultPage(input: {
27
+ readonly receipt: WishReceipt;
28
+ readonly updated: number;
29
+ readonly skipped: number;
30
+ readonly errors: readonly string[];
31
+ readonly from: string | null;
32
+ readonly to: string;
33
+ }): MemoPage;
34
+ export {};
35
+ //# sourceMappingURL=receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../src/memo/receipt.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC,YAAY,EACV,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,6BAA6B,GAC7B,yBAAyB,GACzB,4BAA4B,CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,CAG7F;AAED;;4CAE4C;AAC5C,wBAAgB,cAAc,CAC5B,CAAC,EAAE,WAAW,EACd,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,QAAQ,GAAG,SAAS,CAStB;AAED,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAGrF;AAED;;;;;;;+DAO+D;AAC/D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,QAAQ,CAcX"}
@@ -0,0 +1,62 @@
1
+ /** 备忘域 · 6 格回执槽位装配(票 #826):`memo.create`/`memo.update`/`memo.remove`/`memo.batch`
2
+ * 落到备忘类那 6 个场景时,本域这一格的槽位措辞住这里;页壳与版式一律交给族定义地
3
+ * `src/render/receipt.ts` 的 `buildReceiptPage`——本件**不写第二份布局**(册子 §四只许参数化)。
4
+ *
5
+ * 与 `./receiptPage.js` 的分工:那边是三条共用写命令的通用翻译件(`buildReceipt`/`receiptOptsOf`,
6
+ * #829 从 `run.ts` 拆出);本件是**备忘类 6 场景往槽位里填什么**(场景 id、标题、摘要措辞)加
7
+ * 「哪一行算本域」的选配(分类分岔)。分派(`run.ts`)只问本件要 `{html, stem} | undefined`,
8
+ * 拿不到(别家分类)就原样落回执、不出页——各域的页装配互不串门。
9
+ *
10
+ * 铁律二:回执字段的唯一来源是写侧 `WishReceipt` 与 notes 表那一行,本件不重算口径。
11
+ */
12
+ import { buildReceipt, receiptOptsOf } from './receiptPage.js';
13
+ /** 记备忘:只认 notes 表那一行的分类=备忘;其他分类归各自域票,本件回 undefined。 */
14
+ export function memoCreatePage(r, created) {
15
+ if (created === null || created.category !== '备忘')
16
+ return undefined;
17
+ return buildReceipt('memo_add_basic', '记备忘', r, receiptOptsOf(created));
18
+ }
19
+ /** 改备忘系三格:纯分类补丁 → 单条改分类;纯子分类补丁 → 改子分类;
20
+ * 其余字段改且行分类=备忘 → 改备忘;其余(打卡等)→ undefined。
21
+ * 调用方保证心愿/情绪日记两支已提前分岔,故本函数只会见到备忘/打卡两类行。 */
22
+ export function memoUpdatePage(r, after, patchKeys) {
23
+ if (patchKeys.length === 1 && patchKeys[0] === 'category') {
24
+ return buildReceipt('memo_change_category_single', '备忘改分类', r, receiptOptsOf(after));
25
+ }
26
+ if (patchKeys.length === 1 && patchKeys[0] === 'sub_category') {
27
+ return buildReceipt('memo_change_subcategory', '备忘改子分类', r, receiptOptsOf(after));
28
+ }
29
+ if (after.category !== '备忘')
30
+ return undefined;
31
+ return buildReceipt('memo_update_basic', '改备忘', r, receiptOptsOf(after));
32
+ }
33
+ /** 删备忘:删前那一行的分类=备忘才出页;其他 → undefined。 */
34
+ export function memoRemovePage(r, before) {
35
+ if (before.category !== '备忘')
36
+ return undefined;
37
+ return buildReceipt('memo_delete_basic', '删备忘', r, receiptOptsOf(before));
38
+ }
39
+ /** 批量改分类执行支的结果页(册子 seq 6,通用回执族):更新/跳过记账进摘要,
40
+ * 逐条错误也进摘要(一条一行,不静默);远端一格如实写不适用(批量两条路都不调飞书)。
41
+ *
42
+ * #882:**回执整份由调用方给**(`runBatch` 从写侧那一次结果拼一次),本件不重算 `message`/`ok`
43
+ * —— 原先这里自己又拼了一遍「改分类完成:更新=N,跳过=M」,与信封的 `data.message` 成了同一句的
44
+ * 两份定义(改一处就屏上与信封各说各话),违背本件件头的铁律二。
45
+ *
46
+ * 「对象」那一格:批量**没有单条对象**,故按族里 #882 定的形制填字符串形态(`N 条`),不吃 `#`。 */
47
+ export function memoBatchResultPage(input) {
48
+ return buildReceipt('memo_batch_change_category', '备忘改分类', input.receipt, {
49
+ entityLabel: '批量改分类',
50
+ entityId: input.updated + ' 条',
51
+ category: input.to,
52
+ summary: [
53
+ // #820 收尾:两类分类各占一格,不再挤成「原分类 X,目标分类 Y」一句话;计数两格补标签冒号。
54
+ '原分类:' + (input.from ?? '全部'),
55
+ '目标分类:' + input.to,
56
+ '更新:' + input.updated + ' 条',
57
+ '跳过:' + input.skipped + ' 条',
58
+ ...input.errors.map((e) => '没做成:' + e),
59
+ ],
60
+ });
61
+ }
62
+ //# sourceMappingURL=receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/memo/receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAkB/D,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,CAAc,EAAE,OAAwB;IACrE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpE,OAAO,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;4CAE4C;AAC5C,MAAM,UAAU,cAAc,CAC5B,CAAc,EACd,KAAe,EACf,SAA4B;IAE5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,6BAA6B,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC9D,OAAO,YAAY,CAAC,yBAAyB,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,YAAY,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,cAAc,CAAC,CAAc,EAAE,MAAgB;IAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,YAAY,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;+DAO+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,KAOnC;IACC,OAAO,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;QACxE,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;QAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE;QAClB,OAAO,EAAE;YACP,oDAAoD;YACpD,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;YAC7B,OAAO,GAAG,KAAK,CAAC,EAAE;YAClB,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI;YAC5B,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI;YAC5B,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,44 @@
1
+ /** 备忘域 · **通用回执页的装配件**(票 #829):`memo.create`/`memo.update`/`memo.remove`
2
+ * 非心愿/非情绪那几支走的仍是本域这一条;页壳与版式一律交给族定义地 `src/render/receipt.ts`。
3
+ *
4
+ * 为什么从 `run.ts` 拆出来:`run.ts` 在 #829 补两块回执接线后涨到 367 LF(超 350 告警线),
5
+ * 而行数门的医嘱正是「要加内容就加在它自己域的能力目录里」——分派与页装配本就是两件活。
6
+ * 拆法照 `docs/skills/skill-memo-ilife/t855-实施规格-与开工前读数.md` §十七:**只搬不改口径**。
7
+ *
8
+ * 铁律二:`LOCAL_LABEL`/`REMOTE_LABEL` 两张取值→人话的表住族定义地 `render/receipt.ts`,
9
+ * 本件只做「回执 → 槽位」的翻译,不重算那两张表。
10
+ */
11
+ import type { ReceiptScene } from '../render/receipt.js';
12
+ import type { WishReceipt } from '../wish/index.js';
13
+ /** #831 · 从写侧回执里取笔记 id:写侧两种说法都以「:id」结尾(`已记一条:7`/`已存在这条心愿(未新建):7`)。
14
+ * 取不到即 null(调用方按「未新建」出页,不猜一个号)。 */
15
+ export declare function noteIdOfMessage(message: string): number | null;
16
+ /** #831 · 回执页的槽位:对象行 / 分类徽章 / 事实条 —— **从 notes 表那一行取**(不照抄入参)。 */
17
+ export declare function receiptOptsOf(note: {
18
+ id: number;
19
+ category: string;
20
+ sub_category: string | null;
21
+ content: string;
22
+ }): {
23
+ entityLabel: string;
24
+ entityId: number;
25
+ category: string;
26
+ sub: string | null;
27
+ summary: string[];
28
+ };
29
+ /** #831 · 「通用回执」族三格的整页交付(`memo.create`/`memo.update`/`memo.remove`)。
30
+ *
31
+ * 回执数据只有一处来源 —— policy 的顶层分类与写侧回执(`WishReceipt`)本身;本函数只做
32
+ * 「回执 → 本的槽位」的翻译,页面形状一律交给族定义地 `buildReceiptPage`(不在此另立布局)。
33
+ * 命令中文名与唤醒词取自 HELP 的场景主名(`sceneTitle`),与册子主体同名。 */
34
+ export declare function buildReceipt(scene: ReceiptScene, title: string, r: WishReceipt, opts: {
35
+ entityLabel: string;
36
+ entityId: string | number;
37
+ category?: unknown;
38
+ sub?: unknown;
39
+ summary: string[];
40
+ }): {
41
+ readonly html: string;
42
+ readonly stem: string;
43
+ };
44
+ //# sourceMappingURL=receiptPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receiptPage.d.ts","sourceRoot":"","sources":["../../src/memo/receiptPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;oCACoC;AACpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9D;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IACnH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAeA;AAED;;;;oDAIoD;AACpD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,WAAW,EACd,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7G;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiBlD"}
@@ -0,0 +1,50 @@
1
+ import { buildReceiptPage } from '../render/receipt.js';
2
+ import { normalizeTop } from './category.js';
3
+ /** #831 · 从写侧回执里取笔记 id:写侧两种说法都以「:id」结尾(`已记一条:7`/`已存在这条心愿(未新建):7`)。
4
+ * 取不到即 null(调用方按「未新建」出页,不猜一个号)。 */
5
+ export function noteIdOfMessage(message) {
6
+ const m = /(\d+)\D*$/.exec(message);
7
+ const n = m === null ? NaN : Number(m[1]);
8
+ return Number.isInteger(n) && n > 0 ? n : null;
9
+ }
10
+ /** #831 · 回执页的槽位:对象行 / 分类徽章 / 事实条 —— **从 notes 表那一行取**(不照抄入参)。 */
11
+ export function receiptOptsOf(note) {
12
+ return {
13
+ entityLabel: note.category,
14
+ entityId: note.id,
15
+ category: note.category,
16
+ sub: note.sub_category,
17
+ summary: [
18
+ // #820 收尾(负责人 2026-09-22):事实条一律「标签:值」,一格说一件事 ——
19
+ // 分类与子分类**各占一格**,不再用「/」把两级拼在一格(符号顶替设计);标签统一用「正文」。
20
+ '笔记编号:' + note.id,
21
+ '正文:' + note.content,
22
+ '分类:' + note.category,
23
+ ...(note.sub_category === null ? [] : ['子分类:' + note.sub_category]),
24
+ ],
25
+ };
26
+ }
27
+ /** #831 · 「通用回执」族三格的整页交付(`memo.create`/`memo.update`/`memo.remove`)。
28
+ *
29
+ * 回执数据只有一处来源 —— policy 的顶层分类与写侧回执(`WishReceipt`)本身;本函数只做
30
+ * 「回执 → 本的槽位」的翻译,页面形状一律交给族定义地 `buildReceiptPage`(不在此另立布局)。
31
+ * 命令中文名与唤醒词取自 HELP 的场景主名(`sceneTitle`),与册子主体同名。 */
32
+ export function buildReceipt(scene, title, r, opts) {
33
+ return buildReceiptPage({
34
+ scene,
35
+ title,
36
+ message: r.message,
37
+ badges: { category: normalizeTop(opts.category), sub: opts.sub === undefined || opts.sub === null ? null : String(opts.sub) },
38
+ summary: opts.summary,
39
+ sections: [],
40
+ receipt: { entityLabel: opts.entityLabel, entityId: opts.entityId, local: r.local, remote: r.remote, remoteId: r.remoteId },
41
+ copyLog: {
42
+ thinking: title + ' · 写命令回执渲染为通用回执页(页族定义处 src/render/receipt.ts)',
43
+ data_structure: 'notes/reminders 两表;回执字段 local/remote/remoteId 取自写侧',
44
+ call_chain: 'cmd_read dispatch → ' + scene + ' → buildReceiptPage → fillMemoPage(receipt) → deliver 钩子落盘',
45
+ exception: '无',
46
+ },
47
+ retryPrompt: '若这一页的内容不对,请把要改的那一条(笔记编号与要改成的样子)发我,我重跑一次:' + title,
48
+ });
49
+ }
50
+ //# sourceMappingURL=receiptPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receiptPage.js","sourceRoot":"","sources":["../../src/memo/receiptPage.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C;oCACoC;AACpC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAC,IAAoF;IAOhH,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,QAAQ;QAC1B,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,OAAO,EAAE;YACP,gDAAgD;YAChD,kDAAkD;YAClD,OAAO,GAAG,IAAI,CAAC,EAAE;YACjB,KAAK,GAAG,IAAI,CAAC,OAAO;YACpB,KAAK,GAAG,IAAI,CAAC,QAAQ;YACrB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;SACpE;KACF,CAAC;AACJ,CAAC;AAED;;;;oDAIoD;AACpD,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,KAAa,EACb,CAAc,EACd,IAA8G;IAE9G,OAAO,gBAAgB,CAAC;QACtB,KAAK;QACL,KAAK;QACL,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7H,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3H,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK,GAAG,+CAA+C;YACjE,cAAc,EAAE,oDAAoD;YACpE,UAAU,EAAE,sBAAsB,GAAG,KAAK,GAAG,4DAA4D;YACzG,SAAS,EAAE,GAAG;SACf;QACD,WAAW,EAAE,0CAA0C,GAAG,KAAK;KAChE,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/memo/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EA+C3C,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/memo/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EA+E3C,CAAC"}
@@ -45,5 +45,37 @@ export const MEMO_ROUTES = [
45
45
  key: 'memo.batch',
46
46
  cli: 'memo-cmd-read memo.batch --params \'{"fromCategory":"备忘"}\'',
47
47
  },
48
+ // ↓↓ 后 4 行是旧表的别名行(#821 保留 10 作别名):不是场景主名,但旧行为可路由——
49
+ // 切表必须原样保留,否则是行为变更。别名不上链路总表(#842 Q③,已由 #858 落地:
50
+ // 速查表按场景主名一行,这些词仍能被路由命中、仍住 HELP 资产的 `aliases`)。
51
+ {
52
+ order: 29,
53
+ wakeWord: '批量改分类',
54
+ scene: 'memo_batch_change_category',
55
+ key: 'memo.batch',
56
+ cli: 'memo-cmd-read memo.batch --params \'{"fromCategory":"备忘"}\'',
57
+ },
58
+ {
59
+ order: 30,
60
+ wakeWord: '改子分类',
61
+ scene: 'memo_change_subcategory',
62
+ key: 'memo.update',
63
+ cli: 'memo-cmd-read memo.update --params \'{"id":1,"sub":"早起"}\'',
64
+ needs: ['id'],
65
+ },
66
+ {
67
+ order: 33,
68
+ wakeWord: '记一条',
69
+ scene: 'memo_add_basic',
70
+ key: 'memo.create',
71
+ cli: 'memo-cmd-read memo.create --params \'{"title":"买牛奶","category":"备忘"}\'',
72
+ },
73
+ {
74
+ order: 34,
75
+ wakeWord: '添加笔记',
76
+ scene: 'memo_add_basic',
77
+ key: 'memo.create',
78
+ cli: 'memo-cmd-read memo.create --params \'{"title":"买牛奶","category":"备忘"}\'',
79
+ },
48
80
  ];
49
81
  //# sourceMappingURL=routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/memo/routes.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,gBAAgB;QACvB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,wEAAwE;KAC9E;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,gEAAgE;QACrE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,gEAAgE;QACrE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,6BAA6B;QACpC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,iEAAiE;QACtE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,4DAA4D;QACjE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,4BAA4B;QACnC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,6DAA6D;KACnE;CACF,CAAC"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/memo/routes.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,gBAAgB;QACvB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,wEAAwE;KAC9E;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,gEAAgE;QACrE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,gEAAgE;QACrE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,6BAA6B;QACpC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,iEAAiE;QACtE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,4DAA4D;QACjE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,4BAA4B;QACnC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,6DAA6D;KACnE;IACD,mDAAmD;IACnD,gDAAgD;IAChD,gDAAgD;IAChD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,4BAA4B;QACnC,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,6DAA6D;KACnE;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,yBAAyB;QAChC,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,4DAA4D;QACjE,KAAK,EAAE,CAAC,IAAI,CAAC;KACd;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,gBAAgB;QACvB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,wEAAwE;KAC9E;IACD;QACE,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,gBAAgB;QACvB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,wEAAwE;KAC9E;CACF,CAAC"}
@@ -1,18 +1,19 @@
1
1
  /** 备忘域 · **命令的运行件**(票 #855:域逻辑搬回本域,出口只查表调用)。
2
2
  *
3
- * 五条命令逐字从 `src/cli/cmd_read.ts` 搬来:
3
+ * 四条命令逐字从 `src/cli/cmd_read.ts` 搬来:
4
4
  * - `memo.create`:增删改参数校验 → 心愿合成写(本地 + 飞书任务一次成)→ 通用回执页缺省落盘;
5
5
  * - `memo.update`:批量排期/完成心愿原子转换/字段改三支(情绪日记那条走通用回执页);
6
6
  * - `memo.remove`:废弃提醒分支 + 删除分层闸(单条无关联直删/有关联先清单/批量一律先清单);
7
- * - `memo.batch`:收集(出向导页)/执行(逐条改分类)两支;
8
- * - `memo.stats`:全表计数(读,无唤醒词)。
7
+ * - `memo.batch`:收集(出向导页)/执行(逐条改分类)两支。
8
+ * (`memo.stats` 第四条读命令已随 #858 退役,见件尾。)
9
9
  * 搬迁判据:`node docs/skills/skill-memo-ilife/t855-产物基线.mjs --check` 逐条一致(行为字节不变)。
10
10
  *
11
- * 下面的辅助件(`asIds`/`noteIdOfMessage`/`receiptOptsOf`/`buildReceipt`/`delete*Of`)
12
- * 只有本域的五条命令在用,随命令一起搬——不留第二份。
11
+ * 下面的辅助件(`asIds`/`delete*Of` 三件)只有本域的这几条命令在用,随命令一起搬——不留第二份;
12
+ * 页装配那三件(`noteIdOfMessage`/`receiptOptsOf`/`buildReceipt`)住同域 `./receiptPage.js`(#829 拆出,
13
+ * 理由见该件件头:`run.ts` 触到 350 行告警线,而分派与页装配本就是两件活)。
13
14
  */
14
15
  import type { CommandOut } from '../shared/commandSpec.js';
15
- import type { MemoDb } from '../fetch/db.js';
16
+ import type { MemoDb } from '../db/readonly.js';
16
17
  /** `memo.create`:参数校验 → 心愿合成写 → 通用回执页缺省落盘。 */
17
18
  export declare function runCreate(params: Record<string, unknown>, db: MemoDb): CommandOut;
18
19
  /** `memo.update`:批量排期/完成心愿原子转换/字段改三支(情绪日记走通用回执页)。 */
@@ -21,6 +22,6 @@ export declare function runUpdate(params: Record<string, unknown>, db: MemoDb):
21
22
  export declare function runRemove(params: Record<string, unknown>, db: MemoDb): CommandOut;
22
23
  /** `memo.batch`:收集(出向导页)/执行(逐条改分类)两支。 */
23
24
  export declare function runBatch(params: Record<string, unknown>, db: MemoDb): CommandOut;
24
- /** `memo.stats`:全表计数(读,无唤醒词;处置归 #842 后仍保留此读口)。 */
25
- export declare function runStats(params: Record<string, unknown>, db: MemoDb): CommandOut;
25
+ /** `memo.stats`(全表计数)已随 #858 整条退役:零唤醒词、HELP 无场景、老技能 21 个子命令无 stats
26
+ * (#842 Q④);本域今天只剩四条写命令,本条不再留读口。 */
26
27
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/memo/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AA8FxD,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAyBjF;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAmCjF;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CA4EjF;AAED,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAyChF;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAMhF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/memo/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,mBAAmB,CAAC;AA2C3D,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAsDjF;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAwEjF;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CA0FjF;AAED,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAgDhF;AAED;qCACqC"}