aamp-sdk 0.1.20 → 0.1.22
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 +71 -1
- package/dist/client.d.ts +20 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -10
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/jmap-push.d.ts +3 -1
- package/dist/jmap-push.d.ts.map +1 -1
- package/dist/jmap-push.js +6 -0
- package/dist/jmap-push.js.map +1 -1
- package/dist/pairing.d.ts +51 -0
- package/dist/pairing.js +180 -0
- package/dist/pairing.js.map +1 -0
- package/dist/parser.d.ts +10 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +77 -7
- package/dist/parser.js.map +1 -1
- package/dist/smtp-sender.d.ts +9 -1
- package/dist/smtp-sender.d.ts.map +1 -1
- package/dist/smtp-sender.js +277 -67
- package/dist/smtp-sender.js.map +1 -1
- package/dist/types.d.ts +48 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/smtp-sender.js
CHANGED
|
@@ -7,7 +7,26 @@ import { createTransport } from 'nodemailer';
|
|
|
7
7
|
import { randomUUID } from 'crypto';
|
|
8
8
|
/** Strip CR/LF to prevent email header injection */
|
|
9
9
|
const sanitize = (s) => s.replace(/[\r\n]/g, ' ').trim();
|
|
10
|
-
|
|
10
|
+
const HTTP_SEND_MAX_ATTEMPTS = 4;
|
|
11
|
+
const HTTP_SEND_RETRY_BASE_DELAY_MS = 500;
|
|
12
|
+
function sleep(ms) {
|
|
13
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
14
|
+
}
|
|
15
|
+
function isRetryableHttpStatus(status) {
|
|
16
|
+
return status === 408 || status === 409 || status === 425 || status === 429 || status >= 500;
|
|
17
|
+
}
|
|
18
|
+
function describeError(err) {
|
|
19
|
+
if (!(err instanceof Error))
|
|
20
|
+
return String(err);
|
|
21
|
+
const details = err;
|
|
22
|
+
const parts = [err.message];
|
|
23
|
+
if (details.code)
|
|
24
|
+
parts.push(`code=${details.code}`);
|
|
25
|
+
if (details.cause instanceof Error)
|
|
26
|
+
parts.push(`cause=${describeError(details.cause)}`);
|
|
27
|
+
return parts.join(' | ');
|
|
28
|
+
}
|
|
29
|
+
import { buildDispatchHeaders, buildCancelHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, buildStreamOpenedHeaders, buildPairRequestHeaders, buildPairRespondHeaders, buildCardQueryHeaders, buildCardResponseHeaders, } from './parser.js';
|
|
11
30
|
export function deriveMailboxServiceDefaults(email, baseUrl) {
|
|
12
31
|
const domain = email.split('@')[1]?.trim();
|
|
13
32
|
const resolvedBaseUrl = baseUrl?.trim() || (domain ? `https://${domain}` : undefined);
|
|
@@ -101,43 +120,80 @@ export class SmtpSender {
|
|
|
101
120
|
if (!this.config.authToken) {
|
|
102
121
|
throw new Error('HTTP send fallback is not configured');
|
|
103
122
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
let lastError = null;
|
|
124
|
+
for (let attempt = 1; attempt <= HTTP_SEND_MAX_ATTEMPTS; attempt += 1) {
|
|
125
|
+
const apiUrl = new URL(await this.resolveAampApiUrl());
|
|
126
|
+
apiUrl.searchParams.set('action', 'aamp.mailbox.send');
|
|
127
|
+
try {
|
|
128
|
+
const res = await this.fetch(apiUrl, {
|
|
129
|
+
method: 'POST',
|
|
130
|
+
headers: {
|
|
131
|
+
Authorization: `Basic ${this.config.authToken}`,
|
|
132
|
+
'Content-Type': 'application/json',
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify({
|
|
135
|
+
to: opts.to,
|
|
136
|
+
subject: opts.subject,
|
|
137
|
+
text: opts.text,
|
|
138
|
+
aampHeaders: opts.aampHeaders,
|
|
139
|
+
attachments: opts.attachments?.map((a) => ({
|
|
140
|
+
filename: a.filename,
|
|
141
|
+
contentType: a.contentType,
|
|
142
|
+
content: typeof a.content === 'string' ? a.content : a.content.toString('base64'),
|
|
143
|
+
})),
|
|
144
|
+
}),
|
|
145
|
+
});
|
|
146
|
+
const data = await res.json().catch(() => ({}));
|
|
147
|
+
if (res.ok)
|
|
148
|
+
return { messageId: data.messageId };
|
|
149
|
+
lastError = new Error(data.details || `HTTP send failed: ${res.status}`);
|
|
150
|
+
if (!isRetryableHttpStatus(res.status) || attempt === HTTP_SEND_MAX_ATTEMPTS)
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
155
|
+
if (attempt === HTTP_SEND_MAX_ATTEMPTS) {
|
|
156
|
+
lastError = new Error(`HTTP send failed after ${attempt} attempts: ${describeError(lastError)}`);
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
await sleep(HTTP_SEND_RETRY_BASE_DELAY_MS * attempt);
|
|
127
161
|
}
|
|
128
|
-
|
|
162
|
+
throw lastError ?? new Error('HTTP send failed');
|
|
129
163
|
}
|
|
130
164
|
canPersistSentCopy() {
|
|
131
165
|
if (this.config.persistSentCopy === false)
|
|
132
166
|
return false;
|
|
133
167
|
return Boolean(this.config.httpBaseUrl && this.config.authToken);
|
|
134
168
|
}
|
|
169
|
+
normalizeAttachments(attachments) {
|
|
170
|
+
if (!attachments?.length)
|
|
171
|
+
return undefined;
|
|
172
|
+
return attachments.map(a => ({
|
|
173
|
+
filename: a.filename,
|
|
174
|
+
contentType: a.contentType,
|
|
175
|
+
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
135
178
|
getJmapAuthHeader() {
|
|
136
179
|
if (!this.config.authToken) {
|
|
137
180
|
throw new Error('JMAP auth token is not configured');
|
|
138
181
|
}
|
|
139
182
|
return `Basic ${this.config.authToken}`;
|
|
140
183
|
}
|
|
184
|
+
rewriteUrlToConfiguredOrigin(rawUrl) {
|
|
185
|
+
const base = this.config.httpBaseUrl?.replace(/\/$/, '');
|
|
186
|
+
if (!base)
|
|
187
|
+
return rawUrl;
|
|
188
|
+
const parsed = new URL(rawUrl, `${base}/`);
|
|
189
|
+
const configured = new URL(base);
|
|
190
|
+
parsed.protocol = configured.protocol;
|
|
191
|
+
parsed.username = configured.username;
|
|
192
|
+
parsed.password = configured.password;
|
|
193
|
+
parsed.hostname = configured.hostname;
|
|
194
|
+
parsed.port = configured.port;
|
|
195
|
+
return parsed.toString();
|
|
196
|
+
}
|
|
141
197
|
async resolveJmapSession() {
|
|
142
198
|
const base = this.config.httpBaseUrl?.replace(/\/$/, '');
|
|
143
199
|
if (!base) {
|
|
@@ -160,6 +216,7 @@ export class SmtpSender {
|
|
|
160
216
|
return {
|
|
161
217
|
accountId,
|
|
162
218
|
apiUrl: `${base}/jmap/`,
|
|
219
|
+
uploadUrl: this.rewriteUrlToConfiguredOrigin(session.uploadUrl ?? `${base}/jmap/upload/{accountId}/`),
|
|
163
220
|
};
|
|
164
221
|
})();
|
|
165
222
|
}
|
|
@@ -197,6 +254,42 @@ export class SmtpSender {
|
|
|
197
254
|
const data = await res.json();
|
|
198
255
|
return data.methodResponses ?? [];
|
|
199
256
|
}
|
|
257
|
+
async uploadSentAttachment(attachment) {
|
|
258
|
+
const session = await this.resolveJmapSession();
|
|
259
|
+
const content = typeof attachment.content === 'string'
|
|
260
|
+
? Buffer.from(attachment.content, 'base64')
|
|
261
|
+
: attachment.content;
|
|
262
|
+
const uploadUrl = session.uploadUrl
|
|
263
|
+
.replace(/\{accountId\}|%7BaccountId%7D/gi, encodeURIComponent(session.accountId));
|
|
264
|
+
const res = await this.fetch(uploadUrl, {
|
|
265
|
+
method: 'POST',
|
|
266
|
+
headers: {
|
|
267
|
+
Authorization: this.getJmapAuthHeader(),
|
|
268
|
+
'Content-Type': attachment.contentType,
|
|
269
|
+
},
|
|
270
|
+
body: content,
|
|
271
|
+
});
|
|
272
|
+
const bodyText = await res.text();
|
|
273
|
+
if (!res.ok) {
|
|
274
|
+
throw new Error(`JMAP attachment upload failed: ${res.status} ${bodyText}`);
|
|
275
|
+
}
|
|
276
|
+
let data;
|
|
277
|
+
try {
|
|
278
|
+
data = JSON.parse(bodyText);
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
throw new Error('JMAP attachment upload returned invalid JSON');
|
|
282
|
+
}
|
|
283
|
+
if (!data.blobId) {
|
|
284
|
+
throw new Error('JMAP attachment upload did not return blobId');
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
blobId: data.blobId,
|
|
288
|
+
type: data.type ?? attachment.contentType,
|
|
289
|
+
size: data.size ?? content.byteLength,
|
|
290
|
+
name: attachment.filename,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
200
293
|
async getSentMailboxId() {
|
|
201
294
|
if (!this.sentMailboxIdPromise) {
|
|
202
295
|
this.sentMailboxIdPromise = (async () => {
|
|
@@ -222,20 +315,46 @@ export class SmtpSender {
|
|
|
222
315
|
const sentMailboxId = await this.getSentMailboxId();
|
|
223
316
|
if (!sentMailboxId)
|
|
224
317
|
return;
|
|
318
|
+
const uploadedAttachments = params.attachments?.length
|
|
319
|
+
? await Promise.all(params.attachments.map((attachment) => this.uploadSentAttachment(attachment)))
|
|
320
|
+
: [];
|
|
225
321
|
const emailCreate = {
|
|
226
322
|
mailboxIds: { [sentMailboxId]: true },
|
|
227
323
|
from: [{ email: params.from }],
|
|
228
324
|
to: [{ email: params.to }],
|
|
229
325
|
subject: params.subject,
|
|
230
|
-
|
|
326
|
+
keywords: { '$seen': true },
|
|
327
|
+
};
|
|
328
|
+
if (uploadedAttachments.length) {
|
|
329
|
+
emailCreate.bodyStructure = {
|
|
330
|
+
type: 'multipart/mixed',
|
|
331
|
+
subParts: [
|
|
332
|
+
{ partId: 'body', type: 'text/plain' },
|
|
333
|
+
...uploadedAttachments.map((attachment) => ({
|
|
334
|
+
blobId: attachment.blobId,
|
|
335
|
+
type: attachment.type,
|
|
336
|
+
size: attachment.size,
|
|
337
|
+
name: attachment.name,
|
|
338
|
+
disposition: 'attachment',
|
|
339
|
+
})),
|
|
340
|
+
],
|
|
341
|
+
};
|
|
342
|
+
emailCreate.bodyValues = {
|
|
343
|
+
body: {
|
|
344
|
+
value: params.text,
|
|
345
|
+
isTruncated: false,
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
emailCreate.bodyValues = {
|
|
231
351
|
body: {
|
|
232
352
|
value: params.text,
|
|
233
353
|
charset: 'utf-8',
|
|
234
354
|
},
|
|
235
|
-
}
|
|
236
|
-
textBody
|
|
237
|
-
|
|
238
|
-
};
|
|
355
|
+
};
|
|
356
|
+
emailCreate.textBody = [{ partId: 'body', type: 'text/plain' }];
|
|
357
|
+
}
|
|
239
358
|
if (params.inReplyTo) {
|
|
240
359
|
emailCreate['header:In-Reply-To:asText'] = ` ${sanitize(params.inReplyTo)}`;
|
|
241
360
|
}
|
|
@@ -259,6 +378,12 @@ export class SmtpSender {
|
|
|
259
378
|
await this.saveToSent(params);
|
|
260
379
|
}
|
|
261
380
|
catch {
|
|
381
|
+
if (params.attachments?.length) {
|
|
382
|
+
try {
|
|
383
|
+
await this.saveToSent({ ...params, attachments: undefined });
|
|
384
|
+
}
|
|
385
|
+
catch { /* non-fatal */ }
|
|
386
|
+
}
|
|
262
387
|
// Non-fatal: mail delivery already succeeded, Sent copy is only for visibility/debugging.
|
|
263
388
|
}
|
|
264
389
|
}
|
|
@@ -269,11 +394,11 @@ export class SmtpSender {
|
|
|
269
394
|
*/
|
|
270
395
|
async sendTask(opts) {
|
|
271
396
|
const taskId = opts.taskId ?? randomUUID();
|
|
397
|
+
const attachments = this.normalizeAttachments(opts.attachments);
|
|
272
398
|
const aampHeaders = buildDispatchHeaders({
|
|
273
399
|
taskId,
|
|
274
400
|
priority: opts.priority,
|
|
275
401
|
expiresAt: opts.expiresAt,
|
|
276
|
-
contextLinks: opts.contextLinks ?? [],
|
|
277
402
|
dispatchContext: opts.dispatchContext,
|
|
278
403
|
parentTaskId: opts.parentTaskId,
|
|
279
404
|
});
|
|
@@ -286,9 +411,6 @@ export class SmtpSender {
|
|
|
286
411
|
`Task ID: ${taskId}`,
|
|
287
412
|
`Priority: ${opts.priority ?? 'normal'}`,
|
|
288
413
|
opts.expiresAt ? `Expires At: ${opts.expiresAt}` : `Expires At: none`,
|
|
289
|
-
opts.contextLinks?.length
|
|
290
|
-
? `Context:\n${opts.contextLinks.map((l) => ` ${l}`).join('\n')}`
|
|
291
|
-
: '',
|
|
292
414
|
opts.bodyText ?? '',
|
|
293
415
|
``,
|
|
294
416
|
`--- This email was sent by AAMP. Reply directly to submit your result. ---`,
|
|
@@ -297,12 +419,8 @@ export class SmtpSender {
|
|
|
297
419
|
.join('\n'),
|
|
298
420
|
headers: aampHeaders,
|
|
299
421
|
};
|
|
300
|
-
if (
|
|
301
|
-
sendMailOpts.attachments =
|
|
302
|
-
filename: a.filename,
|
|
303
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
304
|
-
contentType: a.contentType,
|
|
305
|
-
}));
|
|
422
|
+
if (attachments) {
|
|
423
|
+
sendMailOpts.attachments = attachments;
|
|
306
424
|
}
|
|
307
425
|
if (this.shouldUseHttpFallback(opts.to)) {
|
|
308
426
|
const info = await this.sendViaHttp({
|
|
@@ -310,11 +428,7 @@ export class SmtpSender {
|
|
|
310
428
|
subject: sendMailOpts.subject,
|
|
311
429
|
text: sendMailOpts.text,
|
|
312
430
|
aampHeaders,
|
|
313
|
-
attachments
|
|
314
|
-
filename: a.filename,
|
|
315
|
-
contentType: a.contentType,
|
|
316
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
317
|
-
})),
|
|
431
|
+
attachments,
|
|
318
432
|
});
|
|
319
433
|
await this.saveToSentBestEffort({
|
|
320
434
|
from: this.config.user,
|
|
@@ -323,6 +437,7 @@ export class SmtpSender {
|
|
|
323
437
|
text: sendMailOpts.text,
|
|
324
438
|
aampHeaders,
|
|
325
439
|
messageId: info.messageId,
|
|
440
|
+
attachments,
|
|
326
441
|
});
|
|
327
442
|
return { taskId, messageId: info.messageId ?? '' };
|
|
328
443
|
}
|
|
@@ -334,6 +449,7 @@ export class SmtpSender {
|
|
|
334
449
|
text: sendMailOpts.text,
|
|
335
450
|
aampHeaders,
|
|
336
451
|
messageId: info.messageId,
|
|
452
|
+
attachments,
|
|
337
453
|
});
|
|
338
454
|
return { taskId, messageId: info.messageId ?? '' };
|
|
339
455
|
}
|
|
@@ -341,6 +457,7 @@ export class SmtpSender {
|
|
|
341
457
|
* Send a task.result email back to the dispatcher
|
|
342
458
|
*/
|
|
343
459
|
async sendResult(opts) {
|
|
460
|
+
const attachments = this.normalizeAttachments(opts.attachments);
|
|
344
461
|
const aampHeaders = buildResultHeaders({
|
|
345
462
|
taskId: opts.taskId,
|
|
346
463
|
status: opts.status,
|
|
@@ -370,12 +487,8 @@ export class SmtpSender {
|
|
|
370
487
|
mailOpts.inReplyTo = opts.inReplyTo;
|
|
371
488
|
mailOpts.references = opts.inReplyTo;
|
|
372
489
|
}
|
|
373
|
-
if (
|
|
374
|
-
mailOpts.attachments =
|
|
375
|
-
filename: a.filename,
|
|
376
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
377
|
-
contentType: a.contentType,
|
|
378
|
-
}));
|
|
490
|
+
if (attachments) {
|
|
491
|
+
mailOpts.attachments = attachments;
|
|
379
492
|
}
|
|
380
493
|
if (this.shouldUseHttpFallback(opts.to)) {
|
|
381
494
|
const info = await this.sendViaHttp({
|
|
@@ -383,11 +496,7 @@ export class SmtpSender {
|
|
|
383
496
|
subject: mailOpts.subject,
|
|
384
497
|
text: mailOpts.text,
|
|
385
498
|
aampHeaders,
|
|
386
|
-
attachments
|
|
387
|
-
filename: a.filename,
|
|
388
|
-
contentType: a.contentType,
|
|
389
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
390
|
-
})),
|
|
499
|
+
attachments,
|
|
391
500
|
});
|
|
392
501
|
await this.saveToSentBestEffort({
|
|
393
502
|
from: this.config.user,
|
|
@@ -398,6 +507,7 @@ export class SmtpSender {
|
|
|
398
507
|
messageId: info.messageId,
|
|
399
508
|
inReplyTo: opts.inReplyTo,
|
|
400
509
|
references: opts.inReplyTo,
|
|
510
|
+
attachments,
|
|
401
511
|
});
|
|
402
512
|
return;
|
|
403
513
|
}
|
|
@@ -411,12 +521,14 @@ export class SmtpSender {
|
|
|
411
521
|
messageId: info.messageId,
|
|
412
522
|
inReplyTo: opts.inReplyTo,
|
|
413
523
|
references: opts.inReplyTo,
|
|
524
|
+
attachments,
|
|
414
525
|
});
|
|
415
526
|
}
|
|
416
527
|
/**
|
|
417
528
|
* Send a task.help_needed email when the agent is blocked
|
|
418
529
|
*/
|
|
419
530
|
async sendHelp(opts) {
|
|
531
|
+
const attachments = this.normalizeAttachments(opts.attachments);
|
|
420
532
|
const aampHeaders = buildHelpHeaders({
|
|
421
533
|
taskId: opts.taskId,
|
|
422
534
|
question: opts.question,
|
|
@@ -448,12 +560,8 @@ export class SmtpSender {
|
|
|
448
560
|
helpMailOpts.inReplyTo = opts.inReplyTo;
|
|
449
561
|
helpMailOpts.references = opts.inReplyTo;
|
|
450
562
|
}
|
|
451
|
-
if (
|
|
452
|
-
helpMailOpts.attachments =
|
|
453
|
-
filename: a.filename,
|
|
454
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
455
|
-
contentType: a.contentType,
|
|
456
|
-
}));
|
|
563
|
+
if (attachments) {
|
|
564
|
+
helpMailOpts.attachments = attachments;
|
|
457
565
|
}
|
|
458
566
|
if (this.shouldUseHttpFallback(opts.to)) {
|
|
459
567
|
const info = await this.sendViaHttp({
|
|
@@ -461,11 +569,7 @@ export class SmtpSender {
|
|
|
461
569
|
subject: helpMailOpts.subject,
|
|
462
570
|
text: helpMailOpts.text,
|
|
463
571
|
aampHeaders,
|
|
464
|
-
attachments
|
|
465
|
-
filename: a.filename,
|
|
466
|
-
contentType: a.contentType,
|
|
467
|
-
content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
|
|
468
|
-
})),
|
|
572
|
+
attachments,
|
|
469
573
|
});
|
|
470
574
|
await this.saveToSentBestEffort({
|
|
471
575
|
from: this.config.user,
|
|
@@ -476,6 +580,7 @@ export class SmtpSender {
|
|
|
476
580
|
messageId: info.messageId,
|
|
477
581
|
inReplyTo: opts.inReplyTo,
|
|
478
582
|
references: opts.inReplyTo,
|
|
583
|
+
attachments,
|
|
479
584
|
});
|
|
480
585
|
return;
|
|
481
586
|
}
|
|
@@ -489,6 +594,7 @@ export class SmtpSender {
|
|
|
489
594
|
messageId: info.messageId,
|
|
490
595
|
inReplyTo: opts.inReplyTo,
|
|
491
596
|
references: opts.inReplyTo,
|
|
597
|
+
attachments,
|
|
492
598
|
});
|
|
493
599
|
}
|
|
494
600
|
/**
|
|
@@ -634,6 +740,110 @@ export class SmtpSender {
|
|
|
634
740
|
references: opts.inReplyTo,
|
|
635
741
|
});
|
|
636
742
|
}
|
|
743
|
+
async sendPairRequest(opts) {
|
|
744
|
+
const taskId = opts.taskId ?? randomUUID();
|
|
745
|
+
const aampHeaders = buildPairRequestHeaders({
|
|
746
|
+
taskId,
|
|
747
|
+
pairCode: opts.pairCode,
|
|
748
|
+
dispatchContextRules: opts.dispatchContextRules ?? {},
|
|
749
|
+
});
|
|
750
|
+
const text = [
|
|
751
|
+
'AAMP Pair Request',
|
|
752
|
+
'',
|
|
753
|
+
`Pair code: ${opts.pairCode}`,
|
|
754
|
+
`Dispatch context rules: ${JSON.stringify(opts.dispatchContextRules ?? {})}`,
|
|
755
|
+
].join('\n');
|
|
756
|
+
const mailOpts = {
|
|
757
|
+
from: this.config.user,
|
|
758
|
+
to: opts.to,
|
|
759
|
+
subject: '[AAMP Pair] Connection request',
|
|
760
|
+
text,
|
|
761
|
+
headers: aampHeaders,
|
|
762
|
+
};
|
|
763
|
+
if (this.shouldUseHttpFallback(opts.to)) {
|
|
764
|
+
const info = await this.sendViaHttp({
|
|
765
|
+
to: opts.to,
|
|
766
|
+
subject: mailOpts.subject,
|
|
767
|
+
text,
|
|
768
|
+
aampHeaders,
|
|
769
|
+
});
|
|
770
|
+
await this.saveToSentBestEffort({
|
|
771
|
+
from: this.config.user,
|
|
772
|
+
to: opts.to,
|
|
773
|
+
subject: mailOpts.subject,
|
|
774
|
+
text,
|
|
775
|
+
aampHeaders,
|
|
776
|
+
messageId: info.messageId,
|
|
777
|
+
});
|
|
778
|
+
return { taskId, messageId: info.messageId ?? '' };
|
|
779
|
+
}
|
|
780
|
+
const info = await this.transport.sendMail(mailOpts);
|
|
781
|
+
await this.saveToSentBestEffort({
|
|
782
|
+
from: this.config.user,
|
|
783
|
+
to: opts.to,
|
|
784
|
+
subject: mailOpts.subject,
|
|
785
|
+
text,
|
|
786
|
+
aampHeaders,
|
|
787
|
+
messageId: info.messageId,
|
|
788
|
+
});
|
|
789
|
+
return { taskId, messageId: info.messageId ?? '' };
|
|
790
|
+
}
|
|
791
|
+
async sendPairRespond(opts) {
|
|
792
|
+
const aampHeaders = buildPairRespondHeaders({
|
|
793
|
+
taskId: opts.taskId,
|
|
794
|
+
success: opts.success,
|
|
795
|
+
reason: opts.reason,
|
|
796
|
+
});
|
|
797
|
+
const status = opts.success ? 'completed' : 'rejected';
|
|
798
|
+
const text = [
|
|
799
|
+
'AAMP Pair Response',
|
|
800
|
+
'',
|
|
801
|
+
`Task ID: ${opts.taskId}`,
|
|
802
|
+
`Status: ${status}`,
|
|
803
|
+
...(opts.reason?.trim() ? ['', `Reason: ${opts.reason.trim()}`] : []),
|
|
804
|
+
].join('\n');
|
|
805
|
+
const mailOpts = {
|
|
806
|
+
from: this.config.user,
|
|
807
|
+
to: opts.to,
|
|
808
|
+
subject: `[AAMP Pair] ${status}`,
|
|
809
|
+
text,
|
|
810
|
+
headers: aampHeaders,
|
|
811
|
+
};
|
|
812
|
+
if (opts.inReplyTo) {
|
|
813
|
+
mailOpts.inReplyTo = opts.inReplyTo;
|
|
814
|
+
mailOpts.references = opts.inReplyTo;
|
|
815
|
+
}
|
|
816
|
+
if (this.shouldUseHttpFallback(opts.to)) {
|
|
817
|
+
const info = await this.sendViaHttp({
|
|
818
|
+
to: opts.to,
|
|
819
|
+
subject: mailOpts.subject,
|
|
820
|
+
text,
|
|
821
|
+
aampHeaders,
|
|
822
|
+
});
|
|
823
|
+
await this.saveToSentBestEffort({
|
|
824
|
+
from: this.config.user,
|
|
825
|
+
to: opts.to,
|
|
826
|
+
subject: mailOpts.subject,
|
|
827
|
+
text,
|
|
828
|
+
aampHeaders,
|
|
829
|
+
messageId: info.messageId,
|
|
830
|
+
inReplyTo: opts.inReplyTo,
|
|
831
|
+
references: opts.inReplyTo,
|
|
832
|
+
});
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
const info = await this.transport.sendMail(mailOpts);
|
|
836
|
+
await this.saveToSentBestEffort({
|
|
837
|
+
from: this.config.user,
|
|
838
|
+
to: opts.to,
|
|
839
|
+
subject: mailOpts.subject,
|
|
840
|
+
text,
|
|
841
|
+
aampHeaders,
|
|
842
|
+
messageId: info.messageId,
|
|
843
|
+
inReplyTo: opts.inReplyTo,
|
|
844
|
+
references: opts.inReplyTo,
|
|
845
|
+
});
|
|
846
|
+
}
|
|
637
847
|
async sendCardQuery(opts) {
|
|
638
848
|
const taskId = opts.taskId ?? randomUUID();
|
|
639
849
|
const aampHeaders = buildCardQueryHeaders({ taskId });
|
package/dist/smtp-sender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smtp-sender.js","sourceRoot":"","sources":["../src/smtp-sender.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smtp-sender.js","sourceRoot":"","sources":["../src/smtp-sender.ts"],"names":[],"mappings":"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"}
|