@wirecat/mail-cli 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +8 -4
  3. package/dist/bin/mail.js +2 -2
  4. package/dist/bundle/{all-profiles-GBFTKUHA.js → all-profiles-SI67TKZM.js} +6 -6
  5. package/dist/bundle/{anthropic-PTSCWUG6.js → anthropic-DALMLC3Y.js} +4 -4
  6. package/dist/bundle/{app-server-5VJ2WCKJ.js → app-server-XOH327Z2.js} +41 -41
  7. package/dist/bundle/{bun-2KRUBPIN.js → bun-ORL67CJ6.js} +2 -2
  8. package/dist/bundle/{bun-sqlite-ELSRSJBM.js → bun-sqlite-DGXFNFHI.js} +3 -3
  9. package/dist/bundle/{chunk-B337KHJ5.js → chunk-23IEVVL2.js} +1 -1
  10. package/dist/bundle/{chunk-PKU6V4EQ.js → chunk-2M4K7HYR.js} +16 -16
  11. package/dist/bundle/{chunk-RDSAI6DC.js → chunk-35KD2CI2.js} +349 -254
  12. package/dist/bundle/{chunk-J4C32YKH.js → chunk-3GZK5GTU.js} +1 -1
  13. package/dist/bundle/{chunk-OHV5RDFE.js → chunk-3TYEJRMZ.js} +3 -3
  14. package/dist/bundle/{chunk-AGX7NR3S.js → chunk-45KA5667.js} +12 -12
  15. package/dist/bundle/{chunk-YBJMBPL7.js → chunk-4NYWHINR.js} +5 -5
  16. package/dist/bundle/{chunk-JKLQHPED.js → chunk-4ULY3GDL.js} +9 -9
  17. package/dist/bundle/{chunk-O555ZEQR.js → chunk-5BSEGMNE.js} +3 -3
  18. package/dist/bundle/{chunk-ZPGLWMNH.js → chunk-5JEYIHS6.js} +3 -3
  19. package/dist/bundle/{chunk-56PI2BRH.js → chunk-6LK7KTWB.js} +1 -1
  20. package/dist/bundle/{chunk-ES4PWHBJ.js → chunk-6RMMAUUW.js} +26 -26
  21. package/dist/bundle/{chunk-TKJDGAHT.js → chunk-6XNPXAJU.js} +31 -25
  22. package/dist/bundle/{chunk-PBYDT3CG.js → chunk-73OJJGZE.js} +3 -2
  23. package/dist/bundle/{chunk-WGK4AIRL.js → chunk-7K6KJWTO.js} +11 -11
  24. package/dist/bundle/{chunk-FIQOBLHS.js → chunk-AP7V256W.js} +1 -1
  25. package/dist/bundle/{chunk-K5JUROGN.js → chunk-BEMLGWY4.js} +1 -1
  26. package/dist/bundle/{chunk-P5B7IFOG.js → chunk-BGUMGCUY.js} +1 -1
  27. package/dist/bundle/{chunk-NZB4WGQS.js → chunk-CAKBG5FC.js} +5 -5
  28. package/dist/bundle/{chunk-RAZOSYEO.js → chunk-DKQWTQVY.js} +22 -22
  29. package/dist/bundle/{chunk-TPNC5VCJ.js → chunk-DXGMPMFP.js} +4 -4
  30. package/dist/bundle/{chunk-5AQKM47C.js → chunk-E3DRM6YP.js} +2 -2
  31. package/dist/bundle/{chunk-JFJTDL22.js → chunk-EYT33MM3.js} +44 -44
  32. package/dist/bundle/{chunk-LWTG5UOF.js → chunk-FPOGVDLS.js} +2 -2
  33. package/dist/bundle/{chunk-5KHJUYHQ.js → chunk-FTFNWGIR.js} +6 -6
  34. package/dist/bundle/{chunk-4PKHZQIM.js → chunk-GJUUTUK4.js} +7 -7
  35. package/dist/bundle/{chunk-NOU6MWEM.js → chunk-HFJNEXU7.js} +1 -1
  36. package/dist/bundle/{chunk-M7V3GSJQ.js → chunk-HV3EIYX4.js} +1 -1
  37. package/dist/bundle/{chunk-H4VFIH5W.js → chunk-IYZHM3ZN.js} +2 -2
  38. package/dist/bundle/{chunk-DA46WQEA.js → chunk-JFMUI4H6.js} +1 -1
  39. package/dist/bundle/{chunk-VF24ZAPX.js → chunk-LZ5J3UXD.js} +3 -3
  40. package/dist/bundle/{chunk-Y7JKWQC2.js → chunk-M2JCUVCJ.js} +112 -93
  41. package/dist/bundle/{chunk-KUQYWIVR.js → chunk-MCJ7LKYR.js} +5 -5
  42. package/dist/bundle/{chunk-XERTHQ6D.js → chunk-MHQKHWCJ.js} +14 -14
  43. package/dist/bundle/{chunk-VEAP5RVI.js → chunk-MMXMVGA6.js} +6 -6
  44. package/dist/bundle/{chunk-PHPC72DP.js → chunk-NNIXREJH.js} +5 -5
  45. package/dist/bundle/{chunk-UAXBLHZK.js → chunk-OHTR4WFO.js} +2 -2
  46. package/dist/bundle/{chunk-SAZJDKEI.js → chunk-PDL4UREY.js} +6 -6
  47. package/dist/bundle/{chunk-JLRMSNPX.js → chunk-Q2C3VMSU.js} +2 -0
  48. package/dist/bundle/{chunk-JIQAFFPV.js → chunk-Q44AYEOB.js} +2 -2
  49. package/dist/bundle/{chunk-6MV2TBDB.js → chunk-R5MML3FC.js} +51 -47
  50. package/dist/bundle/{chunk-ZRYFEEXZ.js → chunk-RQVWZBW3.js} +2 -2
  51. package/dist/bundle/{chunk-3KY7DA5A.js → chunk-S4YUR4S3.js} +426 -336
  52. package/dist/bundle/{chunk-MD2J3POF.js → chunk-U6UJ3HRS.js} +7 -1
  53. package/dist/bundle/{chunk-XZGLY2LU.js → chunk-V4TDG4KF.js} +10 -10
  54. package/dist/bundle/{chunk-ZMMIIBTM.js → chunk-VBOMKZ4E.js} +42 -42
  55. package/dist/bundle/{chunk-NCWO2FNC.js → chunk-VKPWP3AK.js} +1 -1
  56. package/dist/bundle/{chunk-O7VK7CJX.js → chunk-VNJMO5F6.js} +2 -2
  57. package/dist/bundle/{chunk-J5MYH4L5.js → chunk-VSHJWTX5.js} +5 -5
  58. package/dist/bundle/{chunk-DV4RSEAH.js → chunk-XQJWMBDY.js} +5 -5
  59. package/dist/bundle/{chunk-JKA2AICL.js → chunk-ZKCNMW7G.js} +1 -1
  60. package/dist/bundle/{chunk-WCL3WBH5.js → chunk-ZKZABB4K.js} +1 -1
  61. package/dist/bundle/{chunk-BVIHT7KR.js → chunk-ZNGQ3NZ4.js} +8 -8
  62. package/dist/bundle/{command-contract-NZF4B5OR.js → command-contract-CB5BII3S.js} +14 -14
  63. package/dist/bundle/{decode-HVXDCQ63.js → decode-KOBURZIQ.js} +3 -3
  64. package/dist/bundle/{dist-43DZXMBL.js → dist-T7HMT675.js} +10 -10
  65. package/dist/bundle/{echarts-LZ74IXHG.js → echarts-LEWTQO6H.js} +2 -2
  66. package/dist/bundle/{embed-OQF5U2C6.js → embed-PUFE4BSQ.js} +4 -4
  67. package/dist/bundle/{embedder-OCWQAWKO.js → embedder-3G4BQQ6X.js} +7 -7
  68. package/dist/bundle/{first-run-MTZPUPGA.js → first-run-FLXOC53U.js} +7 -7
  69. package/dist/bundle/first-screen-VUZEDSQW.js +32 -0
  70. package/dist/bundle/{instructions-M6F4FP7U.js → instructions-HGSXDCBT.js} +1 -1
  71. package/dist/bundle/mail.js +3 -3
  72. package/dist/bundle/{node-NYBBFHGN.js → node-5Z7PS4F5.js} +2 -2
  73. package/dist/bundle/{node-sqlite-CWCNWO75.js → node-sqlite-OAW7APIX.js} +3 -3
  74. package/dist/bundle/{oauth-DVX45EME.js → oauth-ZFZWPAJN.js} +5 -5
  75. package/dist/bundle/{open-M7EQWWHL.js → open-ZQMBZVH4.js} +2 -2
  76. package/dist/bundle/{openai-63KRU5H2.js → openai-XT2RIXAK.js} +11 -11
  77. package/dist/bundle/{process-DV5GQIGM.js → process-VVEQIHPE.js} +1 -1
  78. package/dist/bundle/{program-EPR3QCMX.js → program-RD3BBDNY.js} +2391 -941
  79. package/dist/bundle/{prompt-EPWPWTB3.js → prompt-PU7GE4Z4.js} +3 -3
  80. package/dist/bundle/{recognize-R46KDXK4.js → recognize-AG4A3KUK.js} +2 -2
  81. package/dist/bundle/{remote-RENCYB5X.js → remote-D6TQ6T7F.js} +5 -5
  82. package/dist/bundle/{rerank-VHPC5O73.js → rerank-GO24HJPF.js} +5 -5
  83. package/dist/bundle/{serve-KCH3ORYO.js → serve-WCHJAH6G.js} +7 -7
  84. package/dist/bundle/server-5KJJ3D6P.js +63 -0
  85. package/dist/bundle/{server-HZVXSK7B.js → server-CAVNBG3P.js} +33 -33
  86. package/dist/bundle/{sqlite-runtime-XP7ZJCKJ.js → sqlite-runtime-ANXC4AW2.js} +3 -3
  87. package/dist/bundle/{state-GQ4MEQJ5.js → state-EGJ66A62.js} +4 -4
  88. package/dist/bundle/{store-WT7YTR3Y.js → store-OON7FCMQ.js} +12 -12
  89. package/dist/bundle/{store-CQNLNINW.js → store-SBFA444C.js} +10 -10
  90. package/dist/bundle/store-maintenance-command-UEOJLYMJ.js +52 -0
  91. package/dist/commands/attachments.js +2 -2
  92. package/dist/commands/attachments.js.map +1 -1
  93. package/dist/commands/context.d.ts +21 -6
  94. package/dist/commands/context.d.ts.map +1 -1
  95. package/dist/commands/context.js +47 -6
  96. package/dist/commands/context.js.map +1 -1
  97. package/dist/commands/drafts.d.ts.map +1 -1
  98. package/dist/commands/drafts.js +20 -16
  99. package/dist/commands/drafts.js.map +1 -1
  100. package/dist/commands/export.d.ts.map +1 -1
  101. package/dist/commands/export.js +10 -7
  102. package/dist/commands/export.js.map +1 -1
  103. package/dist/commands/messages.d.ts.map +1 -1
  104. package/dist/commands/messages.js +13 -9
  105. package/dist/commands/messages.js.map +1 -1
  106. package/dist/commands/read.d.ts.map +1 -1
  107. package/dist/commands/read.js +2 -1
  108. package/dist/commands/read.js.map +1 -1
  109. package/dist/commands/send.d.ts.map +1 -1
  110. package/dist/commands/send.js +5 -5
  111. package/dist/commands/send.js.map +1 -1
  112. package/dist/commands/session-start.d.ts.map +1 -1
  113. package/dist/commands/session-start.js +107 -10
  114. package/dist/commands/session-start.js.map +1 -1
  115. package/dist/commands/session.d.ts.map +1 -1
  116. package/dist/commands/session.js +72 -9
  117. package/dist/commands/session.js.map +1 -1
  118. package/dist/commands/stats.d.ts.map +1 -1
  119. package/dist/commands/stats.js +2 -3
  120. package/dist/commands/stats.js.map +1 -1
  121. package/dist/commands/status.js +2 -2
  122. package/dist/commands/status.js.map +1 -1
  123. package/dist/commands/sync.d.ts +0 -1
  124. package/dist/commands/sync.d.ts.map +1 -1
  125. package/dist/commands/sync.js +8 -15
  126. package/dist/commands/sync.js.map +1 -1
  127. package/dist/config.d.ts +3 -1
  128. package/dist/config.d.ts.map +1 -1
  129. package/dist/config.js +6 -1
  130. package/dist/config.js.map +1 -1
  131. package/dist/mail/backend.d.ts +23 -1
  132. package/dist/mail/backend.d.ts.map +1 -1
  133. package/dist/mail/backend.js +4 -1
  134. package/dist/mail/backend.js.map +1 -1
  135. package/dist/mail/compose.d.ts.map +1 -1
  136. package/dist/mail/compose.js +13 -25
  137. package/dist/mail/compose.js.map +1 -1
  138. package/dist/mail/doctor.d.ts +42 -0
  139. package/dist/mail/doctor.d.ts.map +1 -1
  140. package/dist/mail/doctor.js +76 -0
  141. package/dist/mail/doctor.js.map +1 -1
  142. package/dist/mail/drafts.d.ts.map +1 -1
  143. package/dist/mail/drafts.js +4 -4
  144. package/dist/mail/drafts.js.map +1 -1
  145. package/dist/mail/imap/connection.d.ts +6 -3
  146. package/dist/mail/imap/connection.d.ts.map +1 -1
  147. package/dist/mail/imap/connection.js +63 -16
  148. package/dist/mail/imap/connection.js.map +1 -1
  149. package/dist/mail/imap/index.d.ts +2 -2
  150. package/dist/mail/imap/index.d.ts.map +1 -1
  151. package/dist/mail/imap/index.js +3 -3
  152. package/dist/mail/imap/index.js.map +1 -1
  153. package/dist/mail/imap/search.d.ts.map +1 -1
  154. package/dist/mail/imap/search.js +10 -4
  155. package/dist/mail/imap/search.js.map +1 -1
  156. package/dist/mail/save.d.ts +2 -5
  157. package/dist/mail/save.d.ts.map +1 -1
  158. package/dist/mail/save.js +6 -27
  159. package/dist/mail/save.js.map +1 -1
  160. package/dist/mail/send.d.ts.map +1 -1
  161. package/dist/mail/send.js +1 -0
  162. package/dist/mail/send.js.map +1 -1
  163. package/dist/mail/smtp.d.ts +3 -3
  164. package/dist/mail/smtp.d.ts.map +1 -1
  165. package/dist/mail/smtp.js +72 -36
  166. package/dist/mail/smtp.js.map +1 -1
  167. package/dist/oauth.d.ts +74 -0
  168. package/dist/oauth.d.ts.map +1 -0
  169. package/dist/oauth.js +230 -0
  170. package/dist/oauth.js.map +1 -0
  171. package/dist/program.js +2 -2
  172. package/dist/program.js.map +1 -1
  173. package/dist/providers.d.ts +25 -3
  174. package/dist/providers.d.ts.map +1 -1
  175. package/dist/providers.js +32 -8
  176. package/dist/providers.js.map +1 -1
  177. package/dist/reasons.d.ts.map +1 -1
  178. package/dist/reasons.js +6 -0
  179. package/dist/reasons.js.map +1 -1
  180. package/dist/version.d.ts +1 -1
  181. package/dist/version.js +1 -1
  182. package/package.json +3 -4
  183. package/dist/bundle/first-screen-4PBS6QK5.js +0 -32
  184. package/dist/bundle/server-FMCPE2ZK.js +0 -63
  185. package/dist/bundle/store-maintenance-command-YYR42IT4.js +0 -52
@@ -1,6 +1,5 @@
1
1
  import { Command } from "commander";
2
2
  import { type SyncFolders } from "../providers.js";
3
- export declare const wholeNumberFor: (flag: string) => (value: string) => number;
4
3
  /** The provider's folders by role (INBOX and Sent, All Mail on Gmail), unless the profile or `--folder` names some. */
5
4
  export declare const foldersFor: (explicit: string[] | undefined, configured: string[] | undefined, defaults: Pick<SyncFolders, "roles" | "otherwise">, list: () => Promise<{
6
5
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAgD7E,eAAO,MAAM,cAAc,SAClB,MAAM,aACL,MAAM,KAAG,MAMhB,CAAA;AAEH,uHAAuH;AACvH,eAAO,MAAM,UAAU,aACX,MAAM,EAAE,GAAG,SAAS,cAClB,MAAM,EAAE,GAAG,SAAS,YACtB,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,QAC5C,MAAM,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAAC,KAC3D,OAAO,CAAC,MAAM,EAAE,CAMlB,CAAA;AA2BD,eAAO,MAAM,WAAW,QAAO,OAuKzB,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAgD7E,uHAAuH;AACvH,eAAO,MAAM,UAAU,aACX,MAAM,EAAE,GAAG,SAAS,cAClB,MAAM,EAAE,GAAG,SAAS,YACtB,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,QAC5C,MAAM,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAAC,KAC3D,OAAO,CAAC,MAAM,EAAE,CAMlB,CAAA;AA2BD,eAAO,MAAM,WAAW,QAAO,OAwKzB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
3
  import { timezoneOf, zonedMoment } from "@wirecat/cli-base/query";
4
- import { answerEntity, baseContext, environmentOf, FETCH, itemOf, outputFor, renderAnswer, runBudgetOf, } from "@wirecat/cli-core/cli";
5
- import { storedMailRuleSet, syncMail } from "@wirecat/cli-core/mail";
4
+ import { answerEntity, baseContext, environmentOf, FETCH, itemOf, outputFor, positiveCount, renderAnswer, runBudgetOf, } from "@wirecat/cli-core/cli";
5
+ import { mailAccountKey, storedMailRuleSet, syncMail } from "@wirecat/cli-core/mail";
6
6
  import { Command } from "commander";
7
7
  import * as v from "valibot";
8
8
  import { configuration } from "../config.js";
@@ -10,7 +10,7 @@ import { IDENTITY } from "../identity.js";
10
10
  import { rethreadStored } from "../mail/rethread.js";
11
11
  import { DEFAULT_SYNC, providerFor } from "../providers.js";
12
12
  import { openMailStore } from "../store.js";
13
- import { collect, contextOf, openMail, refuseOffline } from "./context.js";
13
+ import { contextOf, openMail, refuseOffline, repeatable } from "./context.js";
14
14
  const DAY_MS = 86_400_000;
15
15
  const DEFAULT_DAYS = 30;
16
16
  /** A time without a zone is read in `zone`, and a date alone starts at its local midnight (WC-TIME-3, WC-TIME-5). */
@@ -46,13 +46,6 @@ const issuesOf = (report) => [
46
46
  ? [{ code: BUDGET_CODES[report.stopped], reason: `budget.${report.stopped}`, source: "sync" }]
47
47
  : []),
48
48
  ];
49
- export const wholeNumberFor = (flag) => (value) => {
50
- if (!/^\d+$/.test(value.trim()) || Number(value) < 1)
51
- throw new CliError("validation_error", `--${flag} takes a whole number from 1 upwards, not "${value}"`, {
52
- param: flag,
53
- });
54
- return Number(value);
55
- };
56
49
  /** The provider's folders by role (INBOX and Sent, All Mail on Gmail), unless the profile or `--folder` names some. */
57
50
  export const foldersFor = async (explicit, configured, defaults, list) => {
58
51
  if (explicit?.length)
@@ -100,9 +93,9 @@ export const syncCommand = () => answerEntity(annotate(new Command("sync"), {
100
93
  }), "mail_sync", mailSync)
101
94
  .description("read mail from the server into the shared store; mail already stored is skipped")
102
95
  .option("--since-time <time>", "only mail received since this date or time; a date alone starts at local midnight, a time without a zone is local (default: 30 days)")
103
- .option("--limit <n>", "save at most this many new emails in this run, newest first", wholeNumberFor("limit"))
104
- .option("--max-pages <pages>", "at most this many requests to the mail server in this run; as many as fit the deadline if not given", wholeNumberFor("max-pages"))
105
- .option("--folder <folder>", "a folder to read; repeat it for more (default: the profile's folders, else INBOX and Sent; All Mail on Gmail)", collect)
96
+ .option("--limit <n>", "save at most this many new emails in this run, newest first", positiveCount("--limit"))
97
+ .option("--max-pages <pages>", "at most this many requests to the mail server in this run; as many as fit the deadline if not given", positiveCount("--max-pages"))
98
+ .addOption(repeatable("--folder <folder>", "a folder to read; repeat it for more (default: the profile's folders, else INBOX and Sent; All Mail on Gmail)"))
106
99
  .option("--rescan", "list the whole window again; also moves stored replies into their thread where the server has no thread ids")
107
100
  .action(async function (args) {
108
101
  const context = contextOf(this);
@@ -134,7 +127,7 @@ export const syncCommand = () => answerEntity(annotate(new Command("sync"), {
134
127
  ...(args.rescan ? { rescan: true } : {}),
135
128
  ...(signal ? { signal } : {}),
136
129
  });
137
- const key = { provider: "email", account: address.toLowerCase() };
130
+ const key = mailAccountKey(address);
138
131
  const rethreaded = args.rescan && !report.stopped
139
132
  ? await rethreadStored(backend, store, key, folders, since, () => budget.take() === null)
140
133
  : undefined;
@@ -168,7 +161,7 @@ export const syncCommand = () => answerEntity(annotate(new Command("sync"), {
168
161
  limit: args.limit,
169
162
  max_pages: args.maxPages,
170
163
  timeout,
171
- folder: args.folder,
164
+ folder: args.folder?.length ? args.folder : undefined,
172
165
  rescan: unthreaded ? true : undefined,
173
166
  }).filter(([, value]) => value !== undefined)),
174
167
  why: limited
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,7 +2,7 @@ import { type Settings } from "@wirecat/cli-core/cli";
2
2
  import * as v from "valibot";
3
3
  /** Checked beside `messages.send` and `messages.forward` when the mail reaches anyone but the owner. */
4
4
  export declare const SEND_OTHERS_KEY = "messages.send.others";
5
- /** Where the app password goes, and who an agent may mail: an agent holding `mcp.authority` changes neither. */
5
+ /** Where the app password goes, which app signs in, and who an agent may mail: an agent holding `mcp.authority` changes neither. */
6
6
  export declare const OWNER_ONLY: {
7
7
  settings: string[];
8
8
  permissions: string[];
@@ -21,6 +21,8 @@ export interface Mailbox {
21
21
  };
22
22
  /** How the profile signs in; a profile saved before this key existed uses an app password. */
23
23
  auth: "app-password" | "oauth";
24
+ /** The owner's own Microsoft app, in place of WireCat's, for every OAuth sign-in after it is set. */
25
+ microsoftClientId?: string;
24
26
  folders?: string[];
25
27
  }
26
28
  export declare const configuration: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAe,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,wGAAwG;AACxG,eAAO,MAAM,eAAe,yBAAyB,CAAA;AAErD,gHAAgH;AAChH,eAAO,MAAM,UAAU;IACrB,QAAQ;IAWR,WAAW;CACZ,CAAA;AAeD,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;IAC7B,sFAAsF;IACtF,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;KAAE,CAAA;IACtE,8FAA8F;IAC9F,IAAI,EAAE,cAAc,GAAG,OAAO,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,aAAa;;iBAA0B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DzD,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAe,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAG5B,wGAAwG;AACxG,eAAO,MAAM,eAAe,yBAAyB,CAAA;AAErD,oIAAoI;AACpI,eAAO,MAAM,UAAU;IACrB,QAAQ;IAYR,WAAW;CACZ,CAAA;AAgBD,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;IAC7B,sFAAsF;IACtF,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;KAAE,CAAA;IACtE,8FAA8F;IAC9F,IAAI,EAAE,cAAc,GAAG,OAAO,CAAA;IAC9B,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,aAAa;;iBAA0B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEzD,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA"}
package/dist/config.js CHANGED
@@ -3,7 +3,7 @@ import * as v from "valibot";
3
3
  import { IDENTITY } from "./identity.js";
4
4
  /** Checked beside `messages.send` and `messages.forward` when the mail reaches anyone but the owner. */
5
5
  export const SEND_OTHERS_KEY = "messages.send.others";
6
- /** Where the app password goes, and who an agent may mail: an agent holding `mcp.authority` changes neither. */
6
+ /** Where the app password goes, which app signs in, and who an agent may mail: an agent holding `mcp.authority` changes neither. */
7
7
  export const OWNER_ONLY = {
8
8
  settings: [
9
9
  "address",
@@ -15,6 +15,7 @@ export const OWNER_ONLY = {
15
15
  "smtp_port",
16
16
  "smtp_security",
17
17
  "auth",
18
+ "microsoft_client_id",
18
19
  ],
19
20
  permissions: [SEND_OTHERS_KEY],
20
21
  };
@@ -28,6 +29,7 @@ const PROFILE_ENTRIES = {
28
29
  smtp_port: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(65535))),
29
30
  smtp_security: v.optional(v.picklist(["tls", "starttls"])),
30
31
  auth: v.optional(v.picklist(["app-password", "oauth"])),
32
+ microsoft_client_id: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),
31
33
  folders: v.optional(v.array(v.string())),
32
34
  };
33
35
  export const configuration = settingsFor(IDENTITY, {
@@ -56,6 +58,7 @@ export const configuration = settingsFor(IDENTITY, {
56
58
  const smtpPort = pick("smtp_port");
57
59
  const smtpSecurity = pick("smtp_security");
58
60
  const auth = pick("auth");
61
+ const microsoftClientId = pick("microsoft_client_id");
59
62
  const defined = (key, value) => (value === undefined ? {} : { [key]: value });
60
63
  return {
61
64
  values: {
@@ -76,6 +79,7 @@ export const configuration = settingsFor(IDENTITY, {
76
79
  },
77
80
  }),
78
81
  auth: auth.value ?? "app-password",
82
+ ...defined("microsoftClientId", microsoftClientId.value),
79
83
  },
80
84
  },
81
85
  sources: {
@@ -89,6 +93,7 @@ export const configuration = settingsFor(IDENTITY, {
89
93
  smtp_port: smtpPort.from,
90
94
  smtp_security: smtpSecurity.from,
91
95
  auth: auth.from,
96
+ microsoft_client_id: microsoftClientId.from,
92
97
  },
93
98
  };
94
99
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -112,5 +112,27 @@ export interface MailBackend extends MailSource {
112
112
  /** After this, every call fails; nothing reconnects. */
113
113
  close(): Promise<void>;
114
114
  }
115
- export type OpenBackend = (endpoint: MailEndpoint, password: string, bounds?: RunBounds) => MailBackend;
115
+ /** What one IMAP connect or SMTP login sends: an app password or an OAuth access token. */
116
+ export type MailLogin = {
117
+ pass: string;
118
+ } | {
119
+ accessToken: string;
120
+ };
121
+ /** Where a backend gets its login; the backend never learns where the secret came from. */
122
+ export interface MailCredential {
123
+ kind: "app-password" | "oauth";
124
+ /** `microsoft` or `google` for an OAuth credential, so a refusal can name the likely cause. */
125
+ provider?: string;
126
+ /**
127
+ * Called at every IMAP connect and SMTP login. `refresh`: the server refused the token the last call gave though it
128
+ * looked fresh, so an OAuth credential gets a new one; a password stays the same.
129
+ */
130
+ login(options?: {
131
+ refresh?: boolean;
132
+ }): Promise<MailLogin>;
133
+ /** Named when a refreshed token is refused too: the sign-in itself is gone. */
134
+ signInCommand?: string;
135
+ }
136
+ export declare const passwordCredential: (pass: string) => MailCredential;
137
+ export type OpenBackend = (endpoint: MailEndpoint, credential: MailCredential, bounds?: RunBounds) => MailBackend;
116
138
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/mail/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/mail/backend.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,5 @@
1
- export {};
1
+ export const passwordCredential = (pass) => ({
2
+ kind: "app-password",
3
+ login: async () => ({ pass }),
4
+ });
2
5
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/mail/backend.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/mail/backend.ts"],"names":[],"mappings":"AAgJA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAkB,EAAE,CAAC,CAAC;IACnE,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;CAC9B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/mail/compose.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,mHAAmH;AACnH,eAAO,MAAM,QAAQ,UAAW,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MAAM,EAUrE,CAAA;AAOH,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAiBD,eAAO,MAAM,UAAU,QAAe,UAAU,KAAG,OAAO,CAAC,QAAQ,CAoBlE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,QAAQ,SAAS,WAAW,CAAC,MAAM,CAAC,OAAO,OAAO,KAAG,MAAM,EAIhG,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,WAAW,aAAc,QAAQ,SAAS,WAAW,CAAC,MAAM,CAAC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,EACN,CAAA;AAKpG,eAAO,MAAM,YAAY,YAAa,MAAM,WAAqD,CAAA;AAEjG,eAAO,MAAM,cAAc,YAAa,MAAM,WAAkD,CAAA;AAEhG,8GAA8G;AAC9G,eAAO,MAAM,YAAY,aAAc,QAAQ,KAAG,MAAM,EACkC,CAAA;AAK1F,6GAA6G;AAC7G,eAAO,MAAM,MAAM,SAAU,MAAM,YAAY,QAAQ,KAAG,MAIzD,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtD,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAAE,CAAA;IAClE,+DAA+D;IAC/D,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAA;CAC5C;AAID;;;GAGG;AACH,eAAO,MAAM,KAAK,UAAiB,KAAK,KAAG,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAqCvF,CAAA;AAED,uHAAuH;AACvH,eAAO,MAAM,YAAY,gBAAiB,MAAM,QAAQ,MAAM,KAAG,MACgB,CAAA;AAEjF,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,SAAU,MAAM,YAAY,OAAO,KAAG,OACmB,CAAA"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/mail/compose.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,mHAAmH;AACnH,eAAO,MAAM,QAAQ,UAAW,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MAAM,EAUrE,CAAA;AAOH,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAID,eAAO,MAAM,UAAU,QAAe,UAAU,KAAG,OAAO,CAAC,QAAQ,CAkBlE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,QAAQ,SAAS,WAAW,CAAC,MAAM,CAAC,OAAO,OAAO,KAAG,MAAM,EAIhG,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,WAAW,aAAc,QAAQ,SAAS,WAAW,CAAC,MAAM,CAAC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,EACN,CAAA;AAKpG,eAAO,MAAM,YAAY,YAAa,MAAM,WAAqD,CAAA;AAEjG,eAAO,MAAM,cAAc,YAAa,MAAM,WAAkD,CAAA;AAEhG,8GAA8G;AAC9G,eAAO,MAAM,YAAY,aAAc,QAAQ,KAAG,MAAM,EACkC,CAAA;AAK1F,6GAA6G;AAC7G,eAAO,MAAM,MAAM,SAAU,MAAM,YAAY,QAAQ,KAAG,MAIzD,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtD,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAAE,CAAA;IAClE,+DAA+D;IAC/D,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAA;CAC5C;AAID;;;GAGG;AACH,eAAO,MAAM,KAAK,UAAiB,KAAK,KAAG,OAAO,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAqCvF,CAAA;AAED,uHAAuH;AACvH,eAAO,MAAM,YAAY,gBAAiB,MAAM,QAAQ,MAAM,KAAG,MACgB,CAAA;AAEjF,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,SAAU,MAAM,YAAY,OAAO,KAAG,OACmB,CAAA"}
@@ -1,8 +1,7 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
- import { htmlToText, looksLikeHtml } from "@wirecat/cli-core/mail";
2
+ import { parseMail } from "@wirecat/cli-core/mail";
3
3
  import addressparser from "nodemailer/lib/addressparser";
4
4
  import MailComposer from "nodemailer/lib/mail-composer";
5
- import PostalMime from "postal-mime";
6
5
  const EMAIL = /^[^\s@<>()",;:]+@[^\s@<>()",;:]+\.[^\s@<>()",;:]+$/u;
7
6
  /** `ann@example.com`, `Ann <ann@example.com>` or several split by commas; each address checked and lower-cased. */
8
7
  export const peopleOf = (given, flag) => given.flatMap((one) => addressparser(one, { flatten: true }).map(({ name, address }) => {
@@ -17,36 +16,25 @@ const unique = (people, without = new Set()) => {
17
16
  const seen = new Set(without);
18
17
  return people.filter(({ address }) => !seen.has(address) && seen.add(address) !== undefined);
19
18
  };
20
- const personOf = (address) => address?.address
21
- ? { address: address.address.toLowerCase(), ...(address.name ? { name: address.name } : {}) }
22
- : undefined;
23
- const peopleIn = (list) => (list ?? [])
24
- .flatMap((entry) => (Array.isArray(entry.group) ? entry.group : [entry]))
25
- .flatMap((entry) => {
26
- const person = personOf(entry);
27
- return person ? [person] : [];
28
- });
29
- const ids = (text) => text?.match(/<[^<>\s]+>/g) ?? [];
19
+ const personOf = ({ email, name }) => ({ address: email, ...(name ? { name } : {}) });
30
20
  export const originalOf = async (raw) => {
31
- let email;
21
+ let mail;
32
22
  try {
33
- email = await PostalMime.parse(raw);
23
+ mail = await parseMail(raw, undefined, 0);
34
24
  }
35
25
  catch {
36
26
  throw new CliError("invalid_response", "the original message on the server cannot be read");
37
27
  }
38
- const plain = email.text?.trim() ?? "";
39
- const from = personOf(email.from);
40
28
  return {
41
- ...(email.messageId ? { messageId: ids(email.messageId)[0] ?? email.messageId } : {}),
42
- references: ids(email.references),
43
- subject: email.subject ?? "",
44
- ...(email.date ? { date: email.date } : {}),
45
- ...(from ? { from } : {}),
46
- replyTo: peopleIn(email.replyTo),
47
- to: peopleIn(email.to),
48
- cc: peopleIn(email.cc),
49
- text: plain && !looksLikeHtml(plain) ? plain : htmlToText(email.html ?? plain),
29
+ ...(mail.messageId ? { messageId: mail.messageId } : {}),
30
+ references: mail.references,
31
+ subject: mail.subject ?? "",
32
+ ...(mail.date ? { date: mail.date } : {}),
33
+ ...(mail.from ? { from: personOf(mail.from) } : {}),
34
+ replyTo: mail.replyTo.map(personOf),
35
+ to: mail.to.map(personOf),
36
+ cc: mail.cc.map(personOf),
37
+ text: mail.text,
50
38
  };
51
39
  };
52
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/mail/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/mail/compose.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,46 @@ export declare const changesCheck: (env: NodeJS.ProcessEnv, now?: number) => {
22
22
  };
23
23
  notes: string[];
24
24
  };
25
+ export declare const oauthCheck: (env: NodeJS.ProcessEnv, now?: number) => {
26
+ fields: {
27
+ oauth: {
28
+ profile: string;
29
+ provider: "google" | "microsoft";
30
+ client: "own" | "wirecat" | null;
31
+ signed_in_at: string | null;
32
+ sends: boolean | null;
33
+ testing_expiry_risk?: boolean | undefined;
34
+ }[];
35
+ };
36
+ notes: string[];
37
+ };
38
+ /** Every check doctor reads from disk, as one `local` hook. */
39
+ export declare const localChecks: (env: NodeJS.ProcessEnv) => {
40
+ fields: {
41
+ changes: {
42
+ runs: number;
43
+ unfinished: {
44
+ id: string;
45
+ account: string;
46
+ command: string;
47
+ started_at: string;
48
+ }[];
49
+ expiring: {
50
+ id: string;
51
+ account: string;
52
+ restorable_until: string | null;
53
+ in_trash: number;
54
+ }[];
55
+ };
56
+ oauth: {
57
+ profile: string;
58
+ provider: "google" | "microsoft";
59
+ client: "own" | "wirecat" | null;
60
+ signed_in_at: string | null;
61
+ sends: boolean | null;
62
+ testing_expiry_risk?: boolean | undefined;
63
+ }[];
64
+ };
65
+ notes: string[];
66
+ };
25
67
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/mail/doctor.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,CAAC,UAAU;IAU/C,MAAM;QACJ,OAAO;YACL,IAAI;YACJ,UAAU;;;;;;YACV,QAAQ;;;;;;;;IAQZ,KAAK;CAaR,CAAA"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/mail/doctor.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,CAAC,UAAU;IAU/C,MAAM;QACJ,OAAO;YACL,IAAI;YACJ,UAAU;;;;;;YACV,QAAQ;;;;;;;;IAQZ,KAAK;CAaR,CAAA;AASD,eAAO,MAAM,UAAU,QAAS,MAAM,CAAC,UAAU;IA6B7C,MAAM;QAAI,KAAK;;;;;;;;;IACf,KAAK;CAqBR,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,WAAW,QAAS,MAAM,CAAC,UAAU;;;YAtF1C,IAAI;YACJ,UAAU;;;;;;YACV,QAAQ;;;;;;;;;;;;;;;;;CA8Ff,CAAA"}
@@ -1,4 +1,7 @@
1
+ import { configuration } from "../config.js";
1
2
  import { IDENTITY } from "../identity.js";
3
+ import { GOOGLE_GUIDE, microsoftClient, OAUTH_GUIDE, sendScopeOf, signInRecords } from "../oauth.js";
4
+ import { providerFor } from "../providers.js";
2
5
  import { runSummaries } from "./changes.js";
3
6
  const DAY_MS = 86_400_000;
4
7
  /** As memo's doctor warned: early enough to look at what a cleanup trashed before Gmail empties its Trash. */
@@ -36,4 +39,77 @@ export const changesCheck = (env, now = Date.now()) => {
36
39
  ],
37
40
  };
38
41
  };
42
+ /**
43
+ * Each OAuth profile from disk alone: the app it signs in with and what its last sign-in allowed. The tokens are in
44
+ * the keyring, which doctor never opens; `session status --check` proves one still works.
45
+ */
46
+ /** A Google app left in Testing ends its sign-ins after 7 days; from day 6 doctor says so. */
47
+ const TESTING_WARN_DAYS = 6;
48
+ export const oauthCheck = (env, now = Date.now()) => {
49
+ const { configuredProfiles } = configuration.resolveSettings({}, { env, needsProfile: false });
50
+ const records = signInRecords(env);
51
+ const profiles = configuredProfiles.flatMap((profile) => {
52
+ const { mailbox } = configuration.resolveSettings({ profile }, { env });
53
+ const kind = mailbox.address ? providerFor(mailbox.address, mailbox.host)?.oauth : undefined;
54
+ if (mailbox.auth !== "oauth" || !kind)
55
+ return [];
56
+ let client = "own";
57
+ if (kind === "microsoft")
58
+ try {
59
+ client = microsoftClient(mailbox).source;
60
+ }
61
+ catch {
62
+ client = null;
63
+ }
64
+ const record = records[profile];
65
+ const days = record ? Math.floor((now - Date.parse(record.signed_in_at)) / DAY_MS) : null;
66
+ return [
67
+ {
68
+ profile,
69
+ provider: kind,
70
+ client,
71
+ signed_in_at: record?.signed_in_at ?? null,
72
+ sends: record ? record.scopes.includes(sendScopeOf(kind)) : null,
73
+ ...(kind === "google" ? { testing_expiry_risk: days !== null && days >= TESTING_WARN_DAYS } : {}),
74
+ },
75
+ ];
76
+ });
77
+ const sign = (profile) => `\`${IDENTITY.command} ${profile} session start\``;
78
+ return {
79
+ fields: { oauth: profiles },
80
+ notes: profiles.flatMap(({ profile, client, signed_in_at, sends, ...rest }) => [
81
+ ...("testing_expiry_risk" in rest && rest.testing_expiry_risk
82
+ ? [
83
+ `profile ${profile} signed in to Google ${TESTING_WARN_DAYS}+ days ago: if your Google app is still in ` +
84
+ `Testing, Google ends the sign-in on day 7. Publish the app (${GOOGLE_GUIDE}), then ${sign(profile)}`,
85
+ ]
86
+ : []),
87
+ ...(client === null
88
+ ? [
89
+ `profile ${profile} has no Microsoft app to sign in with again: set one with ` +
90
+ `\`${IDENTITY.command} config set --defaults microsoft_client_id <id>\` (${OAUTH_GUIDE})`,
91
+ ]
92
+ : []),
93
+ ...(signed_in_at === null
94
+ ? [`profile ${profile} has no OAuth sign-in on record here; run ${sign(profile)}`]
95
+ : []),
96
+ ...(sends === false
97
+ ? [`profile ${profile} was not allowed to send at its last sign-in; ${sign(profile)} asks again`]
98
+ : []),
99
+ ]),
100
+ };
101
+ };
102
+ /** Every check doctor reads from disk, as one `local` hook. */
103
+ export const localChecks = (env) => {
104
+ const changes = changesCheck(env);
105
+ let oauth;
106
+ try {
107
+ oauth = oauthCheck(env);
108
+ }
109
+ catch {
110
+ // A config file doctor cannot read is reported as `config.issues` already.
111
+ oauth = { fields: { oauth: [] }, notes: [] };
112
+ }
113
+ return { fields: { ...changes.fields, ...oauth.fields }, notes: [...changes.notes, ...oauth.notes] };
114
+ };
39
115
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/mail/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,MAAM,GAAG,UAAU,CAAA;AACzB,8GAA8G;AAC9G,MAAM,SAAS,GAAG,CAAC,CAAA;AAEnB;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAe,EAAE,EAAE,CAC9C,KAAK,QAAQ,CAAC,OAAO,gBAAgB,OAAO,4BAA4B,EAAE,UAAU,CAAA;IACtF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAA;QAC/E,OAAO,QAAQ,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9D,CAAC,CAAC,CAAA;IACF,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC5G,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvE,EAAE;oBACF,OAAO;oBACP,gBAAgB;oBAChB,QAAQ;iBACT,CAAC,CAAC;aACJ;SACF;QACD,KAAK,EAAE;YACL,GAAG,UAAU,CAAC,GAAG,CACf,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,OAAO,EAAE,OAAO,OAAO,KAAK,OAAO,6BAA6B,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,uBAAuB;gBAC3G,uCAAuC,CAC1C;YACD,GAAG,QAAQ,CAAC,GAAG,CACb,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC9C,OAAO,EAAE,OAAO,OAAO,SAAS,QAAQ,oDAAoD,gBAAgB,IAAI;gBAChH,GAAG,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,+BAA+B,CACzD;SACF;KACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/mail/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/mail/drafts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,KAAK,KAAK,IAAI,QAAQ,EAAc,KAAK,MAAM,EAAY,MAAM,cAAc,CAAA;AAExF,oGAAoG;AACpG,eAAO,MAAM,WAAW,YAAI,SAAS,EAAE,QAAQ,CAAU,CAAA;AAEzD,eAAO,MAAM,cAAc,YAAa,SAAS,UAAU,EAAE,YAAY,QAAQ,KAAG,MAUnF,CAAA;AAED,qHAAqH;AACrH,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAKzC,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;IACpD,IAAI,EAAE,MAAM,CAAA;CACb;AAeD,2GAA2G;AAC3G,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,SAAS,QAAe,UAAU,OAAO,MAAM,KAAG,OAAO,CAAC,SAAS,CAuB/E,CAAA;AAED,KAAK,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAA;AAUrD,wHAAwH;AACxH,eAAO,MAAM,UAAU,YAAmB,KAAK,UAAU,MAAM,SAAS,MAAM;;;EAU7E,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,SAAS,YAAmB,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,UAAU,MAAM,MAAM,MAAM;;;;EAW5G,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,gHAAgH;AAChH,eAAO,MAAM,WAAW,iCAAkC,SAAS,SAAS,OAAO,SAAS,MAAM,KAAG,QAgBpG,CAAA"}
1
+ {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/mail/drafts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,KAAK,KAAK,IAAI,QAAQ,EAAE,KAAK,MAAM,EAAY,MAAM,cAAc,CAAA;AAE5E,oGAAoG;AACpG,eAAO,MAAM,WAAW,YAAI,SAAS,EAAE,QAAQ,CAAU,CAAA;AAEzD,eAAO,MAAM,cAAc,YAAa,SAAS,UAAU,EAAE,YAAY,QAAQ,KAAG,MAUnF,CAAA;AAED,qHAAqH;AACrH,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAKzC,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAA;IACpD,IAAI,EAAE,MAAM,CAAA;CACb;AAeD,2GAA2G;AAC3G,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,SAAS,QAAe,UAAU,OAAO,MAAM,KAAG,OAAO,CAAC,SAAS,CAuB/E,CAAA;AAED,KAAK,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAA;AAUrD,wHAAwH;AACxH,eAAO,MAAM,UAAU,YAAmB,KAAK,UAAU,MAAM,SAAS,MAAM;;;EAU7E,CAAA;AAED,+FAA+F;AAC/F,eAAO,MAAM,SAAS,YAAmB,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,UAAU,MAAM,MAAM,MAAM;;;;EAW5G,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,gHAAgH;AAChH,eAAO,MAAM,WAAW,iCAAkC,SAAS,SAAS,OAAO,SAAS,MAAM,KAAG,QAgBpG,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { parseMail } from "@wirecat/cli-core/mail";
3
- import { originalOf, peopleOf } from "./compose.js";
3
+ import { peopleOf } from "./compose.js";
4
4
  /** `\Seen` too: a draft is the owner's own text, and a mail app shows an unseen one as new mail. */
5
5
  export const DRAFT_FLAGS = ["\\Draft", "\\Seen"];
6
6
  export const draftsFolderOf = (folders, organise) => {
@@ -26,13 +26,13 @@ const dateOf = (raw) => {
26
26
  };
27
27
  const shown = (people) => people.map(({ email, name }) => (name ? `${name} <${email}>` : email));
28
28
  export const readDraft = async (raw, uid) => {
29
- const [parsed, original] = await Promise.all([parseMail(raw), originalOf(raw)]);
29
+ const parsed = await parseMail(raw, undefined, Number.POSITIVE_INFINITY);
30
30
  const head = Buffer.from(raw)
31
31
  .toString("latin1")
32
32
  .split(/\r?\n\r?\n/)[0] ?? "";
33
33
  return {
34
34
  draft: {
35
- id: (original.messageId ?? "").replace(/^<|>$/g, ""),
35
+ id: (parsed.messageId ?? "").replace(/^<|>$/g, ""),
36
36
  uid,
37
37
  subject: parsed.subject ?? "",
38
38
  from: parsed.from ? shown([parsed.from])[0] : null,
@@ -44,7 +44,7 @@ export const readDraft = async (raw, uid) => {
44
44
  attachments: parsed.attachments.map(({ name, mime }) => ({ name, mime })),
45
45
  text: parsed.text,
46
46
  },
47
- references: original.references,
47
+ references: parsed.references,
48
48
  parts: parsed.attachments.flatMap(({ name, mime, bytes }) => (bytes ? [{ name, mime, bytes }] : [])),
49
49
  };
50
50
  };