agent-protocols 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mail.js CHANGED
@@ -156,54 +156,79 @@ export function validateMailSenderCard(card, owner, now = Date.now()) {
156
156
  requireMail(c.event.payload.routes.length > 0, "mailbox_unavailable", "mailbox closed");
157
157
  requireMail(now < c.event.payload.expires_at, "stale_card", "card expired");
158
158
  }
159
- /** Historical verification of a signed letter; never advances live nonce state. */
160
- export function validateMailLetter(letter) {
161
- validateMailSchema(letter, "messageEnvelope");
162
- const l = letter;
163
- verifyEnvelope(l);
164
- const p = l.event.payload;
165
- lifetime(l.event.created_at, p.expires_at);
159
+ /** Validate immutable plaintext; sender authentication comes from its signed packet. */
160
+ export function validateMailMessage(message) {
161
+ validateMailSchema(message, "messagePayload");
162
+ const p = message;
163
+ lifetime(p.created_at, p.expires_at);
166
164
  for (const part of p.parts) {
167
165
  decodeMailBytes(part.data);
168
166
  if (part.media_type.startsWith("text/"))
169
167
  mailPartText(part);
170
168
  }
171
169
  if (p.reply_card !== undefined)
172
- validateMailboxCard(p.reply_card, l.event.actor);
170
+ validateMailboxCard(p.reply_card, p.from);
173
171
  }
174
172
  export function mailboxPublishEvent(actor, createdAt, nonce, payload) {
175
173
  return createEvent(MAIL_PROTOCOL, "mailbox.publish", actor, createdAt, nonce, clone(payload));
176
174
  }
177
- export function mailMessageEvent(actor, createdAt, nonce, payload) {
178
- return createEvent(MAIL_PROTOCOL, "mail.message", actor, createdAt, nonce, clone(payload));
175
+ export function newMailMessageId() {
176
+ return base64UrlEncode(nacl.randomBytes(32));
177
+ }
178
+ export function createMailMessage(actor, createdAt, payload) {
179
+ requireMail(payload &&
180
+ !["message_id", "from", "created_at"].some((k) => Object.hasOwn(payload, k)), "invalid_event", "message content overrides identity fields");
181
+ const message = {
182
+ ...clone(payload),
183
+ message_id: newMailMessageId(),
184
+ from: actor,
185
+ created_at: createdAt,
186
+ };
187
+ validateMailMessage(message);
188
+ return message;
179
189
  }
180
- /** Bind a reply to a known parent: participants, parent letter ID, and thread. */
181
190
  export function validateMailReply(reply, parent) {
182
- validateMailLetter(reply);
183
- validateMailLetter(parent);
184
- requireMail(reply.event.payload.in_reply_to === parent.hash &&
185
- reply.event.payload.thread_id === parent.event.payload.thread_id &&
186
- reply.event.actor === parent.event.payload.to &&
187
- reply.event.payload.to === parent.event.actor, "invalid_event", "reply participants/thread binding mismatch");
188
- }
189
- /** Validate a packet and return its canonical bytes, computed once for ID and size checks. */
191
+ validateMailMessage(reply);
192
+ validateMailMessage(parent);
193
+ requireMail(reply.in_reply_to === parent.message_id &&
194
+ reply.thread_id === parent.thread_id &&
195
+ reply.from === parent.to &&
196
+ reply.to === parent.from, "invalid_event", "reply binding mismatch");
197
+ }
190
198
  function packetBytes(packet, expectedId) {
191
- validateMailSchema(packet, "packet");
192
- const p = packet;
199
+ validateMailSchema(packet, "packetEnvelope");
200
+ const signed = packet;
201
+ verifyEnvelope(signed);
202
+ const e = signed.event, p = e.payload;
193
203
  decodeMailBytes(p.enc, 32);
194
204
  const ct = decodeMailBytes(p.ciphertext);
195
205
  requireMail(ct.length >= 1040 && ct.length % 1024 === 16, "invalid_packet", "invalid ciphertext length");
196
- const bytes = mailCanonicalBytes(p);
197
- requireMail(bytes.length <= MAIL_MAX_PACKET_BYTES, "payload_too_large", "packet exceeds 1 MiB");
206
+ requireMail(e.created_at < p.header.expires_at &&
207
+ p.header.expires_at - e.created_at <=
208
+ MAIL_MAX_TTL_MS + MAIL_FUTURE_SKEW_MS, "invalid_packet", "invalid packet lifetime");
209
+ const bytes = mailCanonicalBytes(signed);
210
+ requireMail(bytes.length <= MAIL_MAX_PACKET_BYTES, "payload_too_large", "packet exceeds limit");
198
211
  if (expectedId !== undefined)
199
- requireMail(base64UrlEncode(sha3_256(bytes)) === expectedId, "invalid_packet", "packet ID mismatch");
212
+ requireMail(signed.hash === expectedId, "invalid_packet", "packet ID mismatch");
200
213
  return bytes;
201
214
  }
202
215
  export function validateMailPacket(packet, expectedId) {
203
216
  packetBytes(packet, expectedId);
204
217
  }
205
218
  export function mailPacketId(packet) {
206
- return base64UrlEncode(sha3_256(mailCanonicalBytes(packet)));
219
+ packetBytes(packet);
220
+ return packet.hash;
221
+ }
222
+ /** HPKE AAD: the packet's five metadata fields and header, from the verified outer event. */
223
+ export function mailPacketAad(event) {
224
+ return mailCanonicalBytes({
225
+ protocol: event.protocol,
226
+ type: event.type,
227
+ actor: event.actor,
228
+ created_at: event.created_at,
229
+ nonce: event.nonce,
230
+ header: event.payload.header,
231
+ });
207
232
  }
208
233
  export function frameMailBytes(bytes) {
209
234
  requireMail(bytes.length > 0 && bytes.length <= MAIL_MAX_PACKET_BYTES, "invalid_packet", "invalid frame input length");
@@ -212,7 +237,7 @@ export function frameMailBytes(bytes) {
212
237
  frame.set(bytes, 4);
213
238
  return frame;
214
239
  }
215
- export function unframeMailLetter(frame) {
240
+ export function unframeMailMessage(frame) {
216
241
  requireMail(frame.length >= 1024 &&
217
242
  frame.length <= MAIL_MAX_PACKET_BYTES &&
218
243
  frame.length % 1024 === 0, "invalid_packet", "invalid frame length");
@@ -228,10 +253,10 @@ export function unframeMailLetter(frame) {
228
253
  catch {
229
254
  throw protocolError("invalid_packet", "invalid UTF-8 frame");
230
255
  }
231
- const letter = parseStrictJson(text);
232
- requireMail(canonicalize(letter) === text, "invalid_packet", "noncanonical letter JSON");
233
- validateMailLetter(letter);
234
- return letter;
256
+ const message = parseStrictJson(text);
257
+ requireMail(canonicalize(message) === text, "invalid_packet", "noncanonical message JSON");
258
+ validateMailMessage(message);
259
+ return message;
235
260
  }
236
261
  const hpke = () => new CipherSuite({
237
262
  kem: new DhkemX25519HkdfSha256(),
@@ -267,28 +292,27 @@ export class MailEncryptionKey {
267
292
  }
268
293
  }
269
294
  /** Stateless encryption with fresh HPKE randomness. Pin the card with MailCardCache first. */
270
- export async function sealMailPacket(letter, card, now = Date.now()) {
271
- letter = clone(letter);
295
+ export async function sealMailPacket(message, card, signer, nonce, now = Date.now()) {
296
+ message = clone(message);
272
297
  card = clone(card);
273
- validateMailLetter(letter);
274
- validateMailSenderCard(card, letter.event.payload.to, now);
275
- requireMail(letter.event.created_at <= now + MAIL_FUTURE_SKEW_MS &&
276
- now < letter.event.payload.expires_at, "packet_expired", "letter is expired or future-dated");
298
+ validateMailMessage(message);
299
+ requireMail(message.from === signer.agentId(), "invalid_actor", "message sender differs from signer");
300
+ validateMailSenderCard(card, message.to, now);
301
+ requireMail(message.created_at <= now + MAIL_FUTURE_SKEW_MS && now < message.expires_at, "packet_expired", "message expired or future-dated");
277
302
  const c = card.event.payload;
278
- requireMail(letter.event.payload.expires_at <= c.receive_until, "invalid_packet", "letter exceeds receive_until");
303
+ requireMail(message.expires_at <= c.receive_until, "invalid_packet", "message exceeds receive_until");
304
+ const plaintext = frameMailBytes(mailCanonicalBytes(message));
279
305
  const header = {
280
- protocol: MAIL_PROTOCOL,
281
306
  mailbox_id: c.mailbox_id,
282
307
  card_hash: card.hash,
283
- expires_at: letter.event.payload.expires_at,
308
+ expires_at: message.expires_at,
284
309
  };
285
- const plaintext = frameMailBytes(mailCanonicalBytes(letter));
286
- // Check base64/JSON overhead before allocating an HPKE context.
287
- const estimate = {
310
+ const event = createEvent(MAIL_PROTOCOL, "mail.submit", signer.agentId(), now, nonce, {
288
311
  header,
289
312
  enc: base64UrlEncode(new Uint8Array(32)),
290
313
  ciphertext: base64UrlEncode(new Uint8Array(plaintext.length + 16)),
291
- };
314
+ });
315
+ const estimate = { event, hash: "A".repeat(43), signature: "A".repeat(86) };
292
316
  requireMail(mailCanonicalBytes(estimate).length <= c.max_packet_bytes, "payload_too_large", "packet exceeds card limit");
293
317
  const suite = hpke();
294
318
  const sender = await suite.createSenderContext({
@@ -296,18 +320,16 @@ export async function sealMailPacket(letter, card, now = Date.now()) {
296
320
  info: INFO,
297
321
  });
298
322
  try {
299
- const ct = await sender.seal(plaintext, mailCanonicalBytes(header));
300
- return {
301
- header,
302
- enc: base64UrlEncode(new Uint8Array(sender.enc)),
303
- ciphertext: base64UrlEncode(new Uint8Array(ct)),
304
- };
323
+ const ct = await sender.seal(plaintext, mailPacketAad(event));
324
+ event.payload.enc = base64UrlEncode(new Uint8Array(sender.enc));
325
+ event.payload.ciphertext = base64UrlEncode(new Uint8Array(ct));
326
+ return signer.signEvent(event);
305
327
  }
306
328
  finally {
307
329
  plaintext.fill(0);
308
- } // Context is never reused; JS cannot guarantee erasure of provider-owned/GC copies.
330
+ }
309
331
  }
310
- /** Verify/decrypt a queued letter; expiration of new acceptance is checked by MailInbox. */
332
+ /** Verify/decrypt a queued packet; expiration of new acceptance is checked by MailInbox. */
311
333
  export async function openMailPacket(packet, card, key, owner, now = Date.now(), expectedId) {
312
334
  packet = clone(packet);
313
335
  card = clone(card);
@@ -318,7 +340,8 @@ export async function openMailPacket(packet, card, key, owner, now = Date.now(),
318
340
  }
319
341
  /** Open with a card that was already verified for `owner` (the keyring verifies at `add`). */
320
342
  async function openVerified(packet, bytes, card, key, owner, now) {
321
- const c = card.event.payload, h = packet.header;
343
+ requireMail(packet.event.created_at <= now + MAIL_FUTURE_SKEW_MS, "timestamp_out_of_window", "future packet");
344
+ const c = card.event.payload, h = packet.event.payload.header;
322
345
  requireMail(h.card_hash === card.hash && h.mailbox_id === c.mailbox_id, "invalid_packet", "card/header binding mismatch");
323
346
  requireMail(bytes.length <= c.max_packet_bytes, "payload_too_large", "packet exceeds card limit");
324
347
  requireMail(h.expires_at <= c.receive_until, "invalid_packet", "packet exceeds receive_until");
@@ -329,10 +352,10 @@ async function openVerified(packet, bytes, card, key, owner, now) {
329
352
  const suite = hpke();
330
353
  const ctx = await suite.createRecipientContext({
331
354
  recipientKey: await suite.kem.deserializePrivateKey(secret),
332
- enc: decodeMailBytes(packet.enc, 32),
355
+ enc: decodeMailBytes(packet.event.payload.enc, 32),
333
356
  info: INFO,
334
357
  });
335
- plaintext = new Uint8Array(await ctx.open(decodeMailBytes(packet.ciphertext), mailCanonicalBytes(h)));
358
+ plaintext = new Uint8Array(await ctx.open(decodeMailBytes(packet.event.payload.ciphertext), mailPacketAad(packet.event)));
336
359
  }
337
360
  catch {
338
361
  throw protocolError("invalid_packet", "HPKE opening failed");
@@ -341,11 +364,12 @@ async function openVerified(packet, bytes, card, key, owner, now) {
341
364
  secret.fill(0);
342
365
  }
343
366
  try {
344
- const letter = unframeMailLetter(plaintext);
345
- requireMail(letter.event.payload.to === owner, "invalid_packet", "letter recipient mismatch");
346
- requireMail(letter.event.payload.expires_at === h.expires_at, "invalid_packet", "letter/header expiration mismatch");
347
- requireMail(letter.event.created_at <= now + MAIL_FUTURE_SKEW_MS, "timestamp_out_of_window", "future letter");
348
- return letter;
367
+ const message = unframeMailMessage(plaintext);
368
+ requireMail(message.from === packet.event.actor && message.to === owner, "invalid_packet", "message recipient mismatch");
369
+ requireMail(message.expires_at === h.expires_at, "invalid_packet", "message/header expiration mismatch");
370
+ requireMail(message.created_at <=
371
+ Math.min(now, packet.event.created_at) + MAIL_FUTURE_SKEW_MS, "timestamp_out_of_window", "future message");
372
+ return message;
349
373
  }
350
374
  finally {
351
375
  plaintext.fill(0);
@@ -394,8 +418,9 @@ export class MailCardCache {
394
418
  if (now >= pin.event.created_at + MAIL_MAX_TTL_MS + MAIL_FUTURE_SKEW_MS)
395
419
  this.pins.delete(id);
396
420
  }
397
- async seal(letter, card, now = Date.now()) {
398
- return sealMailPacket(letter, this.observe(card, letter.event.payload.to, now), now);
421
+ async seal(message, card, signer, nonce, now = Date.now()) {
422
+ validateMailMessage(message);
423
+ return sealMailPacket(message, this.observe(card, message.to, now), signer, nonce, now);
399
424
  }
400
425
  }
401
426
  /** Retained verified cards and their secrets, looked up by card hash until receive_until. */
@@ -445,52 +470,70 @@ export class MailKeyring {
445
470
  async open(packet, now = Date.now(), expectedId) {
446
471
  packet = clone(packet);
447
472
  safeTime(now);
448
- const bytes = packetBytes(packet, expectedId);
449
- const x = this.entries.get(packet.header.card_hash);
473
+ return this.openChecked(packet, packetBytes(packet, expectedId), now);
474
+ }
475
+ /** @internal Open a packet already checked by `packetBytes`; used by `MailInbox`. */
476
+ openChecked(packet, bytes, now) {
477
+ const x = this.entries.get(packet.event.payload.header.card_hash);
450
478
  requireMail(x, "invalid_packet", "unknown retained card");
451
479
  return openVerified(packet, bytes, x.card, x.key, this.owner, now);
452
480
  }
453
481
  }
454
- /**
455
- * Cross-route letter deduplication. The application stores accepted letters;
456
- * persist the snapshot with them before deleting relay copies or acting.
457
- */
458
482
  export class MailInbox {
459
483
  keyring;
460
484
  accepted = new Map();
485
+ blocked = new Set();
461
486
  constructor(keyring, snapshot) {
462
487
  this.keyring = keyring;
463
488
  if (snapshot) {
464
489
  requireMail(snapshot.version === 1 && snapshot.owner === keyring.owner, "invalid_request");
465
- for (const [id, expires] of snapshot.accepted)
466
- this.accepted.set(id, expires);
490
+ for (const [id, expires, digest] of snapshot.accepted)
491
+ this.accepted.set(id, { expires, digest });
492
+ for (const sender of snapshot.blocked_senders)
493
+ this.setSenderBlocked(sender, true);
467
494
  }
468
495
  }
496
+ setSenderBlocked(sender, blocked = true) {
497
+ validateAgentId(sender);
498
+ requireMail(typeof blocked === "boolean", "invalid_request");
499
+ if (blocked)
500
+ this.blocked.add(sender);
501
+ else
502
+ this.blocked.delete(sender);
503
+ }
469
504
  snapshot() {
470
505
  return {
471
506
  version: 1,
472
507
  owner: this.keyring.owner,
473
- accepted: [...this.accepted],
508
+ accepted: [...this.accepted].map(([k, v]) => [k, v.expires, v.digest]),
509
+ blocked_senders: [...this.blocked],
474
510
  };
475
511
  }
476
- has(letterId) {
477
- return this.accepted.has(letterId);
512
+ has(sender, messageId) {
513
+ return this.accepted.has(sender + "/" + messageId);
478
514
  }
515
+ /** Verify the packet once, apply sender policy before decryption, then deduplicate the message. */
479
516
  async accept(packet, now = Date.now(), expectedId) {
480
- const letter = await this.keyring.open(packet, now, expectedId);
517
+ packet = clone(packet);
518
+ safeTime(now);
519
+ const bytes = packetBytes(packet, expectedId);
520
+ requireMail(!this.blocked.has(packet.event.actor), "permission_denied", "sender not admitted");
521
+ const message = await this.keyring.openChecked(packet, bytes, now);
522
+ const key = message.from + "/" + message.message_id, digest = base64UrlEncode(sha3_256(mailCanonicalBytes(message))), previous = this.accepted.get(key);
481
523
  // No await between lookup and commit: concurrent decryptions cannot both accept.
482
- if (this.accepted.has(letter.hash))
483
- return { kind: "duplicate", letter };
484
- requireMail(now < letter.event.payload.expires_at, "packet_expired", "expired new letter");
485
- this.accepted.set(letter.hash, letter.event.payload.expires_at);
486
- return { kind: "accepted", letter };
524
+ if (previous) {
525
+ requireMail(previous.digest === digest, "invalid_event", "message ID reused for different content");
526
+ return { kind: "duplicate", message };
527
+ }
528
+ requireMail(now < message.expires_at, "packet_expired", "expired new message");
529
+ this.accepted.set(key, { expires: message.expires_at, digest });
530
+ return { kind: "accepted", message };
487
531
  }
488
- /** Forget letters whose signed expiration has passed; they can no longer be newly accepted. */
489
532
  prune(now = Date.now()) {
490
533
  safeTime(now);
491
- for (const [id, expires] of this.accepted)
492
- if (now >= expires)
493
- this.accepted.delete(id);
534
+ for (const [k, v] of this.accepted)
535
+ if (now >= v.expires)
536
+ this.accepted.delete(k);
494
537
  }
495
538
  }
496
539
  export function validateMailDiscovery(value, service) {
@@ -529,14 +572,15 @@ export function validateMailDeliveryResult(value, packet) {
529
572
  const r = value;
530
573
  if (packet !== undefined)
531
574
  requireMail(r.packet_id === mailPacketId(packet) &&
532
- r.accepted_at < packet.header.expires_at, "invalid_response", "delivery result mismatch");
575
+ r.accepted_at < packet.event.payload.header.expires_at, "invalid_response", "delivery result mismatch");
533
576
  }
534
577
  export function validateMailPacketRecord(value, mailboxId) {
535
578
  validateMailSchema(value, "packetRecord");
536
579
  const r = value;
537
580
  validateMailPacket(r.packet, r.packet_id);
538
- requireMail(r.accepted_at < r.packet.header.expires_at &&
539
- (mailboxId === undefined || r.packet.header.mailbox_id === mailboxId), "invalid_response", "packet record mismatch");
581
+ requireMail(r.accepted_at < r.packet.event.payload.header.expires_at &&
582
+ (mailboxId === undefined ||
583
+ r.packet.event.payload.header.mailbox_id === mailboxId), "invalid_response", "packet record mismatch");
540
584
  }
541
585
  export function validateMailPacketList(value, mailboxId, limit = 100) {
542
586
  validateMailSchema(value, "packetList");
@@ -582,6 +626,7 @@ export class MailRelayStore {
582
626
  bytes: 0,
583
627
  packets: new Map(),
584
628
  tombstones: new Map(),
629
+ blockedSenders: new Set(m.blocked_senders),
585
630
  };
586
631
  for (const record of m.packets) {
587
632
  const size = mailCanonicalBytes(record.packet).length;
@@ -604,6 +649,7 @@ export class MailRelayStore {
604
649
  mailboxes: [...this.boxes.values()].map((b) => ({
605
650
  current: clone(b.current),
606
651
  last_seq: b.lastSeq,
652
+ blocked_senders: [...b.blockedSenders],
607
653
  packets: [...b.packets.values()].map((p) => clone(p.record)),
608
654
  tombstones: [...b.tombstones].map(([packet_id, t]) => ({
609
655
  packet_id,
@@ -645,6 +691,7 @@ export class MailRelayStore {
645
691
  bytes: 0,
646
692
  packets: new Map(),
647
693
  tombstones: new Map(),
694
+ blockedSenders: new Set(),
648
695
  });
649
696
  return clone(record);
650
697
  }
@@ -662,16 +709,17 @@ export class MailRelayStore {
662
709
  requireMail(encoder.encode(text).length <= MAIL_MAX_PACKET_BYTES, "payload_too_large");
663
710
  return this.deliver(mailboxId, parseStrictJson(text), now);
664
711
  }
712
+ /** Packets are asynchronous signed objects: no live-write window or nonce maximum applies. */
665
713
  deliver(mailboxId, packet, now = this.clock()) {
666
714
  packet = clone(packet);
667
715
  safeTime(now);
668
716
  pathId(mailboxId, 16);
669
717
  const bytes = packetBytes(packet), size = bytes.length;
670
- const h = packet.header;
718
+ const h = packet.event.payload.header;
671
719
  requireMail(h.mailbox_id === mailboxId, "invalid_packet", "path mailbox mismatch");
672
720
  const b = this.boxes.get(mailboxId);
673
721
  requireMail(b, "mailbox_unavailable");
674
- const id = base64UrlEncode(sha3_256(bytes)), prior = b.tombstones.get(id);
722
+ const id = packet.hash, prior = b.tombstones.get(id);
675
723
  if (prior)
676
724
  return { packet_id: id, accepted_at: prior.accepted_at };
677
725
  const c = b.current.envelope, p = c.event.payload;
@@ -680,11 +728,13 @@ export class MailRelayStore {
680
728
  requireMail(now < h.expires_at, "packet_expired");
681
729
  requireMail(h.expires_at <= p.receive_until &&
682
730
  h.expires_at - now <= MAIL_MAX_TTL_MS + MAIL_FUTURE_SKEW_MS, "invalid_packet", "packet lifetime exceeds bound");
731
+ requireMail(packet.event.created_at <= now + MAIL_FUTURE_SKEW_MS, "timestamp_out_of_window", "future packet");
683
732
  requireMail(size <= p.max_packet_bytes, "payload_too_large", "packet exceeds card limit");
684
733
  this.dropExpired(b, now);
685
734
  requireMail(b.packets.size < this.maxPackets &&
686
735
  b.bytes + size <= this.maxBytes &&
687
736
  b.lastSeq < Number.MAX_SAFE_INTEGER, "rate_limited", "mailbox storage quota exhausted");
737
+ requireMail(!b.blockedSenders.has(packet.event.actor), "permission_denied", "sender not admitted");
688
738
  b.lastSeq += 1;
689
739
  b.packets.set(id, {
690
740
  record: { packet_id: id, packet, accepted_at: now, seq: b.lastSeq },
@@ -694,6 +744,21 @@ export class MailRelayStore {
694
744
  b.tombstones.set(id, { accepted_at: now, expires_at: h.expires_at });
695
745
  return { packet_id: id, accepted_at: now };
696
746
  }
747
+ /**
748
+ * Owner sender policy for new packets. Mail defines no management endpoint:
749
+ * the host authenticates the mailbox owner before calling this.
750
+ */
751
+ setSenderBlocked(mailboxId, sender, blocked) {
752
+ pathId(mailboxId, 16);
753
+ const b = this.boxes.get(mailboxId);
754
+ requireMail(b, "mailbox_unavailable");
755
+ validateAgentId(sender);
756
+ requireMail(typeof blocked === "boolean", "invalid_request");
757
+ if (blocked)
758
+ b.blockedSenders.add(sender);
759
+ else
760
+ b.blockedSenders.delete(sender);
761
+ }
697
762
  ownerBox(mailboxId, jwt, now) {
698
763
  pathId(mailboxId, 16);
699
764
  const claims = ownerClaims(jwt, this.origin, now);
@@ -714,7 +779,7 @@ export class MailRelayStore {
714
779
  const after = cursor === undefined ? 0 : Number(cursor);
715
780
  const rows = [...b.packets.values()]
716
781
  .map((x) => x.record)
717
- .filter((r) => r.seq > after && now < r.packet.header.expires_at);
782
+ .filter((r) => r.seq > after && now < r.packet.event.payload.header.expires_at);
718
783
  const result = clone(rows.slice(0, limit));
719
784
  return rows.length > limit
720
785
  ? { result, next_cursor: String(result.at(-1).seq) }
@@ -743,7 +808,7 @@ export class MailRelayStore {
743
808
  }
744
809
  dropExpired(b, now) {
745
810
  for (const [id, x] of b.packets)
746
- if (now >= x.record.packet.header.expires_at) {
811
+ if (now >= x.record.packet.event.payload.header.expires_at) {
747
812
  b.packets.delete(id);
748
813
  b.bytes -= x.size;
749
814
  }
package/dist/mail.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mail.js","sourceRoot":"","sources":["../src/mail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../src/mail.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-protocols",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "description": "TypeScript SDK for Agent Identity, Agent Profile, Agent Delegation, Agent Discourse, Agent Knowledge, and Agent Mail protocols",
5
5
  "type": "module",
6
6
  "license": "MIT",