@framers/agentos-ext-channel-email 0.5.0 → 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/README.md +3 -3
- package/dist/EmailService.d.ts +39 -14
- package/dist/EmailService.d.ts.map +1 -1
- package/dist/EmailService.js +18 -20
- package/dist/EmailService.js.map +1 -1
- package/dist/headers.d.ts +26 -11
- package/dist/headers.d.ts.map +1 -1
- package/dist/headers.js +45 -21
- package/dist/headers.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/messages.d.ts +15 -4
- package/dist/tools/messages.d.ts.map +1 -1
- package/dist/tools/messages.js +14 -4
- package/dist/tools/messages.js.map +1 -1
- package/dist/tools/read.d.ts +4 -2
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +7 -3
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/search.d.ts +4 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +7 -3
- package/dist/tools/search.js.map +1 -1
- package/manifest.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -209,7 +209,7 @@ Each message `readInbox` and `searchEmails` give carries, beside `messageId`, `f
|
|
|
209
209
|
| `truncated` | Whether the text or the HTML held more than `maxBytes` gives |
|
|
210
210
|
| `attachments` | Every other part, in the message's order: its `name`, `type`, `bytes` and `read(maxBytes?)` |
|
|
211
211
|
|
|
212
|
-
`authentication` comes from the
|
|
212
|
+
`authentication` comes from the topmost Authentication-Results field alone. Each host that checks a message adds its field at the top ([RFC 8601 section 2.1](https://www.rfc-editor.org/rfc/rfc8601#section-2.1) and [section 4](https://www.rfc-editor.org/rfc/rfc8601#section-4)), so the receiving host's field is the topmost and a field an earlier hop or the sender wrote sits below it; no field below the topmost is read. Give `authServId`, the authserv-id of the host that takes mail into the mailbox, such as `mx.google.com`, for any decision that trusts the results; a read that names none reads under the service's own, `EmailConfig.authServId`, when the configuration names one. The topmost field then counts only when it names that host, so a mail whose topmost field names another host, or none, reads `none` throughout. A field that names no authserv-id, as Outlook writes it (`Authentication-Results: spf=pass (sender IP is ...) smtp.mailfrom=example.com; dkim=pass ...`), is read from its first result, since an authserv-id is a token or a quoted string ([RFC 2045 section 5.1](https://www.rfc-editor.org/rfc/rfc2045#section-5.1)) and a bare `=` is part of neither; it counts with no `authServId` and never under one. The results are the topmost field as written. On a host that writes no field of its own, the topmost field is one the sender wrote, and `authServId` cannot tell the two apart; a host that copies a sender's text into its own field unescaped gives that text as results. A host that writes one field per test, as [RFC 8601 section 4](https://www.rfc-editor.org/rfc/rfc8601#section-4) allows, gives its topmost field's results alone, and the results its other fields record read `none`. So read a few real mails' fields on the mailbox before a decision trusts them. An `authServId` that is not text, holds a control character or is white space alone throws an `Error` before any mail is read, and `readHeaderFields` and `parseAuthenticationResults` throw the same; `null` and the empty string count as not given. Comments are left out, so a semicolon inside one splits nothing. `dkim` reads `pass` when any signature passed. `dmarc` is the receiving host's verdict for the domain `dmarcFrom` names, the domain of the From field that host read ([RFC 7489 section 11.1](https://www.rfc-editor.org/rfc/rfc7489#section-11.1)), so a host that trusts `dmarc` compares `dmarcFrom` with the domain of the message's `from`. `alignedDomain` is the From address's domain when a DKIM signature that passed was made for that domain or for a domain it ends in after a dot, its `header.d`, or the domain of its `header.i` where it names no `header.d`; it reads `none` otherwise, and when the From names no domain, as a group's or an absent From's does. A signature made for a domain below the From domain does not count, though the relaxed alignment of [RFC 7489 section 3.1.1](https://www.rfc-editor.org/rfc/rfc7489#section-3.1.1) counts it: finding a domain's organizational domain needs the public suffix list. A host that reads a message's header another way, such as through Gmail's API, reads the same fields with `readHeaderFields(headerBlock, { from, authServId })`, given the header's fields in their order, and the results alone with `parseAuthenticationResults`; given no `from` at all, these align with the domain the DMARC result names.
|
|
213
213
|
|
|
214
214
|
`maxBytes` is a whole number from 1 to 268,435,456, 262,144 when not given. A read fetches each message's envelope, flags, body structure and the header fields above through `BODY.PEEK`, which marks nothing seen, then its text and HTML parts by UID, each up to the bytes that can decode to what `maxBytes` leaves once the parts before it are read, so a large part is never fetched whole and a part past a filled bound is not fetched. A quoted-printable part written with runs of soft line breaks, which no encoder that keeps to the rules writes, can hold more than four bytes for each byte it decodes to; it reads as truncated, since a read fetches no more of a part than about four times the bound. `body` is `text`, or, for a message with no text part, its HTML with each tag written as a space.
|
|
215
215
|
|
|
@@ -234,7 +234,7 @@ A `uid` that is not a whole number from 1 to 4,294,967,295, a folder, destinatio
|
|
|
234
234
|
|
|
235
235
|
## In an agent
|
|
236
236
|
|
|
237
|
-
`createExtensionPack(context)` returns five tools, `emailSend`, `emailRead`, `emailSearch`, `emailExtractCodes` and `emailReply`, and the messaging channel `emailChannel`. Its options (`smtpHost`, `smtpUser`, `smtpPassword`, `smtpPort`, `smtpSecure`, `imapHost`, `imapUser`, `imapPassword`, `imapPort`, `imapSecure`, `resendApiKey`, `resendBaseUrl`, `from`) take precedence over the secrets and the environment variables named above. `manifest.json` lists the SMTP secrets as required, and the IMAP secrets and `email.resendApiKey` as optional.
|
|
237
|
+
`createExtensionPack(context)` returns five tools, `emailSend`, `emailRead`, `emailSearch`, `emailExtractCodes` and `emailReply`, and the messaging channel `emailChannel`. Its options (`smtpHost`, `smtpUser`, `smtpPassword`, `smtpPort`, `smtpSecure`, `imapHost`, `imapUser`, `imapPassword`, `imapPort`, `imapSecure`, `authServId`, `resendApiKey`, `resendBaseUrl`, `from`) take precedence over the secrets and the environment variables named above; `authServId` falls back to the secret `email.authServId`, then to `EMAIL_AUTH_SERV_ID`, and an empty value at any of them counts as none given, so the next one counts. `manifest.json` lists the SMTP secrets as required, and the IMAP secrets, `email.authServId` and `email.resendApiKey` as optional.
|
|
238
238
|
|
|
239
239
|
A model names the tools' arguments and the channel's blocks, so `emailSend` and `emailChannel` pass on an attachment only as `content`, a `data:` address or, through Resend, an `http` or `https` address. They refuse any other before anything is sent, reading no file and fetching no address: the tool answers `{ success: false, error }`, the adapter throws an `Error`, and the message names the attachment's filename, never its path.
|
|
240
240
|
|
|
@@ -242,7 +242,7 @@ They send each attachment as they checked it: a copy of its own `filename`, `con
|
|
|
242
242
|
|
|
243
243
|
The subject, the bodies and the message id a reply names must be text. Through SMTP, nodemailer reads the file or fetches the address an object body names into the message, and writes an object subject or message id marked `prepared` into the headers as it is. So `sendEmail` and `replyToEmail`, whoever calls them, throw a `TypeError` that names the field, never its value, before anything is sent on either transport: `subject`, `body` and the reply's `messageId` must be strings, and `html` a string when given (`null` leaves the HTML part out). `emailSend` and `emailReply` answer it as `{ success: false, error }`, and the adapter throws it. A reply whose message id is not one message id, or names no message in INBOX, is answered and thrown the same way, with the `Error` [reading mail](#reading-mail) describes.
|
|
244
244
|
|
|
245
|
-
`emailRead`, `emailSearch` and `emailExtractCodes` answer a `limit`, a `since` or a `pattern` that [reading mail](#reading-mail) refuses as `{ success: false, error }`, before any mail is read, and a pattern that runs past its 250 ms the same way; `emailRead` answers a `folder` that is not a name the same way. `emailSearch` gives the last 20 messages it finds. `emailRead` and `emailSearch` answer plain data a model reads: each message without `html` and `text`, its text once as `body`, and each attachment's `name`, `type` and `bytes` without its `read()`.
|
|
245
|
+
`emailRead`, `emailSearch` and `emailExtractCodes` answer a `limit`, a `since` or a `pattern` that [reading mail](#reading-mail) refuses as `{ success: false, error }`, before any mail is read, and a pattern that runs past its 250 ms the same way; `emailRead` answers a `folder` that is not a name the same way. `emailSearch` gives the last 20 messages it finds. `emailRead` and `emailSearch` answer plain data a model reads: each message without `html` and `text`, its text once as `body`, and each attachment's `name`, `type` and `bytes` without its `read()`. They read under the service's `authServId` and give each message's `authentication` only when the service names one: a model cannot name the host that takes mail into the mailbox, and a read that names no authserv-id counts the topmost Authentication-Results field whatever host it names, which on a host that writes no field of its own is one the sender wrote. An `authServId` in the configuration that is not text, holds a control character or is white space alone throws an `Error` when the pack is made.
|
|
246
246
|
|
|
247
247
|
## API
|
|
248
248
|
|
package/dist/EmailService.d.ts
CHANGED
|
@@ -31,6 +31,15 @@ export interface EmailConfig {
|
|
|
31
31
|
port?: number;
|
|
32
32
|
secure?: boolean;
|
|
33
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* The authserv-id of the host that takes mail into the mailbox the service reads, such as `mx.google.com`, compared
|
|
36
|
+
* ignoring case: the `authServId` of a read that names none, and the one the `emailRead` and `emailSearch` tools read
|
|
37
|
+
* under. Without it those tools leave `authentication` out of their answers, since a read that names no authserv-id
|
|
38
|
+
* counts the topmost Authentication-Results field whatever host it names, and on a host that writes no field of its
|
|
39
|
+
* own that field is one the sender wrote. A value that is not text, holds a control character or is white space alone
|
|
40
|
+
* throws an `Error` when the service is made; `null` and the empty string count as not given.
|
|
41
|
+
*/
|
|
42
|
+
authServId?: string;
|
|
34
43
|
}
|
|
35
44
|
export interface SendEmailOptions {
|
|
36
45
|
to: string;
|
|
@@ -136,10 +145,14 @@ export interface EmailMessage {
|
|
|
136
145
|
/** Whether its own type is `multipart/report` (RFC 6522), as a delivery or read report's is. */
|
|
137
146
|
isReport: boolean;
|
|
138
147
|
/**
|
|
139
|
-
* The
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* so a
|
|
148
|
+
* The results of its topmost Authentication-Results field, parsed: the receiving host's, since each host that checks
|
|
149
|
+
* a message adds its field at the top (RFC 8601 section 4), so a field a sender wrote sits below it, and no field
|
|
150
|
+
* below the topmost is read. Given `authServId`, the read's or the service's, the topmost field counts only when it
|
|
151
|
+
* names that host, so a mail whose topmost field names another host, or none, reads `none` throughout. A result the
|
|
152
|
+
* field does not record reads `none`. The topmost field is the receiving host's only when that host writes one on
|
|
153
|
+
* every message it takes in: on a host that writes none, it is one the sender wrote, and `authServId` cannot tell the
|
|
154
|
+
* two apart. A host that writes one field per test, as RFC 8601 section 4 allows, gives its topmost field's results
|
|
155
|
+
* alone.
|
|
143
156
|
*/
|
|
144
157
|
authentication: EmailAuthentication;
|
|
145
158
|
/**
|
|
@@ -169,12 +182,13 @@ export interface ReadOptions {
|
|
|
169
182
|
*/
|
|
170
183
|
maxBytes?: number;
|
|
171
184
|
/**
|
|
172
|
-
* The authserv-id of the host that
|
|
173
|
-
* Authentication-Results field
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
* read; `null` and the empty
|
|
185
|
+
* The authserv-id of the host that takes mail into the mailbox, such as `mx.google.com`, compared ignoring case: each
|
|
186
|
+
* message's topmost Authentication-Results field counts only when it names that host, and no field below the topmost
|
|
187
|
+
* ever counts, so a field a sender wrote, under that name or another, is read only on a host that writes no field of
|
|
188
|
+
* its own. Without it the service's `authServId` (`EmailConfig.authServId`) counts, and without both the topmost
|
|
189
|
+
* field counts whatever host it names. Give one for any decision that trusts the results. A value that is not text,
|
|
190
|
+
* holds a control character or is white space alone throws an `Error` before any mail is read; `null` and the empty
|
|
191
|
+
* string count as not given.
|
|
178
192
|
*/
|
|
179
193
|
authServId?: string;
|
|
180
194
|
}
|
|
@@ -244,6 +258,16 @@ export declare class EmailService {
|
|
|
244
258
|
private transporter;
|
|
245
259
|
private resend;
|
|
246
260
|
private running;
|
|
261
|
+
/**
|
|
262
|
+
* The authserv-id `EmailConfig.authServId` names, in lowercase, or `undefined` when it names none: the `authServId`
|
|
263
|
+
* of a read that names none, and the one the `emailRead` and `emailSearch` tools read under; without it they leave
|
|
264
|
+
* `authentication` out of their answers.
|
|
265
|
+
*/
|
|
266
|
+
readonly authServId: string | undefined;
|
|
267
|
+
/**
|
|
268
|
+
* Keeps `config`. An `authServId` that is not text, holds a control character or is white space alone throws an
|
|
269
|
+
* `Error` that holds none of it.
|
|
270
|
+
*/
|
|
247
271
|
constructor(config: EmailConfig);
|
|
248
272
|
/**
|
|
249
273
|
* Opens the transport that sends: Resend's API when `resend` is given (`from` is then required), else the SMTP
|
|
@@ -295,10 +319,11 @@ export declare class EmailService {
|
|
|
295
319
|
* were given anew and `afterUid` names nothing of it.
|
|
296
320
|
*
|
|
297
321
|
* `limit` must be a whole number of at least 1, `afterUid` a whole number from 0, `uidValidity` a UIDVALIDITY,
|
|
298
|
-
* `maxBytes` a whole number from 1 to 268,435,456, `folder` a name with no control character and `authServId` text
|
|
299
|
-
* is not white space alone: any other value throws an `Error` before any mail is
|
|
300
|
-
* message past the last one, which a server answers BAD. A
|
|
301
|
-
*
|
|
322
|
+
* `maxBytes` a whole number from 1 to 268,435,456, `folder` a name with no control character and `authServId` text
|
|
323
|
+
* with no control character that is not white space alone: any other value throws an `Error` before any mail is
|
|
324
|
+
* read, where the fetch would name a message past the last one, which a server answers BAD. A read that names no
|
|
325
|
+
* `authServId` reads under the service's. A server that refuses the search after a UID rejects the read with
|
|
326
|
+
* `EmailMailboxError` `refused`. A message whose Date field does not read as a date is given with an empty `date`.
|
|
302
327
|
*
|
|
303
328
|
* Each message is fetched with its envelope, flags, body structure and the header fields its recipients, threading
|
|
304
329
|
* and authentication come from, then its text and HTML parts by UID, each up to the bytes that can decode to what
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailService.d.ts","sourceRoot":"","sources":["../src/EmailService.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQxD,sGAAsG;AACtG,MAAM,WAAW,WAAW;IAC1B,0GAA0G;IAC1G,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,wFAAwF;IACxF,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,iIAAiI;IACjI,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailService.d.ts","sourceRoot":"","sources":["../src/EmailService.ts"],"names":[],"mappings":"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"}
|
package/dist/EmailService.js
CHANGED
|
@@ -143,17 +143,6 @@ function requireBytes(maxBytes, fallback) {
|
|
|
143
143
|
return maxBytes;
|
|
144
144
|
throw new Error(`The maxBytes was refused: give it as a whole number from 1 to ${MOST_BYTES}`);
|
|
145
145
|
}
|
|
146
|
-
/**
|
|
147
|
-
* The receiving host's authserv-id in lowercase, or `undefined` when none is given; a value that is not text, or that is
|
|
148
|
-
* white space alone, which would let the first field of any host count, throws.
|
|
149
|
-
*/
|
|
150
|
-
function requireAuthServId(authServId) {
|
|
151
|
-
if (authServId === undefined || authServId === null || authServId === '')
|
|
152
|
-
return undefined;
|
|
153
|
-
if (typeof authServId === 'string' && !CONTROL.test(authServId) && authServId.trim() !== '')
|
|
154
|
-
return authServId.trim().toLowerCase();
|
|
155
|
-
throw new Error('The authServId was refused: give it as the name of the host that received the mail');
|
|
156
|
-
}
|
|
157
146
|
/**
|
|
158
147
|
* The UIDVALIDITY a read's `afterUid` was read under, in decimal, or `undefined` when none is given; anything but a whole
|
|
159
148
|
* number from 1 to the largest UIDVALIDITY, or its digits with no leading zero, throws.
|
|
@@ -181,9 +170,12 @@ function requireFlags(flags) {
|
|
|
181
170
|
throw new Error('The flags were refused: the server alone sets \\Recent');
|
|
182
171
|
return [...flags];
|
|
183
172
|
}
|
|
184
|
-
/** A read's bounds, checked. */
|
|
185
|
-
function readPlanOf(options) {
|
|
186
|
-
return {
|
|
173
|
+
/** A read's bounds, checked: its own `authServId`, else `serviceAuthServId`, the service's. */
|
|
174
|
+
function readPlanOf(options, serviceAuthServId) {
|
|
175
|
+
return {
|
|
176
|
+
maxBytes: requireBytes(options.maxBytes, DEFAULT_PART_BYTES),
|
|
177
|
+
authServId: (0, headers_js_1.requireAuthServId)(options.authServId) ?? serviceAuthServId,
|
|
178
|
+
};
|
|
187
179
|
}
|
|
188
180
|
/** A flag as imapflow 1.2.9 writes it into a STORE (`formatFlag` in `lib/tools.js`): a system flag in its own case. */
|
|
189
181
|
function storedFlag(flag) {
|
|
@@ -331,11 +323,16 @@ function emailMessageOf(planned, bodies, context) {
|
|
|
331
323
|
// Service
|
|
332
324
|
// ---------------------------------------------------------------------------
|
|
333
325
|
class EmailService {
|
|
326
|
+
/**
|
|
327
|
+
* Keeps `config`. An `authServId` that is not text, holds a control character or is white space alone throws an
|
|
328
|
+
* `Error` that holds none of it.
|
|
329
|
+
*/
|
|
334
330
|
constructor(config) {
|
|
335
331
|
this.transporter = null;
|
|
336
332
|
this.resend = null;
|
|
337
333
|
this.running = false;
|
|
338
334
|
this.config = config;
|
|
335
|
+
this.authServId = (0, headers_js_1.requireAuthServId)(config.authServId);
|
|
339
336
|
}
|
|
340
337
|
/**
|
|
341
338
|
* Opens the transport that sends: Resend's API when `resend` is given (`from` is then required), else the SMTP
|
|
@@ -472,10 +469,11 @@ class EmailService {
|
|
|
472
469
|
* were given anew and `afterUid` names nothing of it.
|
|
473
470
|
*
|
|
474
471
|
* `limit` must be a whole number of at least 1, `afterUid` a whole number from 0, `uidValidity` a UIDVALIDITY,
|
|
475
|
-
* `maxBytes` a whole number from 1 to 268,435,456, `folder` a name with no control character and `authServId` text
|
|
476
|
-
* is not white space alone: any other value throws an `Error` before any mail is
|
|
477
|
-
* message past the last one, which a server answers BAD. A
|
|
478
|
-
*
|
|
472
|
+
* `maxBytes` a whole number from 1 to 268,435,456, `folder` a name with no control character and `authServId` text
|
|
473
|
+
* with no control character that is not white space alone: any other value throws an `Error` before any mail is
|
|
474
|
+
* read, where the fetch would name a message past the last one, which a server answers BAD. A read that names no
|
|
475
|
+
* `authServId` reads under the service's. A server that refuses the search after a UID rejects the read with
|
|
476
|
+
* `EmailMailboxError` `refused`. A message whose Date field does not read as a date is given with an empty `date`.
|
|
479
477
|
*
|
|
480
478
|
* Each message is fetched with its envelope, flags, body structure and the header fields its recipients, threading
|
|
481
479
|
* and authentication come from, then its text and HTML parts by UID, each up to the bytes that can decode to what
|
|
@@ -490,7 +488,7 @@ class EmailService {
|
|
|
490
488
|
const count = (0, reads_js_1.requireLimit)(given.limit, 20);
|
|
491
489
|
const afterUid = requireAfterUid(given.afterUid);
|
|
492
490
|
const uidValidity = requireUidValidity(given.uidValidity);
|
|
493
|
-
const plan = readPlanOf(given);
|
|
491
|
+
const plan = readPlanOf(given, this.authServId);
|
|
494
492
|
const client = await this.getImapClient();
|
|
495
493
|
try {
|
|
496
494
|
const lock = await client.getMailboxLock(path);
|
|
@@ -553,7 +551,7 @@ class EmailService {
|
|
|
553
551
|
this.requireRunning();
|
|
554
552
|
const limit = (0, reads_js_1.requireLimit)(options.limit, 20);
|
|
555
553
|
const since = (0, reads_js_1.requireSince)(options.since);
|
|
556
|
-
const plan = readPlanOf(options);
|
|
554
|
+
const plan = readPlanOf(options, this.authServId);
|
|
557
555
|
const client = await this.getImapClient();
|
|
558
556
|
const folder = options.folder ?? 'INBOX';
|
|
559
557
|
try {
|
package/dist/EmailService.js.map
CHANGED
|
@@ -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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"}
|
package/dist/headers.d.ts
CHANGED
|
@@ -45,11 +45,16 @@ export interface HeaderFieldOptions {
|
|
|
45
45
|
*/
|
|
46
46
|
from?: string;
|
|
47
47
|
/**
|
|
48
|
-
* The authserv-id of the host that
|
|
49
|
-
* Authentication-Results field
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
48
|
+
* The authserv-id of the host that takes mail into the mailbox, such as `mx.google.com`, compared ignoring case. Only
|
|
49
|
+
* the topmost Authentication-Results field is read, since each host that checks a message adds its field at the top
|
|
50
|
+
* (RFC 8601 sections 2.1 and 4), and given `authServId` it counts only when it names that host: a mail whose topmost
|
|
51
|
+
* field names another host, or none, reads `none` throughout, and a field below the topmost never counts, whatever
|
|
52
|
+
* host it names. Without it the topmost field counts whatever host it names. The topmost field is the receiving
|
|
53
|
+
* host's only when that host writes one on every message it takes in: on a host that writes none, it is one the
|
|
54
|
+
* sender wrote, and `authServId` cannot tell the two apart. A host that writes one field per test, as RFC 8601
|
|
55
|
+
* section 4 allows, gives its topmost field's results alone. Give it for any decision that trusts the results. A
|
|
56
|
+
* value that is not text, holds a control character or is white space alone throws an `Error`; `null` and the empty
|
|
57
|
+
* string count as not given.
|
|
53
58
|
*/
|
|
54
59
|
authServId?: string;
|
|
55
60
|
}
|
|
@@ -70,6 +75,14 @@ export interface HeaderFields {
|
|
|
70
75
|
/** The receiving host's Authentication-Results, parsed. */
|
|
71
76
|
authentication: EmailAuthentication;
|
|
72
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* The receiving host's authserv-id in lowercase, or `undefined` when none is given: `undefined`, `null` or the empty
|
|
80
|
+
* string. A value that is not text, that holds a control character or that is white space alone, which would let the
|
|
81
|
+
* topmost field of any host count, throws an `Error` that holds none of it.
|
|
82
|
+
*
|
|
83
|
+
* @param authServId The authserv-id as a caller gave it.
|
|
84
|
+
*/
|
|
85
|
+
export declare function requireAuthServId(authServId: unknown): string | undefined;
|
|
73
86
|
/**
|
|
74
87
|
* An address as a read gives it, in lowercase, or `undefined` when it names no local part or a domain with white space
|
|
75
88
|
* in it: its local part in quotes, as RFC 5322 writes it, only when it holds white space, a double quote or another
|
|
@@ -82,12 +95,14 @@ export interface HeaderFields {
|
|
|
82
95
|
*/
|
|
83
96
|
export declare function addressOf(text: string): string | undefined;
|
|
84
97
|
/**
|
|
85
|
-
* The DKIM, SPF and DMARC results, the domain the DMARC result names and the aligned domain a header block's
|
|
86
|
-
* Authentication-Results field records
|
|
87
|
-
*
|
|
88
|
-
*
|
|
98
|
+
* The DKIM, SPF and DMARC results, the domain the DMARC result names and the aligned domain a header block's topmost
|
|
99
|
+
* Authentication-Results field records, the receiving host's: given `authServId`, that field counts only when it names
|
|
100
|
+
* that host, and no field below it ever counts. A field that names no authserv-id, as Outlook writes it, is read from
|
|
101
|
+
* its first result and names no host. A result the field does not record, and a header with no field that counts, reads
|
|
102
|
+
* `none`. Comments are left out, so a semicolon inside one splits nothing, and a folded field is read whole. An
|
|
103
|
+
* `authServId` that is not text, holds a control character or is white space alone throws an `Error`.
|
|
89
104
|
*
|
|
90
|
-
* @param headerBlock The message's header block, or the fields of it a read fetched.
|
|
105
|
+
* @param headerBlock The message's header block, or the fields of it a read fetched, in the header's order.
|
|
91
106
|
* @param options The From address to align with and the receiving host's authserv-id.
|
|
92
107
|
*/
|
|
93
108
|
export declare function parseAuthenticationResults(headerBlock: string, options?: HeaderFieldOptions): EmailAuthentication;
|
|
@@ -95,7 +110,7 @@ export declare function parseAuthenticationResults(headerBlock: string, options?
|
|
|
95
110
|
* What a header block says beside the envelope: its Delivered-To addresses, its threading ids, the fields that mark a
|
|
96
111
|
* message a machine sent, and its Authentication-Results as `parseAuthenticationResults` reads them.
|
|
97
112
|
*
|
|
98
|
-
* @param headerBlock The message's header block, or the fields of it a read fetched.
|
|
113
|
+
* @param headerBlock The message's header block, or the fields of it a read fetched, in the header's order.
|
|
99
114
|
* @param options The From address to align with and the receiving host's authserv-id.
|
|
100
115
|
*/
|
|
101
116
|
export declare function readHeaderFields(headerBlock: string, options?: HeaderFieldOptions): HeaderFields;
|
package/dist/headers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+GAA+G;IAC/G,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+GAA+G;IAC/G,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,4FAA4F;AAC5F,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,4GAA4G;IAC5G,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6GAA6G;IAC7G,aAAa,EAAE,MAAM,CAAC;IACtB,qHAAqH;IACrH,UAAU,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,SAAS,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,cAAc,EAAE,mBAAmB,CAAC;CACrC;AAqBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIzE;AAmLD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW1D;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,mBAAmB,CAErH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,YAAY,CAgBpG"}
|
package/dist/headers.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* such as through Gmail's API, reads the same fields with `readHeaderFields`.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.requireAuthServId = requireAuthServId;
|
|
10
11
|
exports.addressOf = addressOf;
|
|
11
12
|
exports.parseAuthenticationResults = parseAuthenticationResults;
|
|
12
13
|
exports.readHeaderFields = readHeaderFields;
|
|
@@ -15,6 +16,22 @@ const messageHeaders_js_1 = require("./messageHeaders.js");
|
|
|
15
16
|
const TOKEN = /"(?:[^"\\]|\\.)*"?|=|[^\s="]+/g;
|
|
16
17
|
/** A domain: labels of characters other than white space, `@` and `.`, at least two, joined by dots. */
|
|
17
18
|
const DOMAIN = /^[^\s@.]+(?:\.[^\s@.]+)+$/;
|
|
19
|
+
/** A control character, which no host's name holds. */
|
|
20
|
+
const CONTROL = /[\x00-\x1f\x7f]/;
|
|
21
|
+
/**
|
|
22
|
+
* The receiving host's authserv-id in lowercase, or `undefined` when none is given: `undefined`, `null` or the empty
|
|
23
|
+
* string. A value that is not text, that holds a control character or that is white space alone, which would let the
|
|
24
|
+
* topmost field of any host count, throws an `Error` that holds none of it.
|
|
25
|
+
*
|
|
26
|
+
* @param authServId The authserv-id as a caller gave it.
|
|
27
|
+
*/
|
|
28
|
+
function requireAuthServId(authServId) {
|
|
29
|
+
if (authServId === undefined || authServId === null || authServId === '')
|
|
30
|
+
return undefined;
|
|
31
|
+
if (typeof authServId === 'string' && !CONTROL.test(authServId) && authServId.trim() !== '')
|
|
32
|
+
return authServId.trim().toLowerCase();
|
|
33
|
+
throw new Error('The authServId was refused: give it as the name of the host that received the mail');
|
|
34
|
+
}
|
|
18
35
|
/**
|
|
19
36
|
* `value` with each comment written as a space (RFC 5322 section 3.2.2): text in parentheses, which may nest and may
|
|
20
37
|
* hold a quoted pair, outside quoted strings, where a parenthesis is text.
|
|
@@ -118,12 +135,19 @@ function pairsOf(tokens) {
|
|
|
118
135
|
}
|
|
119
136
|
return pairs;
|
|
120
137
|
}
|
|
121
|
-
/**
|
|
138
|
+
/**
|
|
139
|
+
* One Authentication-Results field's authserv-id, in lowercase, and each result it records (RFC 8601 section 2.2). An
|
|
140
|
+
* authserv-id is a token or a quoted string (RFC 2045 section 5.1), and a bare `=` is part of neither, so a field whose
|
|
141
|
+
* text before its first semicolon holds one names no authserv-id, as Outlook writes the field: that text is its first
|
|
142
|
+
* result, and its authserv-id reads as the empty string, which names no host.
|
|
143
|
+
*/
|
|
122
144
|
function resultsOf(value) {
|
|
123
145
|
const [head = '', ...rest] = segmentsOf(withoutComments(value));
|
|
124
|
-
const
|
|
146
|
+
const headTokens = tokensOf(head);
|
|
147
|
+
const namesHost = !headTokens.includes(null);
|
|
148
|
+
const id = namesHost ? headTokens[0] : undefined;
|
|
125
149
|
const results = [];
|
|
126
|
-
for (const segment of rest) {
|
|
150
|
+
for (const segment of namesHost ? rest : [head, ...rest]) {
|
|
127
151
|
const [first, ...properties] = pairsOf(tokensOf(segment));
|
|
128
152
|
if (first === undefined)
|
|
129
153
|
continue;
|
|
@@ -149,19 +173,17 @@ function domainOf(text) {
|
|
|
149
173
|
.replace(/\.$/, '');
|
|
150
174
|
return DOMAIN.test(domain) ? domain : undefined;
|
|
151
175
|
}
|
|
152
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* The results of a header block's topmost Authentication-Results field: the receiving host's, since each host that
|
|
178
|
+
* checks a message adds its field at the top (RFC 8601 sections 2.1 and 4), so a field a sender wrote sits below it.
|
|
179
|
+
* Given `authServId`, that field counts only when it names that host, and no field below it ever counts, so a field a
|
|
180
|
+
* sender wrote naming that host is never read in place of a topmost field that names another host or none.
|
|
181
|
+
*/
|
|
153
182
|
function authenticationOf(fields, options) {
|
|
154
|
-
const wanted = options.authServId
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
continue;
|
|
159
|
-
const field = resultsOf(value);
|
|
160
|
-
if (wanted === undefined || wanted === '' || field.authServId === wanted) {
|
|
161
|
-
results = field.results;
|
|
162
|
-
break;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
183
|
+
const wanted = requireAuthServId(options.authServId);
|
|
184
|
+
const topmost = fields.find(([name]) => name.toLowerCase() === 'authentication-results');
|
|
185
|
+
const field = topmost === undefined ? undefined : resultsOf(topmost[1]);
|
|
186
|
+
const results = field !== undefined && (wanted === undefined || field.authServId === wanted) ? field.results : [];
|
|
165
187
|
const dkim = results.filter((entry) => entry.method === 'dkim');
|
|
166
188
|
const spf = results.find((entry) => entry.method === 'spf');
|
|
167
189
|
const dmarc = results.find((entry) => entry.method === 'dmarc');
|
|
@@ -223,12 +245,14 @@ function addressIn(value) {
|
|
|
223
245
|
return addressOf(angle === null ? text : (angle[1] ?? ''));
|
|
224
246
|
}
|
|
225
247
|
/**
|
|
226
|
-
* The DKIM, SPF and DMARC results, the domain the DMARC result names and the aligned domain a header block's
|
|
227
|
-
* Authentication-Results field records
|
|
228
|
-
*
|
|
229
|
-
*
|
|
248
|
+
* The DKIM, SPF and DMARC results, the domain the DMARC result names and the aligned domain a header block's topmost
|
|
249
|
+
* Authentication-Results field records, the receiving host's: given `authServId`, that field counts only when it names
|
|
250
|
+
* that host, and no field below it ever counts. A field that names no authserv-id, as Outlook writes it, is read from
|
|
251
|
+
* its first result and names no host. A result the field does not record, and a header with no field that counts, reads
|
|
252
|
+
* `none`. Comments are left out, so a semicolon inside one splits nothing, and a folded field is read whole. An
|
|
253
|
+
* `authServId` that is not text, holds a control character or is white space alone throws an `Error`.
|
|
230
254
|
*
|
|
231
|
-
* @param headerBlock The message's header block, or the fields of it a read fetched.
|
|
255
|
+
* @param headerBlock The message's header block, or the fields of it a read fetched, in the header's order.
|
|
232
256
|
* @param options The From address to align with and the receiving host's authserv-id.
|
|
233
257
|
*/
|
|
234
258
|
function parseAuthenticationResults(headerBlock, options = {}) {
|
|
@@ -238,7 +262,7 @@ function parseAuthenticationResults(headerBlock, options = {}) {
|
|
|
238
262
|
* What a header block says beside the envelope: its Delivered-To addresses, its threading ids, the fields that mark a
|
|
239
263
|
* message a machine sent, and its Authentication-Results as `parseAuthenticationResults` reads them.
|
|
240
264
|
*
|
|
241
|
-
* @param headerBlock The message's header block, or the fields of it a read fetched.
|
|
265
|
+
* @param headerBlock The message's header block, or the fields of it a read fetched, in the header's order.
|
|
242
266
|
* @param options The From address to align with and the receiving host's authserv-id.
|
|
243
267
|
*/
|
|
244
268
|
function readHeaderFields(headerBlock, options = {}) {
|
package/dist/headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,13 @@ export interface EmailChannelOptions {
|
|
|
20
20
|
imapPassword?: string;
|
|
21
21
|
imapPort?: number;
|
|
22
22
|
imapSecure?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The authserv-id of the host that takes mail into the mailbox the pack reads, such as `mx.google.com`: the
|
|
25
|
+
* `authServId` of a read that names none, and the one the `emailRead` and `emailSearch` tools read under; without it
|
|
26
|
+
* those tools leave `authentication` out of their answers. Falls back to the secret `email.authServId`, then to
|
|
27
|
+
* `EMAIL_AUTH_SERV_ID`; `null` and the empty string at any of them count as none given, so the next one counts.
|
|
28
|
+
*/
|
|
29
|
+
authServId?: string;
|
|
23
30
|
/**
|
|
24
31
|
* Resend's API key. With no SMTP host, mail is sent through Resend's HTTPS API. Falls back to the secret
|
|
25
32
|
* `email.resendApiKey`, then to `RESEND_API_KEY`.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAeH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -60,6 +60,8 @@ function resolveConfig(opts, secrets) {
|
|
|
60
60
|
secrets['email.imap.password'] ??
|
|
61
61
|
process.env.IMAP_PASSWORD ??
|
|
62
62
|
process.env.EMAIL_IMAP_PASSWORD;
|
|
63
|
+
// The first source that gives one: an empty value counts as none given, so the source after it counts.
|
|
64
|
+
const authServId = [opts.authServId, secrets['email.authServId'], process.env.EMAIL_AUTH_SERV_ID].find((value) => value !== undefined && value !== null && value !== '');
|
|
63
65
|
// SMTP stays the transport whenever a host is given; Resend sends only when a key is given and no SMTP host.
|
|
64
66
|
const config = smtpHost === '' && resendApiKey
|
|
65
67
|
? { resend: { apiKey: resendApiKey, baseUrl: opts.resendBaseUrl }, from }
|
|
@@ -82,6 +84,9 @@ function resolveConfig(opts, secrets) {
|
|
|
82
84
|
secure: opts.imapSecure,
|
|
83
85
|
};
|
|
84
86
|
}
|
|
87
|
+
// The service checks it, and throws for one that names no host.
|
|
88
|
+
if (authServId !== undefined)
|
|
89
|
+
config.authServId = authServId;
|
|
85
90
|
return config;
|
|
86
91
|
}
|
|
87
92
|
// ---------------------------------------------------------------------------
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,cAAc;AACd;;;;;;;;;;GAUG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/messages.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview A message as the `emailRead` and `emailSearch` tools answer it. A tool's answer goes to a model and may
|
|
3
3
|
* be cloned or written as JSON, so it carries plain data alone: each attachment's name, type and size without its
|
|
4
|
-
* `read()`, and the text once, as `body`, without the HTML part, which `EmailService`'s reads give a host.
|
|
4
|
+
* `read()`, and the text once, as `body`, without the HTML part, which `EmailService`'s reads give a host. A model
|
|
5
|
+
* cannot name the host that takes mail into the mailbox, so the answer carries `authentication` only when the service
|
|
6
|
+
* names that host's authserv-id (`EmailConfig.authServId`): a read that names none counts the topmost
|
|
7
|
+
* Authentication-Results field whatever host it names, and on a host that writes no field of its own that field is one
|
|
8
|
+
* the sender wrote.
|
|
5
9
|
*/
|
|
6
10
|
import type { EmailMessage } from '../EmailService.js';
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
import type { EmailAuthentication } from '../headers.js';
|
|
12
|
+
/**
|
|
13
|
+
* A message as the tools answer it: an `EmailMessage` without `html`, `text` and each attachment's `read()`, and with
|
|
14
|
+
* `authentication` only when the service names the receiving host's authserv-id.
|
|
15
|
+
*/
|
|
16
|
+
export type ToolMessage = Omit<EmailMessage, 'html' | 'text' | 'attachments' | 'authentication'> & {
|
|
17
|
+
authentication?: EmailAuthentication;
|
|
9
18
|
attachments: Array<{
|
|
10
19
|
name: string;
|
|
11
20
|
type: string;
|
|
@@ -16,6 +25,8 @@ export type ToolMessage = Omit<EmailMessage, 'html' | 'text' | 'attachments'> &
|
|
|
16
25
|
* `message` as the tools answer it.
|
|
17
26
|
*
|
|
18
27
|
* @param message A message `readInbox` or `searchEmails` gave.
|
|
28
|
+
* @param pinned Whether the read named the receiving host's authserv-id, the service's: only then is `authentication`
|
|
29
|
+
* given.
|
|
19
30
|
*/
|
|
20
|
-
export declare function toolMessageOf(message: EmailMessage): ToolMessage;
|
|
31
|
+
export declare function toolMessageOf(message: EmailMessage, pinned: boolean): ToolMessage;
|
|
21
32
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,gBAAgB,CAAC,GAAG;IACjG,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAOjF"}
|
package/dist/tools/messages.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileoverview A message as the `emailRead` and `emailSearch` tools answer it. A tool's answer goes to a model and may
|
|
4
4
|
* be cloned or written as JSON, so it carries plain data alone: each attachment's name, type and size without its
|
|
5
|
-
* `read()`, and the text once, as `body`, without the HTML part, which `EmailService`'s reads give a host.
|
|
5
|
+
* `read()`, and the text once, as `body`, without the HTML part, which `EmailService`'s reads give a host. A model
|
|
6
|
+
* cannot name the host that takes mail into the mailbox, so the answer carries `authentication` only when the service
|
|
7
|
+
* names that host's authserv-id (`EmailConfig.authServId`): a read that names none counts the topmost
|
|
8
|
+
* Authentication-Results field whatever host it names, and on a host that writes no field of its own that field is one
|
|
9
|
+
* the sender wrote.
|
|
6
10
|
*/
|
|
7
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
12
|
exports.toolMessageOf = toolMessageOf;
|
|
@@ -10,9 +14,15 @@ exports.toolMessageOf = toolMessageOf;
|
|
|
10
14
|
* `message` as the tools answer it.
|
|
11
15
|
*
|
|
12
16
|
* @param message A message `readInbox` or `searchEmails` gave.
|
|
17
|
+
* @param pinned Whether the read named the receiving host's authserv-id, the service's: only then is `authentication`
|
|
18
|
+
* given.
|
|
13
19
|
*/
|
|
14
|
-
function toolMessageOf(message) {
|
|
15
|
-
const { html: _html, text: _text, attachments, ...rest } = message;
|
|
16
|
-
return {
|
|
20
|
+
function toolMessageOf(message, pinned) {
|
|
21
|
+
const { html: _html, text: _text, attachments, authentication, ...rest } = message;
|
|
22
|
+
return {
|
|
23
|
+
...rest,
|
|
24
|
+
...(pinned ? { authentication } : {}),
|
|
25
|
+
attachments: attachments.map(({ name, type, bytes }) => ({ name, type, bytes })),
|
|
26
|
+
};
|
|
17
27
|
}
|
|
18
28
|
//# sourceMappingURL=messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/tools/messages.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAqBH,sCAOC;AAdD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,OAAqB,EAAE,MAAe;IAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnF,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KACjF,CAAC;AACJ,CAAC"}
|
package/dist/tools/read.d.ts
CHANGED
|
@@ -24,8 +24,10 @@ export declare class EmailReadTool {
|
|
|
24
24
|
};
|
|
25
25
|
constructor(service: EmailService);
|
|
26
26
|
/**
|
|
27
|
-
* Reads the folder through `EmailService.readInbox
|
|
28
|
-
*
|
|
27
|
+
* Reads the folder through `EmailService.readInbox`, under the service's `authServId`. Each message carries
|
|
28
|
+
* `authentication` only when the service names one, since a read that names none counts the topmost
|
|
29
|
+
* Authentication-Results field whatever host it names. A `limit` that is not a whole number of at least 1, or a
|
|
30
|
+
* `folder` that is not a name, is refused before any mail is read, with `{ success: false, error }`.
|
|
29
31
|
*/
|
|
30
32
|
execute(args: {
|
|
31
33
|
folder?: string;
|
package/dist/tools/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,aAAa;IAiBZ,OAAO,CAAC,OAAO;IAhB3B,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,gBAAgB;IACpC,QAAQ,CAAC,WAAW,sFAAsF;IAC1G,QAAQ,CAAC,QAAQ,mBAAmB;IACpC,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;MAMlB;gBAEkB,OAAO,EAAE,YAAY;IAEzC
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,aAAa;IAiBZ,OAAO,CAAC,OAAO;IAhB3B,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,gBAAgB;IACpC,QAAQ,CAAC,WAAW,sFAAsF;IAC1G,QAAQ,CAAC,QAAQ,mBAAmB;IACpC,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;MAMlB;gBAEkB,OAAO,EAAE,YAAY;IAEzC;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAW9D"}
|
package/dist/tools/read.js
CHANGED
|
@@ -21,14 +21,18 @@ class EmailReadTool {
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
* Reads the folder through `EmailService.readInbox
|
|
25
|
-
*
|
|
24
|
+
* Reads the folder through `EmailService.readInbox`, under the service's `authServId`. Each message carries
|
|
25
|
+
* `authentication` only when the service names one, since a read that names none counts the topmost
|
|
26
|
+
* Authentication-Results field whatever host it names. A `limit` that is not a whole number of at least 1, or a
|
|
27
|
+
* `folder` that is not a name, is refused before any mail is read, with `{ success: false, error }`.
|
|
26
28
|
*/
|
|
27
29
|
async execute(args) {
|
|
28
30
|
try {
|
|
29
31
|
// Named in one object, so a folder a model gives as anything but text is refused as a folder, never read as options.
|
|
30
32
|
const messages = await this.service.readInbox({ folder: args.folder ?? 'INBOX', limit: args.limit ?? 20 });
|
|
31
|
-
|
|
33
|
+
const pinned = this.service.authServId !== undefined;
|
|
34
|
+
const answered = messages.map((message) => (0, messages_js_1.toolMessageOf)(message, pinned));
|
|
35
|
+
return { success: true, data: { messages: answered, count: messages.length } };
|
|
32
36
|
}
|
|
33
37
|
catch (err) {
|
|
34
38
|
return { success: false, error: err.message };
|
package/dist/tools/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":";;;AAEA,+CAA8C;AAE9C,MAAa,aAAa;IAiBxB,YAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAhBhC,OAAE,GAAG,WAAW,CAAC;QACjB,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,gBAAW,GAAG,kFAAkF,CAAC;QACjG,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,KAAK,CAAC;QAEvB,gBAAW,GAAG;YACrB,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kFAAkF,EAAE;aACxI;SACF,CAAC;IAE0C,CAAC;IAE7C
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/tools/read.ts"],"names":[],"mappings":";;;AAEA,+CAA8C;AAE9C,MAAa,aAAa;IAiBxB,YAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAhBhC,OAAE,GAAG,WAAW,CAAC;QACjB,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,YAAY,CAAC;QAC3B,gBAAW,GAAG,kFAAkF,CAAC;QACjG,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,KAAK,CAAC;QAEvB,gBAAW,GAAG;YACrB,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,kFAAkF,EAAE;aACxI;SACF,CAAC;IAE0C,CAAC;IAE7C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,IAGb;QACC,IAAI,CAAC;YACH,qHAAqH;YACrH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3G,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,2BAAa,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACjF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAvCD,sCAuCC"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -28,8 +28,10 @@ export declare class EmailSearchTool {
|
|
|
28
28
|
};
|
|
29
29
|
constructor(service: EmailService);
|
|
30
30
|
/**
|
|
31
|
-
* Searches through `EmailService.searchEmails` and gives the last 20 messages
|
|
32
|
-
*
|
|
31
|
+
* Searches through `EmailService.searchEmails`, under the service's `authServId`, and gives the last 20 messages
|
|
32
|
+
* found, newest first, each with `authentication` only when the service names one, since a read that names none
|
|
33
|
+
* counts the topmost Authentication-Results field whatever host it names. A `since` that is not an ISO 8601 date, or
|
|
34
|
+
* names a day its month lacks, is refused before the search, with `{ success: false, error }`.
|
|
33
35
|
*/
|
|
34
36
|
execute(args: {
|
|
35
37
|
query: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,eAAe;IAuBd,OAAO,CAAC,OAAO;IAtB3B,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,4EAA4E;IAChG,QAAQ,CAAC,QAAQ,mBAAmB;IACpC,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;MAYlB;gBAEkB,OAAO,EAAE,YAAY;IAEzC
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,eAAe;IAuBd,OAAO,CAAC,OAAO;IAtB3B,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,4EAA4E;IAChG,QAAQ,CAAC,QAAQ,mBAAmB;IACpC,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;MAYlB;gBAEkB,OAAO,EAAE,YAAY;IAEzC;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAc9D"}
|
package/dist/tools/search.js
CHANGED
|
@@ -26,8 +26,10 @@ class EmailSearchTool {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Searches through `EmailService.searchEmails` and gives the last 20 messages
|
|
30
|
-
*
|
|
29
|
+
* Searches through `EmailService.searchEmails`, under the service's `authServId`, and gives the last 20 messages
|
|
30
|
+
* found, newest first, each with `authentication` only when the service names one, since a read that names none
|
|
31
|
+
* counts the topmost Authentication-Results field whatever host it names. A `since` that is not an ISO 8601 date, or
|
|
32
|
+
* names a day its month lacks, is refused before the search, with `{ success: false, error }`.
|
|
31
33
|
*/
|
|
32
34
|
async execute(args) {
|
|
33
35
|
try {
|
|
@@ -36,7 +38,9 @@ class EmailSearchTool {
|
|
|
36
38
|
folder: args.folder,
|
|
37
39
|
since: args.since,
|
|
38
40
|
});
|
|
39
|
-
|
|
41
|
+
const pinned = this.service.authServId !== undefined;
|
|
42
|
+
const answered = messages.map((message) => (0, messages_js_1.toolMessageOf)(message, pinned));
|
|
43
|
+
return { success: true, data: { messages: answered, count: messages.length } };
|
|
40
44
|
}
|
|
41
45
|
catch (err) {
|
|
42
46
|
return { success: false, error: err.message };
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":";;;AAEA,+CAA8C;AAE9C,MAAa,eAAe;IAuB1B,YAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAtBhC,OAAE,GAAG,aAAa,CAAC;QACnB,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,eAAe,CAAC;QAC9B,gBAAW,GAAG,wEAAwE,CAAC;QACvF,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,KAAK,CAAC;QAEvB,gBAAW,GAAG;YACrB,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAC1F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACjF,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sIAAsI;iBACzI;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC;IAE0C,CAAC;IAE7C
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":";;;AAEA,+CAA8C;AAE9C,MAAa,eAAe;IAuB1B,YAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAtBhC,OAAE,GAAG,aAAa,CAAC;QACnB,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,eAAe,CAAC;QAC9B,gBAAW,GAAG,wEAAwE,CAAC;QACvF,aAAQ,GAAG,eAAe,CAAC;QAC3B,YAAO,GAAG,OAAO,CAAC;QAClB,mBAAc,GAAG,KAAK,CAAC;QAEvB,gBAAW,GAAG;YACrB,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAC1F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBACjF,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,sIAAsI;iBACzI;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC;IAE0C,CAAC;IAE7C;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,IAIb;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,2BAAa,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACjF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAjDD,0CAiDC"}
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
|
|
3
3
|
"id": "com.framers.channels.email",
|
|
4
4
|
"name": "Email Channel Extension",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.6.0",
|
|
6
6
|
"description": "Bidirectional email integration: send through SMTP or Resend's HTTPS API; read, search, extract verification codes, reply, move, label, flag and delete through IMAP; keep a suppression record and unsubscribe tokens on a SQL database.",
|
|
7
7
|
"categories": ["channel", "communication"],
|
|
8
8
|
"platforms": ["email"],
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{ "kind": "messaging-channel", "id": "emailChannel", "displayName": "Email Channel Adapter" }
|
|
17
17
|
],
|
|
18
18
|
"requiredSecrets": ["email.smtpHost", "email.smtpUser", "email.smtpPassword"],
|
|
19
|
-
"optionalSecrets": ["email.imap.host", "email.imap.user", "email.imap.password", "email.resendApiKey"],
|
|
19
|
+
"optionalSecrets": ["email.imap.host", "email.imap.user", "email.imap.password", "email.authServId", "email.resendApiKey"],
|
|
20
20
|
"features": [
|
|
21
21
|
"Send emails with text, HTML, and attachments via SMTP or Resend's HTTPS API",
|
|
22
22
|
"Read inbox and other IMAP folders",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos-ext-channel-email",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Email channel adapter for AgentOS: send through SMTP or Resend's HTTPS API; read, search, extract codes, reply, move, label, flag and delete through IMAP; keep a suppression record and unsubscribe tokens on a SQL database.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|