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.
package/README.md CHANGED
@@ -21,6 +21,24 @@ const client = AampClient.fromMailboxIdentity({
21
21
  })
22
22
 
23
23
  client.on('task.dispatch', async (task) => {
24
+ const stream = await client.createStream({
25
+ taskId: task.taskId,
26
+ peerEmail: task.from,
27
+ })
28
+
29
+ await client.sendStreamOpened({
30
+ to: task.from,
31
+ taskId: task.taskId,
32
+ streamId: stream.streamId,
33
+ inReplyTo: task.messageId,
34
+ })
35
+
36
+ await client.appendStreamEvent({
37
+ streamId: stream.streamId,
38
+ type: 'status',
39
+ payload: { stage: 'running' },
40
+ })
41
+
24
42
  await client.sendResult({
25
43
  to: task.from,
26
44
  taskId: task.taskId,
@@ -30,9 +48,23 @@ client.on('task.dispatch', async (task) => {
30
48
  })
31
49
  })
32
50
 
51
+ client.on('task.cancel', (task) => {
52
+ console.log(`Task cancelled: ${task.taskId}`)
53
+ })
54
+
33
55
  await client.connect()
34
56
  ```
35
57
 
58
+ ## Realtime streaming
59
+
60
+ The SDK supports the AAMP realtime stream capability announced from
61
+ `/.well-known/aamp`.
62
+
63
+ - `createStream()` creates or reuses the active stream for a task
64
+ - `sendStreamOpened()` sends the mailbox notification intent
65
+ - `appendStreamEvent()` appends `text.delta`, `progress`, `status`, `artifact`, `error`, or `done`
66
+ - `closeStream()` closes the stream before the final `task.result`
67
+
36
68
  ## Self-register a mailbox identity
37
69
 
38
70
  ```ts
@@ -51,9 +83,26 @@ const client = AampClient.fromMailboxIdentity({
51
83
  })
52
84
  ```
53
85
 
86
+ ## Priority, expiry, and cancel
87
+
88
+ ```ts
89
+ await client.sendTask({
90
+ to: 'agent@example.com',
91
+ title: 'Prepare a production demo',
92
+ priority: 'urgent',
93
+ expiresAt: new Date(Date.now() + 30 * 60 * 1000).toISOString(),
94
+ })
95
+
96
+ await client.sendCancel({
97
+ to: 'agent@example.com',
98
+ taskId: '<task-id>',
99
+ bodyText: 'The upstream request was cancelled.',
100
+ })
101
+ ```
102
+
54
103
  ## Exports
55
104
 
56
105
  - `AampClient`
57
106
  - `JmapPushClient`
58
107
  - `SmtpSender`
59
- - protocol types such as `TaskDispatch`, `TaskResult`, and `TaskHelp`
108
+ - protocol types such as `TaskDispatch`, `TaskCancel`, `TaskResult`, `TaskHelp`, and `TaskStreamOpened`
package/dist/client.d.ts CHANGED
@@ -29,7 +29,7 @@
29
29
  * ```
30
30
  */
31
31
  import { TinyEmitter } from './tiny-emitter.js';
32
- import type { AampClientConfig, AampClientEvents, AampDiscoveryDocument, AampMailboxIdentityConfig, RegisterMailboxOptions, RegisteredMailboxIdentity, SendTaskOptions, SendResultOptions, SendHelpOptions } from './types.js';
32
+ import type { AampClientConfig, AampClientEvents, AampDiscoveryDocument, AgentDirectoryEntry, AgentDirectoryProfile, AgentDirectorySearchEntry, AampMailboxIdentityConfig, AampStreamEvent, CloseStreamOptions, CreateStreamOptions, CreateStreamResult, DirectoryListOptions, DirectorySearchOptions, GetTaskStreamOptions, GetThreadHistoryOptions, HydratedTaskDispatch, RegisterMailboxOptions, RegisteredMailboxIdentity, SendCardQueryOptions, SendCardResponseOptions, SendCancelOptions, StreamSubscription, TaskDispatch, TaskThreadHistory, TaskStreamState, SendTaskOptions, SendResultOptions, SendHelpOptions, UpdateDirectoryProfileOptions } from './types.js';
33
33
  export declare class AampClient extends TinyEmitter<AampClientEvents> {
34
34
  private jmapClient;
35
35
  private smtpSender;
@@ -37,6 +37,7 @@ export declare class AampClient extends TinyEmitter<AampClientEvents> {
37
37
  constructor(config: AampClientConfig);
38
38
  static fromMailboxIdentity(config: AampMailboxIdentityConfig): AampClient;
39
39
  static discoverAampService(aampHost: string): Promise<AampDiscoveryDocument>;
40
+ private static callDiscoveredApi;
40
41
  static registerMailbox(opts: RegisterMailboxOptions): Promise<RegisteredMailboxIdentity>;
41
42
  /**
42
43
  * Connect to JMAP and start listening for tasks
@@ -61,6 +62,7 @@ export declare class AampClient extends TinyEmitter<AampClientEvents> {
61
62
  taskId: string;
62
63
  messageId: string;
63
64
  }>;
65
+ sendCancel(opts: SendCancelOptions): Promise<void>;
64
66
  /**
65
67
  * Send a task.result email (agent → system/dispatcher)
66
68
  */
@@ -69,6 +71,39 @@ export declare class AampClient extends TinyEmitter<AampClientEvents> {
69
71
  * Send a task.help_needed email when the agent needs human assistance
70
72
  */
71
73
  sendHelp(opts: SendHelpOptions): Promise<void>;
74
+ sendStreamOpened(opts: {
75
+ to: string;
76
+ taskId: string;
77
+ streamId: string;
78
+ inReplyTo?: string;
79
+ }): Promise<void>;
80
+ sendCardQuery(opts: SendCardQueryOptions): Promise<{
81
+ taskId: string;
82
+ messageId: string;
83
+ }>;
84
+ sendCardResponse(opts: SendCardResponseOptions): Promise<void>;
85
+ updateDirectoryProfile(opts: UpdateDirectoryProfileOptions): Promise<AgentDirectoryProfile>;
86
+ listDirectory(opts?: DirectoryListOptions): Promise<AgentDirectoryEntry[]>;
87
+ searchDirectory(opts: DirectorySearchOptions): Promise<AgentDirectorySearchEntry[]>;
88
+ getThreadHistory(taskId: string, opts?: GetThreadHistoryOptions): Promise<TaskThreadHistory>;
89
+ hydrateTaskDispatch(task: TaskDispatch): Promise<HydratedTaskDispatch>;
90
+ private resolveStreamCapability;
91
+ createStream(opts: CreateStreamOptions): Promise<CreateStreamResult>;
92
+ appendStreamEvent(opts: {
93
+ streamId: string;
94
+ type: AampStreamEvent['type'];
95
+ payload: Record<string, unknown>;
96
+ }): Promise<AampStreamEvent>;
97
+ closeStream(opts: CloseStreamOptions): Promise<TaskStreamState>;
98
+ getTaskStream(opts: GetTaskStreamOptions): Promise<TaskStreamState | null>;
99
+ subscribeStream(streamId: string, handlers: {
100
+ onEvent: (event: AampStreamEvent) => void;
101
+ onError?: (err: Error) => void;
102
+ onOpen?: () => void;
103
+ }, opts?: {
104
+ lastEventId?: string;
105
+ signal?: AbortSignal;
106
+ }): Promise<StreamSubscription>;
72
107
  /**
73
108
  * Download a blob (attachment) by its JMAP blobId.
74
109
  * Use this to retrieve attachment content from received TaskDispatch or TaskResult messages.
@@ -80,11 +115,12 @@ export declare class AampClient extends TinyEmitter<AampClientEvents> {
80
115
  * a flaky WebSocket path. Safe to call periodically; duplicate processing is
81
116
  * suppressed by the JMAP push client.
82
117
  */
83
- reconcileRecentEmails(limit?: number): Promise<number>;
118
+ reconcileRecentEmails(limit?: number, opts?: {
119
+ includeHistorical?: boolean;
120
+ }): Promise<number>;
84
121
  /**
85
122
  * Verify SMTP connectivity
86
123
  */
87
124
  verifySmtp(): Promise<boolean>;
88
125
  get email(): string;
89
126
  }
90
- //# sourceMappingURL=client.d.ts.map
package/dist/client.js CHANGED
@@ -31,6 +31,7 @@
31
31
  import { JmapPushClient } from './jmap-push.js';
32
32
  import { SmtpSender, deriveMailboxServiceDefaults } from './smtp-sender.js';
33
33
  import { TinyEmitter } from './tiny-emitter.js';
34
+ import { renderThreadHistoryForAgent } from './thread.js';
34
35
  export class AampClient extends TinyEmitter {
35
36
  jmapClient;
36
37
  smtpSender;
@@ -38,14 +39,8 @@ export class AampClient extends TinyEmitter {
38
39
  constructor(config) {
39
40
  super();
40
41
  this.config = config;
41
- const mailboxToken = config.mailboxToken ?? config.jmapToken;
42
- if (!mailboxToken) {
43
- throw new Error('Missing mailboxToken (or legacy jmapToken)');
44
- }
45
- const resolvedBaseUrl = config.baseUrl ?? config.jmapUrl;
46
- if (!resolvedBaseUrl) {
47
- throw new Error('Missing baseUrl (or legacy jmapUrl)');
48
- }
42
+ const mailboxToken = config.mailboxToken;
43
+ const resolvedBaseUrl = config.baseUrl;
49
44
  const derived = deriveMailboxServiceDefaults(config.email, resolvedBaseUrl);
50
45
  const smtpHost = config.smtpHost ?? derived.smtpHost;
51
46
  // Decode mailbox token (format: base64(email:password))
@@ -84,16 +79,27 @@ export class AampClient extends TinyEmitter {
84
79
  this.jmapClient.on('task.dispatch', (task) => {
85
80
  this.emit('task.dispatch', task);
86
81
  });
82
+ this.jmapClient.on('task.cancel', (task) => {
83
+ this.emit('task.cancel', task);
84
+ });
87
85
  this.jmapClient.on('task.result', (result) => {
88
86
  this.emit('task.result', result);
89
87
  });
90
88
  this.jmapClient.on('task.help_needed', (help) => {
91
89
  this.emit('task.help_needed', help);
92
- this.emit('task.help', help);
93
90
  });
94
91
  this.jmapClient.on('task.ack', (ack) => {
95
92
  this.emit('task.ack', ack);
96
93
  });
94
+ this.jmapClient.on('task.stream.opened', (stream) => {
95
+ this.emit('task.stream.opened', stream);
96
+ });
97
+ this.jmapClient.on('card.query', (query) => {
98
+ this.emit('card.query', query);
99
+ });
100
+ this.jmapClient.on('card.response', (response) => {
101
+ this.emit('card.response', response);
102
+ });
97
103
  // Auto-ACK: when a task.dispatch is received, automatically send an ACK back
98
104
  this.jmapClient.on('_autoAck', async ({ to, taskId, messageId }) => {
99
105
  try {
@@ -141,17 +147,33 @@ export class AampClient extends TinyEmitter {
141
147
  }
142
148
  return discovery;
143
149
  }
150
+ static async callDiscoveredApi(base, opts) {
151
+ const discovery = await AampClient.discoverAampService(base);
152
+ const apiUrl = new URL(discovery.api.url, `${base}/`);
153
+ apiUrl.searchParams.set('action', opts.action);
154
+ for (const [key, value] of Object.entries(opts.query ?? {})) {
155
+ if (value == null)
156
+ continue;
157
+ apiUrl.searchParams.set(key, String(value));
158
+ }
159
+ return fetch(apiUrl, {
160
+ method: opts.method ?? 'GET',
161
+ headers: {
162
+ ...(opts.authToken ? { Authorization: `Basic ${opts.authToken}` } : {}),
163
+ ...(opts.body ? { 'Content-Type': 'application/json' } : {}),
164
+ },
165
+ ...(opts.body ? { body: JSON.stringify(opts.body) } : {}),
166
+ });
167
+ }
144
168
  static async registerMailbox(opts) {
145
169
  const base = opts.aampHost.replace(/\/$/, '');
146
- const discovery = await AampClient.discoverAampService(base);
147
- const apiBase = new URL(discovery.api.url, `${base}/`).toString();
148
- const registerRes = await fetch(`${apiBase}?action=aamp.mailbox.register`, {
170
+ const registerRes = await AampClient.callDiscoveredApi(base, {
171
+ action: 'aamp.mailbox.register',
149
172
  method: 'POST',
150
- headers: { 'Content-Type': 'application/json' },
151
- body: JSON.stringify({
173
+ body: {
152
174
  slug: opts.slug,
153
175
  description: opts.description,
154
- }),
176
+ },
155
177
  });
156
178
  if (!registerRes.ok) {
157
179
  const body = await registerRes.text().catch(() => '');
@@ -161,18 +183,21 @@ export class AampClient extends TinyEmitter {
161
183
  if (!registerData.registrationCode) {
162
184
  throw new Error('Mailbox registration succeeded but no registrationCode was returned');
163
185
  }
164
- const credsRes = await fetch(`${apiBase}?action=aamp.mailbox.credentials&code=${encodeURIComponent(registerData.registrationCode)}`);
186
+ const credsRes = await AampClient.callDiscoveredApi(base, {
187
+ action: 'aamp.mailbox.credentials',
188
+ query: { code: registerData.registrationCode },
189
+ });
165
190
  if (!credsRes.ok) {
166
191
  const body = await credsRes.text().catch(() => '');
167
192
  throw new Error(`Mailbox credential exchange failed: ${credsRes.status} ${body || credsRes.statusText}`);
168
193
  }
169
194
  const creds = await credsRes.json();
170
- if (!creds.email || !creds.jmap?.token || !creds.smtp?.password) {
195
+ if (!creds.email || !creds.mailbox?.token || !creds.smtp?.password) {
171
196
  throw new Error('Mailbox credential exchange returned an incomplete identity payload');
172
197
  }
173
198
  return {
174
199
  email: creds.email,
175
- mailboxToken: creds.jmap.token,
200
+ mailboxToken: creds.mailbox.token,
176
201
  smtpPassword: creds.smtp.password,
177
202
  baseUrl: base,
178
203
  };
@@ -214,6 +239,9 @@ export class AampClient extends TinyEmitter {
214
239
  async sendTask(opts) {
215
240
  return this.smtpSender.sendTask(opts);
216
241
  }
242
+ async sendCancel(opts) {
243
+ return this.smtpSender.sendCancel(opts);
244
+ }
217
245
  /**
218
246
  * Send a task.result email (agent → system/dispatcher)
219
247
  */
@@ -226,6 +254,264 @@ export class AampClient extends TinyEmitter {
226
254
  async sendHelp(opts) {
227
255
  return this.smtpSender.sendHelp(opts);
228
256
  }
257
+ async sendStreamOpened(opts) {
258
+ return this.smtpSender.sendStreamOpened(opts);
259
+ }
260
+ async sendCardQuery(opts) {
261
+ return this.smtpSender.sendCardQuery(opts);
262
+ }
263
+ async sendCardResponse(opts) {
264
+ return this.smtpSender.sendCardResponse(opts);
265
+ }
266
+ async updateDirectoryProfile(opts) {
267
+ const base = this.config.baseUrl;
268
+ const mailboxToken = this.config.mailboxToken;
269
+ const res = await AampClient.callDiscoveredApi(base, {
270
+ action: 'aamp.directory.upsert',
271
+ method: 'POST',
272
+ authToken: mailboxToken,
273
+ body: opts,
274
+ });
275
+ if (!res.ok) {
276
+ const body = await res.text().catch(() => '');
277
+ throw new Error(`Directory profile update failed: ${res.status} ${body || res.statusText}`);
278
+ }
279
+ const data = await res.json();
280
+ return data.profile;
281
+ }
282
+ async listDirectory(opts = {}) {
283
+ const base = this.config.baseUrl;
284
+ const mailboxToken = this.config.mailboxToken;
285
+ const res = await AampClient.callDiscoveredApi(base, {
286
+ action: 'aamp.directory.list',
287
+ authToken: mailboxToken,
288
+ query: {
289
+ scope: opts.scope,
290
+ includeSelf: opts.includeSelf,
291
+ limit: opts.limit,
292
+ },
293
+ });
294
+ if (!res.ok) {
295
+ const body = await res.text().catch(() => '');
296
+ throw new Error(`Directory list failed: ${res.status} ${body || res.statusText}`);
297
+ }
298
+ const data = await res.json();
299
+ return data.agents;
300
+ }
301
+ async searchDirectory(opts) {
302
+ const base = this.config.baseUrl;
303
+ const mailboxToken = this.config.mailboxToken;
304
+ const res = await AampClient.callDiscoveredApi(base, {
305
+ action: 'aamp.directory.search',
306
+ authToken: mailboxToken,
307
+ query: {
308
+ q: opts.query,
309
+ scope: opts.scope,
310
+ includeSelf: opts.includeSelf,
311
+ limit: opts.limit,
312
+ },
313
+ });
314
+ if (!res.ok) {
315
+ const body = await res.text().catch(() => '');
316
+ throw new Error(`Directory search failed: ${res.status} ${body || res.statusText}`);
317
+ }
318
+ const data = await res.json();
319
+ return data.agents;
320
+ }
321
+ async getThreadHistory(taskId, opts = {}) {
322
+ const base = this.config.baseUrl;
323
+ const mailboxToken = this.config.mailboxToken;
324
+ const res = await AampClient.callDiscoveredApi(base, {
325
+ action: 'aamp.mailbox.thread',
326
+ authToken: mailboxToken,
327
+ query: {
328
+ taskId,
329
+ includeStreamOpened: opts.includeStreamOpened,
330
+ },
331
+ });
332
+ if (!res.ok) {
333
+ const body = await res.text().catch(() => '');
334
+ throw new Error(`Thread history fetch failed: ${res.status} ${body || res.statusText}`);
335
+ }
336
+ const data = await res.json();
337
+ return {
338
+ taskId: data.taskId,
339
+ events: Array.isArray(data.events) ? data.events : [],
340
+ };
341
+ }
342
+ async hydrateTaskDispatch(task) {
343
+ const history = await this.getThreadHistory(task.taskId);
344
+ const priorEvents = history.events.filter((event) => event.messageId !== task.messageId);
345
+ return {
346
+ ...task,
347
+ threadHistory: priorEvents,
348
+ threadContextText: renderThreadHistoryForAgent(priorEvents),
349
+ };
350
+ }
351
+ async resolveStreamCapability() {
352
+ const discovery = await AampClient.discoverAampService(this.config.baseUrl);
353
+ const stream = discovery.capabilities?.stream;
354
+ if (!stream?.transport) {
355
+ throw new Error('AAMP stream capability is not available on this service');
356
+ }
357
+ return stream;
358
+ }
359
+ async createStream(opts) {
360
+ const stream = await this.resolveStreamCapability();
361
+ const res = await AampClient.callDiscoveredApi(this.config.baseUrl, {
362
+ action: stream.createAction ?? 'aamp.stream.create',
363
+ method: 'POST',
364
+ authToken: this.config.mailboxToken,
365
+ body: opts,
366
+ });
367
+ if (!res.ok) {
368
+ const body = await res.text().catch(() => '');
369
+ throw new Error(`AAMP stream create failed: ${res.status} ${body || res.statusText}`);
370
+ }
371
+ return res.json();
372
+ }
373
+ async appendStreamEvent(opts) {
374
+ const stream = await this.resolveStreamCapability();
375
+ const res = await AampClient.callDiscoveredApi(this.config.baseUrl, {
376
+ action: stream.appendAction ?? 'aamp.stream.append',
377
+ method: 'POST',
378
+ authToken: this.config.mailboxToken,
379
+ body: opts,
380
+ });
381
+ if (!res.ok) {
382
+ const body = await res.text().catch(() => '');
383
+ throw new Error(`AAMP stream append failed: ${res.status} ${body || res.statusText}`);
384
+ }
385
+ return res.json();
386
+ }
387
+ async closeStream(opts) {
388
+ const stream = await this.resolveStreamCapability();
389
+ const res = await AampClient.callDiscoveredApi(this.config.baseUrl, {
390
+ action: stream.closeAction ?? 'aamp.stream.close',
391
+ method: 'POST',
392
+ authToken: this.config.mailboxToken,
393
+ body: opts,
394
+ });
395
+ if (!res.ok) {
396
+ const body = await res.text().catch(() => '');
397
+ throw new Error(`AAMP stream close failed: ${res.status} ${body || res.statusText}`);
398
+ }
399
+ return res.json();
400
+ }
401
+ async getTaskStream(opts) {
402
+ const stream = await this.resolveStreamCapability();
403
+ const res = await AampClient.callDiscoveredApi(this.config.baseUrl, {
404
+ action: stream.getAction ?? 'aamp.stream.get',
405
+ authToken: this.config.mailboxToken,
406
+ query: {
407
+ ...(opts.taskId ? { taskId: opts.taskId } : {}),
408
+ ...(opts.streamId ? { streamId: opts.streamId } : {}),
409
+ },
410
+ });
411
+ if (res.status === 404)
412
+ return null;
413
+ if (!res.ok) {
414
+ const body = await res.text().catch(() => '');
415
+ throw new Error(`AAMP stream get failed: ${res.status} ${body || res.statusText}`);
416
+ }
417
+ return res.json();
418
+ }
419
+ async subscribeStream(streamId, handlers, opts = {}) {
420
+ const stream = await this.resolveStreamCapability();
421
+ const template = stream.subscribeUrlTemplate;
422
+ if (!template)
423
+ throw new Error('AAMP stream subscribeUrlTemplate is missing');
424
+ const url = new URL(template.replace('{streamId}', encodeURIComponent(streamId)), this.config.baseUrl);
425
+ if (opts.lastEventId) {
426
+ url.searchParams.set('lastEventId', opts.lastEventId);
427
+ }
428
+ const controller = new AbortController();
429
+ if (opts.signal) {
430
+ opts.signal.addEventListener('abort', () => controller.abort(), { once: true });
431
+ }
432
+ const res = await fetch(url, {
433
+ headers: {
434
+ Authorization: `Basic ${this.config.mailboxToken}`,
435
+ Accept: 'text/event-stream',
436
+ },
437
+ signal: controller.signal,
438
+ });
439
+ if (!res.ok || !res.body) {
440
+ throw new Error(`AAMP stream subscribe failed: ${res.status} ${res.statusText}`);
441
+ }
442
+ handlers.onOpen?.();
443
+ const reader = res.body.getReader();
444
+ const decoder = new TextDecoder();
445
+ let buffer = '';
446
+ let currentEvent = 'message';
447
+ let currentId = '';
448
+ let currentData = [];
449
+ const flush = () => {
450
+ if (!currentData.length)
451
+ return;
452
+ try {
453
+ const parsed = JSON.parse(currentData.join('\n'));
454
+ handlers.onEvent({
455
+ ...parsed,
456
+ ...(currentId ? { id: currentId } : {}),
457
+ type: parsed.type ?? currentEvent,
458
+ });
459
+ }
460
+ catch (err) {
461
+ handlers.onError?.(err);
462
+ }
463
+ finally {
464
+ currentEvent = 'message';
465
+ currentId = '';
466
+ currentData = [];
467
+ }
468
+ };
469
+ void (async () => {
470
+ try {
471
+ while (true) {
472
+ const { value, done } = await reader.read();
473
+ if (done)
474
+ break;
475
+ buffer += decoder.decode(value, { stream: true });
476
+ let index = buffer.indexOf('\n\n');
477
+ while (index >= 0) {
478
+ const frame = buffer.slice(0, index);
479
+ buffer = buffer.slice(index + 2);
480
+ for (const rawLine of frame.split('\n')) {
481
+ const line = rawLine.replace(/\r$/, '');
482
+ if (!line || line.startsWith(':'))
483
+ continue;
484
+ if (line.startsWith('event:')) {
485
+ currentEvent = line.slice(6).trim();
486
+ }
487
+ else if (line.startsWith('id:')) {
488
+ currentId = line.slice(3).trim();
489
+ }
490
+ else if (line.startsWith('data:')) {
491
+ currentData.push(line.slice(5).trimStart());
492
+ }
493
+ }
494
+ flush();
495
+ index = buffer.indexOf('\n\n');
496
+ }
497
+ }
498
+ }
499
+ catch (err) {
500
+ if (!controller.signal.aborted) {
501
+ handlers.onError?.(err);
502
+ }
503
+ }
504
+ finally {
505
+ buffer += decoder.decode();
506
+ controller.abort();
507
+ }
508
+ })();
509
+ return {
510
+ close() {
511
+ controller.abort();
512
+ },
513
+ };
514
+ }
229
515
  /**
230
516
  * Download a blob (attachment) by its JMAP blobId.
231
517
  * Use this to retrieve attachment content from received TaskDispatch or TaskResult messages.
@@ -239,8 +525,8 @@ export class AampClient extends TinyEmitter {
239
525
  * a flaky WebSocket path. Safe to call periodically; duplicate processing is
240
526
  * suppressed by the JMAP push client.
241
527
  */
242
- async reconcileRecentEmails(limit) {
243
- return this.jmapClient.reconcileRecentEmails(limit);
528
+ async reconcileRecentEmails(limit, opts) {
529
+ return this.jmapClient.reconcileRecentEmails(limit, opts);
244
530
  }
245
531
  /**
246
532
  * Verify SMTP connectivity
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,9 +7,9 @@
7
7
  * - Types
8
8
  */
9
9
  export { AampClient } from './client.js';
10
- export { parseAampHeaders, normalizeHeaders, buildDispatchHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, parseDispatchContextHeader, serializeDispatchContextHeader, } from './parser.js';
10
+ export { parseAampHeaders, normalizeHeaders, buildDispatchHeaders, buildCancelHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, buildStreamOpenedHeaders, buildCardQueryHeaders, buildCardResponseHeaders, parseDispatchContextHeader, serializeDispatchContextHeader, } from './parser.js';
11
11
  export { JmapPushClient } from './jmap-push.js';
12
12
  export { SmtpSender, deriveMailboxServiceDefaults } from './smtp-sender.js';
13
- export type { AampIntent, TaskStatus, AampAttachment, ReceivedAttachment, StructuredResultField, TaskDispatch, TaskResult, TaskHelp, TaskAck, HumanReply, AampMessage, AampClientConfig, AampMailboxIdentityConfig, AampDiscoveryDocument, RegisterMailboxOptions, RegisteredMailboxIdentity, AampClientEvents, SendTaskOptions, SendResultOptions, SendHelpOptions, } from './types.js';
13
+ export { renderThreadHistoryForAgent } from './thread.js';
14
+ export type { AampIntent, TaskStatus, AampAttachment, ReceivedAttachment, StructuredResultField, TaskDispatch, TaskCancel, TaskResult, TaskHelp, TaskAck, TaskStreamOpened, CardQuery, CardResponse, HumanReply, AampStreamEvent, AppendStreamEventOptions, CreateStreamOptions, CreateStreamResult, CloseStreamOptions, TaskStreamState, StreamSubscription, AgentDirectoryEntry, AgentDirectorySearchEntry, AgentDirectoryProfile, AampThreadEvent, AampMessage, AampClientConfig, AampMailboxIdentityConfig, AampDiscoveryDocument, GetThreadHistoryOptions, HydratedTaskDispatch, RegisterMailboxOptions, RegisteredMailboxIdentity, AampClientEvents, SendTaskOptions, SendCancelOptions, SendResultOptions, SendHelpOptions, SendCardQueryOptions, SendCardResponseOptions, GetTaskStreamOptions, DirectoryListOptions, DirectorySearchOptions, TaskThreadHistory, UpdateDirectoryProfileOptions, } from './types.js';
14
15
  export { AAMP_HEADER, AAMP_PROTOCOL_VERSION } from './types.js';
15
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -7,8 +7,9 @@
7
7
  * - Types
8
8
  */
9
9
  export { AampClient } from './client.js';
10
- export { parseAampHeaders, normalizeHeaders, buildDispatchHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, parseDispatchContextHeader, serializeDispatchContextHeader, } from './parser.js';
10
+ export { parseAampHeaders, normalizeHeaders, buildDispatchHeaders, buildCancelHeaders, buildResultHeaders, buildHelpHeaders, buildAckHeaders, buildStreamOpenedHeaders, buildCardQueryHeaders, buildCardResponseHeaders, parseDispatchContextHeader, serializeDispatchContextHeader, } from './parser.js';
11
11
  export { JmapPushClient } from './jmap-push.js';
12
12
  export { SmtpSender, deriveMailboxServiceDefaults } from './smtp-sender.js';
13
+ export { renderThreadHistoryForAgent } from './thread.js';
13
14
  export { AAMP_HEADER, AAMP_PROTOCOL_VERSION } from './types.js';
14
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAA;AA0B3E,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAmDzD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}