@wirecat/cli-memo 0.131.67 → 0.131.69

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 (152) hide show
  1. package/dist/bin/memo.js +2 -2
  2. package/dist/bundle/{all-profiles-W3GRNNLJ.js → all-profiles-6JKSPBBO.js} +5 -5
  3. package/dist/bundle/{anthropic-GWMYHBO4.js → anthropic-YA2N6EJ4.js} +2 -2
  4. package/dist/bundle/{app-server-RQ26EXNI.js → app-server-UP3AL2XQ.js} +35 -35
  5. package/dist/bundle/auto-IKZIROGF.js +85 -0
  6. package/dist/bundle/{bun-KKLPQTG5.js → bun-OUFOAYV4.js} +2 -2
  7. package/dist/bundle/{bun-sqlite-WKIZJNTG.js → bun-sqlite-5RZTFU2Q.js} +2 -2
  8. package/dist/bundle/{chunk-R4H5HSQZ.js → chunk-22CDLXSR.js} +4 -4
  9. package/dist/bundle/{chunk-XI5UABKO.js → chunk-267N22E4.js} +1 -1
  10. package/dist/bundle/{chunk-7IKET6ES.js → chunk-276KPJI5.js} +2 -2
  11. package/dist/bundle/{chunk-32ROGX5N.js → chunk-2C7Z7CKD.js} +1 -1
  12. package/dist/bundle/{chunk-NNUJWCEJ.js → chunk-2DQYP2K3.js} +1 -1
  13. package/dist/bundle/{chunk-TQXXOUOX.js → chunk-2F35N6BI.js} +1 -1
  14. package/dist/bundle/{chunk-BOOEDDVY.js → chunk-2NFI7SDW.js} +83 -63
  15. package/dist/bundle/{chunk-ECMYCWG2.js → chunk-3LGLKLBA.js} +2 -2
  16. package/dist/bundle/{chunk-Q4JYHQ47.js → chunk-3TFK7RBA.js} +342 -323
  17. package/dist/bundle/{chunk-VVTC2YAX.js → chunk-3YVLNOPE.js} +4 -4
  18. package/dist/bundle/{chunk-MLF5FLAP.js → chunk-4HSWIXYE.js} +4 -4
  19. package/dist/bundle/{chunk-GU3MRYK2.js → chunk-53EAI4VZ.js} +1 -1
  20. package/dist/bundle/{chunk-ZU6HZLZP.js → chunk-5EHUHZU5.js} +429 -90
  21. package/dist/bundle/{chunk-MCA265JM.js → chunk-5MUR6D2G.js} +19 -1
  22. package/dist/bundle/{chunk-ZVXXJYNW.js → chunk-5OMM4CDT.js} +2 -2
  23. package/dist/bundle/{chunk-AGNWFOAJ.js → chunk-67VEVKMJ.js} +1 -1
  24. package/dist/bundle/{chunk-JG7EDH7K.js → chunk-7JFLHRQL.js} +1 -1
  25. package/dist/bundle/{chunk-CQNYBTWP.js → chunk-7L4PBN5S.js} +2 -2
  26. package/dist/bundle/{chunk-WJ2OYD2D.js → chunk-BGWPKEKK.js} +4 -4
  27. package/dist/bundle/{chunk-TPYXULNG.js → chunk-BJJULUUC.js} +5 -5
  28. package/dist/bundle/{chunk-VUCD4DAQ.js → chunk-ECHN36DC.js} +4 -4
  29. package/dist/bundle/{chunk-TXWVZVDK.js → chunk-EDPA54WQ.js} +3 -3
  30. package/dist/bundle/{chunk-JEKIBI7P.js → chunk-EKSOPEFQ.js} +4 -4
  31. package/dist/bundle/{chunk-ZOIW2YEU.js → chunk-EO4JMJFZ.js} +7 -7
  32. package/dist/bundle/{chunk-7DANHJF6.js → chunk-FQ54GW57.js} +31 -31
  33. package/dist/bundle/{chunk-DNDELSVT.js → chunk-FZHYGJQ2.js} +5 -5
  34. package/dist/bundle/{chunk-IKZBO7NV.js → chunk-GGFL64HF.js} +623 -509
  35. package/dist/bundle/{chunk-FBSHWCIZ.js → chunk-GVEY6743.js} +9 -9
  36. package/dist/bundle/{chunk-TNHFKR6P.js → chunk-GVP6CAPH.js} +21 -21
  37. package/dist/bundle/{chunk-4JTCNMW6.js → chunk-IHHXGTMX.js} +1 -1
  38. package/dist/bundle/{chunk-TWTAWPC7.js → chunk-IJAILIZR.js} +12 -12
  39. package/dist/bundle/{chunk-XK4VVGMH.js → chunk-JMGQATR6.js} +2 -2
  40. package/dist/bundle/{chunk-GHN2KYMO.js → chunk-LYAJUZM4.js} +21 -21
  41. package/dist/bundle/{chunk-YAFSD345.js → chunk-MK6SQ32Q.js} +12 -12
  42. package/dist/bundle/{chunk-XVPMSMSP.js → chunk-MWQI6FSU.js} +3 -3
  43. package/dist/bundle/{chunk-7OMKWYFN.js → chunk-MYLNRBDF.js} +16 -9
  44. package/dist/bundle/{chunk-W7FYMZOW.js → chunk-N73YBQ42.js} +6 -6
  45. package/dist/bundle/{chunk-ZNBLWLCD.js → chunk-OAO5UCPJ.js} +151 -151
  46. package/dist/bundle/{chunk-OUSLPKWY.js → chunk-OBQ7TSUB.js} +1 -1
  47. package/dist/bundle/{chunk-TFAUB6JO.js → chunk-OHA7HDPX.js} +374 -306
  48. package/dist/bundle/{chunk-QCWA3JUT.js → chunk-PHSYMVYX.js} +2 -2
  49. package/dist/bundle/{chunk-HUPZ6XYH.js → chunk-PSYQPO6D.js} +2 -2
  50. package/dist/bundle/{chunk-SKBDI7LU.js → chunk-QAXIZHK7.js} +28 -28
  51. package/dist/bundle/{chunk-GUWRR7F2.js → chunk-QZU5IM5E.js} +2 -2
  52. package/dist/bundle/{chunk-SUCG5HBF.js → chunk-RHW3DDWI.js} +1 -1
  53. package/dist/bundle/{chunk-OU4PN7PF.js → chunk-TV75OHKJ.js} +7 -7
  54. package/dist/bundle/{chunk-4C6RU7DG.js → chunk-TVZXLAID.js} +4 -4
  55. package/dist/bundle/{chunk-7KYVUVDS.js → chunk-TXOXPQN2.js} +2 -2
  56. package/dist/bundle/{chunk-QMTCYKAA.js → chunk-UEMI6FXR.js} +6 -6
  57. package/dist/bundle/{chunk-QFSMJTEA.js → chunk-V2YS63Z5.js} +1 -1
  58. package/dist/bundle/{chunk-6SFTVGNL.js → chunk-VPKJZKXV.js} +1 -1
  59. package/dist/bundle/{chunk-XYL7GDCX.js → chunk-W2FFA7T5.js} +5 -5
  60. package/dist/bundle/{chunk-DNS2QWK3.js → chunk-WNA2WNDK.js} +3 -3
  61. package/dist/bundle/{chunk-ORKWFXWV.js → chunk-XTEJXJJ3.js} +10 -10
  62. package/dist/bundle/{chunk-GJ3P7RJF.js → chunk-YTJWIJIG.js} +5 -5
  63. package/dist/bundle/{chunk-PBOVHHYG.js → chunk-YXXAPVAZ.js} +8 -8
  64. package/dist/bundle/{command-contract-46BU5YKL.js → command-contract-OGW2DX4C.js} +11 -11
  65. package/dist/bundle/{decode-KRVQZPSB.js → decode-IJMDTGTW.js} +2 -2
  66. package/dist/bundle/{echarts-O6QQRVZE.js → echarts-EHYUXOKP.js} +2 -2
  67. package/dist/bundle/{embed-DA4H2F4F.js → embed-RUY3UIVC.js} +3 -3
  68. package/dist/bundle/{embedder-HWAFLIYM.js → embedder-P6WBMEGP.js} +6 -6
  69. package/dist/bundle/{entry-DE7GJOIZ.js → entry-7S2ONYSF.js} +4 -4
  70. package/dist/bundle/failure-NRZUB77S.js +65 -0
  71. package/dist/bundle/{first-run-GOBPIKQF.js → first-run-MLIFZSVH.js} +5 -5
  72. package/dist/bundle/{first-screen-3V3HWSQM.js → first-screen-DGTTK6VK.js} +12 -12
  73. package/dist/bundle/{instructions-GYYMBSZW.js → instructions-ZMG4FLGO.js} +1 -1
  74. package/dist/bundle/{mcp-6RDHWRXG.js → mcp-CFIL7WZU.js} +35 -35
  75. package/dist/bundle/memo.js +6 -6
  76. package/dist/bundle/{node-R3OFASC5.js → node-QYL4B7JS.js} +2 -2
  77. package/dist/bundle/{node-sqlite-DYHDZJ5A.js → node-sqlite-ESTT2OCF.js} +3 -3
  78. package/dist/bundle/{oauth-SMCDSCXQ.js → oauth-CFQFSIRQ.js} +4 -4
  79. package/dist/bundle/{open-GX7RPGQW.js → open-3XO2HMIT.js} +2 -2
  80. package/dist/bundle/{openai-WM4TRXCC.js → openai-STUNDBD6.js} +7 -7
  81. package/dist/bundle/{process-NT5OZH2V.js → process-P4UAJCZX.js} +1 -1
  82. package/dist/bundle/{program-YQ3UT2LI.js → program-BXL5ZOVQ.js} +2052 -1870
  83. package/dist/bundle/{prompt-5XJNSXCW.js → prompt-ZCYMFMIG.js} +2 -2
  84. package/dist/bundle/{recognize-DQNGZLRX.js → recognize-V3BY33FK.js} +1 -1
  85. package/dist/bundle/{remote-RMRYJZSZ.js → remote-IP4QR7SP.js} +4 -4
  86. package/dist/bundle/{rerank-5J6JM43S.js → rerank-VKUSF3DM.js} +4 -4
  87. package/dist/bundle/{serve-4RVWOQVC.js → serve-VBIUARHJ.js} +6 -6
  88. package/dist/bundle/server-AASCSGCI.js +61 -0
  89. package/dist/bundle/{server-NKCRFK26.js → server-JLPZUC42.js} +49 -49
  90. package/dist/bundle/server-YQLPZK4Z.js +48 -0
  91. package/dist/bundle/{state-MGVPOLPZ.js → state-UBAIZ2WP.js} +3 -3
  92. package/dist/bundle/{store-IEK4PPOE.js → store-VQQVUA4W.js} +9 -9
  93. package/dist/bundle/store-maintenance-command-GCBABKEZ.js +47 -0
  94. package/dist/bundle/update-M54Z3SEU.js +68 -0
  95. package/dist/digest/backfill.d.ts +9 -0
  96. package/dist/digest/backfill.d.ts.map +1 -0
  97. package/dist/digest/backfill.js +142 -0
  98. package/dist/digest/backfill.js.map +1 -0
  99. package/dist/digest/command.d.ts +2 -0
  100. package/dist/digest/command.d.ts.map +1 -1
  101. package/dist/digest/command.js +18 -1
  102. package/dist/digest/command.js.map +1 -1
  103. package/dist/digest/digest.d.ts +6 -1
  104. package/dist/digest/digest.d.ts.map +1 -1
  105. package/dist/digest/digest.js +26 -15
  106. package/dist/digest/digest.js.map +1 -1
  107. package/dist/digest/sync-health.d.ts +1 -2
  108. package/dist/digest/sync-health.d.ts.map +1 -1
  109. package/dist/digest/tasks.d.ts +14 -1
  110. package/dist/digest/tasks.d.ts.map +1 -1
  111. package/dist/digest/tasks.js +31 -4
  112. package/dist/digest/tasks.js.map +1 -1
  113. package/dist/discovery/command.d.ts.map +1 -1
  114. package/dist/discovery/command.js +1 -0
  115. package/dist/discovery/command.js.map +1 -1
  116. package/dist/examples.d.ts.map +1 -1
  117. package/dist/examples.js +7 -1
  118. package/dist/examples.js.map +1 -1
  119. package/dist/knowledge/command.d.ts.map +1 -1
  120. package/dist/knowledge/command.js +17 -6
  121. package/dist/knowledge/command.js.map +1 -1
  122. package/dist/knowledge/project-context.d.ts.map +1 -1
  123. package/dist/knowledge/project-context.js +3 -2
  124. package/dist/knowledge/project-context.js.map +1 -1
  125. package/dist/knowledge/relationships.d.ts +2 -0
  126. package/dist/knowledge/relationships.d.ts.map +1 -1
  127. package/dist/knowledge/relationships.js +11 -2
  128. package/dist/knowledge/relationships.js.map +1 -1
  129. package/dist/program.d.ts.map +1 -1
  130. package/dist/program.js +2 -0
  131. package/dist/program.js.map +1 -1
  132. package/dist/read-only.d.ts +1 -1
  133. package/dist/reasons.d.ts.map +1 -1
  134. package/dist/reasons.js +18 -0
  135. package/dist/reasons.js.map +1 -1
  136. package/dist/schedule/command.d.ts +2 -1
  137. package/dist/schedule/command.d.ts.map +1 -1
  138. package/dist/schedule/command.js +6 -2
  139. package/dist/schedule/command.js.map +1 -1
  140. package/dist/version.d.ts +1 -1
  141. package/dist/version.js +1 -1
  142. package/package.json +4 -4
  143. package/skills/cli-memo/topics/projects.md +7 -0
  144. package/skills/mail-triage/SKILL.md +25 -19
  145. package/skills/morning-digest/SKILL.md +15 -1
  146. package/dist/bundle/auto-FR6LX5KO.js +0 -85
  147. package/dist/bundle/failure-U3VNIQNX.js +0 -65
  148. package/dist/bundle/server-HH2X6G7V.js +0 -61
  149. package/dist/bundle/server-MS3JKMGF.js +0 -48
  150. package/dist/bundle/store-maintenance-command-GSS2AY4J.js +0 -47
  151. package/dist/bundle/update-S5XRRWTH.js +0 -68
  152. /package/dist/bundle/{chunk-DS7NXKAN.js → chunk-AWVQHWIS.js} +0 -0
@@ -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,IAgD7G,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 })
@@ -37,6 +50,8 @@ export const reviewAgendaCommand = (review, print, streams, env) => {
37
50
  "than usual, so an unsynced account does not read as a quiet day; an account stored or synced within a day " +
38
51
  "is never named")
39
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")
40
55
  .option("--limit <n>", "items per section before the size budget", positive, 25)
41
56
  .option("--max-output-bytes <bytes>", "the text answer's size budget in bytes; 40000 with --compact, else 80000", positive)
42
57
  .option("--compact", "one line per item, shorter excerpts, the smaller budget: for an agent")
@@ -47,9 +62,11 @@ export const reviewAgendaCommand = (review, print, streams, env) => {
47
62
  reason: "output.conflict",
48
63
  param: "--compact",
49
64
  });
50
- const since = sinceOf(given.sinceTime);
65
+ const until = given.beforeTime === undefined ? undefined : beforeOf(given.beforeTime);
66
+ const since = sinceOf(given.sinceTime, until);
51
67
  const gathered = await withStore(env, (store) => gatherDigest(store, env, {
52
68
  since,
69
+ ...(until === undefined ? {} : { until }),
53
70
  limit: given.limit,
54
71
  excerpt: given.compact ? 100 : 200,
55
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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"}
@@ -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":"AAIA,OAAO,EAAmB,KAAK,YAAY,EAAsB,MAAM,yBAAyB,CAAA;AAIhG,OAAO,EAAkB,KAAK,MAAM,EAAsC,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAE3E,0GAA0G;AAC1G,eAAO,MAAM,SAAS,UAAU,CAAA;AAEhC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,CAAA;IACb,oHAAoH;IACpH,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,+FAA+F;IAC/F,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC5C;AAED,eAAO,MAAM,QAAQ,YAAI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU,CAAA;AACnH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,iHAAiH;IACjH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,WAAW,YAAI,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AAE9F,0GAA0G;AAC1G,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACnE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CACzE;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,sGAAsG;IACtG,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAA;IAClB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAkHD;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAChB,YAAY,OACd,MAAM,CAAC,UAAU,wDAC6C,aAAa,KAC/E,OAAO,CAAC,MAAM,CA8WhB,CAAA"}
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { listReview, REVIEW_SOURCES } from "../review/review.js";
7
7
  import { counted } from "../review/status.js";
8
8
  import { knownSenders } from "./known.js";
9
9
  import { HEALTH_REASONS, healthOf, SOURCE_WORDS, syncRunsOf } from "./sync-health.js";
10
- import { gatherTasks, previousDigestAt } from "./tasks.js";
10
+ import { digestRunBefore, gatherTasks, previousDigestAt } from "./tasks.js";
11
11
  /** The tag that puts a chat, mail thread, person, project or meeting series on the owner's watch list. */
12
12
  export const WATCH_TAG = "watch";
13
13
  export const SECTIONS = ["watch", "owed", "mail", "meetings", "tasks", "projects", "sources", "proposals"];
@@ -110,7 +110,10 @@ const personal = (newest) => !newest.bulk && !newest.list && !newest.envelope &&
110
110
  * personal mail, meetings that ended, tasks due, projects that moved, proposals waiting. Every item names its
111
111
  * reference, so an agent reads further only where it points.
112
112
  */
113
- 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)));
114
117
  const window = (now - since) / DAY;
115
118
  const days = `${Math.max(1, Math.ceil(window))}d`;
116
119
  const accounts = await store.accounts.accounts();
@@ -176,7 +179,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
176
179
  storedAt: storedAt === null ? null : Date.parse(storedAt),
177
180
  });
178
181
  const ref = (chat) => formatReference({ type: "chat", provider: key.provider, account: key.account, chat });
179
- 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;
180
183
  coverage.push({
181
184
  account: name(key),
182
185
  storedAt,
@@ -198,7 +201,11 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
198
201
  if (owedHere)
199
202
  owedNext.push(`memo tasks agenda --source ${name(key)} --unanswered 1m --within ${Math.ceil(owedWithin / DAY)}d`);
200
203
  for (const chatId of watched.chats.get(name(key)) ?? []) {
201
- 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
+ });
202
209
  for (const message of page.items)
203
210
  watch.push({
204
211
  item: {
@@ -227,7 +234,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
227
234
  moved30d: threads.filter((thread) => thread.lastEmailAt >= now - 30 * DAY).length,
228
235
  storedAt: newest || null,
229
236
  });
230
- 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;
231
238
  coverage.push({
232
239
  account: name(key),
233
240
  storedAt: newest ? iso(newest) : null,
@@ -340,7 +347,8 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
340
347
  }
341
348
  const hot = await gatherTasks(store, [...messengers, ...mailboxes], {
342
349
  now,
343
- newSince: newSince ?? previousDigestAt(env, now),
350
+ newSince: newSince ?? (until === undefined ? previousDigestAt(env, now) : digestRunBefore(env, until)),
351
+ ...(until === undefined ? {} : { until }),
344
352
  });
345
353
  const tasks = hot.tasks.map(({ task, groups, askedBy, for: doer }) => ({
346
354
  item: {
@@ -380,7 +388,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
380
388
  // A review refreshed in place keeps its raise time, so it is listed once, when it was raised or grew graver.
381
389
  const reviews = await listReview(store, env, [`kind:${SOURCE_REVIEW_KIND}`], { limit: 50, page: 1 });
382
390
  const sourceItems = reviews.items
383
- .filter((row) => Date.parse(row.createdAt) >= since)
391
+ .filter((row) => Date.parse(row.createdAt) >= since && by(Date.parse(row.createdAt)))
384
392
  .map((row) => ({
385
393
  item: {
386
394
  ref: row.subject,
@@ -393,7 +401,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
393
401
  const reviewCount = sourceItems.length;
394
402
  const reviewed = new Set(reviews.items.flatMap((row) => row.evidence));
395
403
  for (const changed of await store.knowledge.changedSources({ since }))
396
- if (!reviewed.has(changed.ref))
404
+ if (!reviewed.has(changed.ref) && by(Date.parse(changed.checkedAt)))
397
405
  sourceItems.push({
398
406
  item: {
399
407
  ref: changed.ref,
@@ -415,21 +423,24 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
415
423
  },
416
424
  }));
417
425
  const sections = [
418
- await section("watch", watch, limit, [
426
+ await section("watch", upTo(watch), limit, [
419
427
  "memo tags list tag:watch",
420
428
  ...[...watched.people].map((uid) => `memo context person:${uid}`),
421
429
  ]),
422
430
  {
423
- ...(await section("owed", owed, limit, [
431
+ ...(await section("owed", upTo(owed), limit, [
424
432
  ...owedNext,
425
433
  ...(olderMail ? [`# ${olderMail} mail threads owed from before the window left out`] : []),
426
434
  ])),
427
435
  ...(unknown.count ? { unknown } : {}),
428
436
  },
429
- await section("mail", mail, limit, [...mailNext, ...(bulk ? [`# ${bulk} bulk or list threads left out`] : [])]),
430
- 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>"]),
431
442
  await section("tasks", tasks, limit, ["memo tasks list"]),
432
- await section("projects", projects, limit, projectNext),
443
+ await section("projects", upTo(projects), limit, projectNext),
433
444
  await section("sources", sourceItems, limit, [
434
445
  REVIEW_SOURCES,
435
446
  ...(reviewCount > 0 ? [`# decide them: ${REVIEW_SOURCES}`] : []),
@@ -437,7 +448,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
437
448
  ? [`# read changed sources again: memo memories check --since-time ${days} --json`]
438
449
  : []),
439
450
  ]),
440
- await section("proposals", proposals, limit, ["memo review list"], waiting.total),
451
+ await section("proposals", upTo(proposals), limit, ["memo review list"], waiting.total),
441
452
  ];
442
453
  const providerCount = (provider) => accounts.filter((key) => key.provider === provider).length;
443
454
  const meetingAccounts = accounts.filter((key) => kindOf(key.provider) === "meetings").length;
@@ -456,7 +467,7 @@ export const gatherDigest = async (store, env, { since, now = Date.now(), limit,
456
467
  from: iso(since),
457
468
  to: iso(now),
458
469
  sources: sources.filter((one) => one.accounts > 0),
459
- 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 },
460
471
  },
461
472
  tasks: hot.counts,
462
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"}
@@ -1,4 +1,5 @@
1
1
  import type { AccountKey, MessageStore, TaskDetails } from "@wirecat/cli-core/store";
2
+ import { type Scheduled } from "./sync-health.js";
2
3
  /** The schedule whose last run starts "new since"; `memo schedule agent morning-digest …` names it so. */
3
4
  export declare const DIGEST_SCHEDULE = "morning-digest";
4
5
  /** How many tasks each group link opens; a task both new and overdue counts in both. */
@@ -20,6 +21,17 @@ export interface HotTask {
20
21
  /** Who does it: the task's assignees. */
21
22
  for: string | null;
22
23
  }
24
+ /** The morning-digest schedule, by its name or by the skill its agent runs, and the state folder it is under. */
25
+ export declare const digestSchedule: (env: NodeJS.ProcessEnv) => {
26
+ state: string;
27
+ schedule: Scheduled | undefined;
28
+ };
29
+ /** A run file's time from its name, `2026-11-08T08-30-00Z.report.json`; NaN for any other file. */
30
+ export declare const runTime: (file: string) => number;
31
+ /** The times of the digest runs that left a report, oldest first. */
32
+ export declare const digestReportTimes: (env: NodeJS.ProcessEnv) => number[];
33
+ /** A past day's "new since": the newest digest report before `until`, or a day before it when there is none. */
34
+ export declare const digestRunBefore: (env: NodeJS.ProcessEnv, until: number) => string;
23
35
  /**
24
36
  * When the previous digest ran: the last morning-digest run, or, while it fails, the run before the failures began,
25
37
  * so nothing created between a good run and a broken one is lost. A day back when no digest ran yet.
@@ -29,9 +41,10 @@ export declare const previousDigestAt: (env: NodeJS.ProcessEnv, now: number) =>
29
41
  * The digest's tasks: every open task created since the previous digest, whatever its due date, and every open task
30
42
  * overdue, due today or due tomorrow by the owner's local day. Account tasks and project tasks alike.
31
43
  */
32
- export declare const gatherTasks: (store: MessageStore, keys: readonly AccountKey[], { now, newSince }: {
44
+ export declare const gatherTasks: (store: MessageStore, keys: readonly AccountKey[], { now, newSince, until }: {
33
45
  now: number;
34
46
  newSince: string;
47
+ until?: number;
35
48
  }) => Promise<{
36
49
  tasks: HotTask[];
37
50
  counts: TaskCounts;
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/digest/tasks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAKpF,0GAA0G;AAC1G,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAI/C,wFAAwF;AACxF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,uGAAuG;IACvG,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAA;AAEhE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,sDAAsD;IACtD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,yCAAyC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,CAAC,UAAU,OAAO,MAAM,KAAG,MAQtE,CAAA;AA0CD;;;GAGG;AACH,eAAO,MAAM,WAAW,UACf,YAAY,QACb,SAAS,UAAU,EAAE,qBACR;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KACnD,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAwCpE,CAAA"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/digest/tasks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGpF,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,kBAAkB,CAAA;AAE9D,0GAA0G;AAC1G,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAI/C,wFAAwF;AACxF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,uGAAuG;IACvG,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAA;AAEhE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,sDAAsD;IACtD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,yCAAyC;IACzC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,iHAAiH;AACjH,eAAO,MAAM,cAAc,QAAS,MAAM,CAAC,UAAU,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAA;CAMvG,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAGtC,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,QAAS,MAAM,CAAC,UAAU,KAAG,MAAM,EAShE,CAAA;AAED,gHAAgH;AAChH,eAAO,MAAM,eAAe,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MACoB,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,CAAC,UAAU,OAAO,MAAM,KAAG,MAItE,CAAA;AA0CD;;;GAGG;AACH,eAAO,MAAM,WAAW,UACf,YAAY,QACb,SAAS,UAAU,EAAE,4BACD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1E,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAyCpE,CAAA"}