@framers/agentos-ext-channel-email 0.4.4 → 0.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"EmailService.js","sourceRoot":"","sources":["../src/EmailService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmailService.js","sourceRoot":"","sources":["../src/EmailService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @fileoverview A message's parts as `EmailService`'s reads give them: which leaves of its body structure are its text,
3
+ * which its HTML and which are attachments; how many of a part's bytes a fetch asks for under a bound; and the decoding
4
+ * of a part's transfer encoding and charset, the text parts joined and cut to the bound on a character's edge. A read
5
+ * fetches the text and HTML parts under the bound and no attachment's bytes, which an attachment's `read()` fetches when
6
+ * it is called. Nothing here talks to a server.
7
+ */
8
+ /** One leaf of a message's body structure, as a read keeps it. */
9
+ export interface PartInfo {
10
+ /** Its section, such as `1` or `1.2`, which a fetch of its bytes names (RFC 3501 section 6.4.5). */
11
+ part: string;
12
+ /** Its media type in lowercase, such as `text/plain` or `image/png`. */
13
+ type: string;
14
+ /** The charset its Content-Type names, in lowercase, or the empty string. */
15
+ charset: string;
16
+ /** Its Content-Transfer-Encoding in lowercase; `7bit` when the server names none. */
17
+ encoding: string;
18
+ /** Its size as the server holds it, in its transfer encoding, in bytes (RFC 3501 section 7.4.2, `body-fld-octets`). */
19
+ size: number;
20
+ /** The file name its Content-Disposition, or else its Content-Type, gives; the empty string when neither does. */
21
+ name: string;
22
+ }
23
+ /** What a body structure says of a message's parts. */
24
+ export interface MessageParts {
25
+ /**
26
+ * The leaves that are `text/plain`, not marked an attachment and not named as a file, in the structure's order, as a
27
+ * picture between two of them leaves them; of a `multipart/alternative`'s forms, only the first form that holds one.
28
+ */
29
+ texts: PartInfo[];
30
+ /** The leaves that are `text/html`, not marked an attachment and not named as a file, chosen as `texts` are. */
31
+ htmls: PartInfo[];
32
+ /**
33
+ * Every leaf that is neither, in the structure's order: a part marked an attachment or named as a file, a part of any
34
+ * other type, and a `message/rfc822` part, whose own parts are none; a text or HTML form an alternative does not take
35
+ * is neither an attachment nor text.
36
+ */
37
+ attachments: PartInfo[];
38
+ /** Whether the message's own type is `multipart/report` (RFC 6522), as a delivery or read report's is. */
39
+ isReport: boolean;
40
+ }
41
+ /** What a bounded read of an attachment's bytes found. */
42
+ export type BoundedBytes = {
43
+ kind: 'bytes';
44
+ bytes: Buffer;
45
+ } | {
46
+ kind: 'too_large';
47
+ };
48
+ /**
49
+ * The parts a message's body structure, as imapflow gives it, names: its text, its HTML and its attachments. Anything
50
+ * that is not a body structure names none.
51
+ *
52
+ * @param structure The `bodyStructure` imapflow fetched.
53
+ */
54
+ export declare function partsOf(structure: unknown): MessageParts;
55
+ /**
56
+ * The bytes of a part, in its transfer encoding, a fetch reads to give `maxBytes` decoded bytes however an encoder that
57
+ * keeps to its rules breaks the lines: twice the bound for base64, which a line of four characters doubles at worst; four
58
+ * times for quoted-printable, whose escapes and soft line breaks take a little over three bytes a byte at worst; the
59
+ * bound itself for any other encoding. A fetch asks for one byte more, so that more bytes than these tell a part longer
60
+ * than the bound. A quoted-printable part written with runs of soft line breaks, which no such encoder writes, can take
61
+ * more than four bytes a byte, and reads as longer than the bound: a read never fetches more of a part than this.
62
+ *
63
+ * @param encoding The part's transfer encoding, in lowercase.
64
+ * @param maxBytes The bound on the decoded bytes.
65
+ */
66
+ export declare function encodedBound(encoding: string, maxBytes: number): number;
67
+ /**
68
+ * How many of each part's bytes, in its transfer encoding, a fetch asks for, so that the parts decoded and joined fill
69
+ * `maxBytes` and no more is fetched than that can need: the first part the bytes that can decode to the bound, each later
70
+ * part the bytes that can decode to what the parts before it may leave unfilled, by their sizes, and 0, no fetch, once
71
+ * they fill it. A fetch asks for one byte more than each, so that more bytes tell a part longer than its window.
72
+ *
73
+ * @param parts A message's text parts, or its HTML parts, in order.
74
+ * @param maxBytes The bound on the joined text, in bytes.
75
+ */
76
+ export declare function windowsOf(parts: PartInfo[], maxBytes: number): number[];
77
+ /**
78
+ * A part's bytes with its transfer encoding undone: base64 (white space passed over) and quoted-printable decoded, any
79
+ * other encoding, `7bit`, `8bit` and `binary` among them, as it is.
80
+ *
81
+ * @param raw The part's bytes as the server holds them.
82
+ * @param encoding The part's transfer encoding, in lowercase.
83
+ */
84
+ export declare function decodeTransfer(raw: Buffer, encoding: string): Buffer;
85
+ /**
86
+ * A message's text, or its HTML, from the bytes the fetches gave its parts under `windowsOf`'s windows: each part decoded
87
+ * from its transfer encoding and charset, the parts that hold text joined by a line break in their order, then cut to at
88
+ * most `maxBytes` bytes of UTF-8 on a character's edge. `truncated` is true when a part held more bytes than its window,
89
+ * when a part that holds bytes was not fetched, or when the joined text passed the bound. A part the server gave no bytes
90
+ * of reads as no text.
91
+ *
92
+ * @param parts The message's text parts, or its HTML parts, in order.
93
+ * @param windows Each part's window, as `windowsOf` gave it for these parts and this bound.
94
+ * @param raws Each part's bytes as the fetch gave them, at most one byte more than its window.
95
+ * @param maxBytes The bound on the joined text, in bytes of UTF-8.
96
+ */
97
+ export declare function joinedTextOf(parts: PartInfo[], windows: number[], raws: Array<Buffer | undefined>, maxBytes: number): {
98
+ text: string;
99
+ truncated: boolean;
100
+ };
101
+ /**
102
+ * Whether a part is too large for `maxBytes` by the size the server gave, before any of its bytes are fetched: its size
103
+ * passes the bytes `encodedBound` reads for `maxBytes`.
104
+ *
105
+ * @param info The part.
106
+ * @param maxBytes The bound on its decoded bytes.
107
+ */
108
+ export declare function tooLargeBySize(info: PartInfo, maxBytes: number): boolean;
109
+ /**
110
+ * An attachment's bytes from the bytes a bounded fetch gave, decoded, or `too_large` when they pass `maxBytes`: when the
111
+ * fetch gave more bytes than `encodedBound` reads, or when the decoded bytes pass the bound.
112
+ *
113
+ * @param raw The part's bytes as the fetch gave them, at most one byte more than `encodedBound`.
114
+ * @param info The part.
115
+ * @param maxBytes The bound on the decoded bytes.
116
+ */
117
+ export declare function boundedBytesOf(raw: Buffer, info: PartInfo, maxBytes: number): BoundedBytes;
118
+ //# sourceMappingURL=attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,uHAAuH;IACvH,IAAI,EAAE,MAAM,CAAC;IACb,kHAAkH;IAClH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,gHAAgH;IAChH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,0GAA0G;IAC1G,QAAQ,EAAE,OAAO,CAAC;CACnB;AAKD,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAiEpF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,CAIxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvE;AAeD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQvE;AAoDD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIpE;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAyB1J;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAI1F"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview A message's parts as `EmailService`'s reads give them: which leaves of its body structure are its text,
4
+ * which its HTML and which are attachments; how many of a part's bytes a fetch asks for under a bound; and the decoding
5
+ * of a part's transfer encoding and charset, the text parts joined and cut to the bound on a character's edge. A read
6
+ * fetches the text and HTML parts under the bound and no attachment's bytes, which an attachment's `read()` fetches when
7
+ * it is called. Nothing here talks to a server.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.partsOf = partsOf;
11
+ exports.encodedBound = encodedBound;
12
+ exports.windowsOf = windowsOf;
13
+ exports.decodeTransfer = decodeTransfer;
14
+ exports.joinedTextOf = joinedTextOf;
15
+ exports.tooLargeBySize = tooLargeBySize;
16
+ exports.boundedBytesOf = boundedBytesOf;
17
+ const node_util_1 = require("node:util");
18
+ /** The most multiparts inside one another a walk follows, so a structure nested without end cannot hold the read. */
19
+ const MOST_DEPTH = 64;
20
+ /** A media type as a server writes one: a type and a subtype of token characters (RFC 2045 section 5.1). */
21
+ const MEDIA_TYPE = /^[a-z0-9!#$&^_.+-]+\/[a-z0-9!#$&^_.+-]+$/;
22
+ /** A section of a message: whole numbers from 1, joined by dots. */
23
+ const SECTION = /^[1-9][0-9]*(?:\.[1-9][0-9]*)*$/;
24
+ /** `value` as an object of named values, or `undefined` when it is not an object. */
25
+ function recordOf(value) {
26
+ return typeof value === 'object' && value !== null ? value : undefined;
27
+ }
28
+ /** `value` when it is a string, else the empty string. */
29
+ function textOf(value) {
30
+ return typeof value === 'string' ? value : '';
31
+ }
32
+ /** Adds a leaf, or the leaves under a multipart, of `node` to `found`. */
33
+ function walk(node, found, depth) {
34
+ const fields = recordOf(node);
35
+ if (fields === undefined || depth > MOST_DEPTH)
36
+ return;
37
+ const type = textOf(fields.type).toLowerCase();
38
+ if (type.startsWith('multipart/')) {
39
+ const children = Array.isArray(fields.childNodes) ? fields.childNodes : [];
40
+ if (type !== 'multipart/alternative') {
41
+ for (const child of children)
42
+ walk(child, found, depth + 1);
43
+ return;
44
+ }
45
+ // Each child of an alternative is the same content in another form (RFC 2046 section 5.1.4): the text is the first
46
+ // form that holds text and the HTML the first that holds HTML, so no form is given twice, and every form's
47
+ // attachments are listed.
48
+ const forms = children.map((child) => {
49
+ const form = { texts: [], htmls: [], attachments: [] };
50
+ walk(child, form, depth + 1);
51
+ return form;
52
+ });
53
+ found.texts.push(...(forms.find((form) => form.texts.length > 0)?.texts ?? []));
54
+ found.htmls.push(...(forms.find((form) => form.htmls.length > 0)?.htmls ?? []));
55
+ for (const form of forms)
56
+ found.attachments.push(...form.attachments);
57
+ return;
58
+ }
59
+ // A message that is not multipart has one part, its body, which imapflow gives no section and IMAP numbers 1.
60
+ const part = textOf(fields.part) === '' ? '1' : textOf(fields.part);
61
+ if (!SECTION.test(part))
62
+ return;
63
+ const parameters = recordOf(fields.parameters);
64
+ const dispositionParameters = recordOf(fields.dispositionParameters);
65
+ const size = fields.size;
66
+ const info = {
67
+ part,
68
+ type: MEDIA_TYPE.test(type) ? type : 'application/octet-stream',
69
+ charset: textOf(parameters?.charset).trim().toLowerCase(),
70
+ encoding: textOf(fields.encoding).trim().toLowerCase() || '7bit',
71
+ size: typeof size === 'number' && Number.isSafeInteger(size) && size >= 0 ? size : 0,
72
+ name: textOf(dispositionParameters?.filename) || textOf(parameters?.name),
73
+ };
74
+ const isBody = (info.type === 'text/plain' || info.type === 'text/html') && textOf(fields.disposition).toLowerCase() !== 'attachment' && info.name === '';
75
+ if (isBody && info.type === 'text/plain')
76
+ found.texts.push(info);
77
+ else if (isBody)
78
+ found.htmls.push(info);
79
+ else
80
+ found.attachments.push(info);
81
+ }
82
+ /**
83
+ * The parts a message's body structure, as imapflow gives it, names: its text, its HTML and its attachments. Anything
84
+ * that is not a body structure names none.
85
+ *
86
+ * @param structure The `bodyStructure` imapflow fetched.
87
+ */
88
+ function partsOf(structure) {
89
+ const found = { texts: [], htmls: [], attachments: [], isReport: textOf(recordOf(structure)?.type).toLowerCase() === 'multipart/report' };
90
+ walk(structure, found, 0);
91
+ return found;
92
+ }
93
+ /**
94
+ * The bytes of a part, in its transfer encoding, a fetch reads to give `maxBytes` decoded bytes however an encoder that
95
+ * keeps to its rules breaks the lines: twice the bound for base64, which a line of four characters doubles at worst; four
96
+ * times for quoted-printable, whose escapes and soft line breaks take a little over three bytes a byte at worst; the
97
+ * bound itself for any other encoding. A fetch asks for one byte more, so that more bytes than these tell a part longer
98
+ * than the bound. A quoted-printable part written with runs of soft line breaks, which no such encoder writes, can take
99
+ * more than four bytes a byte, and reads as longer than the bound: a read never fetches more of a part than this.
100
+ *
101
+ * @param encoding The part's transfer encoding, in lowercase.
102
+ * @param maxBytes The bound on the decoded bytes.
103
+ */
104
+ function encodedBound(encoding, maxBytes) {
105
+ if (encoding === 'base64')
106
+ return 2 * maxBytes + 16;
107
+ if (encoding === 'quoted-printable')
108
+ return 4 * maxBytes + 16;
109
+ return maxBytes;
110
+ }
111
+ /**
112
+ * The fewest decoded bytes `length` bytes of a part in `encoding` give, as `encodedBound` reckons the worst case: half of
113
+ * them less 8 for base64, a quarter less 4 for quoted-printable, all of them for any other encoding.
114
+ *
115
+ * @param encoding The part's transfer encoding, in lowercase.
116
+ * @param length A count of the part's bytes in that encoding.
117
+ */
118
+ function decodedFloor(encoding, length) {
119
+ if (encoding === 'base64')
120
+ return Math.max(0, Math.floor((length - 16) / 2));
121
+ if (encoding === 'quoted-printable')
122
+ return Math.max(0, Math.floor((length - 16) / 4));
123
+ return length;
124
+ }
125
+ /**
126
+ * How many of each part's bytes, in its transfer encoding, a fetch asks for, so that the parts decoded and joined fill
127
+ * `maxBytes` and no more is fetched than that can need: the first part the bytes that can decode to the bound, each later
128
+ * part the bytes that can decode to what the parts before it may leave unfilled, by their sizes, and 0, no fetch, once
129
+ * they fill it. A fetch asks for one byte more than each, so that more bytes tell a part longer than its window.
130
+ *
131
+ * @param parts A message's text parts, or its HTML parts, in order.
132
+ * @param maxBytes The bound on the joined text, in bytes.
133
+ */
134
+ function windowsOf(parts, maxBytes) {
135
+ let wanted = maxBytes;
136
+ return parts.map((info) => {
137
+ if (wanted <= 0)
138
+ return 0;
139
+ const window = encodedBound(info.encoding, wanted);
140
+ wanted -= decodedFloor(info.encoding, Math.min(info.size, window));
141
+ return window;
142
+ });
143
+ }
144
+ /** A hexadecimal digit's value, or `undefined` when `byte` is not one. */
145
+ function hexValue(byte) {
146
+ if (byte === undefined)
147
+ return undefined;
148
+ if (byte >= 0x30 && byte <= 0x39)
149
+ return byte - 0x30;
150
+ if (byte >= 0x41 && byte <= 0x46)
151
+ return byte - 0x37;
152
+ if (byte >= 0x61 && byte <= 0x66)
153
+ return byte - 0x57;
154
+ return undefined;
155
+ }
156
+ /**
157
+ * Quoted-printable bytes decoded (RFC 2045 section 6.7): each `=` and two hexadecimal digits as the byte they name, each
158
+ * soft line break (`=`, any spaces or tabs, and a line end) left out, an escape the bytes end inside left out, and any
159
+ * other `=` kept as it is.
160
+ */
161
+ function decodeQuotedPrintable(raw) {
162
+ const out = Buffer.alloc(raw.length);
163
+ let length = 0;
164
+ for (let index = 0; index < raw.length; index += 1) {
165
+ const byte = raw[index];
166
+ if (byte !== 0x3d) {
167
+ out[length] = byte;
168
+ length += 1;
169
+ continue;
170
+ }
171
+ let next = index + 1;
172
+ while (next < raw.length && (raw[next] === 0x20 || raw[next] === 0x09))
173
+ next += 1;
174
+ if (raw[next] === 0x0a) {
175
+ index = next;
176
+ continue;
177
+ }
178
+ if (raw[next] === 0x0d && raw[next + 1] === 0x0a) {
179
+ index = next + 1;
180
+ continue;
181
+ }
182
+ const high = hexValue(raw[index + 1]);
183
+ const low = hexValue(raw[index + 2]);
184
+ if (high !== undefined && low !== undefined) {
185
+ out[length] = high * 16 + low;
186
+ length += 1;
187
+ index += 2;
188
+ continue;
189
+ }
190
+ // A bounded fetch can end inside an escape or a soft line break.
191
+ if (index + 2 >= raw.length)
192
+ break;
193
+ out[length] = byte;
194
+ length += 1;
195
+ }
196
+ return out.subarray(0, length);
197
+ }
198
+ /**
199
+ * A part's bytes with its transfer encoding undone: base64 (white space passed over) and quoted-printable decoded, any
200
+ * other encoding, `7bit`, `8bit` and `binary` among them, as it is.
201
+ *
202
+ * @param raw The part's bytes as the server holds them.
203
+ * @param encoding The part's transfer encoding, in lowercase.
204
+ */
205
+ function decodeTransfer(raw, encoding) {
206
+ if (encoding === 'base64')
207
+ return Buffer.from(raw.toString('latin1'), 'base64');
208
+ if (encoding === 'quoted-printable')
209
+ return decodeQuotedPrintable(raw);
210
+ return raw;
211
+ }
212
+ /** `bytes` read as text in `charset`, UTF-8 when it names none or one Node does not know, a character the bytes end inside left out. */
213
+ function decodedText(bytes, charset) {
214
+ let decoder;
215
+ try {
216
+ decoder = new node_util_1.TextDecoder(charset === '' ? 'utf-8' : charset);
217
+ }
218
+ catch {
219
+ decoder = new node_util_1.TextDecoder('utf-8');
220
+ }
221
+ // Read as a stream, the decoder holds back a character the bytes end inside, which a bounded fetch can cut.
222
+ return decoder.decode(bytes, { stream: true });
223
+ }
224
+ /** What a message's text parts, or its HTML parts, are joined by: a line break. */
225
+ const PART_SEPARATOR = '\n';
226
+ /**
227
+ * A message's text, or its HTML, from the bytes the fetches gave its parts under `windowsOf`'s windows: each part decoded
228
+ * from its transfer encoding and charset, the parts that hold text joined by a line break in their order, then cut to at
229
+ * most `maxBytes` bytes of UTF-8 on a character's edge. `truncated` is true when a part held more bytes than its window,
230
+ * when a part that holds bytes was not fetched, or when the joined text passed the bound. A part the server gave no bytes
231
+ * of reads as no text.
232
+ *
233
+ * @param parts The message's text parts, or its HTML parts, in order.
234
+ * @param windows Each part's window, as `windowsOf` gave it for these parts and this bound.
235
+ * @param raws Each part's bytes as the fetch gave them, at most one byte more than its window.
236
+ * @param maxBytes The bound on the joined text, in bytes of UTF-8.
237
+ */
238
+ function joinedTextOf(parts, windows, raws, maxBytes) {
239
+ let truncated = false;
240
+ const texts = [];
241
+ for (let index = 0; index < parts.length; index += 1) {
242
+ const info = parts[index];
243
+ const window = windows[index] ?? 0;
244
+ const raw = raws[index];
245
+ if (window <= 0) {
246
+ // The parts before this one fill the bound, so it was not fetched.
247
+ if (info.size > 0)
248
+ truncated = true;
249
+ continue;
250
+ }
251
+ if (raw === undefined)
252
+ continue;
253
+ const more = raw.length > window;
254
+ if (more)
255
+ truncated = true;
256
+ const decoded = decodedText(decodeTransfer(more ? raw.subarray(0, window) : raw, info.encoding), info.charset);
257
+ if (decoded !== '')
258
+ texts.push(decoded);
259
+ }
260
+ const text = texts.join(PART_SEPARATOR);
261
+ const bytes = Buffer.from(text, 'utf8');
262
+ if (bytes.length <= maxBytes)
263
+ return { text, truncated };
264
+ // A byte of the form 10xxxxxx continues a character, so the cut moves back to the byte that starts it.
265
+ let end = maxBytes;
266
+ while (end > 0 && (bytes[end] & 0xc0) === 0x80)
267
+ end -= 1;
268
+ return { text: bytes.subarray(0, end).toString('utf8'), truncated: true };
269
+ }
270
+ /**
271
+ * Whether a part is too large for `maxBytes` by the size the server gave, before any of its bytes are fetched: its size
272
+ * passes the bytes `encodedBound` reads for `maxBytes`.
273
+ *
274
+ * @param info The part.
275
+ * @param maxBytes The bound on its decoded bytes.
276
+ */
277
+ function tooLargeBySize(info, maxBytes) {
278
+ return info.size > encodedBound(info.encoding, maxBytes);
279
+ }
280
+ /**
281
+ * An attachment's bytes from the bytes a bounded fetch gave, decoded, or `too_large` when they pass `maxBytes`: when the
282
+ * fetch gave more bytes than `encodedBound` reads, or when the decoded bytes pass the bound.
283
+ *
284
+ * @param raw The part's bytes as the fetch gave them, at most one byte more than `encodedBound`.
285
+ * @param info The part.
286
+ * @param maxBytes The bound on the decoded bytes.
287
+ */
288
+ function boundedBytesOf(raw, info, maxBytes) {
289
+ if (raw.length > encodedBound(info.encoding, maxBytes))
290
+ return { kind: 'too_large' };
291
+ const bytes = decodeTransfer(raw, info.encoding);
292
+ return bytes.length > maxBytes ? { kind: 'too_large' } : { kind: 'bytes', bytes };
293
+ }
294
+ //# sourceMappingURL=attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAkHH,0BAIC;AAaD,oCAIC;AAwBD,8BAQC;AA2DD,wCAIC;AA6BD,oCAyBC;AASD,wCAEC;AAUD,wCAIC;AAnTD,yCAAwC;AA2CxC,qHAAqH;AACrH,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,4GAA4G;AAC5G,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAE9D,oEAAoE;AACpE,MAAM,OAAO,GAAG,iCAAiC,CAAC;AAElD,qFAAqF;AACrF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC;AAED,0DAA0D;AAC1D,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,0EAA0E;AAC1E,SAAS,IAAI,CAAC,IAAa,EAAE,KAAgB,EAAE,KAAa;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,GAAG,UAAU;QAAE,OAAO;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAc,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,QAAQ;gBAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,mHAAmH;QACnH,2GAA2G;QAC3G,0BAA0B;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,MAAM,IAAI,GAAc,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YAClE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAChF,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,8GAA8G;IAC9G,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,IAAI,GAAa;QACrB,IAAI;QACJ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QAC/D,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM;QAChE,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpF,IAAI,EAAE,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;KAC1E,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;IAC1J,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5D,IAAI,MAAM;QAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QACnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,SAAkB;IACxC,MAAM,KAAK,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;IACxJ,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,QAAgB,EAAE,QAAgB;IAC7D,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IACpD,IAAI,QAAQ,KAAK,kBAAkB;QAAE,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,QAAgB,EAAE,MAAc;IACpD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,KAAiB,EAAE,QAAgB;IAC3D,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,IAAwB;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAW,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACnB,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,IAAI,IAAI,CAAC,CAAC;QAClF,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;YAC9B,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,iEAAiE;QACjE,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM;QACnC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAW,EAAE,QAAgB;IAC1D,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,QAAQ,KAAK,kBAAkB;QAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wIAAwI;AACxI,SAAS,WAAW,CAAC,KAAa,EAAE,OAAe;IACjD,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,uBAAW,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,IAAI,uBAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,4GAA4G;IAC5G,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,mFAAmF;AACnF,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,SAAgB,YAAY,CAAC,KAAiB,EAAE,OAAiB,EAAE,IAA+B,EAAE,QAAgB;IAClH,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAa,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,mEAAmE;YACnE,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;gBAAE,SAAS,GAAG,IAAI,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,IAAI;YAAE,SAAS,GAAG,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/G,IAAI,OAAO,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACzD,uGAAuG;IACvG,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAE,KAAK,CAAC,GAAG,CAAY,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,IAAI,CAAC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,IAAc,EAAE,QAAgB;IAC7D,OAAO,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAAW,EAAE,IAAc,EAAE,QAAgB;IAC1E,IAAI,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACrF,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpF,CAAC"}