fluxmail 0.20.0 → 0.21.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 (62) hide show
  1. package/dist/accounts/oauthCallback.d.ts +6 -3
  2. package/dist/accounts/oauthCallback.d.ts.map +1 -1
  3. package/dist/accounts/oauthCallback.js +8 -6
  4. package/dist/accounts/oauthCallback.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +93 -10
  7. package/dist/cli.js.map +1 -1
  8. package/dist/cliCloudAuth.d.ts +48 -0
  9. package/dist/cliCloudAuth.d.ts.map +1 -0
  10. package/dist/cliCloudAuth.js +254 -0
  11. package/dist/cliCloudAuth.js.map +1 -0
  12. package/dist/cliCloudClient.d.ts +29 -0
  13. package/dist/cliCloudClient.d.ts.map +1 -0
  14. package/dist/cliCloudClient.js +154 -0
  15. package/dist/cliCloudClient.js.map +1 -0
  16. package/dist/cliInstances.d.ts +39 -4
  17. package/dist/cliInstances.d.ts.map +1 -1
  18. package/dist/cliInstances.js +76 -8
  19. package/dist/cliInstances.js.map +1 -1
  20. package/dist/cliMail.d.ts.map +1 -1
  21. package/dist/cliMail.js +54 -143
  22. package/dist/cliMail.js.map +1 -1
  23. package/dist/cliMailBackend.d.ts +125 -0
  24. package/dist/cliMailBackend.d.ts.map +1 -0
  25. package/dist/cliMailBackend.js +354 -0
  26. package/dist/cliMailBackend.js.map +1 -0
  27. package/dist/cliOutput.d.ts.map +1 -1
  28. package/dist/cliOutput.js +19 -2
  29. package/dist/cliOutput.js.map +1 -1
  30. package/dist/feedback.d.ts +13 -29
  31. package/dist/feedback.d.ts.map +1 -1
  32. package/dist/feedback.js +2 -1
  33. package/dist/feedback.js.map +1 -1
  34. package/dist/http/admin.d.ts.map +1 -1
  35. package/dist/http/admin.js +4 -2
  36. package/dist/http/admin.js.map +1 -1
  37. package/dist/http/rest.d.ts.map +1 -1
  38. package/dist/http/rest.js +13 -6
  39. package/dist/http/rest.js.map +1 -1
  40. package/dist/mcp/attachmentContent.d.ts +1 -1
  41. package/dist/mcp/attachmentContent.d.ts.map +1 -1
  42. package/dist/mcp/buildServer.d.ts.map +1 -1
  43. package/dist/mcp/buildServer.js +37 -9
  44. package/dist/mcp/buildServer.js.map +1 -1
  45. package/dist/mcp/outputSchemas.d.ts +189 -3100
  46. package/dist/mcp/outputSchemas.d.ts.map +1 -1
  47. package/dist/sendAt.d.ts +4 -0
  48. package/dist/sendAt.d.ts.map +1 -0
  49. package/dist/sendAt.js +10 -0
  50. package/dist/sendAt.js.map +1 -0
  51. package/dist/service/emailService.d.ts.map +1 -1
  52. package/dist/service/emailService.js +20 -1
  53. package/dist/service/emailService.js.map +1 -1
  54. package/dist/storage/fileLock.d.ts +2 -0
  55. package/dist/storage/fileLock.d.ts.map +1 -1
  56. package/dist/storage/fileLock.js +25 -4
  57. package/dist/storage/fileLock.js.map +1 -1
  58. package/dist/telemetry.d.ts +5 -0
  59. package/dist/telemetry.d.ts.map +1 -1
  60. package/dist/telemetry.js +17 -2
  61. package/dist/telemetry.js.map +1 -1
  62. package/package.json +8 -9
@@ -1 +1 @@
1
- {"version":3,"file":"cliMail.js","sourceRoot":"","sources":["../src/cliMail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliMail.js","sourceRoot":"","sources":["../src/cliMail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import { type ApiEnvelope, type CloudInstanceProfile, type InstanceClient } from './cliInstances.js';
2
+ export interface MailQuery {
3
+ folder?: string;
4
+ text?: string;
5
+ from?: string;
6
+ to?: string;
7
+ subject?: string;
8
+ read?: boolean;
9
+ starred?: boolean;
10
+ hasAttachment?: boolean;
11
+ after?: string;
12
+ before?: string;
13
+ rawProviderQuery?: string;
14
+ pageSize?: string;
15
+ pageToken?: string;
16
+ includeSnippet?: boolean;
17
+ includeSearchContext?: boolean;
18
+ }
19
+ export interface DeliveryResult {
20
+ status: string;
21
+ error?: {
22
+ code: string;
23
+ };
24
+ }
25
+ export interface BatchSearchGroup {
26
+ accountId: string;
27
+ error?: unknown;
28
+ }
29
+ export interface ModifyResult {
30
+ failed: unknown[];
31
+ uncertainIds: string[];
32
+ }
33
+ export interface DownloadedAttachment {
34
+ content: Buffer;
35
+ mimeType?: string;
36
+ warning?: string;
37
+ }
38
+ type JsonBody = Record<string, unknown>;
39
+ /**
40
+ * What the mail commands need from an instance. REST instances and Fluxmail
41
+ * Cloud expose the same mail under different APIs; each backend returns the
42
+ * envelope the commands print, so output doesn't depend on the instance kind.
43
+ */
44
+ export interface MailBackend {
45
+ resolveAccountId(requested?: string): Promise<string>;
46
+ status(): Promise<unknown>;
47
+ listAccounts(): Promise<unknown>;
48
+ listSendAs(accountId: string): Promise<unknown>;
49
+ listFolders(accountId: string): Promise<ApiEnvelope<unknown>>;
50
+ listLabels(accountId: string): Promise<ApiEnvelope<unknown>>;
51
+ listMessages(accountId: string, query: MailQuery, typedQuery?: string): Promise<ApiEnvelope<unknown[]>>;
52
+ searchBatch(request: JsonBody): Promise<ApiEnvelope<BatchSearchGroup[]>>;
53
+ getMessage(accountId: string, messageId: string, includeHeaders: boolean): Promise<ApiEnvelope<unknown>>;
54
+ getThread(accountId: string, threadId: string): Promise<ApiEnvelope<unknown>>;
55
+ send(accountId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
56
+ previewSend(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
57
+ forward(accountId: string, messageId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
58
+ deliveryStatus(accountId: string, operationId: string): Promise<ApiEnvelope<unknown>>;
59
+ modify(accountId: string, request: JsonBody): Promise<ApiEnvelope<ModifyResult>>;
60
+ getDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
61
+ createDraft(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
62
+ updateDraft(accountId: string, draftId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
63
+ deleteDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
64
+ listScheduled(accountId: string): Promise<ApiEnvelope<unknown>>;
65
+ cancelScheduled(accountId: string, scheduleId: string): Promise<ApiEnvelope<unknown>>;
66
+ downloadAttachment(accountId: string, messageId: string, attachmentId: string): Promise<DownloadedAttachment>;
67
+ }
68
+ export declare class RestMailBackend implements MailBackend {
69
+ private readonly client;
70
+ constructor(client: InstanceClient);
71
+ resolveAccountId(requested?: string): Promise<string>;
72
+ status(): Promise<unknown>;
73
+ listAccounts(): Promise<unknown>;
74
+ listSendAs(accountId: string): Promise<unknown>;
75
+ listFolders(accountId: string): Promise<ApiEnvelope<unknown>>;
76
+ listLabels(accountId: string): Promise<ApiEnvelope<unknown>>;
77
+ listMessages(accountId: string, query: MailQuery, typedQuery?: string): Promise<ApiEnvelope<unknown[]>>;
78
+ searchBatch(request: JsonBody): Promise<ApiEnvelope<BatchSearchGroup[]>>;
79
+ getMessage(accountId: string, messageId: string, includeHeaders: boolean): Promise<ApiEnvelope<unknown>>;
80
+ getThread(accountId: string, threadId: string): Promise<ApiEnvelope<unknown>>;
81
+ send(accountId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
82
+ previewSend(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
83
+ forward(accountId: string, messageId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
84
+ deliveryStatus(accountId: string, operationId: string): Promise<ApiEnvelope<unknown>>;
85
+ modify(accountId: string, request: JsonBody): Promise<ApiEnvelope<ModifyResult>>;
86
+ getDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
87
+ createDraft(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
88
+ updateDraft(accountId: string, draftId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
89
+ deleteDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
90
+ listScheduled(accountId: string): Promise<ApiEnvelope<unknown>>;
91
+ cancelScheduled(accountId: string, scheduleId: string): Promise<ApiEnvelope<unknown>>;
92
+ downloadAttachment(accountId: string, messageId: string, attachmentId: string): Promise<DownloadedAttachment>;
93
+ }
94
+ export declare class CloudMailBackend implements MailBackend {
95
+ private readonly client;
96
+ constructor(instance: string, profile: CloudInstanceProfile, apiKey?: string);
97
+ resolveAccountId(requested?: string): Promise<string>;
98
+ status(): Promise<unknown>;
99
+ listAccounts(): Promise<unknown>;
100
+ listSendAs(accountId: string): Promise<unknown>;
101
+ private envelope;
102
+ listFolders(accountId: string): Promise<ApiEnvelope<unknown>>;
103
+ listLabels(accountId: string): Promise<ApiEnvelope<unknown>>;
104
+ listMessages(accountId: string, query: MailQuery, typedQuery?: string): Promise<ApiEnvelope<unknown[]>>;
105
+ searchBatch(request: JsonBody): Promise<ApiEnvelope<BatchSearchGroup[]>>;
106
+ /** MCP results cap body length, and these commands promise the whole message. */
107
+ private completeBody;
108
+ getMessage(accountId: string, messageId: string, includeHeaders: boolean): Promise<ApiEnvelope<unknown>>;
109
+ getThread(accountId: string, threadId: string): Promise<ApiEnvelope<unknown>>;
110
+ send(accountId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
111
+ previewSend(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
112
+ forward(accountId: string, messageId: string, request: JsonBody, idempotencyKey: string): Promise<ApiEnvelope<DeliveryResult>>;
113
+ deliveryStatus(accountId: string, operationId: string): Promise<ApiEnvelope<unknown>>;
114
+ modify(accountId: string, request: JsonBody): Promise<ApiEnvelope<ModifyResult>>;
115
+ getDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
116
+ createDraft(accountId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
117
+ updateDraft(accountId: string, draftId: string, request: JsonBody): Promise<ApiEnvelope<unknown>>;
118
+ deleteDraft(accountId: string, draftId: string): Promise<ApiEnvelope<unknown>>;
119
+ listScheduled(): Promise<ApiEnvelope<unknown>>;
120
+ cancelScheduled(): Promise<ApiEnvelope<unknown>>;
121
+ downloadAttachment(accountId: string, messageId: string, attachmentId: string): Promise<DownloadedAttachment>;
122
+ }
123
+ export declare function mailBackend(name?: string): MailBackend;
124
+ export {};
125
+ //# sourceMappingURL=cliMailBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliMailBackend.d.ts","sourceRoot":"","sources":["../src/cliMailBackend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,354 @@
1
+ import { EmailError, formatAddress } from '@fluxmail/core';
2
+ import { CloudClient } from './cliCloudClient.js';
3
+ import { instanceClient, instanceResponseError, resolveInstance, withLocalFailure, } from './cliInstances.js';
4
+ function queryString(options, typedQuery) {
5
+ const query = new URLSearchParams();
6
+ for (const [key, value] of [
7
+ ['folder', options.folder],
8
+ ['query', typedQuery],
9
+ ['text', options.text],
10
+ ['from', options.from],
11
+ ['to', options.to],
12
+ ['subject', options.subject],
13
+ ['after', options.after],
14
+ ['before', options.before],
15
+ ['rawProviderQuery', options.rawProviderQuery],
16
+ ['pageSize', options.pageSize],
17
+ ['pageToken', options.pageToken],
18
+ ]) {
19
+ if (value !== undefined)
20
+ query.set(key, value);
21
+ }
22
+ if (options.read !== undefined)
23
+ query.set('read', String(options.read));
24
+ if (options.starred !== undefined)
25
+ query.set('starred', String(options.starred));
26
+ if (options.hasAttachment !== undefined)
27
+ query.set('hasAttachment', String(options.hasAttachment));
28
+ if (options.includeSnippet !== undefined)
29
+ query.set('includeSnippet', String(options.includeSnippet));
30
+ if (options.includeSearchContext !== undefined) {
31
+ query.set('includeSearchContext', String(options.includeSearchContext));
32
+ }
33
+ return query.size ? `?${query}` : '';
34
+ }
35
+ function jsonRequest(body, headers = {}) {
36
+ return {
37
+ method: 'POST',
38
+ headers: { 'content-type': 'application/json', ...headers },
39
+ body: JSON.stringify(body),
40
+ };
41
+ }
42
+ async function responseError(response) {
43
+ let error;
44
+ try {
45
+ const body = (await response.json());
46
+ error = body.error;
47
+ }
48
+ catch {
49
+ // The fallback below does not expose response content.
50
+ }
51
+ throw withLocalFailure(instanceResponseError(error?.code ?? 'request_failed', error?.message ?? `Request failed with HTTP ${response.status}.`, response.status, error?.data, error?.requestId), response);
52
+ }
53
+ function accountPath(accountId, suffix = '') {
54
+ return `/api/v1/accounts/${encodeURIComponent(accountId)}${suffix}`;
55
+ }
56
+ function draftPath(accountId, draftId) {
57
+ return accountPath(accountId, `/drafts/${encodeURIComponent(draftId)}`);
58
+ }
59
+ /** Choose one mailbox the same way on every instance kind. */
60
+ function chooseAccount(accounts, requested) {
61
+ if (requested) {
62
+ const normalized = requested.toLowerCase();
63
+ const account = accounts.find((candidate) => candidate.id === requested || candidate.email.toLowerCase() === normalized);
64
+ if (!account)
65
+ throw new EmailError('not_found', `No accessible account has id or email "${requested}".`);
66
+ return account.id;
67
+ }
68
+ if (accounts.length === 0) {
69
+ throw new EmailError('invalid_request', 'No email accounts are accessible to this member.');
70
+ }
71
+ if (accounts.length > 1) {
72
+ throw new EmailError('invalid_request', `Multiple accounts are available. Pass --mail-account or -a with one of: ${accounts
73
+ .map((account) => `${account.id} (${account.email})`)
74
+ .join(', ')}.`);
75
+ }
76
+ return accounts[0].id;
77
+ }
78
+ export class RestMailBackend {
79
+ client;
80
+ constructor(client) {
81
+ this.client = client;
82
+ }
83
+ async resolveAccountId(requested) {
84
+ const requestedRef = requested?.trim();
85
+ if (requestedRef && /^acct_[^@\s]+$/.test(requestedRef))
86
+ return requestedRef;
87
+ const listed = await this.client.json('/api/v1/accounts');
88
+ if (listed.length === 0) {
89
+ throw new EmailError('invalid_request', 'No email accounts are available. Connect an account first.');
90
+ }
91
+ const member = await this.client.json('/api/v1/me');
92
+ const accounts = listed.filter((account) => account.ownerMemberId === member.id || account.sharedWithAll || account.grantedMemberIds.includes(member.id));
93
+ return chooseAccount(accounts, requestedRef);
94
+ }
95
+ status() {
96
+ return this.client.json('/api/v1/status');
97
+ }
98
+ listAccounts() {
99
+ return this.client.json('/api/v1/accounts');
100
+ }
101
+ listSendAs(accountId) {
102
+ return this.client.json(accountPath(accountId, '/send-as'));
103
+ }
104
+ listFolders(accountId) {
105
+ return this.client.jsonEnvelope(accountPath(accountId, '/folders'));
106
+ }
107
+ listLabels(accountId) {
108
+ return this.client.jsonEnvelope(accountPath(accountId, '/labels'));
109
+ }
110
+ listMessages(accountId, query, typedQuery) {
111
+ return this.client.jsonEnvelope(accountPath(accountId, `/messages${queryString(query, typedQuery)}`));
112
+ }
113
+ searchBatch(request) {
114
+ return this.client.jsonEnvelope('/api/v1/messages/search', jsonRequest(request));
115
+ }
116
+ getMessage(accountId, messageId, includeHeaders) {
117
+ return this.client.jsonEnvelope(accountPath(accountId, `/messages/${encodeURIComponent(messageId)}`) +
118
+ (includeHeaders ? '?includeHeaders=true' : ''));
119
+ }
120
+ getThread(accountId, threadId) {
121
+ return this.client.jsonEnvelope(accountPath(accountId, `/threads/${encodeURIComponent(threadId)}`));
122
+ }
123
+ send(accountId, request, idempotencyKey) {
124
+ return this.client.jsonEnvelope(accountPath(accountId, '/send'), jsonRequest(request, { 'idempotency-key': idempotencyKey }));
125
+ }
126
+ previewSend(accountId, request) {
127
+ return this.client.jsonEnvelope(accountPath(accountId, '/send/preview'), jsonRequest(request));
128
+ }
129
+ forward(accountId, messageId, request, idempotencyKey) {
130
+ return this.client.jsonEnvelope(accountPath(accountId, `/messages/${encodeURIComponent(messageId)}/forward`), jsonRequest(request, { 'idempotency-key': idempotencyKey }));
131
+ }
132
+ deliveryStatus(accountId, operationId) {
133
+ return this.client.jsonEnvelope(accountPath(accountId, `/delivery-operations/${encodeURIComponent(operationId)}`));
134
+ }
135
+ modify(accountId, request) {
136
+ return this.client.jsonEnvelope(accountPath(accountId, '/messages/actions'), jsonRequest(request));
137
+ }
138
+ getDraft(accountId, draftId) {
139
+ return this.client.jsonEnvelope(draftPath(accountId, draftId));
140
+ }
141
+ createDraft(accountId, request) {
142
+ return this.client.jsonEnvelope(accountPath(accountId, '/drafts'), jsonRequest(request));
143
+ }
144
+ updateDraft(accountId, draftId, request) {
145
+ return this.client.jsonEnvelope(draftPath(accountId, draftId), { ...jsonRequest(request), method: 'PUT' });
146
+ }
147
+ deleteDraft(accountId, draftId) {
148
+ return this.client.jsonEnvelope(draftPath(accountId, draftId), { method: 'DELETE' });
149
+ }
150
+ listScheduled(accountId) {
151
+ return this.client.jsonEnvelope(accountPath(accountId, '/scheduled-sends'));
152
+ }
153
+ cancelScheduled(accountId, scheduleId) {
154
+ return this.client.jsonEnvelope(accountPath(accountId, `/scheduled-sends/${encodeURIComponent(scheduleId)}`), {
155
+ method: 'DELETE',
156
+ });
157
+ }
158
+ async downloadAttachment(accountId, messageId, attachmentId) {
159
+ const response = await this.client.request(accountPath(accountId, `/messages/${encodeURIComponent(messageId)}/attachments/${encodeURIComponent(attachmentId)}`));
160
+ if (!response.ok)
161
+ await responseError(response);
162
+ return {
163
+ content: Buffer.from(await response.arrayBuffer()),
164
+ mimeType: response.headers.get('content-type') ?? undefined,
165
+ warning: response.headers.get('fluxmail-warning') ?? undefined,
166
+ };
167
+ }
168
+ }
169
+ /** The tool for each REST modify action. */
170
+ const MODIFY_TOOLS = {
171
+ markRead: 'mark_emails_read',
172
+ markUnread: 'mark_emails_unread',
173
+ star: 'star_emails',
174
+ unstar: 'unstar_emails',
175
+ archive: 'archive_emails',
176
+ trash: 'trash_emails',
177
+ untrash: 'restore_emails',
178
+ delete: 'delete_emails',
179
+ move: 'move_emails',
180
+ addLabels: 'add_labels',
181
+ removeLabels: 'remove_labels',
182
+ };
183
+ function schedulingUnavailable() {
184
+ return new EmailError('unsupported_capability', 'Fluxmail Cloud does not offer scheduled sending.');
185
+ }
186
+ function addressStrings(value) {
187
+ return Array.isArray(value)
188
+ ? value.map((item) => (typeof item === 'string' ? item : formatAddress(item)))
189
+ : value;
190
+ }
191
+ /** Tool arguments from a REST message body, so `--input` files work on every instance kind. */
192
+ function toolMessage(request) {
193
+ const { body, to, cc, bcc, ...rest } = request;
194
+ const content = body;
195
+ return {
196
+ ...rest,
197
+ ...(to !== undefined ? { to: addressStrings(to) } : {}),
198
+ ...(cc !== undefined ? { cc: addressStrings(cc) } : {}),
199
+ ...(bcc !== undefined ? { bcc: addressStrings(bcc) } : {}),
200
+ ...(content?.text !== undefined ? { bodyText: content.text } : {}),
201
+ ...(content?.html !== undefined ? { bodyHtml: content.html } : {}),
202
+ };
203
+ }
204
+ function toolQuery(query) {
205
+ const { pageSize, ...rest } = query;
206
+ const size = pageSize === undefined ? undefined : Number(pageSize);
207
+ if (size !== undefined && (!Number.isInteger(size) || size < 1 || size > 100)) {
208
+ throw new EmailError('invalid_request', '--page-size must be between 1 and 100.');
209
+ }
210
+ return {
211
+ ...Object.fromEntries(Object.entries(rest).filter(([, value]) => value !== undefined)),
212
+ ...(size !== undefined ? { pageSize: size } : {}),
213
+ };
214
+ }
215
+ function pageEnvelope(page) {
216
+ const { items, ...meta } = page;
217
+ return { data: items, meta };
218
+ }
219
+ export class CloudMailBackend {
220
+ client;
221
+ constructor(instance, profile, apiKey) {
222
+ this.client = new CloudClient(instance, profile.serverUrl, apiKey);
223
+ }
224
+ async resolveAccountId(requested) {
225
+ const requestedRef = requested?.trim();
226
+ if (requestedRef && !requestedRef.includes('@'))
227
+ return requestedRef;
228
+ // Unlike list_accounts, this tool works with any mail permission and isn't metered.
229
+ const { mailboxes } = await this.client.callTool('get_connection_status');
230
+ return chooseAccount(mailboxes, requestedRef);
231
+ }
232
+ status() {
233
+ return this.client.callTool('get_connection_status');
234
+ }
235
+ listAccounts() {
236
+ return this.client.callTool('list_accounts');
237
+ }
238
+ listSendAs(accountId) {
239
+ return this.client.callTool('list_send_as', { accountId });
240
+ }
241
+ async envelope(tool, args) {
242
+ return { data: await this.client.callTool(tool, args) };
243
+ }
244
+ listFolders(accountId) {
245
+ return this.envelope('list_folders', { accountId });
246
+ }
247
+ listLabels(accountId) {
248
+ return this.envelope('list_labels', { accountId });
249
+ }
250
+ async listMessages(accountId, query, typedQuery) {
251
+ const args = { ...toolQuery(query), accountId };
252
+ return pageEnvelope(await this.client.callTool(typedQuery === undefined ? 'list_emails' : 'search_emails', typedQuery === undefined ? args : { ...args, query: typedQuery }));
253
+ }
254
+ async searchBatch(request) {
255
+ const { groups, exhausted } = await this.client.callTool('search_emails_batch', request);
256
+ return {
257
+ data: groups.map(({ page, ...group }) => (page ? { ...group, ...pageEnvelope(page) } : group)),
258
+ meta: { exhausted },
259
+ };
260
+ }
261
+ /** MCP results cap body length, and these commands promise the whole message. */
262
+ async completeBody(accountId, message) {
263
+ const { bodyTruncation, ...complete } = message;
264
+ for (const format of ['text', 'html']) {
265
+ let offset = bodyTruncation?.[format]?.nextOffset;
266
+ let value = complete.body?.[format] ?? '';
267
+ while (offset !== undefined) {
268
+ const page = await this.client.callTool('get_email_body', {
269
+ accountId,
270
+ messageId: message.id,
271
+ format,
272
+ offset,
273
+ });
274
+ value += page.text;
275
+ offset = page.nextOffset;
276
+ }
277
+ if (bodyTruncation?.[format]?.nextOffset !== undefined)
278
+ complete.body = { ...complete.body, [format]: value };
279
+ }
280
+ return complete;
281
+ }
282
+ async getMessage(accountId, messageId, includeHeaders) {
283
+ const message = await this.client.callTool('get_email', {
284
+ accountId,
285
+ messageId,
286
+ ...(includeHeaders ? { includeHeaders: true } : {}),
287
+ });
288
+ return { data: await this.completeBody(accountId, message) };
289
+ }
290
+ async getThread(accountId, threadId) {
291
+ const first = await this.client.callTool('get_thread', { accountId, threadId });
292
+ const pages = [first];
293
+ for (let token = first.nextPageToken; token;) {
294
+ const page = await this.client.callTool('get_thread', { accountId, threadId, pageToken: token });
295
+ pages.push(page);
296
+ token = page.nextPageToken;
297
+ }
298
+ const messages = [];
299
+ for (const message of pages.flatMap((page) => page.messages)) {
300
+ messages.push(await this.completeBody(accountId, message));
301
+ }
302
+ const { nextPageToken: _nextPageToken, ...thread } = first;
303
+ return { data: { ...thread, messages } };
304
+ }
305
+ send(accountId, request, idempotencyKey) {
306
+ if (request.sendAt !== undefined)
307
+ throw schedulingUnavailable();
308
+ return this.envelope('send_email', { ...toolMessage(request), accountId, idempotencyKey });
309
+ }
310
+ previewSend(accountId, request) {
311
+ return this.envelope('preview_send', { ...toolMessage(request), accountId });
312
+ }
313
+ forward(accountId, messageId, request, idempotencyKey) {
314
+ return this.envelope('forward_email', { ...toolMessage(request), accountId, messageId, idempotencyKey });
315
+ }
316
+ deliveryStatus(accountId, operationId) {
317
+ return this.envelope('get_delivery_operation', { accountId, operationId });
318
+ }
319
+ modify(accountId, request) {
320
+ const { action, ...args } = request;
321
+ const tool = MODIFY_TOOLS[String(action)];
322
+ if (!tool)
323
+ throw new EmailError('invalid_request', `Unknown message action "${String(action)}".`);
324
+ return this.envelope(tool, { ...args, accountId });
325
+ }
326
+ getDraft(accountId, draftId) {
327
+ return this.envelope('get_draft', { accountId, draftId });
328
+ }
329
+ createDraft(accountId, request) {
330
+ return this.envelope('create_draft', { ...toolMessage(request), accountId });
331
+ }
332
+ updateDraft(accountId, draftId, request) {
333
+ return this.envelope('update_draft', { ...toolMessage(request), accountId, draftId });
334
+ }
335
+ deleteDraft(accountId, draftId) {
336
+ return this.envelope('delete_draft', { accountId, draftId });
337
+ }
338
+ listScheduled() {
339
+ throw schedulingUnavailable();
340
+ }
341
+ cancelScheduled() {
342
+ throw schedulingUnavailable();
343
+ }
344
+ downloadAttachment(accountId, messageId, attachmentId) {
345
+ return this.client.readAttachment(accountId, messageId, attachmentId);
346
+ }
347
+ }
348
+ export function mailBackend(name) {
349
+ const selected = resolveInstance(name);
350
+ return selected.profile.kind === 'cloud'
351
+ ? new CloudMailBackend(selected.name, selected.profile)
352
+ : new RestMailBackend(instanceClient(name));
353
+ }
354
+ //# sourceMappingURL=cliMailBackend.js.map