@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 +33 -0
- package/dist/bin/gmail-flags.d.ts +12 -0
- package/dist/bin/gmail-flags.d.ts.map +1 -0
- package/dist/bin/gmail-flags.js +30 -0
- package/dist/bin/gmail-flags.js.map +1 -0
- package/dist/bin/gmail.js +64 -29
- package/dist/bin/gmail.js.map +1 -1
- package/dist/gmail/api.d.ts +6 -0
- package/dist/gmail/api.d.ts.map +1 -0
- package/dist/gmail/api.js +18 -0
- package/dist/gmail/api.js.map +1 -0
- package/dist/gmail/formats.d.ts +27 -0
- package/dist/gmail/formats.d.ts.map +1 -0
- package/dist/gmail/formats.js +91 -0
- package/dist/gmail/formats.js.map +1 -0
- package/dist/gmail/helpers.d.ts.map +1 -1
- package/dist/gmail/helpers.js +16 -2
- package/dist/gmail/helpers.js.map +1 -1
- package/dist/gmail/index.d.ts +2 -0
- package/dist/gmail/index.d.ts.map +1 -1
- package/dist/gmail/index.js +4 -17
- package/dist/gmail/index.js.map +1 -1
- package/dist/gmail/raw.d.ts +29 -0
- package/dist/gmail/raw.d.ts.map +1 -0
- package/dist/gmail/raw.js +158 -0
- package/dist/gmail/raw.js.map +1 -0
- package/package.json +4 -2
- package/skills/go-easy/gmail.md +61 -2
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 {
|
|
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
|
-
*
|
|
73
|
-
*
|
|
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
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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 (
|
|
84
|
-
|
|
79
|
+
if (b64encode) {
|
|
80
|
+
return { format, data: buf.toString('base64'), bytes: buf.length };
|
|
85
81
|
}
|
|
86
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
package/dist/bin/gmail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/bin/gmail.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,
|
|
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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/gmail/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
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"}
|
package/dist/gmail/helpers.js
CHANGED
|
@@ -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(
|
|
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(
|
|
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":"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"}
|
package/dist/gmail/index.d.ts
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gmail/index.ts"],"names":[],"mappings":"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"}
|
package/dist/gmail/index.js
CHANGED
|
@@ -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 {
|
|
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
|
*/
|
package/dist/gmail/index.js.map
CHANGED
|
@@ -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
|
+
"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
|
}
|
package/skills/go-easy/gmail.md
CHANGED
|
@@ -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
|
-
|
|
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`
|
|
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)
|