aamp-sdk 0.1.13 → 0.1.15

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.
@@ -7,7 +7,7 @@ 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
- import { buildDispatchHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders } from './parser.js';
10
+ import { buildDispatchHeaders, buildCancelHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, buildStreamOpenedHeaders, buildCardQueryHeaders, buildCardResponseHeaders, } from './parser.js';
11
11
  export function deriveMailboxServiceDefaults(email, baseUrl) {
12
12
  const domain = email.split('@')[1]?.trim();
13
13
  const resolvedBaseUrl = baseUrl?.trim() || (domain ? `https://${domain}` : undefined);
@@ -20,6 +20,9 @@ export function deriveMailboxServiceDefaults(email, baseUrl) {
20
20
  export class SmtpSender {
21
21
  config;
22
22
  transport;
23
+ discoveredApiUrlPromise = null;
24
+ jmapSessionPromise = null;
25
+ sentMailboxIdPromise = null;
23
26
  static fromMailboxIdentity(config) {
24
27
  const derived = deriveMailboxServiceDefaults(config.email, config.baseUrl);
25
28
  return new SmtpSender({
@@ -60,12 +63,39 @@ export class SmtpSender {
60
63
  && this.senderDomain()
61
64
  && this.senderDomain() === this.recipientDomain(to));
62
65
  }
63
- async sendViaHttp(opts) {
66
+ async resolveAampApiUrl() {
64
67
  const base = this.config.httpBaseUrl?.replace(/\/$/, '');
65
- if (!base || !this.config.authToken) {
68
+ if (!base) {
66
69
  throw new Error('HTTP send fallback is not configured');
67
70
  }
68
- const res = await fetch(`${base}/api/send`, {
71
+ if (!this.discoveredApiUrlPromise) {
72
+ this.discoveredApiUrlPromise = (async () => {
73
+ const discoveryRes = await fetch(`${base}/.well-known/aamp`);
74
+ if (!discoveryRes.ok) {
75
+ throw new Error(`AAMP discovery failed: ${discoveryRes.status}`);
76
+ }
77
+ const discovery = await discoveryRes.json();
78
+ if (!discovery.api?.url) {
79
+ throw new Error('AAMP discovery did not return api.url');
80
+ }
81
+ return new URL(discovery.api.url, `${base}/`).toString();
82
+ })();
83
+ }
84
+ try {
85
+ return await this.discoveredApiUrlPromise;
86
+ }
87
+ catch (err) {
88
+ this.discoveredApiUrlPromise = null;
89
+ throw err;
90
+ }
91
+ }
92
+ async sendViaHttp(opts) {
93
+ if (!this.config.authToken) {
94
+ throw new Error('HTTP send fallback is not configured');
95
+ }
96
+ const apiUrl = new URL(await this.resolveAampApiUrl());
97
+ apiUrl.searchParams.set('action', 'aamp.mailbox.send');
98
+ const res = await fetch(apiUrl, {
69
99
  method: 'POST',
70
100
  headers: {
71
101
  Authorization: `Basic ${this.config.authToken}`,
@@ -89,6 +119,139 @@ export class SmtpSender {
89
119
  }
90
120
  return { messageId: data.messageId };
91
121
  }
122
+ canPersistSentCopy() {
123
+ return Boolean(this.config.httpBaseUrl && this.config.authToken);
124
+ }
125
+ getJmapAuthHeader() {
126
+ if (!this.config.authToken) {
127
+ throw new Error('JMAP auth token is not configured');
128
+ }
129
+ return `Basic ${this.config.authToken}`;
130
+ }
131
+ async resolveJmapSession() {
132
+ const base = this.config.httpBaseUrl?.replace(/\/$/, '');
133
+ if (!base) {
134
+ throw new Error('JMAP base URL is not configured');
135
+ }
136
+ if (!this.jmapSessionPromise) {
137
+ this.jmapSessionPromise = (async () => {
138
+ const res = await fetch(`${base}/.well-known/jmap`, {
139
+ headers: { Authorization: this.getJmapAuthHeader() },
140
+ });
141
+ if (!res.ok) {
142
+ throw new Error(`JMAP session failed: ${res.status} ${res.statusText}`);
143
+ }
144
+ const session = await res.json();
145
+ const accountId = session.primaryAccounts?.['urn:ietf:params:jmap:mail']
146
+ ?? Object.keys(session.accounts ?? {})[0];
147
+ if (!accountId) {
148
+ throw new Error('No JMAP mail account available');
149
+ }
150
+ return {
151
+ accountId,
152
+ apiUrl: `${base}/jmap/`,
153
+ };
154
+ })();
155
+ }
156
+ try {
157
+ return await this.jmapSessionPromise;
158
+ }
159
+ catch (err) {
160
+ this.jmapSessionPromise = null;
161
+ throw err;
162
+ }
163
+ }
164
+ async jmapCall(methodCalls) {
165
+ const session = await this.resolveJmapSession();
166
+ const res = await fetch(session.apiUrl, {
167
+ method: 'POST',
168
+ headers: {
169
+ Authorization: this.getJmapAuthHeader(),
170
+ 'Content-Type': 'application/json',
171
+ },
172
+ body: JSON.stringify({
173
+ using: [
174
+ 'urn:ietf:params:jmap:core',
175
+ 'urn:ietf:params:jmap:mail',
176
+ ],
177
+ methodCalls: methodCalls.map(([name, args, tag]) => [
178
+ name,
179
+ { accountId: session.accountId, ...args },
180
+ tag,
181
+ ]),
182
+ }),
183
+ });
184
+ if (!res.ok) {
185
+ throw new Error(`JMAP API call failed: ${res.status}`);
186
+ }
187
+ const data = await res.json();
188
+ return data.methodResponses ?? [];
189
+ }
190
+ async getSentMailboxId() {
191
+ if (!this.sentMailboxIdPromise) {
192
+ this.sentMailboxIdPromise = (async () => {
193
+ const responses = await this.jmapCall([
194
+ ['Mailbox/get', { ids: null }, 'mb1'],
195
+ ]);
196
+ const result = responses.find(([name]) => name === 'Mailbox/get')?.[1];
197
+ const mailboxes = result?.list ?? [];
198
+ return mailboxes.find((mailbox) => mailbox.role === 'sent')?.id ?? mailboxes[0]?.id ?? null;
199
+ })();
200
+ }
201
+ try {
202
+ return await this.sentMailboxIdPromise;
203
+ }
204
+ catch (err) {
205
+ this.sentMailboxIdPromise = null;
206
+ throw err;
207
+ }
208
+ }
209
+ async saveToSent(params) {
210
+ if (!this.canPersistSentCopy())
211
+ return;
212
+ const sentMailboxId = await this.getSentMailboxId();
213
+ if (!sentMailboxId)
214
+ return;
215
+ const emailCreate = {
216
+ mailboxIds: { [sentMailboxId]: true },
217
+ from: [{ email: params.from }],
218
+ to: [{ email: params.to }],
219
+ subject: params.subject,
220
+ bodyValues: {
221
+ body: {
222
+ value: params.text,
223
+ charset: 'utf-8',
224
+ },
225
+ },
226
+ textBody: [{ partId: 'body', type: 'text/plain' }],
227
+ keywords: { '$seen': true },
228
+ };
229
+ if (params.inReplyTo) {
230
+ emailCreate['header:In-Reply-To:asText'] = ` ${sanitize(params.inReplyTo)}`;
231
+ }
232
+ if (params.messageId) {
233
+ emailCreate['header:Message-ID:asText'] = ` ${sanitize(params.messageId)}`;
234
+ }
235
+ if (params.references) {
236
+ emailCreate['header:References:asText'] = ` ${sanitize(params.references)}`;
237
+ }
238
+ for (const [name, value] of Object.entries(params.aampHeaders)) {
239
+ emailCreate[`header:${name}:asText`] = ` ${value}`;
240
+ }
241
+ await this.jmapCall([
242
+ ['Email/set', { create: { sent1: emailCreate } }, 'sent1'],
243
+ ]);
244
+ }
245
+ async saveToSentBestEffort(params) {
246
+ if (!this.canPersistSentCopy())
247
+ return;
248
+ try {
249
+ await this.saveToSent(params);
250
+ }
251
+ catch {
252
+ // Non-fatal: mail delivery already succeeded, Sent copy is only for visibility/debugging.
253
+ }
254
+ }
92
255
  /**
93
256
  * Send a task.dispatch email.
94
257
  * Returns both the generated taskId and the SMTP Message-ID so callers can
@@ -98,7 +261,8 @@ export class SmtpSender {
98
261
  const taskId = opts.taskId ?? randomUUID();
99
262
  const aampHeaders = buildDispatchHeaders({
100
263
  taskId,
101
- timeoutSecs: opts.timeoutSecs,
264
+ priority: opts.priority,
265
+ expiresAt: opts.expiresAt,
102
266
  contextLinks: opts.contextLinks ?? [],
103
267
  dispatchContext: opts.dispatchContext,
104
268
  parentTaskId: opts.parentTaskId,
@@ -110,7 +274,8 @@ export class SmtpSender {
110
274
  text: [
111
275
  `Task: ${opts.title}`,
112
276
  `Task ID: ${taskId}`,
113
- opts.timeoutSecs ? `Deadline: ${opts.timeoutSecs}s` : `Deadline: none`,
277
+ `Priority: ${opts.priority ?? 'normal'}`,
278
+ opts.expiresAt ? `Expires At: ${opts.expiresAt}` : `Expires At: none`,
114
279
  opts.contextLinks?.length
115
280
  ? `Context:\n${opts.contextLinks.map((l) => ` ${l}`).join('\n')}`
116
281
  : '',
@@ -141,9 +306,25 @@ export class SmtpSender {
141
306
  content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
142
307
  })),
143
308
  });
309
+ await this.saveToSentBestEffort({
310
+ from: this.config.user,
311
+ to: opts.to,
312
+ subject: sendMailOpts.subject,
313
+ text: sendMailOpts.text,
314
+ aampHeaders,
315
+ messageId: info.messageId,
316
+ });
144
317
  return { taskId, messageId: info.messageId ?? '' };
145
318
  }
146
319
  const info = await this.transport.sendMail(sendMailOpts);
320
+ await this.saveToSentBestEffort({
321
+ from: this.config.user,
322
+ to: opts.to,
323
+ subject: sendMailOpts.subject,
324
+ text: sendMailOpts.text,
325
+ aampHeaders,
326
+ messageId: info.messageId,
327
+ });
147
328
  return { taskId, messageId: info.messageId ?? '' };
148
329
  }
149
330
  /**
@@ -187,7 +368,7 @@ export class SmtpSender {
187
368
  }));
188
369
  }
189
370
  if (this.shouldUseHttpFallback(opts.to)) {
190
- await this.sendViaHttp({
371
+ const info = await this.sendViaHttp({
191
372
  to: opts.to,
192
373
  subject: mailOpts.subject,
193
374
  text: mailOpts.text,
@@ -198,9 +379,29 @@ export class SmtpSender {
198
379
  content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
199
380
  })),
200
381
  });
382
+ await this.saveToSentBestEffort({
383
+ from: this.config.user,
384
+ to: opts.to,
385
+ subject: mailOpts.subject,
386
+ text: mailOpts.text,
387
+ aampHeaders,
388
+ messageId: info.messageId,
389
+ inReplyTo: opts.inReplyTo,
390
+ references: opts.inReplyTo,
391
+ });
201
392
  return;
202
393
  }
203
- await this.transport.sendMail(mailOpts);
394
+ const info = await this.transport.sendMail(mailOpts);
395
+ await this.saveToSentBestEffort({
396
+ from: this.config.user,
397
+ to: opts.to,
398
+ subject: mailOpts.subject,
399
+ text: mailOpts.text,
400
+ aampHeaders,
401
+ messageId: info.messageId,
402
+ inReplyTo: opts.inReplyTo,
403
+ references: opts.inReplyTo,
404
+ });
204
405
  }
205
406
  /**
206
407
  * Send a task.help_needed email when the agent is blocked
@@ -245,7 +446,7 @@ export class SmtpSender {
245
446
  }));
246
447
  }
247
448
  if (this.shouldUseHttpFallback(opts.to)) {
248
- await this.sendViaHttp({
449
+ const info = await this.sendViaHttp({
249
450
  to: opts.to,
250
451
  subject: helpMailOpts.subject,
251
452
  text: helpMailOpts.text,
@@ -256,9 +457,78 @@ export class SmtpSender {
256
457
  content: typeof a.content === 'string' ? Buffer.from(a.content, 'base64') : a.content,
257
458
  })),
258
459
  });
460
+ await this.saveToSentBestEffort({
461
+ from: this.config.user,
462
+ to: opts.to,
463
+ subject: helpMailOpts.subject,
464
+ text: helpMailOpts.text,
465
+ aampHeaders,
466
+ messageId: info.messageId,
467
+ inReplyTo: opts.inReplyTo,
468
+ references: opts.inReplyTo,
469
+ });
470
+ return;
471
+ }
472
+ const info = await this.transport.sendMail(helpMailOpts);
473
+ await this.saveToSentBestEffort({
474
+ from: this.config.user,
475
+ to: opts.to,
476
+ subject: helpMailOpts.subject,
477
+ text: helpMailOpts.text,
478
+ aampHeaders,
479
+ messageId: info.messageId,
480
+ inReplyTo: opts.inReplyTo,
481
+ references: opts.inReplyTo,
482
+ });
483
+ }
484
+ /**
485
+ * Send a task.cancel email to stop a previously dispatched task.
486
+ */
487
+ async sendCancel(opts) {
488
+ const aampHeaders = buildCancelHeaders({
489
+ taskId: opts.taskId,
490
+ });
491
+ const mailOpts = {
492
+ from: this.config.user,
493
+ to: opts.to,
494
+ subject: `[AAMP Cancel] Task ${opts.taskId}`,
495
+ text: opts.bodyText ?? 'The dispatcher cancelled this task.',
496
+ headers: aampHeaders,
497
+ };
498
+ if (opts.inReplyTo) {
499
+ mailOpts.inReplyTo = opts.inReplyTo;
500
+ mailOpts.references = opts.inReplyTo;
501
+ }
502
+ if (this.shouldUseHttpFallback(opts.to)) {
503
+ const info = await this.sendViaHttp({
504
+ to: opts.to,
505
+ subject: mailOpts.subject,
506
+ text: mailOpts.text,
507
+ aampHeaders,
508
+ });
509
+ await this.saveToSentBestEffort({
510
+ from: this.config.user,
511
+ to: opts.to,
512
+ subject: mailOpts.subject,
513
+ text: mailOpts.text,
514
+ aampHeaders,
515
+ messageId: info.messageId,
516
+ inReplyTo: opts.inReplyTo,
517
+ references: opts.inReplyTo,
518
+ });
259
519
  return;
260
520
  }
261
- await this.transport.sendMail(helpMailOpts);
521
+ const info = await this.transport.sendMail(mailOpts);
522
+ await this.saveToSentBestEffort({
523
+ from: this.config.user,
524
+ to: opts.to,
525
+ subject: mailOpts.subject,
526
+ text: mailOpts.text,
527
+ aampHeaders,
528
+ messageId: info.messageId,
529
+ inReplyTo: opts.inReplyTo,
530
+ references: opts.inReplyTo,
531
+ });
262
532
  }
263
533
  /**
264
534
  * Send a task.ack email to confirm receipt of a dispatch
@@ -277,15 +547,175 @@ export class SmtpSender {
277
547
  mailOpts.references = opts.inReplyTo;
278
548
  }
279
549
  if (this.shouldUseHttpFallback(opts.to)) {
280
- await this.sendViaHttp({
550
+ const info = await this.sendViaHttp({
281
551
  to: opts.to,
282
552
  subject: mailOpts.subject,
283
553
  text: mailOpts.text,
284
554
  aampHeaders,
285
555
  });
556
+ await this.saveToSentBestEffort({
557
+ from: this.config.user,
558
+ to: opts.to,
559
+ subject: mailOpts.subject,
560
+ text: mailOpts.text,
561
+ aampHeaders,
562
+ messageId: info.messageId,
563
+ inReplyTo: opts.inReplyTo,
564
+ references: opts.inReplyTo,
565
+ });
286
566
  return;
287
567
  }
288
- await this.transport.sendMail(mailOpts);
568
+ const info = await this.transport.sendMail(mailOpts);
569
+ await this.saveToSentBestEffort({
570
+ from: this.config.user,
571
+ to: opts.to,
572
+ subject: mailOpts.subject,
573
+ text: mailOpts.text,
574
+ aampHeaders,
575
+ messageId: info.messageId,
576
+ inReplyTo: opts.inReplyTo,
577
+ references: opts.inReplyTo,
578
+ });
579
+ }
580
+ async sendStreamOpened(opts) {
581
+ const aampHeaders = buildStreamOpenedHeaders({
582
+ taskId: opts.taskId,
583
+ streamId: opts.streamId,
584
+ });
585
+ const mailOpts = {
586
+ from: this.config.user,
587
+ to: opts.to,
588
+ subject: `[AAMP Stream] Task ${opts.taskId}`,
589
+ text: `AAMP task stream is ready.\n\nTask ID: ${opts.taskId}\nStream ID: ${opts.streamId}`,
590
+ headers: aampHeaders,
591
+ };
592
+ if (opts.inReplyTo) {
593
+ mailOpts.inReplyTo = opts.inReplyTo;
594
+ mailOpts.references = opts.inReplyTo;
595
+ }
596
+ if (this.shouldUseHttpFallback(opts.to)) {
597
+ const info = await this.sendViaHttp({
598
+ to: opts.to,
599
+ subject: mailOpts.subject,
600
+ text: mailOpts.text,
601
+ aampHeaders,
602
+ });
603
+ await this.saveToSentBestEffort({
604
+ from: this.config.user,
605
+ to: opts.to,
606
+ subject: mailOpts.subject,
607
+ text: mailOpts.text,
608
+ aampHeaders,
609
+ messageId: info.messageId,
610
+ inReplyTo: opts.inReplyTo,
611
+ references: opts.inReplyTo,
612
+ });
613
+ return;
614
+ }
615
+ const info = await this.transport.sendMail(mailOpts);
616
+ await this.saveToSentBestEffort({
617
+ from: this.config.user,
618
+ to: opts.to,
619
+ subject: mailOpts.subject,
620
+ text: mailOpts.text,
621
+ aampHeaders,
622
+ messageId: info.messageId,
623
+ inReplyTo: opts.inReplyTo,
624
+ references: opts.inReplyTo,
625
+ });
626
+ }
627
+ async sendCardQuery(opts) {
628
+ const taskId = opts.taskId ?? randomUUID();
629
+ const aampHeaders = buildCardQueryHeaders({ taskId });
630
+ const mailOpts = {
631
+ from: this.config.user,
632
+ to: opts.to,
633
+ subject: `[AAMP Card Query] ${taskId}`,
634
+ text: opts.bodyText?.trim() || 'Please share your agent card and capability details.',
635
+ headers: aampHeaders,
636
+ };
637
+ if (opts.inReplyTo) {
638
+ mailOpts.inReplyTo = opts.inReplyTo;
639
+ mailOpts.references = opts.inReplyTo;
640
+ }
641
+ if (this.shouldUseHttpFallback(opts.to)) {
642
+ const info = await this.sendViaHttp({
643
+ to: opts.to,
644
+ subject: mailOpts.subject,
645
+ text: mailOpts.text,
646
+ aampHeaders,
647
+ });
648
+ await this.saveToSentBestEffort({
649
+ from: this.config.user,
650
+ to: opts.to,
651
+ subject: mailOpts.subject,
652
+ text: mailOpts.text,
653
+ aampHeaders,
654
+ messageId: info.messageId,
655
+ inReplyTo: opts.inReplyTo,
656
+ references: opts.inReplyTo,
657
+ });
658
+ return { taskId, messageId: info.messageId ?? '' };
659
+ }
660
+ const info = await this.transport.sendMail(mailOpts);
661
+ await this.saveToSentBestEffort({
662
+ from: this.config.user,
663
+ to: opts.to,
664
+ subject: mailOpts.subject,
665
+ text: mailOpts.text,
666
+ aampHeaders,
667
+ messageId: info.messageId,
668
+ inReplyTo: opts.inReplyTo,
669
+ references: opts.inReplyTo,
670
+ });
671
+ return { taskId, messageId: info.messageId ?? '' };
672
+ }
673
+ async sendCardResponse(opts) {
674
+ const aampHeaders = buildCardResponseHeaders({
675
+ taskId: opts.taskId,
676
+ summary: opts.summary,
677
+ });
678
+ const mailOpts = {
679
+ from: this.config.user,
680
+ to: opts.to,
681
+ subject: `[AAMP Card] ${sanitize(opts.summary)}`,
682
+ text: opts.bodyText,
683
+ headers: aampHeaders,
684
+ };
685
+ if (opts.inReplyTo) {
686
+ mailOpts.inReplyTo = opts.inReplyTo;
687
+ mailOpts.references = opts.inReplyTo;
688
+ }
689
+ if (this.shouldUseHttpFallback(opts.to)) {
690
+ const info = await this.sendViaHttp({
691
+ to: opts.to,
692
+ subject: mailOpts.subject,
693
+ text: mailOpts.text,
694
+ aampHeaders,
695
+ });
696
+ await this.saveToSentBestEffort({
697
+ from: this.config.user,
698
+ to: opts.to,
699
+ subject: mailOpts.subject,
700
+ text: mailOpts.text,
701
+ aampHeaders,
702
+ messageId: info.messageId,
703
+ inReplyTo: opts.inReplyTo,
704
+ references: opts.inReplyTo,
705
+ });
706
+ return;
707
+ }
708
+ const info = await this.transport.sendMail(mailOpts);
709
+ await this.saveToSentBestEffort({
710
+ from: this.config.user,
711
+ to: opts.to,
712
+ subject: mailOpts.subject,
713
+ text: mailOpts.text,
714
+ aampHeaders,
715
+ messageId: info.messageId,
716
+ inReplyTo: opts.inReplyTo,
717
+ references: opts.inReplyTo,
718
+ });
289
719
  }
290
720
  /**
291
721
  * Verify SMTP connection
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import type { AampThreadEvent } from './types.js';
2
+ export interface RenderThreadHistoryOptions {
3
+ maxEvents?: number;
4
+ }
5
+ export declare function renderThreadHistoryForAgent(events: AampThreadEvent[], options?: RenderThreadHistoryOptions): string;