@marcfargas/go-easy 0.3.1 → 0.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @marcfargas/go-easy
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3](https://github.com/marcfargas/go-easy/pull/3) [`5a516d5`](https://github.com/marcfargas/go-easy/commit/5a516d5bc8662a2ae9ff4b45bc3cac4c0f8b9e99) Thanks [@marcfargas](https://github.com/marcfargas)! - Add `--format=text`, `--format=html`, and `--format=sane-html` to `go-gmail get` — extract message body directly without parsing the full JSON response.
8
+
9
+ - `--format=text` — plain text body
10
+ - `--format=html` — raw HTML body
11
+ - `--format=sane-html` — HTML with `<script>`, event handlers, `javascript:` hrefs, and `data:` image URIs stripped (safe to render)
12
+
13
+ All formats support `--output=<path>` and `--b64encode`, matching the existing `--format=eml` contract.
14
+
15
+ New library export: `sanitizeEmailHtml(html)` from `@marcfargas/go-easy/gmail`.
16
+ New dependency: `sanitize-html`.
17
+
18
+ - [#3](https://github.com/marcfargas/go-easy/pull/3) [`5a516d5`](https://github.com/marcfargas/go-easy/commit/5a516d5bc8662a2ae9ff4b45bc3cac4c0f8b9e99) Thanks [@marcfargas](https://github.com/marcfargas)! - Add `--format=eml` for `go-gmail get` and `--format=mbox` for `go-gmail thread` — download raw RFC 2822 email or full thread as mbox.
19
+
20
+ New output modes work with `--output=<path>` (write to file) and `--b64encode` (base64 JSON, agent-safe), or pipe raw bytes directly to stdout.
21
+
22
+ This also fixes retrieval of `message/rfc822` embedded attachments (forwarded .eml files) which previously failed with "Invalid attachment token" — `--format=eml` returns the complete outer message via Gmail's `format=raw` API, bypassing the broken `attachments.get` endpoint.
23
+
24
+ New library exports: `getMessageRaw(auth, messageId)`, `getThreadMbox(auth, threadId, fromAddress)`.
25
+
26
+ ### Patch Changes
27
+
28
+ - [#3](https://github.com/marcfargas/go-easy/pull/3) [`5a516d5`](https://github.com/marcfargas/go-easy/commit/5a516d5bc8662a2ae9ff4b45bc3cac4c0f8b9e99) Thanks [@marcfargas](https://github.com/marcfargas)! - Internal code quality improvements — no behaviour changes.
29
+
30
+ - Extract `gmailApi` and `handleApiError` to `src/gmail/api.ts` (eliminates duplication between `index.ts` and `raw.ts`)
31
+ - Extract `parseFlags` and `readBodyFlags` to `src/bin/gmail-flags.ts` (enables proper test imports)
32
+ - Extract `serializeMimePart()` MIME helper (eliminates copy-paste between `buildMimeMessage` and `buildForwardMime`)
33
+ - Remove unused `lookup` import from `helpers.ts`
34
+ - Fix `handleRawOutput` return type annotation
35
+
3
36
  ## 0.3.1
4
37
 
5
38
  ### Patch Changes
@@ -0,0 +1,12 @@
1
+ /** Parse --key=value flags from args */
2
+ export declare function parseFlags(args: string[]): Record<string, string>;
3
+ /**
4
+ * Read body content from file flags.
5
+ * Returns { body?, html?, markdown? } for SendOptions.
6
+ */
7
+ export declare function readBodyFlags(flags: Record<string, string>): {
8
+ body?: string;
9
+ html?: string;
10
+ markdown?: string;
11
+ };
12
+ //# sourceMappingURL=gmail-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-flags.d.ts","sourceRoot":"","sources":["../../src/bin/gmail-flags.ts"],"names":[],"mappings":"AAEA,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAcA"}
@@ -0,0 +1,30 @@
1
+ import { readFileSync } from 'node:fs';
2
+ /** Parse --key=value flags from args */
3
+ export function parseFlags(args) {
4
+ const flags = {};
5
+ for (const arg of args) {
6
+ const match = arg.match(/^--([^=]+)(?:=(.*))?$/s);
7
+ if (match) {
8
+ flags[match[1]] = match[2] ?? 'true';
9
+ }
10
+ }
11
+ return flags;
12
+ }
13
+ /**
14
+ * Read body content from file flags.
15
+ * Returns { body?, html?, markdown? } for SendOptions.
16
+ */
17
+ export function readBodyFlags(flags) {
18
+ const result = {};
19
+ if (flags['body-text-file']) {
20
+ result.body = readFileSync(flags['body-text-file'], 'utf-8');
21
+ }
22
+ if (flags['body-html-file']) {
23
+ result.html = readFileSync(flags['body-html-file'], 'utf-8');
24
+ }
25
+ if (flags['body-md-file']) {
26
+ result.markdown = readFileSync(flags['body-md-file'], 'utf-8');
27
+ }
28
+ return result;
29
+ }
30
+ //# sourceMappingURL=gmail-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-flags.js","sourceRoot":"","sources":["../../src/bin/gmail-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,wCAAwC;AACxC,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAA6B;IAKzD,MAAM,MAAM,GAAwD,EAAE,CAAC;IAEvE,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/bin/gmail.js CHANGED
@@ -21,10 +21,11 @@
21
21
  * Destructive operations (send, reply, forward, sendDraft) require --confirm flag.
22
22
  * Without --confirm, the command shows what WOULD happen and exits.
23
23
  */
24
- import { readFileSync } from 'node:fs';
24
+ import { writeFileSync } from 'node:fs';
25
25
  import { getAuth } from '../auth.js';
26
26
  import { setSafetyContext } from '../safety.js';
27
27
  import * as gmail from '../gmail/index.js';
28
+ import { parseFlags, readBodyFlags } from './gmail-flags.js';
28
29
  const args = process.argv.slice(2);
29
30
  function usage() {
30
31
  console.log(JSON.stringify({
@@ -32,8 +33,8 @@ function usage() {
32
33
  message: 'go-gmail <account> <command> [args...]',
33
34
  commands: {
34
35
  search: 'go-gmail <account> search "<query>" [--max=N] [--page-token=<token>]',
35
- get: 'go-gmail <account> get <messageId>',
36
- thread: 'go-gmail <account> thread <threadId>',
36
+ get: 'go-gmail <account> get <messageId> [--format=eml|text|html|sane-html] [--output=<path>] [--b64encode]',
37
+ thread: 'go-gmail <account> thread <threadId> [--format=mbox] [--output=<path>] [--b64encode]',
37
38
  labels: 'go-gmail <account> labels',
38
39
  send: 'go-gmail <account> send --to=<addr> --subject="..." --body-text-file=body.txt [--cc=<addr>] [--bcc=<addr>] [--confirm]',
39
40
  reply: 'go-gmail <account> reply <messageId> --body-text-file=reply.txt [--reply-all] --confirm',
@@ -53,37 +54,35 @@ function usage() {
53
54
  }, null, 2));
54
55
  process.exit(1);
55
56
  }
56
- /** Parse --key=value flags from args */
57
- function parseFlags(args) {
58
- const flags = {};
59
- for (const arg of args) {
60
- const match = arg.match(/^--([^=]+)(?:=(.*))?$/s);
61
- if (match) {
62
- flags[match[1]] = match[2] ?? 'true';
63
- }
64
- }
65
- return flags;
66
- }
67
57
  /** Get positional args (non-flag) */
68
58
  function positional(args) {
69
59
  return args.filter((a) => !a.startsWith('--'));
70
60
  }
71
61
  /**
72
- * Read body content from file flags.
73
- * Returns { body?, html?, markdown? } for SendOptions.
62
+ * Handle output for --format=eml / --format=mbox / --format=text / --format=html / --format=sane-html.
63
+ *
64
+ * Three output modes:
65
+ * --output=<path> Write bytes to file → JSON { ok, format, path, bytes }
66
+ * --b64encode Emit JSON { format, data: "<base64>", bytes } to stdout
67
+ * (neither) Write content directly to stdout (pipe-friendly, non-JSON)
68
+ *
69
+ * Returns the JSON result object when writing to file or b64, or undefined
70
+ * when writing raw to stdout (caller must not JSON.stringify again).
74
71
  */
75
- function readBodyFlags(flags) {
76
- const result = {};
77
- if (flags['body-text-file']) {
78
- result.body = readFileSync(flags['body-text-file'], 'utf-8');
79
- }
80
- if (flags['body-html-file']) {
81
- result.html = readFileSync(flags['body-html-file'], 'utf-8');
72
+ function handleRawOutput(buf, format, flags) {
73
+ const outputPath = flags['output'];
74
+ const b64encode = 'b64encode' in flags;
75
+ if (outputPath) {
76
+ writeFileSync(outputPath, buf);
77
+ return { ok: true, format, path: outputPath, bytes: buf.length };
82
78
  }
83
- if (flags['body-md-file']) {
84
- result.markdown = readFileSync(flags['body-md-file'], 'utf-8');
79
+ if (b64encode) {
80
+ return { format, data: buf.toString('base64'), bytes: buf.length };
85
81
  }
86
- return result;
82
+ // Raw bytes to stdout — intentionally non-JSON for pipe usage:
83
+ // go-gmail <account> get <id> --format=eml > message.eml
84
+ process.stdout.write(buf);
85
+ return undefined; // caller must not call JSON.stringify
87
86
  }
88
87
  async function main() {
89
88
  if (args.length < 2)
@@ -124,15 +123,51 @@ async function main() {
124
123
  pageToken: flags['page-token'],
125
124
  });
126
125
  break;
127
- case 'get':
126
+ case 'get': {
128
127
  if (!pos[0])
129
128
  usage();
130
- result = await gmail.getMessage(auth, pos[0]);
129
+ const fmt = flags.format;
130
+ if (fmt === 'eml') {
131
+ const buf = await gmail.getMessageRaw(auth, pos[0]);
132
+ result = handleRawOutput(buf, 'eml', flags);
133
+ if (result === undefined)
134
+ return; // already written to stdout
135
+ }
136
+ else if (fmt === 'text' || fmt === 'html' || fmt === 'sane-html') {
137
+ const msg = await gmail.getMessage(auth, pos[0]);
138
+ let content;
139
+ if (fmt === 'text') {
140
+ content = msg.body.text ?? '';
141
+ }
142
+ else if (fmt === 'html') {
143
+ content = msg.body.html ?? '';
144
+ }
145
+ else {
146
+ // sane-html: sanitize before output
147
+ content = gmail.sanitizeEmailHtml(msg.body.html ?? '');
148
+ }
149
+ result = handleRawOutput(Buffer.from(content, 'utf-8'), fmt, flags);
150
+ if (result === undefined)
151
+ return; // already written to stdout
152
+ }
153
+ else {
154
+ result = await gmail.getMessage(auth, pos[0]);
155
+ }
131
156
  break;
157
+ }
132
158
  case 'thread':
133
159
  if (!pos[0])
134
160
  usage();
135
- result = await gmail.getThread(auth, pos[0]);
161
+ if (flags.format === 'mbox') {
162
+ const fromAddress = await gmail.getProfile(auth);
163
+ const buf = await gmail.getThreadMbox(auth, pos[0], fromAddress);
164
+ result = handleRawOutput(buf, 'mbox', flags);
165
+ if (result === undefined)
166
+ return; // already written to stdout
167
+ }
168
+ else {
169
+ result = await gmail.getThread(auth, pos[0]);
170
+ }
136
171
  break;
137
172
  case 'labels':
138
173
  result = await gmail.listLabels(auth);
@@ -1 +1 @@
1
- {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/bin/gmail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/bin/gmail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { OAuth2Client } from 'google-auth-library';
2
+ /** Get a Gmail API client instance */
3
+ export declare function gmailApi(auth: OAuth2Client): import("@googleapis/gmail").gmail_v1.Gmail;
4
+ /** Wrap Google API errors into our error types */
5
+ export declare function handleApiError(err: unknown, context: string): never;
6
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/gmail/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,8CAE1C;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAUnE"}
@@ -0,0 +1,18 @@
1
+ import { gmail } from '@googleapis/gmail';
2
+ import { GoEasyError, NotFoundError, QuotaError } from '../errors.js';
3
+ /** Get a Gmail API client instance */
4
+ export function gmailApi(auth) {
5
+ return gmail({ version: 'v1', auth });
6
+ }
7
+ /** Wrap Google API errors into our error types */
8
+ export function handleApiError(err, context) {
9
+ if (err instanceof GoEasyError)
10
+ throw err;
11
+ const gErr = err;
12
+ if (gErr.code === 404)
13
+ throw new NotFoundError('message', context, err);
14
+ if (gErr.code === 429)
15
+ throw new QuotaError('gmail', err);
16
+ throw new GoEasyError(`Gmail ${context}: ${gErr.message ?? 'Unknown error'}`, 'GMAIL_ERROR', err);
17
+ }
18
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/gmail/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtE,sCAAsC;AACtC,MAAM,UAAU,QAAQ,CAAC,IAAkB;IACzC,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,OAAe;IAC1D,IAAI,GAAG,YAAY,WAAW;QAAE,MAAM,GAAG,CAAC;IAC1C,MAAM,IAAI,GAAG,GAA0C,CAAC;IACxD,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,IAAI,WAAW,CACnB,SAAS,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,EACtD,aAAa,EACb,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Gmail body format helpers.
3
+ *
4
+ * sanitizeEmailHtml — strips dangerous HTML from email bodies while preserving
5
+ * visual structure (layout, inline styles, tables, images) needed for correct
6
+ * rendering. Used for --format=sane-html.
7
+ */
8
+ /**
9
+ * Sanitize an HTML email body for safe rendering/storage.
10
+ *
11
+ * What is stripped:
12
+ * - <script>, <iframe>, <object>, <embed>, <form>, <input>, <button>
13
+ * - All event handler attributes (onclick, onload, onerror, …)
14
+ * - javascript: and data: URIs in href/src
15
+ * - <meta> and <link> tags (no external resource loading)
16
+ *
17
+ * What is kept:
18
+ * - All structural and formatting tags (div, p, table, span, …)
19
+ * - style attributes (needed for email layout — not executable)
20
+ * - class, id, align, width, height, bgcolor (common email layout attrs)
21
+ * - <a href> with http/https/mailto schemes only
22
+ * - <img src> with http/https/cid schemes (cid: for inline attachments)
23
+ * - Tables with colspan/rowspan/border/cellpadding
24
+ * - Legacy <font> and <center> tags (common in older email templates)
25
+ */
26
+ export declare function sanitizeEmailHtml(html: string): string;
27
+ //# sourceMappingURL=formats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/gmail/formats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuEtD"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Gmail body format helpers.
3
+ *
4
+ * sanitizeEmailHtml — strips dangerous HTML from email bodies while preserving
5
+ * visual structure (layout, inline styles, tables, images) needed for correct
6
+ * rendering. Used for --format=sane-html.
7
+ */
8
+ import sanitizeHtml from 'sanitize-html';
9
+ /**
10
+ * Sanitize an HTML email body for safe rendering/storage.
11
+ *
12
+ * What is stripped:
13
+ * - <script>, <iframe>, <object>, <embed>, <form>, <input>, <button>
14
+ * - All event handler attributes (onclick, onload, onerror, …)
15
+ * - javascript: and data: URIs in href/src
16
+ * - <meta> and <link> tags (no external resource loading)
17
+ *
18
+ * What is kept:
19
+ * - All structural and formatting tags (div, p, table, span, …)
20
+ * - style attributes (needed for email layout — not executable)
21
+ * - class, id, align, width, height, bgcolor (common email layout attrs)
22
+ * - <a href> with http/https/mailto schemes only
23
+ * - <img src> with http/https/cid schemes (cid: for inline attachments)
24
+ * - Tables with colspan/rowspan/border/cellpadding
25
+ * - Legacy <font> and <center> tags (common in older email templates)
26
+ */
27
+ export function sanitizeEmailHtml(html) {
28
+ return sanitizeHtml(html, {
29
+ allowedTags: [
30
+ // Document skeleton (sanitize-html strips html/head/body content but keeps children)
31
+ 'html', 'head', 'body',
32
+ // Sectioning
33
+ 'div', 'span', 'section', 'article', 'header', 'footer', 'main', 'nav', 'aside',
34
+ // Headings
35
+ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
36
+ // Text blocks
37
+ 'p', 'pre', 'blockquote', 'code', 'kbd', 'samp',
38
+ // Inline text
39
+ 'b', 'strong', 'i', 'em', 'u', 's', 'del', 'ins', 'mark', 'small', 'sub', 'sup',
40
+ 'abbr', 'cite', 'q', 'time', 'var',
41
+ // Line / separator
42
+ 'br', 'hr', 'wbr',
43
+ // Links & media
44
+ 'a', 'img',
45
+ // Lists
46
+ 'ul', 'ol', 'li', 'dl', 'dt', 'dd',
47
+ // Tables (essential for most HTML email layouts)
48
+ 'table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td', 'caption', 'col', 'colgroup',
49
+ // Figures
50
+ 'figure', 'figcaption',
51
+ // Legacy email tags
52
+ 'center', 'font',
53
+ // Title (harmless, sometimes in email <head>)
54
+ 'title',
55
+ ],
56
+ allowedAttributes: {
57
+ // Layout and style attributes accepted on any tag
58
+ '*': ['style', 'class', 'id', 'dir', 'lang',
59
+ 'align', 'valign', 'width', 'height',
60
+ 'bgcolor', 'color', 'border'],
61
+ // Links: only safe schemes; open in new tab is fine, rel=noopener is added below
62
+ 'a': ['href', 'title', 'target', 'rel', 'name'],
63
+ // Images: src controlled via allowedSchemesByTag
64
+ 'img': ['src', 'alt', 'title', 'width', 'height', 'border'],
65
+ // Table layout attributes
66
+ 'table': ['cellpadding', 'cellspacing', 'summary', 'rules', 'frame'],
67
+ 'td': ['colspan', 'rowspan', 'headers', 'abbr', 'scope'],
68
+ 'th': ['colspan', 'rowspan', 'headers', 'abbr', 'scope'],
69
+ 'col': ['span'],
70
+ 'colgroup': ['span'],
71
+ // Legacy font tag
72
+ 'font': ['face', 'size', 'color'],
73
+ },
74
+ // Allow http/https/mailto everywhere; data:/javascript: are implicitly denied
75
+ allowedSchemes: ['http', 'https', 'mailto'],
76
+ allowedSchemesByTag: {
77
+ // cid: is used for inline (embedded) email attachments — safe, no network request
78
+ img: ['http', 'https', 'cid'],
79
+ },
80
+ // Safely rewrite <a target="_blank"> to also include rel="noopener noreferrer"
81
+ transformTags: {
82
+ a: (tagName, attribs) => {
83
+ const rel = attribs.target === '_blank'
84
+ ? 'noopener noreferrer'
85
+ : (attribs.rel ?? '');
86
+ return { tagName, attribs: { ...attribs, ...(rel ? { rel } : {}) } };
87
+ },
88
+ },
89
+ });
90
+ }
91
+ //# sourceMappingURL=formats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/gmail/formats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,YAAY,CAAC,IAAI,EAAE;QACxB,WAAW,EAAE;YACX,qFAAqF;YACrF,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,aAAa;YACb,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YAC/E,WAAW;YACX,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAClC,cAAc;YACd,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;YAC/C,cAAc;YACd,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;YAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK;YAClC,mBAAmB;YACnB,IAAI,EAAE,IAAI,EAAE,KAAK;YACjB,gBAAgB;YAChB,GAAG,EAAE,KAAK;YACV,QAAQ;YACR,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAClC,iDAAiD;YACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU;YAClF,UAAU;YACV,QAAQ,EAAE,YAAY;YACtB,oBAAoB;YACpB,QAAQ,EAAE,MAAM;YAChB,8CAA8C;YAC9C,OAAO;SACR;QAED,iBAAiB,EAAE;YACjB,kDAAkD;YAClD,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;gBACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBACpC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;YAEnC,iFAAiF;YACjF,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;YAE/C,iDAAiD;YACjD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAE3D,0BAA0B;YAC1B,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;YACpE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACxD,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;YACxD,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,UAAU,EAAE,CAAC,MAAM,CAAC;YAEpB,kBAAkB;YAClB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SAClC;QAED,8EAA8E;QAC9E,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QAE3C,mBAAmB,EAAE;YACnB,kFAAkF;YAClF,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;SAC9B;QAED,+EAA+E;QAC/E,aAAa,EAAE;YACb,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ;oBACrC,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBACxB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvE,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/gmail/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9F;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,SAAS,EACxD,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,GAC/C,cAAc,EAAE,CAsBlB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,GAC/C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBlC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,GAAG,YAAY,CAoBvE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CA2FjB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA0FjB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/gmail/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9F;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,SAAS,EACxD,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,GAC/C,cAAc,EAAE,CAsBlB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,GAC/C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBlC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,GAAG,YAAY,CAoBvE;AAsBD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAoFjB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmFjB"}
@@ -145,6 +145,20 @@ export function parseMessage(raw) {
145
145
  ...(rfc822MessageId ? { rfc822MessageId } : {}),
146
146
  };
147
147
  }
148
+ /**
149
+ * Serialize a single MIME attachment part.
150
+ * Used by both buildMimeMessage (file paths → Buffers) and buildForwardMime (Buffers).
151
+ */
152
+ function serializeMimePart(boundary, filename, mimeType, data) {
153
+ return [
154
+ `--${boundary}`,
155
+ `Content-Type: ${mimeType}; name="${filename}"`,
156
+ 'Content-Transfer-Encoding: base64',
157
+ `Content-Disposition: attachment; filename="${filename}"`,
158
+ '',
159
+ data.toString('base64'),
160
+ ];
161
+ }
148
162
  /**
149
163
  * Build a MIME message string from SendOptions.
150
164
  * Supports plain text, HTML multipart, and file attachments.
@@ -206,7 +220,7 @@ export async function buildMimeMessage(from, opts, extraHeaders) {
206
220
  const filename = basename(filePath);
207
221
  // Simple MIME type detection
208
222
  const mimeType = guessMimeType(filename);
209
- parts.push(`--${boundary}`, `Content-Type: ${mimeType}; name="${filename}"`, 'Content-Transfer-Encoding: base64', `Content-Disposition: attachment; filename="${filename}"`, '', content.toString('base64'));
223
+ parts.push(...serializeMimePart(boundary, filename, mimeType, content));
210
224
  }
211
225
  parts.push(`--${boundary}--`);
212
226
  return parts.join('\r\n');
@@ -297,7 +311,7 @@ export async function buildForwardMime(from, to, subject, userBody, originalBody
297
311
  }
298
312
  // Buffer attachments
299
313
  for (const att of bufferAttachments) {
300
- parts.push(`--${boundary}`, `Content-Type: ${att.mimeType}; name="${att.filename}"`, 'Content-Transfer-Encoding: base64', `Content-Disposition: attachment; filename="${att.filename}"`, '', att.data.toString('base64'));
314
+ parts.push(...serializeMimePart(boundary, att.filename, att.mimeType, att.data));
301
315
  }
302
316
  parts.push(`--${boundary}--`);
303
317
  return parts.join('\r\n');
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/gmail/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/gmail/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,OAAwD,EACxD,IAAY;IAEZ,OAAO,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgD;IAEhD,MAAM,WAAW,GAAqB,EAAE,CAAC;IACzC,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAEjC,SAAS,IAAI,CAAC,IAAiC;QAC7C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;YACzE,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,0BAA0B;gBACrD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,OAAgD;IAEhD,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,SAAS,IAAI,CAAC,IAAiC;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,0DAA0D;IAC1D,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO,aAAa,OAAO,IAAI,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,yEAAyE;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACvD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QACrC,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,GAAG,WAAW,KAAK,KAAK,GAAG,CAAC;IACrC,CAAC;IACD,4CAA4C;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,SAAS;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;SACnC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAA4B;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IAErC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC;IAEtE,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC5B,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QAChC,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,EAAE,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,GAAG,EAAE,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;QAC1B,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC5B,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5C,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,QAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,IAAY;IAEZ,OAAO;QACL,KAAK,QAAQ,EAAE;QACf,iBAAiB,QAAQ,WAAW,QAAQ,GAAG;QAC/C,mCAAmC;QACnC,8CAA8C,QAAQ,GAAG;QACzD,EAAE;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACxB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,IAAiB,EACjB,YAAqC;IAErC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACjE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;QAChB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,EAAE;QACX,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;QAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,GAAG;QACZ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAE5B,IAAI,OAAO,GAAG;QACZ,SAAS,oBAAoB,CAAC,IAAI,CAAC,EAAE;QACrC,OAAO,wBAAwB,CAAC,EAAE,CAAC,EAAE;QACrC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,wBAAwB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,YAAY,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACzC,mBAAmB;KACpB,CAAC;IAEF,oDAAoD;IACpD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,mEAAmE;IACnE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,OAAO,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,4CAA4C,QAAQ,GAAG,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAa,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;QAE1D,6BAA6B;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,kDAAkD,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YACjF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,yCAAyC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,wCAAwC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC,CAAC;YACzF,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,cAAc;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAY,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEzC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,kDAAkD;IAClD,MAAM,WAAW,GAAG,OAAO,QAAQ,EAAE,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,kDAAkD,WAAW,GAAG,CAAC,CAAC;IAE/E,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,yCAAyC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,wCAAwC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAK,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,EAAU,EACV,OAAe,EACf,QAA4B,EAC5B,YAA8C,EAC9C,iBAAqC,EACrC,YAAqC,EACrC,QAAiB;IAEjB,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpD,4BAA4B;IAC5B,MAAM,aAAa,GAAG;QACpB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,yCAAyC;QACzC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,4BAA4B;IAC5B,MAAM,aAAa,GAAG,QAAQ;QAC5B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM;YAClC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI;QACrC,CAAC,CAAC;YACE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,wDAAwD;YACxD,YAAY,CAAC,IAAI;SAClB,CAAC,IAAI,CAAC,MAAM,CAAC;QAChB,CAAC,CAAC,aAAa;YACb,CAAC,CAAC;gBACE,aAAa;gBACb,wDAAwD;gBACxD,QAAQ,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ;aACpD,CAAC,IAAI,CAAC,MAAM,CAAC;YAChB,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,OAAO,GAAG;QACZ,SAAS,oBAAoB,CAAC,IAAI,CAAC,EAAE;QACrC,OAAO,wBAAwB,CAAC,EAAE,CAAC,EAAE;QACrC,YAAY,aAAa,CAAC,OAAO,CAAC,EAAE;QACpC,mBAAmB;KACpB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,cAAc,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,kDAAkD,WAAW,GAAG,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,yCAAyC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,wCAAwC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,IAAI,CAAC,4CAA4C,QAAQ,GAAG,CAAC,CAAC;IACtE,MAAM,KAAK,GAAa,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;IAE1D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,OAAO,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,kDAAkD,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,yCAAyC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,wCAAwC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,kDAAkD;AAClD,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,6CAA6C;AAC7C,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;IACrD,MAAM,KAAK,GAA2B;QACpC,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,yEAAyE;QAC/E,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,mEAAmE;QACzE,GAAG,EAAE,+BAA+B;QACpC,IAAI,EAAE,2EAA2E;QACjF,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,eAAe;QACpB,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,iBAAiB;QACtB,GAAG,EAAE,gBAAgB;KACtB,CAAC;IACF,OAAO,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,0BAA0B,CAAC;AACxD,CAAC"}
@@ -7,6 +7,8 @@
7
7
  import type { OAuth2Client } from 'google-auth-library';
8
8
  import type { GmailMessage, GmailThread, GmailDraft, ListResult, WriteResult, SearchOptions, SendOptions, ReplyOptions, ForwardOptions, BatchLabelOptions } from './types.js';
9
9
  export type { GmailMessage, GmailThread, GmailDraft, ListResult, WriteResult, SearchOptions, SendOptions, ReplyOptions, ForwardOptions, BatchLabelOptions, };
10
+ export { getMessageRaw, getThreadMbox } from './raw.js';
11
+ export { sanitizeEmailHtml } from './formats.js';
10
12
  export { markdownToHtml } from './markdown.js';
11
13
  /**
12
14
  * Get the authenticated user's email address.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gmail/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsC/C;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpE;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAkCnC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAavB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CACzB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CA0DtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,CAAC,CAoGtB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,CAqBtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAa5D;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/E,OAAO,CAAC,UAAU,CAAC,CAyBrB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAwBtB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,YAAY,EAClB,UAAU,SAAK,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CA+BjC;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gmail/index.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@
4
4
  * All functions take an OAuth2Client as first argument.
5
5
  * Use `getAuth('gmail', 'account@email.com')` from the auth module.
6
6
  */
7
- import { gmail } from '@googleapis/gmail';
8
7
  import { guardOperation } from '../safety.js';
9
- import { NotFoundError, QuotaError, GoEasyError } from '../errors.js';
8
+ import { GoEasyError } from '../errors.js';
10
9
  import { parseMessage, buildMimeMessage, buildForwardMime, base64UrlEncode } from './helpers.js';
11
10
  import { markdownToHtml } from './markdown.js';
11
+ import { gmailApi, handleApiError } from './api.js';
12
+ export { getMessageRaw, getThreadMbox } from './raw.js';
13
+ export { sanitizeEmailHtml } from './formats.js';
12
14
  export { markdownToHtml } from './markdown.js';
13
15
  /**
14
16
  * Resolve markdown field to html. If html is already set, markdown is ignored.
@@ -24,21 +26,6 @@ function resolveMarkdown(opts) {
24
26
  }
25
27
  return opts;
26
28
  }
27
- /** Get a Gmail API client instance */
28
- function gmailApi(auth) {
29
- return gmail({ version: 'v1', auth });
30
- }
31
- /** Wrap Google API errors into our error types */
32
- function handleApiError(err, context) {
33
- if (err instanceof GoEasyError)
34
- throw err;
35
- const gErr = err;
36
- if (gErr.code === 404)
37
- throw new NotFoundError('message', context, err);
38
- if (gErr.code === 429)
39
- throw new QuotaError('gmail', err);
40
- throw new GoEasyError(`Gmail ${context}: ${gErr.message ?? 'Unknown error'}`, 'GMAIL_ERROR', err);
41
- }
42
29
  /**
43
30
  * Get the authenticated user's email address.
44
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gmail/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gmail/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Gmail raw message export — RFC 2822 / mbox format.
3
+ *
4
+ * Uses Gmail API `format=raw` to fetch the complete wire-format message.
5
+ * This works for all messages including those with embedded message/rfc822
6
+ * attachments that fail with the attachments.get endpoint.
7
+ */
8
+ import type { OAuth2Client } from 'google-auth-library';
9
+ /**
10
+ * Fetch a single message as raw RFC 2822 bytes.
11
+ *
12
+ * Uses `format=raw` which returns the complete wire-format message including
13
+ * all headers, body parts, and embedded attachments. This is the reliable
14
+ * path for message/rfc822 embedded emails and nested attachments.
15
+ */
16
+ export declare function getMessageRaw(auth: OAuth2Client, messageId: string): Promise<Buffer>;
17
+ /**
18
+ * Fetch all messages in a thread as a single mbox file (Buffer).
19
+ *
20
+ * The mbox format is the standard for storing multiple RFC 2822 messages in
21
+ * one file. Each message is preceded by a "From " envelope line and separated
22
+ * from the next by a blank line. Lines in the message body starting with
23
+ * "From " are escaped with ">" (mboxo quoting).
24
+ *
25
+ * @param fromAddress - Used for the mbox envelope "From " line (typically the
26
+ * authenticated account's email address).
27
+ */
28
+ export declare function getThreadMbox(auth: OAuth2Client, threadId: string, fromAddress: string): Promise<Buffer>;
29
+ //# sourceMappingURL=raw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/gmail/raw.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CA0DjB"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Gmail raw message export — RFC 2822 / mbox format.
3
+ *
4
+ * Uses Gmail API `format=raw` to fetch the complete wire-format message.
5
+ * This works for all messages including those with embedded message/rfc822
6
+ * attachments that fail with the attachments.get endpoint.
7
+ */
8
+ import { GoEasyError } from '../errors.js';
9
+ import { gmailApi, handleApiError } from './api.js';
10
+ /**
11
+ * Fetch a single message as raw RFC 2822 bytes.
12
+ *
13
+ * Uses `format=raw` which returns the complete wire-format message including
14
+ * all headers, body parts, and embedded attachments. This is the reliable
15
+ * path for message/rfc822 embedded emails and nested attachments.
16
+ */
17
+ export async function getMessageRaw(auth, messageId) {
18
+ const api = gmailApi(auth);
19
+ try {
20
+ const res = await api.users.messages.get({
21
+ userId: 'me',
22
+ id: messageId,
23
+ format: 'raw',
24
+ });
25
+ const raw = res.data.raw;
26
+ if (!raw)
27
+ throw new GoEasyError('No raw data returned by API', 'GMAIL_ERROR');
28
+ return Buffer.from(raw, 'base64url');
29
+ }
30
+ catch (err) {
31
+ handleApiError(err, `getMessage(raw) ${messageId}`);
32
+ }
33
+ }
34
+ /**
35
+ * Fetch all messages in a thread as a single mbox file (Buffer).
36
+ *
37
+ * The mbox format is the standard for storing multiple RFC 2822 messages in
38
+ * one file. Each message is preceded by a "From " envelope line and separated
39
+ * from the next by a blank line. Lines in the message body starting with
40
+ * "From " are escaped with ">" (mboxo quoting).
41
+ *
42
+ * @param fromAddress - Used for the mbox envelope "From " line (typically the
43
+ * authenticated account's email address).
44
+ */
45
+ export async function getThreadMbox(auth, threadId, fromAddress) {
46
+ const api = gmailApi(auth);
47
+ // Get thread message IDs (minimal format — no body data, just IDs + internalDate)
48
+ let messageIds;
49
+ let internalDates;
50
+ try {
51
+ const res = await api.users.threads.get({
52
+ userId: 'me',
53
+ id: threadId,
54
+ format: 'minimal',
55
+ });
56
+ const messages = res.data.messages ?? [];
57
+ if (messages.length === 0) {
58
+ throw new GoEasyError(`Thread ${threadId} has no messages`, 'GMAIL_ERROR');
59
+ }
60
+ messageIds = messages.map((m) => m.id);
61
+ internalDates = Object.fromEntries(messages.map((m) => [m.id, m.internalDate ?? '0']));
62
+ }
63
+ catch (err) {
64
+ handleApiError(err, `getThread(minimal) ${threadId}`);
65
+ }
66
+ // Fetch all messages raw in parallel
67
+ const rawMessages = await Promise.all(messageIds.map(async (id) => {
68
+ try {
69
+ const res = await api.users.messages.get({
70
+ userId: 'me',
71
+ id,
72
+ format: 'raw',
73
+ });
74
+ const raw = res.data.raw;
75
+ if (!raw)
76
+ throw new GoEasyError(`No raw data for message ${id}`, 'GMAIL_ERROR');
77
+ return { id, raw: Buffer.from(raw, 'base64url'), internalDate: internalDates[id] };
78
+ }
79
+ catch (err) {
80
+ handleApiError(err, `getMessage(raw) ${id}`);
81
+ }
82
+ }));
83
+ // Assemble mbox
84
+ const parts = [];
85
+ for (const msg of rawMessages) {
86
+ const envelopeLine = buildMboxEnvelopeLine(fromAddress, msg.internalDate);
87
+ const body = mboxEscape(normalizeLf(msg.raw));
88
+ parts.push(Buffer.from(envelopeLine + '\n', 'utf-8'), body, Buffer.from('\n', 'utf-8') // blank line separator between messages
89
+ );
90
+ }
91
+ return Buffer.concat(parts);
92
+ }
93
+ // ---------------------------------------------------------------------------
94
+ // Helpers
95
+ // ---------------------------------------------------------------------------
96
+ /**
97
+ * Build the mbox "From " envelope line.
98
+ *
99
+ * Format: `From <sender> <ctime-date>\n`
100
+ * The date is derived from Gmail's `internalDate` (milliseconds since epoch).
101
+ */
102
+ function buildMboxEnvelopeLine(fromAddress, internalDateMs) {
103
+ const ms = parseInt(internalDateMs, 10);
104
+ const date = isNaN(ms) ? new Date() : new Date(ms);
105
+ // ctime format: "Thu Jan 1 00:00:00 1970" — fixed-width, UTC
106
+ const ctime = formatCtime(date);
107
+ return `From ${fromAddress} ${ctime}`;
108
+ }
109
+ /**
110
+ * Format a Date as ctime (e.g. "Thu Jan 1 00:00:00 1970"), UTC.
111
+ * This is the format expected in mbox envelope lines.
112
+ */
113
+ function formatCtime(date) {
114
+ const days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
115
+ const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
116
+ 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
117
+ const day = days[date.getUTCDay()];
118
+ const mon = months[date.getUTCMonth()];
119
+ const d = String(date.getUTCDate()).padStart(2, ' '); // space-pad day
120
+ const hh = String(date.getUTCHours()).padStart(2, '0');
121
+ const mm = String(date.getUTCMinutes()).padStart(2, '0');
122
+ const ss = String(date.getUTCSeconds()).padStart(2, '0');
123
+ const yyyy = date.getUTCFullYear();
124
+ return `${day} ${mon} ${d} ${hh}:${mm}:${ss} ${yyyy}`;
125
+ }
126
+ /**
127
+ * Normalize CRLF line endings to LF.
128
+ * RFC 2822 messages use CRLF; mbox traditionally uses LF.
129
+ */
130
+ function normalizeLf(buf) {
131
+ // Replace \r\n with \n
132
+ // Process as string only if the buffer is valid UTF-8/ASCII for the headers.
133
+ // Binary parts (attachments) may not be valid UTF-8, but CRLF sequences in
134
+ // them are safe to convert: 0x0D 0x0A → 0x0A.
135
+ const bytes = buf;
136
+ const out = [];
137
+ for (let i = 0; i < bytes.length; i++) {
138
+ if (bytes[i] === 0x0d && i + 1 < bytes.length && bytes[i + 1] === 0x0a) {
139
+ // Skip the CR, keep the LF on next iteration
140
+ continue;
141
+ }
142
+ out.push(bytes[i]);
143
+ }
144
+ return Buffer.from(out);
145
+ }
146
+ /**
147
+ * Apply mboxo escaping: prefix any line starting with "From " with ">".
148
+ * This prevents mbox parsers from treating message body lines as envelope separators.
149
+ *
150
+ * Operates on the LF-normalized message (call normalizeLf first).
151
+ */
152
+ function mboxEscape(buf) {
153
+ const text = buf.toString('binary'); // binary to preserve byte values
154
+ const lines = text.split('\n');
155
+ const escaped = lines.map((line) => line.startsWith('From ') ? '>' + line : line);
156
+ return Buffer.from(escaped.join('\n'), 'binary');
157
+ }
158
+ //# sourceMappingURL=raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../../src/gmail/raw.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marcfargas/go-easy",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Google APIs made easy — Gmail, Drive, Calendar for AI agents and humans",
5
5
  "type": "module",
6
6
  "exports": {
@@ -68,6 +68,7 @@
68
68
  "@changesets/changelog-github": "^0.5.2",
69
69
  "@changesets/cli": "^2.29.8",
70
70
  "@types/node": "^22.0.0",
71
+ "@types/sanitize-html": "^2.16.0",
71
72
  "typescript": "^5.7.0",
72
73
  "vitest": "^3.0.0"
73
74
  },
@@ -77,6 +78,7 @@
77
78
  "@googleapis/gmail": "^16.1.1",
78
79
  "@googleapis/tasks": "^12.0.0",
79
80
  "google-auth-library": "^10.5.0",
80
- "marked": "^17.0.1"
81
+ "marked": "^17.0.1",
82
+ "sanitize-html": "^2.17.1"
81
83
  }
82
84
  }
@@ -64,16 +64,65 @@ Use `nextPageToken` from a previous response as `--page-token` to fetch the next
64
64
  #### get
65
65
  Get a single message by ID.
66
66
  ```bash
67
+ # Default: structured JSON
67
68
  npx go-gmail <account> get <messageId>
69
+
70
+ # Plain text body only (stdout)
71
+ npx go-gmail <account> get <messageId> --format=text
72
+
73
+ # Raw HTML body only (stdout)
74
+ npx go-gmail <account> get <messageId> --format=html
75
+
76
+ # Sanitized HTML — scripts/events/javascript: URIs stripped, safe to render
77
+ npx go-gmail <account> get <messageId> --format=sane-html
78
+
79
+ # Raw RFC 2822 message (pipe-friendly)
80
+ npx go-gmail <account> get <messageId> --format=eml > message.eml
81
+
82
+ # Any format: write to file → JSON { ok, format, path, bytes }
83
+ npx go-gmail <account> get <messageId> --format=sane-html --output=body.html
84
+
85
+ # Any format: base64 in JSON (agent-safe, no shell redirection)
86
+ npx go-gmail <account> get <messageId> --format=text --b64encode
87
+ # → { "format": "text", "data": "<base64>", "bytes": 1234 }
68
88
  ```
69
- Returns: `GmailMessage`
89
+
90
+ | `--format` | Output | Source |
91
+ |------------|--------|--------|
92
+ | *(default)* | `GmailMessage` JSON | `getMessage()` |
93
+ | `text` | Plain text body | `body.text` |
94
+ | `html` | Raw HTML body | `body.html` |
95
+ | `sane-html` | Sanitized HTML — XSS-safe | `sanitizeEmailHtml(body.html)` |
96
+ | `eml` | Full RFC 2822 message bytes | `getMessageRaw()` |
97
+
98
+ **`sane-html` strips:** `<script>`, `<iframe>`, `<object>`, `<form>`, event handlers
99
+ (`onclick`, `onerror`, …), `javascript:` hrefs, `data:` image URIs. Keeps layout,
100
+ tables, `style` attributes, `cid:` images (inline attachments).
101
+
102
+ **`eml` note:** uses Gmail's `format=raw` API, which reliably returns the complete
103
+ wire-format message including embedded `message/rfc822` attachments that fail with
104
+ the `attachment` command.
70
105
 
71
106
  #### thread
72
107
  Get a full thread (conversation) by ID.
73
108
  ```bash
74
109
  npx go-gmail <account> thread <threadId>
110
+
111
+ # Download full thread as mbox file
112
+ npx go-gmail <account> thread <threadId> --format=mbox --output=thread.mbox
113
+ # → { "ok": true, "format": "mbox", "path": "thread.mbox", "bytes": 12483 }
114
+
115
+ # Raw mbox bytes to stdout
116
+ npx go-gmail <account> thread <threadId> --format=mbox > thread.mbox
117
+
118
+ # Base64-encoded mbox in JSON (agent-safe)
119
+ npx go-gmail <account> thread <threadId> --format=mbox --b64encode
120
+ # → { "format": "mbox", "data": "<base64>", "bytes": 12483 }
75
121
  ```
76
- Returns: `GmailThread` `{ id, snippet, messages: GmailMessage[] }`
122
+ Returns: `GmailThread` (default) or mbox file (with `--format=mbox`)
123
+
124
+ The mbox format contains all messages in RFC 2822 format with standard mbox envelope
125
+ lines (`From sender date`). Compatible with Thunderbird, mutt, and any mbox-capable client.
77
126
 
78
127
  #### labels
79
128
  List all labels.
@@ -267,6 +316,7 @@ import { getAuth } from '@marcfargas/go-easy/auth';
267
316
  import { search, getMessage, getThread, send, reply, forward,
268
317
  createDraft, sendDraft, listDrafts, listLabels,
269
318
  batchModifyLabels, getAttachmentContent, getProfile,
319
+ getMessageRaw, getThreadMbox, sanitizeEmailHtml,
270
320
  markdownToHtml
271
321
  } from '@marcfargas/go-easy/gmail';
272
322
  import { setSafetyContext } from '@marcfargas/go-easy';
@@ -380,6 +430,15 @@ if (drafts.nextPageToken) {
380
430
  // Attachments
381
431
  const content = await getAttachmentContent(auth, 'msgId', 'attId');
382
432
  // content is a Buffer
433
+
434
+ // Raw RFC 2822 message (works for all messages, including those with
435
+ // embedded message/rfc822 attachments that fail getAttachmentContent)
436
+ const raw: Buffer = await getMessageRaw(auth, 'msgId');
437
+ fs.writeFileSync('message.eml', raw);
438
+
439
+ // Full thread as mbox (all messages, RFC 2822, with envelope lines)
440
+ const mbox: Buffer = await getThreadMbox(auth, 'threadId', 'me@example.com');
441
+ fs.writeFileSync('thread.mbox', mbox);
383
442
  ```
384
443
 
385
444
  ## Gmail Query Syntax (for search)