@framers/agentos-ext-gmail-source 0.5.1 → 0.6.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/dist/mime.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type SourceSyncSkipReason } from '@framers/agentos-ext-account-sources';
2
- import type { GmailHeaderInput } from './mailSanitize.js';
2
+ import { type GmailHeaderInput } from './mailSanitize.js';
3
3
  /**
4
4
  * The ceilings one mapper enforces, each a positive safe integer no greater than the value in brackets. They are
5
5
  * operating choices, not Gmail service limits.
@@ -15,9 +15,16 @@ export interface GmailMappingBounds {
15
15
  readonly maxMimeParts: number;
16
16
  /** Messages retained in one thread document, newest first (100). */
17
17
  readonly maxMessages: number;
18
- /** UTF-16 code units of one message's header prefix and body together (20,000). */
18
+ /**
19
+ * UTF-16 code units of one message's header prefix and body together (20,000). A message is cut to this, or to
20
+ * `maxThreadCharacters` when that is smaller, whatever else its thread holds.
21
+ */
19
22
  readonly maxMessageCharacters: number;
20
- /** UTF-16 code units of the thread document's text, separators included (200,000). */
23
+ /**
24
+ * UTF-16 code units of the thread document's text, separators included (200,000). It is spent on the newest
25
+ * messages first, each whole at its own cut: the first message that does not fit in what is left, and every older
26
+ * one, is omitted under `thread_limit`, and none is cut shorter to fit.
27
+ */
21
28
  readonly maxThreadCharacters: number;
22
29
  /** Characters of the document's serialized metadata (200,000). */
23
30
  readonly maxMetadataCharacters: number;
@@ -126,13 +133,34 @@ export declare function parseMimeThread(value: unknown, sourceId: string, budget
126
133
  * `response_too_large` above the character or decoded-byte bound.
127
134
  */
128
135
  export declare function decodeMimeWords(input: string, budget: MimeBudget): string;
136
+ /**
137
+ * Looks inside the RFC 2047 encoded words of text that is not a MIME header value, such as a label name from the labels
138
+ * response, without decoding the text. Each run of encoded words (`=?charset?B?...?=` or `=?charset?Q?...?=`, of any
139
+ * length, with only whitespace between them) is decoded, its words joined as RFC 2047 joins adjacent words, only to
140
+ * hand its text to `redact`, whose answer replaces the run. When a word of the run has a malformed body, invalid bytes
141
+ * or a charset the runtime does not decode, that word stays as written and each other word is handed over alone. A
142
+ * null answer keeps a run or word as written, as every other character stays, a stray `=?` among them, so no text is
143
+ * refused.
144
+ *
145
+ * @param input The text, at most `maxInputCharacters` long.
146
+ * @param budget The call's running counts; the decoded bytes are charged to it.
147
+ * @param redact Given decoded text, what replaces the run or word it came from, or null to keep that as written.
148
+ * @returns The text with the runs and words `redact` answered replaced.
149
+ * @throws {GmailMappingFault} `response_too_large` above the character or decoded-byte bound.
150
+ */
151
+ export declare function redactMimeWords(input: string, budget: MimeBudget, redact: (decoded: string) => string | null): string;
129
152
  /** A part's Subject, Date, From, To and Cc, decoded; Bcc and every other header are never decoded or returned. */
130
153
  export declare function decodedHeaders(part: MimePart, budget: MimeBudget): readonly GmailHeaderInput[];
131
154
  /**
132
155
  * Select before decoding, and never interpret Content-Transfer-Encoding a second time: Gmail's `data` already holds the
133
156
  * part's bytes. Lists the message's attachments and builds its body text. Within `multipart/alternative` the branch
134
- * with eligible plain text wins over HTML; other multipart containers join their text children in MIME order. HTML
135
- * becomes inert text through `HtmlLoader` given an in-memory Buffer. Other media types are counted, not read.
157
+ * with eligible plain text wins over HTML, unless its text is blank: nothing but whitespace, padding and the percent
158
+ * and character references that decode to them (see `blankMailText`), as in the empty plain part some mailers send
159
+ * beside their HTML. A blank branch yields to the next one, a later branch whose bytes or charset cannot be read is
160
+ * passed over, and when every branch is blank the preferred one stands. Other multipart containers join their text
161
+ * children in MIME order. HTML becomes inert text through `HtmlLoader` given an in-memory Buffer; every character
162
+ * reference the loader leaves is then decoded, padding runs of no-break spaces and zero-width characters collapse,
163
+ * and whitespace collapses again. Other media types are counted, not read.
136
164
  *
137
165
  * @throws {GmailMappingFault} `invalid_encoding`, `unsupported_charset` or `response_too_large` for the message.
138
166
  * @throws {SourceSyncFault} `cancelled` once the signal is aborted.
@@ -1 +1 @@
1
- {"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"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"}
package/dist/mime.js CHANGED
@@ -2,13 +2,16 @@
2
2
  * @fileoverview Bounded reading of one Gmail `threads.get` response in the `full` format. The MIME tree of every
3
3
  * message, excluded messages included, is checked against byte, depth and part bounds before any body is decoded. One
4
4
  * representation is selected per `multipart/alternative`; base64url bodies, RFC 2047 encoded words and declared charsets
5
- * are decoded strictly; HTML becomes inert text through the AgentOS `HtmlLoader`. An attachment keeps only its name,
6
- * media type and size: its bytes are dropped while the tree is read, whether Gmail returned them inline or behind an
7
- * attachment id. Nothing here fetches, logs or puts provider text into an error.
5
+ * are decoded strictly; HTML becomes inert text through the AgentOS `HtmlLoader`, then each character reference the
6
+ * loader leaves is decoded and the padding of a preheader collapses. An attachment keeps only its name, media type and
7
+ * size: its bytes are dropped while the tree is read, whether Gmail returned them inline or behind an attachment id.
8
+ * Nothing here fetches, logs or puts provider text into an error.
8
9
  * @module agentos-ext-gmail-source/mime
9
10
  */
10
11
  import { HtmlLoader } from '@framers/agentos/cognition/memory';
11
12
  import { SourceSyncFault } from '@framers/agentos-ext-account-sources';
13
+ import { blankMailText } from './mailSanitize.js';
14
+ import { collapsePadding, decodeCharacterReferences } from './characters.js';
12
15
  /**
13
16
  * A mapper's fixed refusal; its message is `gmail_mapping_<reason>` and never carries mail text. `configuration` is
14
17
  * thrown for invalid bounds or options. `map` catches every other reason and answers it as a skipped thread, or counts
@@ -224,31 +227,7 @@ export function decodeMimeWords(input, budget) {
224
227
  throw new GmailMappingFault('invalid_encoding');
225
228
  if (!(previousWord && /^[ \t\r\n]*$/.test(between)))
226
229
  result += between;
227
- let bytes;
228
- if (match[2].toLowerCase() === 'b')
229
- bytes = base64(match[3], false, budget);
230
- else {
231
- const encoded = match[3];
232
- const values = [];
233
- for (let i = 0; i < encoded.length; i++) {
234
- const character = encoded[i];
235
- if (character === '=') {
236
- const hex = encoded.slice(i + 1, i + 3);
237
- if (!/^[0-9a-f]{2}$/i.test(hex))
238
- throw new GmailMappingFault('invalid_encoding');
239
- values.push(Number.parseInt(hex, 16));
240
- i += 2;
241
- }
242
- else {
243
- const point = character.charCodeAt(0);
244
- if (point < 33 || point > 126 || character === '?')
245
- throw new GmailMappingFault('invalid_encoding');
246
- values.push(character === '_' ? 32 : point);
247
- }
248
- }
249
- bytes = charge(Uint8Array.from(values), budget);
250
- }
251
- result += decode(bytes, match[1]);
230
+ result += decodeWord(match[1], match[2], match[3], budget);
252
231
  end = start + match[0].length;
253
232
  previousWord = true;
254
233
  if (result.length > budget.bounds.maxInputCharacters)
@@ -259,6 +238,80 @@ export function decodeMimeWords(input, budget) {
259
238
  throw new GmailMappingFault('invalid_encoding');
260
239
  return result;
261
240
  }
241
+ // One encoded word's text: its B body read as strict base64 or its Q body byte by byte, the bytes charged to the
242
+ // budget, then decoded with a fatal decoder for the declared charset.
243
+ function decodeWord(charsetName, encoding, encoded, budget) {
244
+ let bytes;
245
+ if (encoding.toLowerCase() === 'b')
246
+ bytes = base64(encoded, false, budget);
247
+ else {
248
+ const values = [];
249
+ for (let i = 0; i < encoded.length; i++) {
250
+ const character = encoded[i];
251
+ if (character === '=') {
252
+ const hex = encoded.slice(i + 1, i + 3);
253
+ if (!/^[0-9a-f]{2}$/i.test(hex))
254
+ throw new GmailMappingFault('invalid_encoding');
255
+ values.push(Number.parseInt(hex, 16));
256
+ i += 2;
257
+ }
258
+ else {
259
+ const point = character.charCodeAt(0);
260
+ if (point < 33 || point > 126 || character === '?')
261
+ throw new GmailMappingFault('invalid_encoding');
262
+ values.push(character === '_' ? 32 : point);
263
+ }
264
+ }
265
+ bytes = charge(Uint8Array.from(values), budget);
266
+ }
267
+ return decode(bytes, charsetName);
268
+ }
269
+ // Whether an encoded word or a text part could not be read for its own bytes or charset; any other failure stands.
270
+ const unreadable = (error) => error instanceof GmailMappingFault
271
+ && (error.reason === 'invalid_encoding' || error.reason === 'unsupported_charset');
272
+ /**
273
+ * Looks inside the RFC 2047 encoded words of text that is not a MIME header value, such as a label name from the labels
274
+ * response, without decoding the text. Each run of encoded words (`=?charset?B?...?=` or `=?charset?Q?...?=`, of any
275
+ * length, with only whitespace between them) is decoded, its words joined as RFC 2047 joins adjacent words, only to
276
+ * hand its text to `redact`, whose answer replaces the run. When a word of the run has a malformed body, invalid bytes
277
+ * or a charset the runtime does not decode, that word stays as written and each other word is handed over alone. A
278
+ * null answer keeps a run or word as written, as every other character stays, a stray `=?` among them, so no text is
279
+ * refused.
280
+ *
281
+ * @param input The text, at most `maxInputCharacters` long.
282
+ * @param budget The call's running counts; the decoded bytes are charged to it.
283
+ * @param redact Given decoded text, what replaces the run or word it came from, or null to keep that as written.
284
+ * @returns The text with the runs and words `redact` answered replaced.
285
+ * @throws {GmailMappingFault} `response_too_large` above the character or decoded-byte bound.
286
+ */
287
+ export function redactMimeWords(input, budget, redact) {
288
+ if (input.length > budget.bounds.maxInputCharacters)
289
+ throw new GmailMappingFault('response_too_large');
290
+ const word = /=\?([^?\s]{1,40})\?([bq])\?([^?\r\n]*)\?=/gi;
291
+ const run = /=\?[^?\s]{1,40}\?[bq]\?[^?\r\n]*\?=(?:[ \t\r\n]*=\?[^?\s]{1,40}\?[bq]\?[^?\r\n]*\?=)*/gi;
292
+ return input.replace(run, (words) => {
293
+ let decoded = '';
294
+ try {
295
+ for (const match of words.matchAll(word))
296
+ decoded += decodeWord(match[1], match[2], match[3], budget);
297
+ return redact(decoded) ?? words;
298
+ }
299
+ catch (error) {
300
+ if (!unreadable(error))
301
+ throw error;
302
+ }
303
+ return words.replace(word, (one, charsetName, encoding, encoded) => {
304
+ try {
305
+ return redact(decodeWord(charsetName, encoding, encoded, budget)) ?? one;
306
+ }
307
+ catch (error) {
308
+ if (unreadable(error))
309
+ return one;
310
+ throw error;
311
+ }
312
+ });
313
+ });
314
+ }
262
315
  /** A part's Subject, Date, From, To and Cc, decoded; Bcc and every other header are never decoded or returned. */
263
316
  export function decodedHeaders(part, budget) {
264
317
  return part.headers.filter((h) => ['subject', 'date', 'from', 'to', 'cc'].includes(h.name.toLowerCase()))
@@ -298,11 +351,23 @@ function attachments(part, output) {
298
351
  for (const child of part.parts)
299
352
  attachments(child, output);
300
353
  }
354
+ // The loader decodes a few named references, then collapses whitespace. Every reference it leaves is decoded here and
355
+ // padding collapsed (see `collapsePadding`), then whitespace collapses again as the loader collapses it: one space for
356
+ // a run of spaces, nothing on a line that held only spaces, and at most one blank line between paragraphs.
357
+ function inertText(content) {
358
+ return collapsePadding(decodeCharacterReferences(content)).replace(/\r\n?/g, '\n').replace(/[ \t]+/g, ' ')
359
+ .replace(/^ $/gm, '').replace(/\n{3,}/g, '\n\n').trim();
360
+ }
301
361
  /**
302
362
  * Select before decoding, and never interpret Content-Transfer-Encoding a second time: Gmail's `data` already holds the
303
363
  * part's bytes. Lists the message's attachments and builds its body text. Within `multipart/alternative` the branch
304
- * with eligible plain text wins over HTML; other multipart containers join their text children in MIME order. HTML
305
- * becomes inert text through `HtmlLoader` given an in-memory Buffer. Other media types are counted, not read.
364
+ * with eligible plain text wins over HTML, unless its text is blank: nothing but whitespace, padding and the percent
365
+ * and character references that decode to them (see `blankMailText`), as in the empty plain part some mailers send
366
+ * beside their HTML. A blank branch yields to the next one, a later branch whose bytes or charset cannot be read is
367
+ * passed over, and when every branch is blank the preferred one stands. Other multipart containers join their text
368
+ * children in MIME order. HTML becomes inert text through `HtmlLoader` given an in-memory Buffer; every character
369
+ * reference the loader leaves is then decoded, padding runs of no-break spaces and zero-width characters collapse,
370
+ * and whitespace collapses again. Other media types are counted, not read.
306
371
  *
307
372
  * @throws {GmailMappingFault} `invalid_encoding`, `unsupported_charset` or `response_too_large` for the message.
308
373
  * @throws {SourceSyncFault} `cancelled` once the signal is aborted.
@@ -316,20 +381,36 @@ export async function mimeBody(root, budget, signal) {
316
381
  if (part.attachment)
317
382
  return '';
318
383
  if (part.mimeType === 'multipart/alternative') {
319
- let chosen;
320
- let best = 0;
321
- for (const child of part.parts) {
322
- const score = rank(child);
323
- if (score > best) {
324
- chosen = child;
325
- best = score;
326
- }
327
- }
328
- if (!chosen) {
384
+ // Branches in preference order, plain text before HTML and MIME order within a rank, so the first is the one
385
+ // chosen by media type alone. A branch whose text would sanitize to nothing yields to the next: an empty plain
386
+ // part must not hide the HTML beside it. A later branch that cannot be read, for its bytes or its charset, is
387
+ // passed over, since it was read only in hope of something better. When every branch is blank the first stands,
388
+ // with only its own unsupported parts counted.
389
+ const branches = part.parts.map((child) => ({ child, score: rank(child) })).filter((branch) => branch.score > 0)
390
+ .sort((a, b) => b.score - a.score);
391
+ if (branches.length === 0) {
329
392
  unsupportedParts++;
330
393
  return '';
331
394
  }
332
- return text(chosen);
395
+ const counted = unsupportedParts;
396
+ let first;
397
+ for (const branch of branches) {
398
+ unsupportedParts = counted;
399
+ let value;
400
+ try {
401
+ value = await text(branch.child);
402
+ }
403
+ catch (error) {
404
+ if (first && unreadable(error))
405
+ continue;
406
+ throw error;
407
+ }
408
+ if (!blankMailText(value, budget.bounds.maxInputCharacters))
409
+ return value;
410
+ first ??= { value, unsupported: unsupportedParts };
411
+ }
412
+ unsupportedParts = first.unsupported;
413
+ return first.value;
333
414
  }
334
415
  if (part.mimeType.startsWith('multipart/')) {
335
416
  const chunks = [];
@@ -368,7 +449,7 @@ export async function mimeBody(root, budget, signal) {
368
449
  mappingActive(signal);
369
450
  if (content.length > budget.bounds.maxInputCharacters)
370
451
  throw new GmailMappingFault('response_too_large');
371
- return content;
452
+ return inertText(content);
372
453
  };
373
454
  const body = await text(root);
374
455
  mappingActive(signal);
package/dist/mime.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mime.js","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mime.js","sourceRoot":"","sources":["../src/mime.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
3
3
  "id": "com.framers.productivity.gmail-source",
4
4
  "name": "Gmail Source",
5
- "version": "0.5.1",
5
+ "version": "0.6.0",
6
6
  "description": "Read-only OAuth and bounded personal Gmail source helpers",
7
7
  "author": {
8
8
  "name": "Frame",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-ext-gmail-source",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Read-only OAuth and bounded personal Gmail source helpers",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@framers/agentos": ">=0.13.146",
47
- "@framers/agentos-ext-account-sources": ">=0.7.0"
47
+ "@framers/agentos-ext-account-sources": ">=0.9.3"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "22.20.1",
@@ -52,7 +52,7 @@
52
52
  "typescript": "5.4.5",
53
53
  "vitest": "^3.2.7",
54
54
  "@framers/agentos": "^0.13.134",
55
- "@framers/agentos-ext-account-sources": "^0.7.2"
55
+ "@framers/agentos-ext-account-sources": "^0.9.3"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "tsc",