@diskd-ai/email-mcp 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/LICENSE +155 -0
  2. package/README.md +820 -0
  3. package/dist/cli/account-commands.d.ts +10 -0
  4. package/dist/cli/account-commands.d.ts.map +1 -0
  5. package/dist/cli/account-commands.js +703 -0
  6. package/dist/cli/account-commands.js.map +1 -0
  7. package/dist/cli/config-commands.d.ts +9 -0
  8. package/dist/cli/config-commands.d.ts.map +1 -0
  9. package/dist/cli/config-commands.js +156 -0
  10. package/dist/cli/config-commands.js.map +1 -0
  11. package/dist/cli/guard.d.ts +11 -0
  12. package/dist/cli/guard.d.ts.map +1 -0
  13. package/dist/cli/guard.js +18 -0
  14. package/dist/cli/guard.js.map +1 -0
  15. package/dist/cli/install-commands.d.ts +12 -0
  16. package/dist/cli/install-commands.d.ts.map +1 -0
  17. package/dist/cli/install-commands.js +320 -0
  18. package/dist/cli/install-commands.js.map +1 -0
  19. package/dist/cli/notify.d.ts +8 -0
  20. package/dist/cli/notify.d.ts.map +1 -0
  21. package/dist/cli/notify.js +143 -0
  22. package/dist/cli/notify.js.map +1 -0
  23. package/dist/cli/providers.d.ts +13 -0
  24. package/dist/cli/providers.d.ts.map +1 -0
  25. package/dist/cli/providers.js +180 -0
  26. package/dist/cli/providers.js.map +1 -0
  27. package/dist/cli/scheduler.d.ts +8 -0
  28. package/dist/cli/scheduler.d.ts.map +1 -0
  29. package/dist/cli/scheduler.js +268 -0
  30. package/dist/cli/scheduler.js.map +1 -0
  31. package/dist/cli/setup.d.ts +12 -0
  32. package/dist/cli/setup.d.ts.map +1 -0
  33. package/dist/cli/setup.js +15 -0
  34. package/dist/cli/setup.js.map +1 -0
  35. package/dist/cli/test.d.ts +7 -0
  36. package/dist/cli/test.d.ts.map +1 -0
  37. package/dist/cli/test.js +67 -0
  38. package/dist/cli/test.js.map +1 -0
  39. package/dist/config/loader.d.ts +34 -0
  40. package/dist/config/loader.d.ts.map +1 -0
  41. package/dist/config/loader.js +339 -0
  42. package/dist/config/loader.js.map +1 -0
  43. package/dist/config/schema.d.ts +351 -0
  44. package/dist/config/schema.d.ts.map +1 -0
  45. package/dist/config/schema.js +165 -0
  46. package/dist/config/schema.js.map +1 -0
  47. package/dist/config/xdg.d.ts +27 -0
  48. package/dist/config/xdg.d.ts.map +1 -0
  49. package/dist/config/xdg.js +30 -0
  50. package/dist/config/xdg.js.map +1 -0
  51. package/dist/connections/manager.d.ts +42 -0
  52. package/dist/connections/manager.d.ts.map +1 -0
  53. package/dist/connections/manager.js +266 -0
  54. package/dist/connections/manager.js.map +1 -0
  55. package/dist/connections/types.d.ts +13 -0
  56. package/dist/connections/types.d.ts.map +1 -0
  57. package/dist/connections/types.js +2 -0
  58. package/dist/connections/types.js.map +1 -0
  59. package/dist/logging.d.ts +46 -0
  60. package/dist/logging.d.ts.map +1 -0
  61. package/dist/logging.js +63 -0
  62. package/dist/logging.js.map +1 -0
  63. package/dist/main.d.ts +13 -0
  64. package/dist/main.d.ts.map +1 -0
  65. package/dist/main.js +206 -0
  66. package/dist/main.js.map +1 -0
  67. package/dist/prompts/actions.prompt.d.ts +9 -0
  68. package/dist/prompts/actions.prompt.d.ts.map +1 -0
  69. package/dist/prompts/actions.prompt.js +64 -0
  70. package/dist/prompts/actions.prompt.js.map +1 -0
  71. package/dist/prompts/calendar.prompt.d.ts +9 -0
  72. package/dist/prompts/calendar.prompt.d.ts.map +1 -0
  73. package/dist/prompts/calendar.prompt.js +55 -0
  74. package/dist/prompts/calendar.prompt.js.map +1 -0
  75. package/dist/prompts/cleanup.prompt.d.ts +9 -0
  76. package/dist/prompts/cleanup.prompt.d.ts.map +1 -0
  77. package/dist/prompts/cleanup.prompt.js +78 -0
  78. package/dist/prompts/cleanup.prompt.js.map +1 -0
  79. package/dist/prompts/compose.prompt.d.ts +8 -0
  80. package/dist/prompts/compose.prompt.d.ts.map +1 -0
  81. package/dist/prompts/compose.prompt.js +116 -0
  82. package/dist/prompts/compose.prompt.js.map +1 -0
  83. package/dist/prompts/register.d.ts +8 -0
  84. package/dist/prompts/register.d.ts.map +1 -0
  85. package/dist/prompts/register.js +20 -0
  86. package/dist/prompts/register.js.map +1 -0
  87. package/dist/prompts/thread.prompt.d.ts +9 -0
  88. package/dist/prompts/thread.prompt.d.ts.map +1 -0
  89. package/dist/prompts/thread.prompt.js +58 -0
  90. package/dist/prompts/thread.prompt.js.map +1 -0
  91. package/dist/prompts/triage.prompt.d.ts +9 -0
  92. package/dist/prompts/triage.prompt.d.ts.map +1 -0
  93. package/dist/prompts/triage.prompt.js +64 -0
  94. package/dist/prompts/triage.prompt.js.map +1 -0
  95. package/dist/resources/accounts.resource.d.ts +9 -0
  96. package/dist/resources/accounts.resource.d.ts.map +1 -0
  97. package/dist/resources/accounts.resource.js +26 -0
  98. package/dist/resources/accounts.resource.js.map +1 -0
  99. package/dist/resources/mailboxes.resource.d.ts +10 -0
  100. package/dist/resources/mailboxes.resource.d.ts.map +1 -0
  101. package/dist/resources/mailboxes.resource.js +33 -0
  102. package/dist/resources/mailboxes.resource.js.map +1 -0
  103. package/dist/resources/register.d.ts +12 -0
  104. package/dist/resources/register.d.ts.map +1 -0
  105. package/dist/resources/register.js +20 -0
  106. package/dist/resources/register.js.map +1 -0
  107. package/dist/resources/scheduled.resource.d.ts +9 -0
  108. package/dist/resources/scheduled.resource.d.ts.map +1 -0
  109. package/dist/resources/scheduled.resource.js +31 -0
  110. package/dist/resources/scheduled.resource.js.map +1 -0
  111. package/dist/resources/stats.resource.d.ts +10 -0
  112. package/dist/resources/stats.resource.d.ts.map +1 -0
  113. package/dist/resources/stats.resource.js +45 -0
  114. package/dist/resources/stats.resource.js.map +1 -0
  115. package/dist/resources/templates.resource.d.ts +9 -0
  116. package/dist/resources/templates.resource.d.ts.map +1 -0
  117. package/dist/resources/templates.resource.js +34 -0
  118. package/dist/resources/templates.resource.js.map +1 -0
  119. package/dist/resources/unread.resource.d.ts +11 -0
  120. package/dist/resources/unread.resource.d.ts.map +1 -0
  121. package/dist/resources/unread.resource.js +46 -0
  122. package/dist/resources/unread.resource.js.map +1 -0
  123. package/dist/safety/audit.d.ts +17 -0
  124. package/dist/safety/audit.d.ts.map +1 -0
  125. package/dist/safety/audit.js +50 -0
  126. package/dist/safety/audit.js.map +1 -0
  127. package/dist/safety/rate-limiter.d.ts +22 -0
  128. package/dist/safety/rate-limiter.d.ts.map +1 -0
  129. package/dist/safety/rate-limiter.js +52 -0
  130. package/dist/safety/rate-limiter.js.map +1 -0
  131. package/dist/safety/validation.d.ts +44 -0
  132. package/dist/safety/validation.d.ts.map +1 -0
  133. package/dist/safety/validation.js +113 -0
  134. package/dist/safety/validation.js.map +1 -0
  135. package/dist/server.d.ts +10 -0
  136. package/dist/server.d.ts.map +1 -0
  137. package/dist/server.js +25 -0
  138. package/dist/server.js.map +1 -0
  139. package/dist/services/calendar.service.d.ts +22 -0
  140. package/dist/services/calendar.service.d.ts.map +1 -0
  141. package/dist/services/calendar.service.js +115 -0
  142. package/dist/services/calendar.service.js.map +1 -0
  143. package/dist/services/event-bus.d.ts +28 -0
  144. package/dist/services/event-bus.d.ts.map +1 -0
  145. package/dist/services/event-bus.js +16 -0
  146. package/dist/services/event-bus.js.map +1 -0
  147. package/dist/services/hooks.service.d.ts +77 -0
  148. package/dist/services/hooks.service.d.ts.map +1 -0
  149. package/dist/services/hooks.service.js +498 -0
  150. package/dist/services/hooks.service.js.map +1 -0
  151. package/dist/services/imap.service.d.ts +133 -0
  152. package/dist/services/imap.service.d.ts.map +1 -0
  153. package/dist/services/imap.service.js +1393 -0
  154. package/dist/services/imap.service.js.map +1 -0
  155. package/dist/services/label-strategy.d.ts +20 -0
  156. package/dist/services/label-strategy.d.ts.map +1 -0
  157. package/dist/services/label-strategy.js +237 -0
  158. package/dist/services/label-strategy.js.map +1 -0
  159. package/dist/services/local-calendar.service.d.ts +126 -0
  160. package/dist/services/local-calendar.service.d.ts.map +1 -0
  161. package/dist/services/local-calendar.service.js +428 -0
  162. package/dist/services/local-calendar.service.js.map +1 -0
  163. package/dist/services/notifier.service.d.ts +69 -0
  164. package/dist/services/notifier.service.d.ts.map +1 -0
  165. package/dist/services/notifier.service.js +319 -0
  166. package/dist/services/notifier.service.js.map +1 -0
  167. package/dist/services/oauth.service.d.ts +47 -0
  168. package/dist/services/oauth.service.d.ts.map +1 -0
  169. package/dist/services/oauth.service.js +140 -0
  170. package/dist/services/oauth.service.js.map +1 -0
  171. package/dist/services/presets.d.ts +36 -0
  172. package/dist/services/presets.d.ts.map +1 -0
  173. package/dist/services/presets.js +173 -0
  174. package/dist/services/presets.js.map +1 -0
  175. package/dist/services/reminders.service.d.ts +63 -0
  176. package/dist/services/reminders.service.d.ts.map +1 -0
  177. package/dist/services/reminders.service.js +281 -0
  178. package/dist/services/reminders.service.js.map +1 -0
  179. package/dist/services/scheduler.service.d.ts +42 -0
  180. package/dist/services/scheduler.service.d.ts.map +1 -0
  181. package/dist/services/scheduler.service.js +260 -0
  182. package/dist/services/scheduler.service.js.map +1 -0
  183. package/dist/services/smtp.service.d.ts +40 -0
  184. package/dist/services/smtp.service.d.ts.map +1 -0
  185. package/dist/services/smtp.service.js +151 -0
  186. package/dist/services/smtp.service.js.map +1 -0
  187. package/dist/services/template.service.d.ts +33 -0
  188. package/dist/services/template.service.d.ts.map +1 -0
  189. package/dist/services/template.service.js +123 -0
  190. package/dist/services/template.service.js.map +1 -0
  191. package/dist/services/watcher.service.d.ts +36 -0
  192. package/dist/services/watcher.service.d.ts.map +1 -0
  193. package/dist/services/watcher.service.js +241 -0
  194. package/dist/services/watcher.service.js.map +1 -0
  195. package/dist/tools/accounts.tool.d.ts +7 -0
  196. package/dist/tools/accounts.tool.d.ts.map +1 -0
  197. package/dist/tools/accounts.tool.js +29 -0
  198. package/dist/tools/accounts.tool.js.map +1 -0
  199. package/dist/tools/analytics.tool.d.ts +9 -0
  200. package/dist/tools/analytics.tool.d.ts.map +1 -0
  201. package/dist/tools/analytics.tool.js +27 -0
  202. package/dist/tools/analytics.tool.js.map +1 -0
  203. package/dist/tools/attachments.tool.d.ts +7 -0
  204. package/dist/tools/attachments.tool.d.ts.map +1 -0
  205. package/dist/tools/attachments.tool.js +45 -0
  206. package/dist/tools/attachments.tool.js.map +1 -0
  207. package/dist/tools/bulk.tool.d.ts +7 -0
  208. package/dist/tools/bulk.tool.d.ts.map +1 -0
  209. package/dist/tools/bulk.tool.js +75 -0
  210. package/dist/tools/bulk.tool.js.map +1 -0
  211. package/dist/tools/calendar.tool.d.ts +19 -0
  212. package/dist/tools/calendar.tool.d.ts.map +1 -0
  213. package/dist/tools/calendar.tool.js +538 -0
  214. package/dist/tools/calendar.tool.js.map +1 -0
  215. package/dist/tools/contacts.tool.d.ts +7 -0
  216. package/dist/tools/contacts.tool.d.ts.map +1 -0
  217. package/dist/tools/contacts.tool.js +44 -0
  218. package/dist/tools/contacts.tool.js.map +1 -0
  219. package/dist/tools/drafts.tool.d.ts +8 -0
  220. package/dist/tools/drafts.tool.d.ts.map +1 -0
  221. package/dist/tools/drafts.tool.js +92 -0
  222. package/dist/tools/drafts.tool.js.map +1 -0
  223. package/dist/tools/emails.tool.d.ts +7 -0
  224. package/dist/tools/emails.tool.d.ts.map +1 -0
  225. package/dist/tools/emails.tool.js +400 -0
  226. package/dist/tools/emails.tool.js.map +1 -0
  227. package/dist/tools/folders.tool.d.ts +7 -0
  228. package/dist/tools/folders.tool.d.ts.map +1 -0
  229. package/dist/tools/folders.tool.js +111 -0
  230. package/dist/tools/folders.tool.js.map +1 -0
  231. package/dist/tools/health.tool.d.ts +10 -0
  232. package/dist/tools/health.tool.d.ts.map +1 -0
  233. package/dist/tools/health.tool.js +78 -0
  234. package/dist/tools/health.tool.js.map +1 -0
  235. package/dist/tools/label.tool.d.ts +11 -0
  236. package/dist/tools/label.tool.d.ts.map +1 -0
  237. package/dist/tools/label.tool.js +165 -0
  238. package/dist/tools/label.tool.js.map +1 -0
  239. package/dist/tools/locate.tool.d.ts +11 -0
  240. package/dist/tools/locate.tool.d.ts.map +1 -0
  241. package/dist/tools/locate.tool.js +59 -0
  242. package/dist/tools/locate.tool.js.map +1 -0
  243. package/dist/tools/mailboxes.tool.d.ts +7 -0
  244. package/dist/tools/mailboxes.tool.d.ts.map +1 -0
  245. package/dist/tools/mailboxes.tool.js +38 -0
  246. package/dist/tools/mailboxes.tool.js.map +1 -0
  247. package/dist/tools/manage.tool.d.ts +7 -0
  248. package/dist/tools/manage.tool.d.ts.map +1 -0
  249. package/dist/tools/manage.tool.js +125 -0
  250. package/dist/tools/manage.tool.js.map +1 -0
  251. package/dist/tools/register.d.ts +20 -0
  252. package/dist/tools/register.d.ts.map +1 -0
  253. package/dist/tools/register.js +53 -0
  254. package/dist/tools/register.js.map +1 -0
  255. package/dist/tools/scheduler.tool.d.ts +9 -0
  256. package/dist/tools/scheduler.tool.d.ts.map +1 -0
  257. package/dist/tools/scheduler.tool.js +104 -0
  258. package/dist/tools/scheduler.tool.js.map +1 -0
  259. package/dist/tools/send.tool.d.ts +7 -0
  260. package/dist/tools/send.tool.d.ts.map +1 -0
  261. package/dist/tools/send.tool.js +123 -0
  262. package/dist/tools/send.tool.js.map +1 -0
  263. package/dist/tools/templates.tool.d.ts +12 -0
  264. package/dist/tools/templates.tool.d.ts.map +1 -0
  265. package/dist/tools/templates.tool.js +140 -0
  266. package/dist/tools/templates.tool.js.map +1 -0
  267. package/dist/tools/thread.tool.d.ts +10 -0
  268. package/dist/tools/thread.tool.d.ts.map +1 -0
  269. package/dist/tools/thread.tool.js +146 -0
  270. package/dist/tools/thread.tool.js.map +1 -0
  271. package/dist/tools/watcher.tool.d.ts +9 -0
  272. package/dist/tools/watcher.tool.d.ts.map +1 -0
  273. package/dist/tools/watcher.tool.js +282 -0
  274. package/dist/tools/watcher.tool.js.map +1 -0
  275. package/dist/types/index.d.ts +271 -0
  276. package/dist/types/index.d.ts.map +1 -0
  277. package/dist/types/index.js +5 -0
  278. package/dist/types/index.js.map +1 -0
  279. package/dist/utils/calendar-notes.d.ts +31 -0
  280. package/dist/utils/calendar-notes.d.ts.map +1 -0
  281. package/dist/utils/calendar-notes.js +99 -0
  282. package/dist/utils/calendar-notes.js.map +1 -0
  283. package/dist/utils/calendar-state.d.ts +27 -0
  284. package/dist/utils/calendar-state.d.ts.map +1 -0
  285. package/dist/utils/calendar-state.js +85 -0
  286. package/dist/utils/calendar-state.js.map +1 -0
  287. package/dist/utils/conference-details.d.ts +12 -0
  288. package/dist/utils/conference-details.d.ts.map +1 -0
  289. package/dist/utils/conference-details.js +71 -0
  290. package/dist/utils/conference-details.js.map +1 -0
  291. package/dist/utils/meeting-url.d.ts +10 -0
  292. package/dist/utils/meeting-url.d.ts.map +1 -0
  293. package/dist/utils/meeting-url.js +30 -0
  294. package/dist/utils/meeting-url.js.map +1 -0
  295. package/package.json +108 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-commands.js","sourceRoot":"","sources":["../../src/cli/account-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Config management subcommands.
3
+ *
4
+ * - config show — display current config with masked passwords
5
+ * - config path — print config file path
6
+ * - config init — create a template config file
7
+ */
8
+ export default function runConfigCommand(subcommand?: string): Promise<void>;
9
+ //# sourceMappingURL=config-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-commands.d.ts","sourceRoot":"","sources":["../../src/cli/config-commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiKH,wBAA8B,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjF"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Config management subcommands.
3
+ *
4
+ * - config show — display current config with masked passwords
5
+ * - config path — print config file path
6
+ * - config init — create a template config file
7
+ */
8
+ import fs from 'node:fs/promises';
9
+ import { cancel, confirm, intro, isCancel, log, outro, text } from '@clack/prompts';
10
+ import { CONFIG_FILE, configExists, generateTemplate, loadConfig, loadRawConfig, saveConfig, } from '../config/loader.js';
11
+ import ensureInteractive from './guard.js';
12
+ function printConfigUsage() {
13
+ console.log(`Usage: email-mcp config <subcommand>
14
+
15
+ Subcommands:
16
+ show Show current configuration (passwords masked)
17
+ edit Edit global settings interactively
18
+ path Print config file path
19
+ init Create a template config file
20
+ `);
21
+ }
22
+ function showPath() {
23
+ console.log(CONFIG_FILE);
24
+ }
25
+ async function showConfig() {
26
+ const exists = await configExists();
27
+ if (!exists) {
28
+ console.error(`No config file found at: ${CONFIG_FILE}`);
29
+ console.error(`Run 'email-mcp setup' or 'email-mcp config init' to create one.`);
30
+ throw new Error('Config file not found');
31
+ }
32
+ let config;
33
+ try {
34
+ config = await loadConfig();
35
+ }
36
+ catch (err) {
37
+ throw new Error(`Failed to load config: ${err instanceof Error ? err.message : String(err)}`);
38
+ }
39
+ console.log(`Config file: ${CONFIG_FILE}\n`);
40
+ console.log(`[settings]`);
41
+ console.log(` rate_limit = ${config.settings.rateLimit}`);
42
+ console.log(` read_only = ${config.settings.readOnly}\n`);
43
+ config.accounts.forEach((account) => {
44
+ console.log(`[accounts.${account.name}]`);
45
+ console.log(` email = ${account.email}`);
46
+ if (account.fullName) {
47
+ console.log(` name = ${account.fullName}`);
48
+ }
49
+ const smtpSecurity = account.smtp.tls ? 'TLS' : 'plain';
50
+ const smtpLabel = account.smtp.starttls ? 'STARTTLS' : smtpSecurity;
51
+ const smtpPool = account.smtp.pool ?? {
52
+ enabled: true,
53
+ maxConnections: 1,
54
+ maxMessages: 100,
55
+ };
56
+ const imapSecurity = account.imap.tls ? 'TLS' : 'plain';
57
+ const imapLabel = account.imap.starttls ? 'STARTTLS' : imapSecurity;
58
+ console.log(` imap = ${account.imap.host}:${account.imap.port} (${imapLabel})`);
59
+ console.log(` smtp = ${account.smtp.host}:${account.smtp.port} (${smtpLabel})`);
60
+ console.log(` smtp_pool = ${smtpPool.enabled
61
+ ? `enabled (${smtpPool.maxConnections} conns, ${smtpPool.maxMessages} msgs/conn)`
62
+ : 'disabled'}`);
63
+ console.log(` password = ${'•'.repeat(8)}\n`);
64
+ });
65
+ }
66
+ async function initConfig() {
67
+ ensureInteractive();
68
+ intro('email-mcp config init');
69
+ const exists = await configExists();
70
+ if (exists) {
71
+ const overwrite = await confirm({
72
+ message: `Config file already exists at ${CONFIG_FILE}. Overwrite?`,
73
+ initialValue: false,
74
+ });
75
+ if (isCancel(overwrite) || !overwrite) {
76
+ cancel('Cancelled.');
77
+ return;
78
+ }
79
+ }
80
+ const dir = CONFIG_FILE.replace(/\/[^/]+$/, '');
81
+ await fs.mkdir(dir, { recursive: true });
82
+ await fs.writeFile(CONFIG_FILE, generateTemplate(), 'utf-8');
83
+ log.success(`Template config created at ${CONFIG_FILE}`);
84
+ log.info("Edit the file to add your email accounts, then run 'email-mcp test'.");
85
+ outro('Done!');
86
+ }
87
+ async function editSettings() {
88
+ ensureInteractive();
89
+ intro('email-mcp › Edit Settings');
90
+ const exists = await configExists();
91
+ if (!exists) {
92
+ log.error(`No config file found at: ${CONFIG_FILE}`);
93
+ cancel("Run 'email-mcp account add' or 'email-mcp config init' first.");
94
+ return;
95
+ }
96
+ const config = await loadRawConfig();
97
+ const { settings } = config;
98
+ log.info(`Current settings:`);
99
+ log.info(` rate_limit = ${settings.rate_limit}`);
100
+ log.info(` read_only = ${settings.read_only}`);
101
+ const rateLimitStr = await text({
102
+ message: 'Rate limit (max emails per minute per account)',
103
+ defaultValue: String(settings.rate_limit),
104
+ initialValue: String(settings.rate_limit),
105
+ validate: (v) => {
106
+ if (!v)
107
+ return 'Must be a positive integer';
108
+ const n = parseInt(v, 10);
109
+ if (Number.isNaN(n) || n < 1)
110
+ return 'Must be a positive integer';
111
+ return undefined;
112
+ },
113
+ });
114
+ if (isCancel(rateLimitStr)) {
115
+ cancel('Cancelled.');
116
+ return;
117
+ }
118
+ const readOnly = await confirm({
119
+ message: 'Read-only mode? (disables all write operations)',
120
+ initialValue: settings.read_only,
121
+ });
122
+ if (isCancel(readOnly)) {
123
+ cancel('Cancelled.');
124
+ return;
125
+ }
126
+ const updatedConfig = {
127
+ ...config,
128
+ settings: {
129
+ ...settings,
130
+ rate_limit: parseInt(rateLimitStr, 10),
131
+ read_only: readOnly,
132
+ },
133
+ };
134
+ await saveConfig(updatedConfig);
135
+ log.success(`Settings updated. Config saved to ${CONFIG_FILE}`);
136
+ outro('Done!');
137
+ }
138
+ export default async function runConfigCommand(subcommand) {
139
+ switch (subcommand) {
140
+ case 'show':
141
+ await showConfig();
142
+ return;
143
+ case 'edit':
144
+ await editSettings();
145
+ return;
146
+ case 'path':
147
+ showPath();
148
+ return;
149
+ case 'init':
150
+ await initConfig();
151
+ return;
152
+ default:
153
+ printConfigUsage();
154
+ }
155
+ }
156
+ //# sourceMappingURL=config-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-commands.js","sourceRoot":"","sources":["../../src/cli/config-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Guard to prevent interactive prompts from running in non-interactive terminals.
3
+ *
4
+ * When stdin is not a TTY (e.g. piped input, CI, or programmatic execution),
5
+ * @clack/prompts will auto-resolve with default/initial values — which can
6
+ * cause destructive operations (like overwriting config files) without user
7
+ * confirmation. This guard ensures interactive commands fail early and
8
+ * explicitly in non-interactive environments.
9
+ */
10
+ export default function ensureInteractive(): void;
11
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/cli/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,OAAO,UAAU,iBAAiB,IAAI,IAAI,CAShD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Guard to prevent interactive prompts from running in non-interactive terminals.
3
+ *
4
+ * When stdin is not a TTY (e.g. piped input, CI, or programmatic execution),
5
+ * @clack/prompts will auto-resolve with default/initial values — which can
6
+ * cause destructive operations (like overwriting config files) without user
7
+ * confirmation. This guard ensures interactive commands fail early and
8
+ * explicitly in non-interactive environments.
9
+ */
10
+ export default function ensureInteractive() {
11
+ if (!process.stdin.isTTY) {
12
+ console.error('Error: This command requires an interactive terminal.\n' +
13
+ 'Please run it in a terminal with TTY support (not piped or in CI).');
14
+ process.exitCode = 1;
15
+ throw new Error('Non-interactive terminal detected');
16
+ }
17
+ }
18
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/cli/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,yDAAyD;YACvD,oEAAoE,CACvE,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP client installation subcommands.
3
+ *
4
+ * Manages registering / unregistering the email-mcp server with MCP host
5
+ * applications such as Claude Desktop, VS Code, Cursor, and Windsurf.
6
+ *
7
+ * - install — interactive wizard to register with detected MCP clients
8
+ * - install status — show which clients are configured
9
+ * - install remove — interactively unregister from MCP clients
10
+ */
11
+ export default function runInstallCommand(subcommand?: string): Promise<void>;
12
+ //# sourceMappingURL=install-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-commands.d.ts","sourceRoot":"","sources":["../../src/cli/install-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoYH,wBAA8B,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBlF"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * MCP client installation subcommands.
3
+ *
4
+ * Manages registering / unregistering the email-mcp server with MCP host
5
+ * applications such as Claude Desktop, VS Code, Cursor, and Windsurf.
6
+ *
7
+ * - install — interactive wizard to register with detected MCP clients
8
+ * - install status — show which clients are configured
9
+ * - install remove — interactively unregister from MCP clients
10
+ */
11
+ import fs from 'node:fs/promises';
12
+ import os from 'node:os';
13
+ import path from 'node:path';
14
+ import { cancel, confirm, intro, isCancel, log, multiselect, note, outro, select, } from '@clack/prompts';
15
+ import ensureInteractive from './guard.js';
16
+ function getClients() {
17
+ const platform = os.platform();
18
+ const home = os.homedir();
19
+ const clients = [];
20
+ if (platform === 'darwin') {
21
+ clients.push({
22
+ name: 'Claude Desktop',
23
+ id: 'claude',
24
+ configPath: path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json'),
25
+ serversKey: 'mcpServers',
26
+ });
27
+ }
28
+ else if (platform === 'linux') {
29
+ clients.push({
30
+ name: 'Claude Desktop',
31
+ id: 'claude',
32
+ configPath: path.join(process.env.XDG_CONFIG_HOME ?? path.join(home, '.config'), 'Claude', 'claude_desktop_config.json'),
33
+ serversKey: 'mcpServers',
34
+ });
35
+ }
36
+ else if (platform === 'win32') {
37
+ const appData = process.env.APPDATA ?? path.join(home, 'AppData', 'Roaming');
38
+ clients.push({
39
+ name: 'Claude Desktop',
40
+ id: 'claude',
41
+ configPath: path.join(appData, 'Claude', 'claude_desktop_config.json'),
42
+ serversKey: 'mcpServers',
43
+ });
44
+ }
45
+ // Cursor — ~/.cursor/mcp.json (all platforms)
46
+ clients.push({
47
+ name: 'Cursor',
48
+ id: 'cursor',
49
+ configPath: path.join(home, '.cursor', 'mcp.json'),
50
+ serversKey: 'mcpServers',
51
+ });
52
+ // Windsurf / Codeium — ~/.codeium/windsurf/mcp_config.json
53
+ clients.push({
54
+ name: 'Windsurf',
55
+ id: 'windsurf',
56
+ configPath: path.join(home, '.codeium', 'windsurf', 'mcp_config.json'),
57
+ serversKey: 'mcpServers',
58
+ });
59
+ return clients;
60
+ }
61
+ function buildServerEntry(transport) {
62
+ switch (transport) {
63
+ case 'npx':
64
+ return { command: 'npx', args: ['@codefuturist/email-mcp', 'stdio'] };
65
+ case 'pnpm':
66
+ return { command: 'pnpm', args: ['dlx', '@codefuturist/email-mcp', 'stdio'] };
67
+ case 'global':
68
+ return { command: 'email-mcp', args: ['stdio'] };
69
+ case 'node': {
70
+ const mainJs = path.resolve(process.argv[1] ?? 'dist/main.js');
71
+ return { command: process.execPath, args: [mainJs, 'stdio'] };
72
+ }
73
+ default:
74
+ return { command: 'npx', args: ['@codefuturist/email-mcp', 'stdio'] };
75
+ }
76
+ }
77
+ // ---------------------------------------------------------------------------
78
+ // File I/O helpers
79
+ // ---------------------------------------------------------------------------
80
+ async function fileExists(filePath) {
81
+ try {
82
+ await fs.access(filePath);
83
+ return true;
84
+ }
85
+ catch {
86
+ return false;
87
+ }
88
+ }
89
+ async function readJsonFile(filePath) {
90
+ try {
91
+ const raw = await fs.readFile(filePath, 'utf-8');
92
+ return JSON.parse(raw);
93
+ }
94
+ catch {
95
+ return {};
96
+ }
97
+ }
98
+ async function writeJsonFile(filePath, data) {
99
+ const dir = path.dirname(filePath);
100
+ await fs.mkdir(dir, { recursive: true });
101
+ await fs.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, 'utf-8');
102
+ }
103
+ function isRegistered(config, serversKey) {
104
+ const servers = config[serversKey];
105
+ return servers != null && 'email' in servers;
106
+ }
107
+ // ---------------------------------------------------------------------------
108
+ // Subcommands
109
+ // ---------------------------------------------------------------------------
110
+ async function runInstall() {
111
+ ensureInteractive();
112
+ intro('email-mcp › Install MCP Server');
113
+ const clients = getClients();
114
+ // Detect which clients exist on the system (parallel checks)
115
+ const detected = await Promise.all(clients.map(async (client) => {
116
+ const exists = await fileExists(client.configPath);
117
+ const dirExists = await fileExists(path.dirname(client.configPath));
118
+ let registered = false;
119
+ if (exists) {
120
+ const cfg = await readJsonFile(client.configPath);
121
+ registered = isRegistered(cfg, client.serversKey);
122
+ }
123
+ return { ...client, exists: exists || dirExists, registered };
124
+ }));
125
+ const available = detected.filter((c) => c.exists);
126
+ if (available.length === 0) {
127
+ log.warn('No supported MCP clients detected on this system.');
128
+ log.info('Supported clients: Claude Desktop, Cursor, Windsurf');
129
+ note(JSON.stringify({ mcpServers: { email: buildServerEntry('npx') } }, null, 2), 'Manual configuration — add this to your MCP client config');
130
+ outro('Done.');
131
+ return;
132
+ }
133
+ // Show detected clients
134
+ const alreadyDone = available.filter((c) => c.registered);
135
+ if (alreadyDone.length > 0) {
136
+ log.info(`Already configured: ${alreadyDone.map((c) => c.name).join(', ')}`);
137
+ }
138
+ // Let user pick which clients to install
139
+ const choices = available.map((c) => ({
140
+ value: c.id,
141
+ label: c.name,
142
+ hint: c.registered ? 'already configured — will update' : undefined,
143
+ }));
144
+ const selectedIds = await multiselect({
145
+ message: 'Which MCP clients should email-mcp be registered with?',
146
+ options: choices,
147
+ initialValues: available.filter((c) => !c.registered).map((c) => c.id),
148
+ required: true,
149
+ });
150
+ if (isCancel(selectedIds)) {
151
+ cancel('Cancelled.');
152
+ return;
153
+ }
154
+ // Ask for transport preference
155
+ const transport = await select({
156
+ message: 'How should the MCP client launch email-mcp?',
157
+ options: [
158
+ {
159
+ value: 'npx',
160
+ label: 'npx (auto-downloads, always latest)',
161
+ hint: 'recommended for most users',
162
+ },
163
+ {
164
+ value: 'pnpm',
165
+ label: 'pnpm dlx (auto-downloads via pnpm)',
166
+ },
167
+ {
168
+ value: 'global',
169
+ label: 'Global install (email-mcp on PATH)',
170
+ hint: 'requires: npm i -g @codefuturist/email-mcp',
171
+ },
172
+ {
173
+ value: 'node',
174
+ label: 'Direct node (current dist/main.js)',
175
+ hint: 'dev / local clone',
176
+ },
177
+ ],
178
+ });
179
+ if (isCancel(transport)) {
180
+ cancel('Cancelled.');
181
+ return;
182
+ }
183
+ const serverEntry = buildServerEntry(transport);
184
+ const selected = available.filter((c) => selectedIds.includes(c.id));
185
+ // Write to each selected client (sequential — each read-modify-write must complete)
186
+ await selected.reduce(async (prev, client) => {
187
+ await prev;
188
+ const existing = await readJsonFile(client.configPath);
189
+ const servers = existing[client.serversKey] ?? {};
190
+ servers.email = serverEntry;
191
+ existing[client.serversKey] = servers;
192
+ await writeJsonFile(client.configPath, existing);
193
+ log.success(`${client.name} — registered (${client.configPath})`);
194
+ }, Promise.resolve());
195
+ // Show what was written
196
+ note(JSON.stringify({ mcpServers: { email: serverEntry } }, null, 2), 'Server entry written to selected clients');
197
+ // Restart hint
198
+ const clientNames = selected.map((c) => c.name).join(', ');
199
+ log.info(`Restart ${clientNames} for the changes to take effect.`);
200
+ outro('Installation complete!');
201
+ }
202
+ async function runRemove() {
203
+ ensureInteractive();
204
+ intro('email-mcp › Remove MCP Server');
205
+ const clients = getClients();
206
+ // Find clients that have email-mcp registered (parallel checks)
207
+ const withStatus = await Promise.all(clients.map(async (client) => {
208
+ const exists = await fileExists(client.configPath);
209
+ if (!exists)
210
+ return { ...client, registered: false };
211
+ const cfg = await readJsonFile(client.configPath);
212
+ return { ...client, registered: isRegistered(cfg, client.serversKey) };
213
+ }));
214
+ const registered = withStatus.filter((c) => c.registered);
215
+ if (registered.length === 0) {
216
+ log.info('email-mcp is not registered with any detected MCP clients.');
217
+ outro('Nothing to remove.');
218
+ return;
219
+ }
220
+ const selectedIds = await multiselect({
221
+ message: 'Unregister email-mcp from which clients?',
222
+ options: registered.map((c) => ({
223
+ value: c.id,
224
+ label: c.name,
225
+ hint: c.configPath,
226
+ })),
227
+ initialValues: registered.map((c) => c.id),
228
+ required: true,
229
+ });
230
+ if (isCancel(selectedIds)) {
231
+ cancel('Cancelled.');
232
+ return;
233
+ }
234
+ const shouldRemove = await confirm({
235
+ message: `Remove email-mcp from ${selectedIds.length} client(s)?`,
236
+ initialValue: false,
237
+ });
238
+ if (isCancel(shouldRemove) || !shouldRemove) {
239
+ cancel('Cancelled.');
240
+ return;
241
+ }
242
+ const selected = registered.filter((c) => selectedIds.includes(c.id));
243
+ // Sequential removal — each client's config must be read, modified, written
244
+ await selected.reduce(async (prev, client) => {
245
+ await prev;
246
+ const cfg = await readJsonFile(client.configPath);
247
+ const servers = cfg[client.serversKey];
248
+ if (servers && 'email' in servers) {
249
+ delete servers.email;
250
+ if (Object.keys(servers).length === 0) {
251
+ delete cfg[client.serversKey];
252
+ }
253
+ }
254
+ await writeJsonFile(client.configPath, cfg);
255
+ log.success(`${client.name} — unregistered`);
256
+ }, Promise.resolve());
257
+ const clientNames = selected.map((c) => c.name).join(', ');
258
+ log.info(`Restart ${clientNames} for the changes to take effect.`);
259
+ outro('Removal complete.');
260
+ }
261
+ async function runStatus() {
262
+ const clients = getClients();
263
+ console.log('MCP Client Installation Status\n');
264
+ const lines = await Promise.all(clients.map(async (client) => {
265
+ const exists = await fileExists(client.configPath);
266
+ if (!exists) {
267
+ return ` ❌ ${client.name} — config not found`;
268
+ }
269
+ const cfg = await readJsonFile(client.configPath);
270
+ if (isRegistered(cfg, client.serversKey)) {
271
+ const servers = cfg[client.serversKey];
272
+ const entry = servers.email;
273
+ const cmd = entry ? `${entry.command} ${entry.args.join(' ')}` : 'unknown';
274
+ return ` ✅ ${client.name} — registered (${cmd})\n ${client.configPath}`;
275
+ }
276
+ return ` ⚠️ ${client.name} — not registered\n ${client.configPath}`;
277
+ }));
278
+ const anyFound = lines.some((l) => !l.includes('config not found'));
279
+ for (const line of lines)
280
+ console.log(line); // eslint-disable-line no-restricted-syntax
281
+ if (!anyFound) {
282
+ console.log('\n No supported MCP clients detected.');
283
+ console.log(' Supported: Claude Desktop, Cursor, Windsurf');
284
+ }
285
+ }
286
+ // ---------------------------------------------------------------------------
287
+ // Usage & router
288
+ // ---------------------------------------------------------------------------
289
+ function printUsage() {
290
+ console.log(`Usage: email-mcp install [subcommand]
291
+
292
+ Subcommands:
293
+ (default) Register email-mcp with detected MCP clients
294
+ status Show registration status for all detected clients
295
+ remove Unregister email-mcp from MCP clients
296
+ `);
297
+ }
298
+ export default async function runInstallCommand(subcommand) {
299
+ switch (subcommand) {
300
+ case undefined:
301
+ case 'add':
302
+ await runInstall();
303
+ break;
304
+ case 'status':
305
+ await runStatus();
306
+ break;
307
+ case 'remove':
308
+ case 'uninstall':
309
+ await runRemove();
310
+ break;
311
+ case 'help':
312
+ case '--help':
313
+ printUsage();
314
+ break;
315
+ default:
316
+ console.error(`Unknown install command: ${subcommand}\n`);
317
+ printUsage();
318
+ }
319
+ }
320
+ //# sourceMappingURL=install-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-commands.js","sourceRoot":"","sources":["../../src/cli/install-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Notification management subcommands.
3
+ *
4
+ * - notify test Send a test desktop notification
5
+ * - notify status Check platform notification support
6
+ */
7
+ export default function runNotifyCommand(subcommand?: string): Promise<void>;
8
+ //# sourceMappingURL=notify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8IH,wBAA8B,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF"}