@wirecat/cli-memo 0.131.66 → 0.131.68

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 (220) hide show
  1. package/dist/bin/memo.js +2 -2
  2. package/dist/bundle/{all-profiles-CWV6RUGR.js → all-profiles-6JKSPBBO.js} +6 -6
  3. package/dist/bundle/{anthropic-OIVOFYZY.js → anthropic-YA2N6EJ4.js} +3 -3
  4. package/dist/bundle/{app-server-2APNY5WO.js → app-server-PGZD3JUW.js} +37 -37
  5. package/dist/bundle/auto-OVLXIZRU.js +85 -0
  6. package/dist/bundle/{bun-7ZKANZII.js → bun-OUFOAYV4.js} +2 -2
  7. package/dist/bundle/{bun-sqlite-M2EHGYBI.js → bun-sqlite-5RZTFU2Q.js} +3 -3
  8. package/dist/bundle/{chunk-I4EUGFS7.js → chunk-22CDLXSR.js} +4 -4
  9. package/dist/bundle/{chunk-2OEQH7HY.js → chunk-267N22E4.js} +1 -1
  10. package/dist/bundle/{chunk-UCLZMKTT.js → chunk-276KPJI5.js} +2 -2
  11. package/dist/bundle/{chunk-R4LVHS2N.js → chunk-2C7Z7CKD.js} +1 -1
  12. package/dist/bundle/{chunk-EI5IEOXD.js → chunk-2DQYP2K3.js} +1 -1
  13. package/dist/bundle/{chunk-VBXQAIRI.js → chunk-2F35N6BI.js} +1 -1
  14. package/dist/bundle/{chunk-QWP6RJFR.js → chunk-37H7TTWN.js} +41 -11
  15. package/dist/bundle/{chunk-KU4TU5XZ.js → chunk-3LGLKLBA.js} +2 -2
  16. package/dist/bundle/{chunk-HPUTLOQU.js → chunk-4AH6FONF.js} +13 -13
  17. package/dist/bundle/{chunk-LEL6NYM5.js → chunk-4HSWIXYE.js} +4 -4
  18. package/dist/bundle/{chunk-IGXIPABG.js → chunk-53EAI4VZ.js} +1 -1
  19. package/dist/bundle/{chunk-GL74QTTV.js → chunk-5EB34LNI.js} +35 -33
  20. package/dist/bundle/{chunk-C74WKN57.js → chunk-5EZOMIPL.js} +7 -7
  21. package/dist/bundle/{chunk-4Y33E3U3.js → chunk-5JPVRS7W.js} +4 -4
  22. package/dist/bundle/{chunk-XFZESHD3.js → chunk-5OMM4CDT.js} +2 -2
  23. package/dist/bundle/{chunk-22XVNJQP.js → chunk-5RYMHX2O.js} +9 -9
  24. package/dist/bundle/{chunk-2QIM6246.js → chunk-67VEVKMJ.js} +1 -1
  25. package/dist/bundle/{chunk-ZAOFHRBL.js → chunk-6A6HR2CS.js} +22 -22
  26. package/dist/bundle/{chunk-GO73V5BC.js → chunk-7JFLHRQL.js} +1 -1
  27. package/dist/bundle/{chunk-M76ZJSPA.js → chunk-7L4PBN5S.js} +3 -3
  28. package/dist/bundle/{chunk-DAA52TDI.js → chunk-A3WUEOEV.js} +193 -154
  29. package/dist/bundle/{chunk-DMC3NDG7.js → chunk-AJMAR5DC.js} +8 -8
  30. package/dist/bundle/{chunk-XZBVXJWY.js → chunk-BGWPKEKK.js} +5 -5
  31. package/dist/bundle/{chunk-DNXPQGFB.js → chunk-BQYAMBKB.js} +21 -21
  32. package/dist/bundle/{chunk-DH6PT65U.js → chunk-ECHN36DC.js} +4 -4
  33. package/dist/bundle/{chunk-7NV2IUIC.js → chunk-EDPA54WQ.js} +3 -3
  34. package/dist/bundle/{chunk-P2MMAW3A.js → chunk-EEBQN7TK.js} +5 -5
  35. package/dist/bundle/{chunk-LWX2PCM6.js → chunk-EO4JMJFZ.js} +8 -8
  36. package/dist/bundle/{chunk-2LAJDBWZ.js → chunk-EOJPZ3LX.js} +1615 -605
  37. package/dist/bundle/{chunk-DVVS2API.js → chunk-FOF7KGG3.js} +430 -91
  38. package/dist/bundle/{chunk-LW5G7PAR.js → chunk-FSDAEZFS.js} +5 -5
  39. package/dist/bundle/{chunk-CRRBBPJK.js → chunk-FYWGFRR2.js} +1767 -1315
  40. package/dist/bundle/{chunk-JSFC6TRN.js → chunk-FZHYGJQ2.js} +5 -5
  41. package/dist/bundle/{chunk-OO6SA2FM.js → chunk-IHHXGTMX.js} +1 -1
  42. package/dist/bundle/{chunk-BF4SX6DP.js → chunk-JQREFZWM.js} +91 -62
  43. package/dist/bundle/{chunk-2SIOUXJ7.js → chunk-KX7CVSAY.js} +5 -5
  44. package/dist/bundle/{chunk-4U2IONIS.js → chunk-LJCT7YG6.js} +1 -1
  45. package/dist/bundle/{chunk-WCRWS2W7.js → chunk-MK6SQ32Q.js} +12 -12
  46. package/dist/bundle/{chunk-RKLCY7YU.js → chunk-MWQI6FSU.js} +3 -3
  47. package/dist/bundle/{chunk-HHDZIBBO.js → chunk-N73YBQ42.js} +7 -7
  48. package/dist/bundle/{chunk-WDVYPHNV.js → chunk-OBQ7TSUB.js} +1 -1
  49. package/dist/bundle/{chunk-MEPRCROV.js → chunk-PHSYMVYX.js} +2 -2
  50. package/dist/bundle/{chunk-637JEJOC.js → chunk-PSYQPO6D.js} +2 -2
  51. package/dist/bundle/{chunk-M643YQVP.js → chunk-PUACXS7G.js} +2 -2
  52. package/dist/bundle/{chunk-LDPNN4ED.js → chunk-QHUPSOQT.js} +11 -11
  53. package/dist/bundle/{chunk-LRQD4RJN.js → chunk-QZU5IM5E.js} +2 -2
  54. package/dist/bundle/{chunk-XAEDDKM4.js → chunk-RG4GW7EY.js} +28 -28
  55. package/dist/bundle/{chunk-KV35JTWA.js → chunk-RHW3DDWI.js} +1 -1
  56. package/dist/bundle/{chunk-IDBN5CTG.js → chunk-TV75OHKJ.js} +7 -7
  57. package/dist/bundle/{chunk-KOJN4WTN.js → chunk-TXOXPQN2.js} +2 -2
  58. package/dist/bundle/{chunk-OZBL624P.js → chunk-UUBV5ATQ.js} +2 -0
  59. package/dist/bundle/{chunk-XMGUKW6Y.js → chunk-V2YS63Z5.js} +2 -2
  60. package/dist/bundle/{chunk-B3ZXE2IH.js → chunk-V6QYWGO4.js} +10892 -10869
  61. package/dist/bundle/{chunk-75MWX5PK.js → chunk-VPKJZKXV.js} +1 -1
  62. package/dist/bundle/{chunk-HUJ666OW.js → chunk-WLD5XU3T.js} +7 -6
  63. package/dist/bundle/{chunk-CUC7KGX4.js → chunk-WNA2WNDK.js} +3 -3
  64. package/dist/bundle/{chunk-ADDDSIRN.js → chunk-YTJWIJIG.js} +5 -5
  65. package/dist/bundle/{chunk-HB7WN6MX.js → chunk-YVVRV3PQ.js} +25 -1
  66. package/dist/bundle/{command-contract-N554VPBZ.js → command-contract-RX6RWHCT.js} +12 -12
  67. package/dist/bundle/{decode-ZCMHC5JI.js → decode-IJMDTGTW.js} +3 -3
  68. package/dist/bundle/{echarts-SJNM7DNA.js → echarts-EHYUXOKP.js} +2 -2
  69. package/dist/bundle/{embed-JO3CVYBK.js → embed-RUY3UIVC.js} +4 -4
  70. package/dist/bundle/{embedder-QAEGU7TZ.js → embedder-P6WBMEGP.js} +7 -7
  71. package/dist/bundle/{entry-KMFOJYWF.js → entry-XHWG43NW.js} +5 -5
  72. package/dist/bundle/failure-Z7WOYPMA.js +65 -0
  73. package/dist/bundle/{first-run-5X2NRJL2.js → first-run-FQ2BAEYK.js} +7 -7
  74. package/dist/bundle/{first-screen-2LMAVNBU.js → first-screen-GP2QGKUA.js} +13 -13
  75. package/dist/bundle/{instructions-GLZE4RPY.js → instructions-ZMG4FLGO.js} +1 -1
  76. package/dist/bundle/mcp-USR3ZFQU.js +90 -0
  77. package/dist/bundle/memo.js +7 -7
  78. package/dist/bundle/{node-BNMBIM5C.js → node-QYL4B7JS.js} +2 -2
  79. package/dist/bundle/{node-sqlite-BSRYEMOR.js → node-sqlite-ESTT2OCF.js} +4 -4
  80. package/dist/bundle/{oauth-HYAEWGBV.js → oauth-CFQFSIRQ.js} +5 -5
  81. package/dist/bundle/{open-X7J4Q3I6.js → open-3XO2HMIT.js} +3 -3
  82. package/dist/bundle/{openai-ZACXNPZS.js → openai-STUNDBD6.js} +8 -8
  83. package/dist/bundle/{process-5I6233QY.js → process-P4UAJCZX.js} +1 -1
  84. package/dist/bundle/{program-RQIADAES.js → program-FVSSLRBJ.js} +7015 -5809
  85. package/dist/bundle/{prompt-DVKTWZHJ.js → prompt-ZCYMFMIG.js} +3 -3
  86. package/dist/bundle/{recognize-VXK4L74H.js → recognize-V3BY33FK.js} +2 -2
  87. package/dist/bundle/{remote-IJLJQRQN.js → remote-IP4QR7SP.js} +5 -5
  88. package/dist/bundle/{rerank-553ZMBYJ.js → rerank-VKUSF3DM.js} +5 -5
  89. package/dist/bundle/{serve-76AFHLTI.js → serve-VBIUARHJ.js} +7 -7
  90. package/dist/bundle/{server-B3F54YWL.js → server-3FW2MQRQ.js} +94 -61
  91. package/dist/bundle/server-SWSWXNDP.js +48 -0
  92. package/dist/bundle/server-YRZDZ2PZ.js +61 -0
  93. package/dist/bundle/{state-WYFGGGAG.js → state-UBAIZ2WP.js} +4 -4
  94. package/dist/bundle/{store-S6QR47NT.js → store-PIQ4TF4O.js} +16 -10
  95. package/dist/bundle/store-maintenance-command-EWEXJ253.js +47 -0
  96. package/dist/bundle/update-6QYRXRVJ.js +68 -0
  97. package/dist/digest/backfill.d.ts +9 -0
  98. package/dist/digest/backfill.d.ts.map +1 -0
  99. package/dist/digest/backfill.js +142 -0
  100. package/dist/digest/backfill.js.map +1 -0
  101. package/dist/digest/command.d.ts +2 -0
  102. package/dist/digest/command.d.ts.map +1 -1
  103. package/dist/digest/command.js +20 -2
  104. package/dist/digest/command.js.map +1 -1
  105. package/dist/digest/digest.d.ts +8 -3
  106. package/dist/digest/digest.d.ts.map +1 -1
  107. package/dist/digest/digest.js +60 -15
  108. package/dist/digest/digest.js.map +1 -1
  109. package/dist/digest/sync-health.d.ts +1 -2
  110. package/dist/digest/sync-health.d.ts.map +1 -1
  111. package/dist/digest/tasks.d.ts +14 -1
  112. package/dist/digest/tasks.d.ts.map +1 -1
  113. package/dist/digest/tasks.js +31 -4
  114. package/dist/digest/tasks.js.map +1 -1
  115. package/dist/discovery/command.d.ts.map +1 -1
  116. package/dist/discovery/command.js +4 -0
  117. package/dist/discovery/command.js.map +1 -1
  118. package/dist/examples.d.ts.map +1 -1
  119. package/dist/examples.js +33 -0
  120. package/dist/examples.js.map +1 -1
  121. package/dist/facts/command.d.ts.map +1 -1
  122. package/dist/facts/command.js +7 -4
  123. package/dist/facts/command.js.map +1 -1
  124. package/dist/facts/fact.d.ts +1 -0
  125. package/dist/facts/fact.d.ts.map +1 -1
  126. package/dist/facts/fact.js +1 -0
  127. package/dist/facts/fact.js.map +1 -1
  128. package/dist/knowledge/project-context.d.ts +1 -0
  129. package/dist/knowledge/project-context.d.ts.map +1 -1
  130. package/dist/knowledge/relationships.d.ts +2 -0
  131. package/dist/knowledge/relationships.d.ts.map +1 -1
  132. package/dist/mcp/catalogue.d.ts +3 -0
  133. package/dist/mcp/catalogue.d.ts.map +1 -1
  134. package/dist/mcp/catalogue.js +47 -13
  135. package/dist/mcp/catalogue.js.map +1 -1
  136. package/dist/memories/command.d.ts.map +1 -1
  137. package/dist/memories/command.js +9 -5
  138. package/dist/memories/command.js.map +1 -1
  139. package/dist/memories/memories.d.ts +6 -3
  140. package/dist/memories/memories.d.ts.map +1 -1
  141. package/dist/memories/memories.js +15 -20
  142. package/dist/memories/memories.js.map +1 -1
  143. package/dist/memories/memory.d.ts +1 -0
  144. package/dist/memories/memory.d.ts.map +1 -1
  145. package/dist/memories/memory.js +1 -0
  146. package/dist/memories/memory.js.map +1 -1
  147. package/dist/memories/sources.d.ts +27 -0
  148. package/dist/memories/sources.d.ts.map +1 -0
  149. package/dist/memories/sources.js +111 -0
  150. package/dist/memories/sources.js.map +1 -0
  151. package/dist/notes/embed.d.ts +2 -0
  152. package/dist/notes/embed.d.ts.map +1 -1
  153. package/dist/notes/embed.js +13 -0
  154. package/dist/notes/embed.js.map +1 -1
  155. package/dist/notes/files.d.ts.map +1 -1
  156. package/dist/notes/files.js +2 -0
  157. package/dist/notes/files.js.map +1 -1
  158. package/dist/program.d.ts +4 -1
  159. package/dist/program.d.ts.map +1 -1
  160. package/dist/program.js +46 -1
  161. package/dist/program.js.map +1 -1
  162. package/dist/reasons.d.ts.map +1 -1
  163. package/dist/reasons.js +24 -0
  164. package/dist/reasons.js.map +1 -1
  165. package/dist/review/command.d.ts +2 -0
  166. package/dist/review/command.d.ts.map +1 -1
  167. package/dist/review/command.js +18 -3
  168. package/dist/review/command.js.map +1 -1
  169. package/dist/review/kinds.d.ts +1 -1
  170. package/dist/review/kinds.d.ts.map +1 -1
  171. package/dist/review/kinds.js +2 -1
  172. package/dist/review/kinds.js.map +1 -1
  173. package/dist/review/review.d.ts +64 -1
  174. package/dist/review/review.d.ts.map +1 -1
  175. package/dist/review/review.js +45 -0
  176. package/dist/review/review.js.map +1 -1
  177. package/dist/run/import.d.ts +9 -0
  178. package/dist/run/import.d.ts.map +1 -1
  179. package/dist/run/import.js +20 -0
  180. package/dist/run/import.js.map +1 -1
  181. package/dist/schedule/command.d.ts +2 -1
  182. package/dist/schedule/command.d.ts.map +1 -1
  183. package/dist/schedule/command.js +6 -2
  184. package/dist/schedule/command.js.map +1 -1
  185. package/dist/sources/command.d.ts +7 -0
  186. package/dist/sources/command.d.ts.map +1 -0
  187. package/dist/sources/command.js +246 -0
  188. package/dist/sources/command.js.map +1 -0
  189. package/dist/sources/copy.d.ts +13 -0
  190. package/dist/sources/copy.d.ts.map +1 -0
  191. package/dist/sources/copy.js +32 -0
  192. package/dist/sources/copy.js.map +1 -0
  193. package/dist/sources/mentions.d.ts +21 -0
  194. package/dist/sources/mentions.d.ts.map +1 -0
  195. package/dist/sources/mentions.js +78 -0
  196. package/dist/sources/mentions.js.map +1 -0
  197. package/dist/sources/read.d.ts +30 -0
  198. package/dist/sources/read.d.ts.map +1 -0
  199. package/dist/sources/read.js +181 -0
  200. package/dist/sources/read.js.map +1 -0
  201. package/dist/templates/command.d.ts +5 -0
  202. package/dist/templates/command.d.ts.map +1 -0
  203. package/dist/templates/command.js +18 -0
  204. package/dist/templates/command.js.map +1 -0
  205. package/dist/version.d.ts +1 -1
  206. package/dist/version.js +1 -1
  207. package/package.json +4 -4
  208. package/skills/cli-memo/SKILL.md +9 -0
  209. package/skills/cli-memo/topics/proposals.md +13 -2
  210. package/skills/cli-memo/topics/search.md +7 -0
  211. package/skills/mail-triage/SKILL.md +25 -19
  212. package/skills/morning-digest/SKILL.md +15 -1
  213. package/dist/bundle/auto-HRPCC4FE.js +0 -85
  214. package/dist/bundle/failure-2FQL5SHA.js +0 -65
  215. package/dist/bundle/mcp-QXTOJORS.js +0 -90
  216. package/dist/bundle/server-PSEKWXKK.js +0 -48
  217. package/dist/bundle/server-QDPYZZT5.js +0 -61
  218. package/dist/bundle/store-maintenance-command-O4TXIWSL.js +0 -47
  219. package/dist/bundle/update-Z4LDMYC5.js +0 -68
  220. /package/dist/bundle/{chunk-IJPRQERM.js → chunk-AWVQHWIS.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/digest/backfill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAU1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0DxC;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA8H1F,CAAA"}
@@ -0,0 +1,142 @@
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { CliError } from "@wirecat/cli-base";
4
+ import { annotate } from "@wirecat/cli-base/commands";
5
+ import { backfillScheduleRun, LOCAL_WRITE, readSchedule, SCHEDULE_DEFAULTS, scheduleFile, spentToday, } from "@wirecat/cli-core/cli";
6
+ import { answers, itemAnswer } from "../answer.js";
7
+ import { APP } from "../app.js";
8
+ import { fromAppOption, whoRuns } from "../author.js";
9
+ import { scheduleLimits } from "../config.js";
10
+ import { DIGEST_SCHEDULE, digestSchedule, runTime } from "./tasks.js";
11
+ const DAY = 86_400_000;
12
+ const DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
13
+ const localDate = (at) => {
14
+ const day = new Date(at);
15
+ return `${day.getFullYear()}-${String(day.getMonth() + 1).padStart(2, "0")}-${String(day.getDate()).padStart(2, "0")}`;
16
+ };
17
+ const dateOf = (value, flag) => {
18
+ const [, year, month, day] = DATE.exec(value) ?? [];
19
+ const date = new Date(Number(year), Number(month) - 1, Number(day));
20
+ if (!year || localDate(date.getTime()) !== value)
21
+ throw new CliError("validation_error", `${flag} takes a date, YYYY-MM-DD, not "${value}"`, { param: flag });
22
+ return date;
23
+ };
24
+ /** Each day from `from` to `to`, at the schedule's local time, as its timer would have started it. */
25
+ const daysOf = (from, to, time) => {
26
+ const [hour, minute] = time.split(":").map(Number);
27
+ const days = [];
28
+ for (const day = new Date(from); day <= to; day.setDate(day.getDate() + 1))
29
+ days.push({
30
+ date: localDate(day.getTime()),
31
+ at: new Date(day.getFullYear(), day.getMonth(), day.getDate(), hour, minute).getTime(),
32
+ });
33
+ return days;
34
+ };
35
+ /** What the agent reads first: which day it writes and the window its agenda reads, as the skill expects them. */
36
+ const inputOf = (date, at) => `backfill: ${date}\n` +
37
+ `window: --since-time ${new Date(at - DAY).toISOString()} --before-time ${new Date(at).toISOString()}\n`;
38
+ const usd = (value) => `$${value.toFixed(2)}`;
39
+ const cents = (value) => Math.round(value * 100) / 100;
40
+ /**
41
+ * `digest backfill`: the morning digest each past day would have had, built by the schedule's own agent with the
42
+ * agenda as of that day's run time, kept as that day's run and sent nowhere. Each day is a paid model call, so it
43
+ * prints the estimate unless --yes, and only the owner runs it.
44
+ */
45
+ export const digestCommand = (program, streams, env) => {
46
+ const { print } = answers(program, streams, env);
47
+ const digest = program
48
+ .command("digest")
49
+ .description("the morning digest's history: build the digests of past days")
50
+ .summary("the morning digest's history");
51
+ fromAppOption(annotate(digest.command("backfill"), { effects: LOCAL_WRITE }))
52
+ .summary("build the morning digests of past days, without sending them")
53
+ .description("build the morning digest each past day would have had: the morning-digest schedule's agent runs as its timer " +
54
+ "does (the same skill, flags and cost caps), reading the agenda as of that day's run time, and the result is " +
55
+ "kept as that day's run, marked backfill, for WireCat Desktop's digests screen. It is never sent to Telegram " +
56
+ "or mail. A day that already has a digest is skipped. Without --yes it only prints what it would build and " +
57
+ "the estimate: the days times the last digest run's cost. Each day is a paid model call: it stops once " +
58
+ "today's runs cost the schedule's daily cap or a day fails, and only you run it, never an agent. The store " +
59
+ "keeps what holds now, so a chat answered since reads as answered")
60
+ .requiredOption("--from <date>", "the first day, YYYY-MM-DD")
61
+ .requiredOption("--to <date>", "the last day, YYYY-MM-DD; not a day whose run time is still ahead")
62
+ .option("--yes", "build them; without it, only the estimate is printed")
63
+ .option("--json", "print JSON")
64
+ .action(async (given, command) => {
65
+ const from = dateOf(given.from, "--from");
66
+ const to = dateOf(given.to, "--to");
67
+ if (from > to)
68
+ throw new CliError("validation_error", "--from is after --to", { param: "--from" });
69
+ const { state, schedule } = digestSchedule(env);
70
+ if (!schedule)
71
+ throw new CliError("not_found", `no ${DIGEST_SCHEDULE} schedule to build from — memo skill show morning-digest says how to make one`, { reason: "backfill.no-schedule" });
72
+ const file = scheduleFile(state, schedule.name);
73
+ const when = readSchedule(file).when;
74
+ if (!("daily" in when))
75
+ throw new CliError("validation_error", `${schedule.name} does not run at a daily time, so it has no past days`, {
76
+ reason: "backfill.not-daily",
77
+ schedule: schedule.name,
78
+ });
79
+ const all = daysOf(from, to, when.daily);
80
+ if ((all.at(-1)?.at ?? 0) > Date.now())
81
+ throw new CliError("validation_error", `the ${given.to} digest's time has not come yet; --to an earlier day`, {
82
+ param: "--to",
83
+ });
84
+ const runs = join(file, "..", "runs");
85
+ const done = new Set((existsSync(runs) ? readdirSync(runs) : [])
86
+ .filter((name) => name.endsWith(".report.json"))
87
+ .map((name) => localDate(runTime(name))));
88
+ const days = all.filter((day) => !done.has(day.date));
89
+ const skipped = all.filter((day) => done.has(day.date)).map((day) => day.date);
90
+ const lastCost = schedule.last?.costUsd;
91
+ const estimate = {
92
+ days: days.map((day) => day.date),
93
+ skipped,
94
+ estimateUsd: typeof lastCost === "number" ? cents(days.length * lastCost) : null,
95
+ };
96
+ const cap = readSchedule(file).maxCostPerDay ?? scheduleLimits(env).maxCostPerDay ?? SCHEDULE_DEFAULTS.maxCostPerDay;
97
+ if (!given.yes) {
98
+ const room = cap > 0 ? cap - spentToday(file) : Number.POSITIVE_INFINITY;
99
+ print(given.json, itemAnswer(estimate), [
100
+ `Would build ${days.length} day(s)${days.length ? `: ${estimate.days.join(", ")}` : ""}.`,
101
+ ...(skipped.length ? [`Skipped, a digest exists: ${skipped.join(", ")}.`] : []),
102
+ estimate.estimateUsd === null
103
+ ? "No digest run has a cost yet, so there is no estimate."
104
+ : `Estimate: ${usd(estimate.estimateUsd)} (${days.length} × the last run's ${usd(lastCost)}).`,
105
+ ...(estimate.estimateUsd !== null && estimate.estimateUsd > room
106
+ ? [`Today's cap leaves ${usd(Math.max(0, room))}: it stops there, and the rest waits for another day.`]
107
+ : []),
108
+ ...(days.length ? ["Build them, sending nothing: add --yes."] : []),
109
+ ].join("\n"));
110
+ return;
111
+ }
112
+ const who = await whoRuns(command, env, { question: `spend about ${usd(estimate.estimateUsd ?? 0)}?` });
113
+ if (who !== "owner")
114
+ throw new CliError("permission_error", "a backfill spends the owner's money on model calls; the owner runs it at a terminal or in WireCat Desktop", { reason: "backfill.owner-only" });
115
+ const built = [];
116
+ const left = [];
117
+ for (const day of days) {
118
+ const failed = built.some((one) => one.exitCode !== 0);
119
+ if (left.length || failed || (cap > 0 && spentToday(file) >= cap)) {
120
+ left.push(day.date);
121
+ continue;
122
+ }
123
+ const run = await backfillScheduleRun(command, APP, env, file, {
124
+ at: new Date(day.at),
125
+ input: inputOf(day.date, day.at),
126
+ });
127
+ built.push({ date: day.date, at: run.at, exitCode: run.exitCode, costUsd: run.costUsd ?? null });
128
+ }
129
+ const costUsd = cents(built.reduce((sum, one) => sum + (one.costUsd ?? 0), 0));
130
+ if (built.some((one) => one.exitCode !== 0))
131
+ process.exitCode = 1;
132
+ print(given.json, itemAnswer({ ...estimate, built, left, costUsd }), [
133
+ ...built.map((one) => `${one.date}: ${one.exitCode === 0 ? "built" : `failed (exit ${one.exitCode})`}${one.costUsd === null ? "" : `, ${usd(one.costUsd)}`}`),
134
+ ...(skipped.length ? [`Skipped, a digest exists: ${skipped.join(", ")}.`] : []),
135
+ ...(left.length
136
+ ? [`Not built, after a failed day or once today's cap of ${usd(cap)} was spent: ${left.join(", ")}.`]
137
+ : []),
138
+ `Cost: ${usd(costUsd)}. Nothing was sent.`,
139
+ ].join("\n"));
140
+ });
141
+ };
142
+ //# sourceMappingURL=backfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/digest/backfill.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { type Streams } from "@wirecat/cli-base";
2
2
  import type { Body } from "@wirecat/cli-core/cli";
3
3
  import type { Command } from "commander";
4
4
  export declare const sinceOf: (value: string, now?: number) => number;
5
+ /** A past moment, as an ISO time or a date (its local midnight); it must not be in the future. */
6
+ export declare const beforeOf: (value: string, now?: number) => number;
5
7
  type Print = (json: boolean | undefined, body: Body) => void;
6
8
  /** `review agenda`: the morning digest an agent reads first, then follows only the `next` lines it prints. */
7
9
  export declare const reviewAgendaCommand: (review: Command, print: Print, streams: Streams, env: NodeJS.ProcessEnv) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/digest/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBxC,eAAO,MAAM,OAAO,UAAW,MAAM,mBAAqB,MAOzD,CAAA;AAED,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;AAE5D,8GAA8G;AAC9G,eAAO,MAAM,mBAAmB,WAAY,OAAO,SAAS,KAAK,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IA+C7G,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/digest/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAqBxC,eAAO,MAAM,OAAO,UAAW,MAAM,mBAAqB,MAOzD,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,QAAQ,UAAW,MAAM,mBAAqB,MAW1D,CAAA;AAED,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;AAE5D,8GAA8G;AAC9G,eAAO,MAAM,mBAAmB,WAAY,OAAO,SAAS,KAAK,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAuD7G,CAAA"}
@@ -18,6 +18,19 @@ export const sinceOf = (value, now = Date.now()) => {
18
18
  });
19
19
  return since;
20
20
  };
21
+ /** A past moment, as an ISO time or a date (its local midnight); it must not be in the future. */
22
+ export const beforeOf = (value, now = Date.now()) => {
23
+ const at = /^\d{4}-\d{2}-\d{2}$/.test(value) ? new Date(`${value}T00:00:00`).getTime() : Date.parse(value);
24
+ if (!/^\d{4}-\d{2}-\d{2}/.test(value) || Number.isNaN(at))
25
+ throw new CliError("validation_error", `--before-time takes an ISO time or a date, not "${value}"`, {
26
+ param: "before-time",
27
+ });
28
+ if (at > now)
29
+ throw new CliError("validation_error", "--before-time is in the future; leave it out for now", {
30
+ param: "before-time",
31
+ });
32
+ return at;
33
+ };
21
34
  /** `review agenda`: the morning digest an agent reads first, then follows only the `next` lines it prints. */
22
35
  export const reviewAgendaCommand = (review, print, streams, env) => {
23
36
  annotate(review.command("agenda"), { effects: LOCAL_READ })
@@ -25,7 +38,8 @@ export const reviewAgendaCommand = (review, print, streams, env) => {
25
38
  .description("the morning digest, from the store alone with no model call: everything new in what you tagged " +
26
39
  `${WATCH_TAG} (chats, mail threads, people, projects, a meeting's series), replies you owe to people in ` +
27
40
  "messengers and personal mail (not bots or service chats), new personal mail, meetings that ended, tasks, " +
28
- "projects that moved, proposals waiting. Tasks are the open ones created since the last morning-digest run (a " +
41
+ "projects that moved, memories and facts whose sources changed (source reviews raised since), proposals " +
42
+ "waiting. Tasks are the open ones created since the last morning-digest run (a " +
29
43
  "day back when none ran) and those overdue, due today or due tomorrow, each with who asked and who does it. " +
30
44
  "Replies owed reach back 7 days; owed mail lists only senders you know (linked to a person with other " +
31
45
  "identities, or written to before), and mail from new senders is one count with the command that lists it. " +
@@ -36,6 +50,8 @@ export const reviewAgendaCommand = (review, print, streams, env) => {
36
50
  "than usual, so an unsynced account does not read as a quiet day; an account stored or synced within a day " +
37
51
  "is never named")
38
52
  .option("--since-time <time>", "how far back: hours or days (12h, 7d) or a start date (2026-11-01)", "1d")
53
+ .option("--before-time <time>", "build it as of this past ISO time or date, for a past day's digest: --since-time counts back from it, and " +
54
+ "what came later is left out; a chat or thread answered since reads as answered")
39
55
  .option("--limit <n>", "items per section before the size budget", positive, 25)
40
56
  .option("--max-output-bytes <bytes>", "the text answer's size budget in bytes; 40000 with --compact, else 80000", positive)
41
57
  .option("--compact", "one line per item, shorter excerpts, the smaller budget: for an agent")
@@ -46,9 +62,11 @@ export const reviewAgendaCommand = (review, print, streams, env) => {
46
62
  reason: "output.conflict",
47
63
  param: "--compact",
48
64
  });
49
- const since = sinceOf(given.sinceTime);
65
+ const until = given.beforeTime === undefined ? undefined : beforeOf(given.beforeTime);
66
+ const since = sinceOf(given.sinceTime, until);
50
67
  const gathered = await withStore(env, (store) => gatherDigest(store, env, {
51
68
  since,
69
+ ...(until === undefined ? {} : { until }),
52
70
  limit: given.limit,
53
71
  excerpt: given.compact ? 100 : 200,
54
72
  owedWithin: OWED_WITHIN,
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/digest/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/digest/command.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { MessageStore } from "@wirecat/cli-core/store";
1
+ import { type MessageStore } from "@wirecat/cli-core/store";
2
2
  import { type Health } from "./sync-health.js";
3
3
  import { type TaskCounts } from "./tasks.js";
4
4
  /** The tag that puts a chat, mail thread, person, project or meeting series on the owner's watch list. */
@@ -28,7 +28,7 @@ export interface DigestSection {
28
28
  next: string[];
29
29
  };
30
30
  }
31
- export declare const SECTIONS: readonly ["watch", "owed", "mail", "meetings", "tasks", "projects", "proposals"];
31
+ export declare const SECTIONS: readonly ["watch", "owed", "mail", "meetings", "tasks", "projects", "sources", "proposals"];
32
32
  export type SectionName = (typeof SECTIONS)[number];
33
33
  export interface Coverage {
34
34
  account: string;
@@ -69,6 +69,11 @@ export interface Digest {
69
69
  export interface DigestOptions {
70
70
  since: number;
71
71
  now?: number;
72
+ /**
73
+ * A past moment to build the digest as of, for a day's backfill: it is the digest's now, and what the store dates
74
+ * later is left out. The store keeps only what holds now, so a chat answered since still reads as answered.
75
+ */
76
+ until?: number;
72
77
  /** Items per section before the size budget. */
73
78
  limit: number;
74
79
  /** Characters per excerpt. */
@@ -83,5 +88,5 @@ export interface DigestOptions {
83
88
  * personal mail, meetings that ended, tasks due, projects that moved, proposals waiting. Every item names its
84
89
  * reference, so an agent reads further only where it points.
85
90
  */
86
- export declare const gatherDigest: (store: MessageStore, env: NodeJS.ProcessEnv, { since, now, limit, excerpt, owedWithin, newSince }: DigestOptions) => Promise<Digest>;
91
+ export declare const gatherDigest: (store: MessageStore, env: NodeJS.ProcessEnv, { since, now: clock, until, limit, excerpt, owedWithin, newSince }: DigestOptions) => Promise<Digest>;
87
92
  //# sourceMappingURL=digest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,15 @@ import { formatReference, kindOf } from "@wirecat/cli-core";
2
2
  import { mailTurn, OWED_DAYS } from "@wirecat/cli-core/mail";
3
3
  import { formatMeetingReference } from "@wirecat/cli-core/meetings";
4
4
  import { projectStatus } from "@wirecat/cli-core/services";
5
- import { listReview } from "../review/review.js";
5
+ import { SOURCE_REVIEW_KIND } from "@wirecat/cli-core/store";
6
+ import { listReview, REVIEW_SOURCES } from "../review/review.js";
6
7
  import { counted } from "../review/status.js";
7
8
  import { knownSenders } from "./known.js";
8
9
  import { HEALTH_REASONS, healthOf, SOURCE_WORDS, syncRunsOf } from "./sync-health.js";
9
- import { gatherTasks, previousDigestAt } from "./tasks.js";
10
+ import { digestRunBefore, gatherTasks, previousDigestAt } from "./tasks.js";
10
11
  /** The tag that puts a chat, mail thread, person, project or meeting series on the owner's watch list. */
11
12
  export const WATCH_TAG = "watch";
12
- export const SECTIONS = ["watch", "owed", "mail", "meetings", "tasks", "projects", "proposals"];
13
+ export const SECTIONS = ["watch", "owed", "mail", "meetings", "tasks", "projects", "sources", "proposals"];
13
14
  export const SCOPE_KINDS = ["telegram", "max", "whatsapp", "mail", "meeting", "task"];
14
15
  const DAY = 86_400_000;
15
16
  const MESSENGERS = new Set(["telegram", "max", "whatsapp"]);
@@ -109,7 +110,10 @@ const personal = (newest) => !newest.bulk && !newest.list && !newest.envelope &&
109
110
  * personal mail, meetings that ended, tasks due, projects that moved, proposals waiting. Every item names its
110
111
  * reference, so an agent reads further only where it points.
111
112
  */
112
- export const gatherDigest = async (store, env, { since, now = Date.now(), limit, excerpt, owedWithin, newSince }) => {
113
+ export const gatherDigest = async (store, env, { since, now: clock = Date.now(), until, limit, excerpt, owedWithin, newSince }) => {
114
+ const now = until ?? clock;
115
+ const by = (at) => until === undefined || at <= until;
116
+ const upTo = (found) => found.filter((one) => by(Date.parse(one.item.at)));
113
117
  const window = (now - since) / DAY;
114
118
  const days = `${Math.max(1, Math.ceil(window))}d`;
115
119
  const accounts = await store.accounts.accounts();
@@ -175,7 +179,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
175
179
  storedAt: storedAt === null ? null : Date.parse(storedAt),
176
180
  });
177
181
  const ref = (chat) => formatReference({ type: "chat", provider: key.provider, account: key.account, chat });
178
- chatsMoved += chats.filter((chat) => Date.parse(chat.lastMessageAt) >= since).length;
182
+ chatsMoved += chats.filter((chat) => Date.parse(chat.lastMessageAt) >= since && by(Date.parse(chat.lastMessageAt))).length;
179
183
  coverage.push({
180
184
  account: name(key),
181
185
  storedAt,
@@ -197,7 +201,11 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
197
201
  if (owedHere)
198
202
  owedNext.push(`memo tasks agenda --source ${name(key)} --unanswered 1m --within ${Math.ceil(owedWithin / DAY)}d`);
199
203
  for (const chatId of watched.chats.get(name(key)) ?? []) {
200
- const page = await store.messages.messages(key, chatId, { limit, since: iso(since) });
204
+ const page = await store.messages.messages(key, chatId, {
205
+ limit,
206
+ since: iso(since),
207
+ ...(until === undefined ? {} : { until }),
208
+ });
201
209
  for (const message of page.items)
202
210
  watch.push({
203
211
  item: {
@@ -226,7 +234,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
226
234
  moved30d: threads.filter((thread) => thread.lastEmailAt >= now - 30 * DAY).length,
227
235
  storedAt: newest || null,
228
236
  });
229
- mailMoved += threads.filter((thread) => thread.lastEmailAt >= since && thread.newest !== null && personal(thread.newest)).length;
237
+ mailMoved += threads.filter((thread) => thread.lastEmailAt >= since && by(thread.lastEmailAt) && thread.newest !== null && personal(thread.newest)).length;
230
238
  coverage.push({
231
239
  account: name(key),
232
240
  storedAt: newest ? iso(newest) : null,
@@ -339,7 +347,8 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
339
347
  }
340
348
  const hot = await gatherTasks(store, [...messengers, ...mailboxes], {
341
349
  now,
342
- newSince: newSince ?? previousDigestAt(env, now),
350
+ newSince: newSince ?? (until === undefined ? previousDigestAt(env, now) : digestRunBefore(env, until)),
351
+ ...(until === undefined ? {} : { until }),
343
352
  });
344
353
  const tasks = hot.tasks.map(({ task, groups, askedBy, for: doer }) => ({
345
354
  item: {
@@ -376,6 +385,32 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
376
385
  },
377
386
  });
378
387
  }
388
+ // A review refreshed in place keeps its raise time, so it is listed once, when it was raised or grew graver.
389
+ const reviews = await listReview(store, env, [`kind:${SOURCE_REVIEW_KIND}`], { limit: 50, page: 1 });
390
+ const sourceItems = reviews.items
391
+ .filter((row) => Date.parse(row.createdAt) >= since && by(Date.parse(row.createdAt)))
392
+ .map((row) => ({
393
+ item: {
394
+ ref: row.subject,
395
+ who: row.proposer,
396
+ at: row.createdAt,
397
+ excerpt: oneLine(row.title, excerpt),
398
+ why: `review ${row.id}: ${row.summary ?? "sources changed"}`,
399
+ },
400
+ }));
401
+ const reviewCount = sourceItems.length;
402
+ const reviewed = new Set(reviews.items.flatMap((row) => row.evidence));
403
+ for (const changed of await store.knowledge.changedSources({ since }))
404
+ if (!reviewed.has(changed.ref) && by(Date.parse(changed.checkedAt)))
405
+ sourceItems.push({
406
+ item: {
407
+ ref: changed.ref,
408
+ who: null,
409
+ at: changed.checkedAt,
410
+ excerpt: null,
411
+ why: "changed since a memory or fact cited it; no findings batch reads it yet",
412
+ },
413
+ });
379
414
  const waiting = await counted(store, env, { status: "proposed" });
380
415
  const proposed = await listReview(store, env, [], { limit, page: 1 });
381
416
  const proposals = proposed.items.map((row) => ({
@@ -388,22 +423,32 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
388
423
  },
389
424
  }));
390
425
  const sections = [
391
- await section("watch", watch, limit, [
426
+ await section("watch", upTo(watch), limit, [
392
427
  "memo tags list tag:watch",
393
428
  ...[...watched.people].map((uid) => `memo context person:${uid}`),
394
429
  ]),
395
430
  {
396
- ...(await section("owed", owed, limit, [
431
+ ...(await section("owed", upTo(owed), limit, [
397
432
  ...owedNext,
398
433
  ...(olderMail ? [`# ${olderMail} mail threads owed from before the window left out`] : []),
399
434
  ])),
400
435
  ...(unknown.count ? { unknown } : {}),
401
436
  },
402
- await section("mail", mail, limit, [...mailNext, ...(bulk ? [`# ${bulk} bulk or list threads left out`] : [])]),
403
- await section("meetings", meetings, limit, ["memo search meetings <words>"]),
437
+ await section("mail", upTo(mail), limit, [
438
+ ...mailNext,
439
+ ...(bulk ? [`# ${bulk} bulk or list threads left out`] : []),
440
+ ]),
441
+ await section("meetings", upTo(meetings), limit, ["memo search meetings <words>"]),
404
442
  await section("tasks", tasks, limit, ["memo tasks list"]),
405
- await section("projects", projects, limit, projectNext),
406
- await section("proposals", proposals, limit, ["memo review list"], waiting.total),
443
+ await section("projects", upTo(projects), limit, projectNext),
444
+ await section("sources", sourceItems, limit, [
445
+ REVIEW_SOURCES,
446
+ ...(reviewCount > 0 ? [`# decide them: ${REVIEW_SOURCES}`] : []),
447
+ ...(sourceItems.length > reviewCount
448
+ ? [`# read changed sources again: memo memories check --since-time ${days} --json`]
449
+ : []),
450
+ ]),
451
+ await section("proposals", upTo(proposals), limit, ["memo review list"], waiting.total),
407
452
  ];
408
453
  const providerCount = (provider) => accounts.filter((key) => key.provider === provider).length;
409
454
  const meetingAccounts = accounts.filter((key) => kindOf(key.provider) === "meetings").length;
@@ -422,7 +467,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
422
467
  from: iso(since),
423
468
  to: iso(now),
424
469
  sources: sources.filter((one) => one.accounts > 0),
425
- counts: { chats: chatsMoved, mail: mailMoved, tasks: hot.tasks.length, meetings: meetings.length },
470
+ counts: { chats: chatsMoved, mail: mailMoved, tasks: hot.tasks.length, meetings: upTo(meetings).length },
426
471
  },
427
472
  tasks: hot.counts,
428
473
  health: health.sort((a, b) => HEALTH_ORDER.indexOf(a.reason) - HEALTH_ORDER.indexOf(b.reason)),
@@ -1 +1 @@
1
- {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export interface Health {
17
17
  refs: string[];
18
18
  }
19
19
  export declare const SOURCE_WORDS: Record<string, string>;
20
- interface Scheduled {
20
+ export interface Scheduled {
21
21
  name: string;
22
22
  kind: string;
23
23
  argv: string[];
@@ -50,5 +50,4 @@ export declare const healthOf: (sync: SyncRuns, activity: {
50
50
  moved30d: number;
51
51
  storedAt: number | null;
52
52
  }, now: number) => Pick<Health, "reason" | "since" | "staleHours" | "failure"> | undefined;
53
- export {};
54
53
  //# sourceMappingURL=sync-health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-health.d.ts","sourceRoot":"","sources":["../../src/digest/sync-health.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,8BAA8B,CAAA;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIzD,eAAO,MAAM,cAAc,YAAI,aAAa,EAAE,aAAa,EAAE,OAAO,CAAU,CAAA;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,4FAA4F;AAC5F,MAAM,WAAW,MAAM;IACrB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,4GAA4G;IAC5G,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AASD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAA;AAOD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,4HAA4H;AAC5H,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,SAAS,EAoBpD,CAAA;AAuCD,MAAM,WAAW,QAAQ;IACvB,wFAAwF;IACxF,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAA;IAChB,gGAAgG;IAChG,KAAK,EAAE,OAAO,CAAA;CACf;AAED,0HAA0H;AAC1H,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU,WAgBlC,UAAU,KAAG,QAa3B,CAAA;AAID,oFAAoF;AACpF,eAAO,MAAM,WAAW,QAAU,CAAA;AAClC,uGAAuG;AACvG,eAAO,MAAM,UAAU,IAAI,CAAA;AAI3B;;;GAGG;AACH,eAAO,MAAM,QAAQ,SACb,QAAQ,YACJ;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,OACzE,MAAM,KACV,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG,SA0BhE,CAAA"}
1
+ {"version":3,"file":"sync-health.d.ts","sourceRoot":"","sources":["../../src/digest/sync-health.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,8BAA8B,CAAA;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAIzD,eAAO,MAAM,cAAc,YAAI,aAAa,EAAE,aAAa,EAAE,OAAO,CAAU,CAAA;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,4FAA4F;AAC5F,MAAM,WAAW,MAAM;IACrB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,4GAA4G;IAC5G,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AASD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAA;AAOD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,4HAA4H;AAC5H,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,SAAS,EAoBpD,CAAA;AAuCD,MAAM,WAAW,QAAQ;IACvB,wFAAwF;IACxF,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,SAAS,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAA;IAChB,gGAAgG;IAChG,KAAK,EAAE,OAAO,CAAA;CACf;AAED,0HAA0H;AAC1H,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU,WAgBlC,UAAU,KAAG,QAa3B,CAAA;AAID,oFAAoF;AACpF,eAAO,MAAM,WAAW,QAAU,CAAA;AAClC,uGAAuG;AACvG,eAAO,MAAM,UAAU,IAAI,CAAA;AAI3B;;;GAGG;AACH,eAAO,MAAM,QAAQ,SACb,QAAQ,YACJ;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,OACzE,MAAM,KACV,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG,SA0BhE,CAAA"}