sealbridge 0.1.0 → 0.2.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/README.ja.md +35 -7
- package/README.md +117 -10
- package/dist/cli/dist/approval-summary.d.ts +2 -0
- package/dist/cli/dist/approval-summary.js +32 -0
- package/dist/cli/dist/approval-summary.js.map +1 -0
- package/dist/cli/dist/doctor.d.ts +6 -3
- package/dist/cli/dist/doctor.js +13 -8
- package/dist/cli/dist/doctor.js.map +1 -1
- package/dist/cli/dist/error-messages.d.ts +2 -0
- package/dist/cli/dist/error-messages.js +24 -0
- package/dist/cli/dist/error-messages.js.map +1 -0
- package/dist/cli/dist/index.js +2 -1
- package/dist/cli/dist/index.js.map +1 -1
- package/dist/cli/dist/invite-share.js +2 -8
- package/dist/cli/dist/invite-share.js.map +1 -1
- package/dist/cli/dist/network.js +87 -11
- package/dist/cli/dist/network.js.map +1 -1
- package/dist/cli/dist/task-input.d.ts +2 -0
- package/dist/cli/dist/task-input.js +19 -0
- package/dist/cli/dist/task-input.js.map +1 -0
- package/dist/cli/dist/wake-hook.d.ts +3 -0
- package/dist/cli/dist/wake-hook.js +32 -0
- package/dist/cli/dist/wake-hook.js.map +1 -0
- package/dist/package.json +1 -1
- package/dist/packages/adapters/dist/command.d.ts +2 -0
- package/dist/packages/adapters/dist/command.js +13 -0
- package/dist/packages/adapters/dist/command.js.map +1 -1
- package/dist/packages/core/dist/capability.js +7 -2
- package/dist/packages/core/dist/capability.js.map +1 -1
- package/dist/packages/core/dist/crypto.js +8 -2
- package/dist/packages/core/dist/crypto.js.map +1 -1
- package/dist/packages/core/dist/discovery.d.ts +5 -0
- package/dist/packages/core/dist/discovery.js +29 -13
- package/dist/packages/core/dist/discovery.js.map +1 -1
- package/dist/packages/core/dist/revocation.d.ts +4 -1
- package/dist/packages/core/dist/revocation.js +29 -5
- package/dist/packages/core/dist/revocation.js.map +1 -1
- package/dist/packages/relay/dist/fetch.d.ts +28 -1
- package/dist/packages/relay/dist/fetch.js +195 -4
- package/dist/packages/relay/dist/fetch.js.map +1 -1
- package/dist/packages/relay/dist/index.d.ts +16 -5
- package/dist/packages/relay/dist/index.js +243 -95
- package/dist/packages/relay/dist/index.js.map +1 -1
- package/dist/packages/relay/dist/journal.d.ts +7 -0
- package/dist/packages/relay/dist/journal.js +33 -4
- package/dist/packages/relay/dist/journal.js.map +1 -1
- package/dist/packages/relay/dist/notifications.d.ts +63 -0
- package/dist/packages/relay/dist/notifications.js +55 -0
- package/dist/packages/relay/dist/notifications.js.map +1 -0
- package/dist/packages/relay/dist/retry.d.ts +4 -1
- package/dist/packages/relay/dist/retry.js +27 -7
- package/dist/packages/relay/dist/retry.js.map +1 -1
- package/dist/packages/relay/dist/worker.d.ts +7 -0
- package/dist/packages/relay/dist/worker.js +57 -8
- package/dist/packages/relay/dist/worker.js.map +1 -1
- package/dist/packages/runtime/dist/a2a.js +1 -1
- package/dist/packages/runtime/dist/approval-providers.d.ts +2 -0
- package/dist/packages/runtime/dist/approval-providers.js +2 -2
- package/dist/packages/runtime/dist/approval-providers.js.map +1 -1
- package/dist/packages/runtime/dist/mcp-server.js +17 -1
- package/dist/packages/runtime/dist/mcp-server.js.map +1 -1
- package/dist/packages/runtime/dist/mcp-tool-catalog.js +16 -0
- package/dist/packages/runtime/dist/mcp-tool-catalog.js.map +1 -1
- package/dist/packages/runtime/dist/session-audit.d.ts +22 -3
- package/dist/packages/runtime/dist/session-audit.js +128 -23
- package/dist/packages/runtime/dist/session-audit.js.map +1 -1
- package/dist/packages/runtime/dist/session-timeouts.d.ts +33 -0
- package/dist/packages/runtime/dist/session-timeouts.js +62 -0
- package/dist/packages/runtime/dist/session-timeouts.js.map +1 -0
- package/dist/packages/runtime/dist/session.d.ts +52 -17
- package/dist/packages/runtime/dist/session.js +466 -94
- package/dist/packages/runtime/dist/session.js.map +1 -1
- package/dist/packages/runtime/dist/task-journal.d.ts +36 -0
- package/dist/packages/runtime/dist/task-journal.js +104 -0
- package/dist/packages/runtime/dist/task-journal.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
import { verifySigned, resolveDid, verifySignedAgentCard, findDiscoveredAgentCard, toA2AAgentCard, verifyRelayAuthToken, createRelayAuthToken, } from '../../core/dist/edge.js';
|
|
2
|
+
import { verifySigned, generateKeyPair, signPayload, resolveDid, verifySignedAgentCard, findDiscoveredAgentCard, toA2AAgentCard, verifyRelayAuthToken, createRelayAuthToken, } from '../../core/dist/edge.js';
|
|
3
|
+
export * from './notifications.js';
|
|
3
4
|
// Same outer wire shape as envelope.schema.json, without filesystem schema loads.
|
|
4
5
|
export function verifyRelayEnvelope(e, recipient) {
|
|
5
6
|
try {
|
|
@@ -263,6 +264,7 @@ export function relayLimitsFromEnv(env) {
|
|
|
263
264
|
return Number.isSafeInteger(parsed) && parsed >= 1 ? parsed : undefined;
|
|
264
265
|
};
|
|
265
266
|
return {
|
|
267
|
+
notificationTtlMs: read('ACP_NOTIFICATION_TTL_MS'),
|
|
266
268
|
maxEnvelopeBytes: read('ACP_MAX_ENVELOPE_BYTES'),
|
|
267
269
|
maxQueueSize: read('ACP_MAX_QUEUE_SIZE'),
|
|
268
270
|
maxQueueBytesPerRecipient: read('ACP_MAX_QUEUE_BYTES'),
|
|
@@ -296,6 +298,14 @@ export function selectAgentCard(cards, agentDid, now = Date.now()) {
|
|
|
296
298
|
return findDiscoveredAgentCard([...cards], agentDid, now);
|
|
297
299
|
}
|
|
298
300
|
export class InMemoryRelay {
|
|
301
|
+
operations = new Map();
|
|
302
|
+
notificationKey;
|
|
303
|
+
wake;
|
|
304
|
+
notificationTtlMs;
|
|
305
|
+
flushing;
|
|
306
|
+
get notificationDid() { return this.notificationKey.did; }
|
|
307
|
+
/** Durable hosts install the persisted relay identity before restoring queues. */
|
|
308
|
+
setNotificationKey(key) { this.notificationKey = key; }
|
|
299
309
|
queues = new Map();
|
|
300
310
|
taskStates = new Map();
|
|
301
311
|
seen = new Map();
|
|
@@ -326,6 +336,18 @@ export class InMemoryRelay {
|
|
|
326
336
|
now;
|
|
327
337
|
constructor(options) {
|
|
328
338
|
const config = typeof options === 'function' ? { tamper: options } : (options ?? {});
|
|
339
|
+
this.notificationKey = config.notificationKey ?? generateKeyPair();
|
|
340
|
+
this.wake = config.wake;
|
|
341
|
+
if (this.wake) {
|
|
342
|
+
positiveLimit(this.wake.maxAttempts, 5);
|
|
343
|
+
positiveLimit(this.wake.retryBaseMs, 1000);
|
|
344
|
+
if (positiveLimit(this.wake.timeoutMs, 5000) > 2_147_483_647)
|
|
345
|
+
throw new Error('INVALID_RELAY_LIMIT');
|
|
346
|
+
const url = new URL(this.wake.relay);
|
|
347
|
+
if (!['http:', 'https:'].includes(url.protocol) || url.username || url.password || url.search || url.hash)
|
|
348
|
+
throw new Error('INVALID_REQUEST');
|
|
349
|
+
}
|
|
350
|
+
this.notificationTtlMs = positiveLimit(config.notificationTtlMs, DEFAULT_SEEN_TTL_MS);
|
|
329
351
|
this.tamper = config.tamper;
|
|
330
352
|
this.requireAuth = config.requireAuth ?? false;
|
|
331
353
|
this.allowUnboundRelayAuth = config.allowUnboundRelayAuth ?? false;
|
|
@@ -410,12 +432,147 @@ export class InMemoryRelay {
|
|
|
410
432
|
}
|
|
411
433
|
return queue;
|
|
412
434
|
}
|
|
435
|
+
putOperation(id, operation) {
|
|
436
|
+
// Each kind has its own cap; notification traffic cannot consume queue capacity.
|
|
437
|
+
if (!this.operations.has(id)) {
|
|
438
|
+
const same = [...this.operations].filter(([, row]) => row.kind === operation.kind);
|
|
439
|
+
if (same.length >= this.maxSeenEntries)
|
|
440
|
+
this.operations.delete(same[0][0]);
|
|
441
|
+
}
|
|
442
|
+
this.operations.set(id, operation);
|
|
443
|
+
this.version++;
|
|
444
|
+
}
|
|
445
|
+
registerWake(recipientDid, channel, token, check) {
|
|
446
|
+
if (!this.authenticate(recipientDid, token, 'receive', check))
|
|
447
|
+
throw new Error('RELAY_UNAUTHORIZED');
|
|
448
|
+
if (channel === null) {
|
|
449
|
+
this.operations.delete('registration:' + recipientDid);
|
|
450
|
+
for (const [id, op] of this.operations)
|
|
451
|
+
if (op.kind === 'wake' && op.recipientDid === recipientDid)
|
|
452
|
+
this.operations.delete(id);
|
|
453
|
+
this.version++;
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
456
|
+
if (!this.wake || !Object.hasOwn(this.wake.channels, channel))
|
|
457
|
+
throw new Error('INVALID_REQUEST');
|
|
458
|
+
this.putOperation('registration:' + recipientDid, {
|
|
459
|
+
kind: 'registration', recipientDid, channel, expiresAt: this.now() + this.notificationTtlMs,
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
queueWake(envelope) {
|
|
463
|
+
const { recipientDid, taskId } = envelope.payload;
|
|
464
|
+
if (!this.wake || this.listeners.get(recipientDid)?.size)
|
|
465
|
+
return;
|
|
466
|
+
const reg = this.operations.get('registration:' + recipientDid);
|
|
467
|
+
const id = 'wake:' + recipientDid + ':' + taskId;
|
|
468
|
+
if (reg?.kind !== 'registration' || reg.expiresAt <= this.now() || this.operations.has(id))
|
|
469
|
+
return;
|
|
470
|
+
this.putOperation(id, { kind: 'wake', recipientDid, taskId, channel: reg.channel,
|
|
471
|
+
attempts: 0, nextAttempt: this.now(), done: false, expiresAt: this.now() + this.notificationTtlMs });
|
|
472
|
+
}
|
|
473
|
+
/** Claim inside a durable mutation turn and persist before invoking the channel. */
|
|
474
|
+
claimWakeNotification() {
|
|
475
|
+
if (!this.wake)
|
|
476
|
+
return;
|
|
477
|
+
for (const [id, op] of this.operations) {
|
|
478
|
+
if (op.kind !== 'wake' || op.done || op.nextAttempt > this.now() || op.expiresAt <= this.now())
|
|
479
|
+
continue;
|
|
480
|
+
const registration = this.operations.get('registration:' + op.recipientDid);
|
|
481
|
+
if (op.attempts >= (this.wake.maxAttempts ?? 5) || registration?.kind !== 'registration' ||
|
|
482
|
+
registration.expiresAt <= this.now() || registration.channel !== op.channel ||
|
|
483
|
+
this.listeners.get(op.recipientDid)?.size ||
|
|
484
|
+
!this.queues.get(op.recipientDid)?.some(item => item.expiresAt > this.now() && item.envelope.payload.taskId === op.taskId)) {
|
|
485
|
+
op.done = true;
|
|
486
|
+
this.version++;
|
|
487
|
+
continue;
|
|
488
|
+
}
|
|
489
|
+
const channel = this.wake.channels[op.channel];
|
|
490
|
+
if (!channel || !Object.hasOwn(this.wake.channels, op.channel))
|
|
491
|
+
continue;
|
|
492
|
+
op.attempts++;
|
|
493
|
+
op.nextAttempt = this.now() + Math.min(60_000, (this.wake.retryBaseMs ?? 1000) * 2 ** Math.min(op.attempts - 1, 16));
|
|
494
|
+
this.version++;
|
|
495
|
+
return { id, attempt: op.attempts, deliver: channel, timeoutMs: this.wake.timeoutMs ?? 5000,
|
|
496
|
+
notice: signPayload({ recipientDid: op.recipientDid, taskId: op.taskId, relay: this.wake.relay }, this.notificationKey) };
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
/** Run outside the durable mutation turn so notification latency cannot stall inbox delivery. */
|
|
500
|
+
async deliverWakeNotification(attempt) {
|
|
501
|
+
const controller = new AbortController();
|
|
502
|
+
let timer;
|
|
503
|
+
try {
|
|
504
|
+
await Promise.race([
|
|
505
|
+
attempt.deliver(attempt.notice, controller.signal),
|
|
506
|
+
new Promise((_, reject) => {
|
|
507
|
+
timer = setTimeout(() => {
|
|
508
|
+
controller.abort();
|
|
509
|
+
reject(new Error('WAKE_TIMEOUT'));
|
|
510
|
+
}, attempt.timeoutMs);
|
|
511
|
+
}),
|
|
512
|
+
]);
|
|
513
|
+
return !controller.signal.aborted;
|
|
514
|
+
}
|
|
515
|
+
catch {
|
|
516
|
+
return false;
|
|
517
|
+
}
|
|
518
|
+
finally {
|
|
519
|
+
clearTimeout(timer);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
completeWakeNotification(attempt, delivered) {
|
|
523
|
+
const op = this.operations.get(attempt.id);
|
|
524
|
+
if (op?.kind !== 'wake' || op.attempts !== attempt.attempt)
|
|
525
|
+
return;
|
|
526
|
+
op.done = delivered || op.attempts >= (this.wake?.maxAttempts ?? 5);
|
|
527
|
+
if (!op.done)
|
|
528
|
+
op.nextAttempt = this.now() + Math.min(60_000, (this.wake?.retryBaseMs ?? 1000) * 2 ** Math.min(op.attempts - 1, 16));
|
|
529
|
+
this.version++;
|
|
530
|
+
}
|
|
531
|
+
/** In-memory hosts call periodically; durable hosts commit claims and completion separately. */
|
|
532
|
+
flushWakeNotifications() {
|
|
533
|
+
if (this.flushing)
|
|
534
|
+
return this.flushing;
|
|
535
|
+
this.flushing = (async () => {
|
|
536
|
+
let attempt;
|
|
537
|
+
while ((attempt = this.claimWakeNotification())) {
|
|
538
|
+
const delivered = await this.deliverWakeNotification(attempt);
|
|
539
|
+
this.completeWakeNotification(attempt, delivered);
|
|
540
|
+
}
|
|
541
|
+
})().finally(() => { this.flushing = undefined; });
|
|
542
|
+
return this.flushing;
|
|
543
|
+
}
|
|
544
|
+
getDeliveryStatus(recipientDid, envelopeId, senderDid, relay, token, check) {
|
|
545
|
+
if (!this.authenticate(senderDid, token, 'receive', check))
|
|
546
|
+
throw new Error('RELAY_UNAUTHORIZED');
|
|
547
|
+
const expired = this.operations.get('expiry:' + envelopeId);
|
|
548
|
+
if (expired?.kind === 'expiry' && expired.notice.payload.senderDid === senderDid &&
|
|
549
|
+
expired.notice.payload.recipientDid === recipientDid)
|
|
550
|
+
return signPayload({ ...expired.notice.payload, relay }, this.notificationKey);
|
|
551
|
+
const item = this.queues.get(recipientDid)?.find(row => row.envelope.payload.envelopeId === envelopeId && row.envelope.payload.senderDid === senderDid);
|
|
552
|
+
return signPayload({ type: 'RelayDeliveryStatus', state: item ? 'pending' : 'unknown', envelopeId,
|
|
553
|
+
senderDid, recipientDid, relay,
|
|
554
|
+
...(item ? { taskId: item.envelope.payload.taskId, expiresAt: item.expiresAt } : {}),
|
|
555
|
+
}, this.notificationKey);
|
|
556
|
+
}
|
|
413
557
|
/** Drop queued envelopes, replay ids, and agent cards whose TTL has elapsed. */
|
|
414
558
|
evictExpired() {
|
|
415
559
|
const now = this.now();
|
|
416
560
|
let changed = false;
|
|
561
|
+
for (const [id, op] of this.operations)
|
|
562
|
+
if (op.expiresAt <= now) {
|
|
563
|
+
this.operations.delete(id);
|
|
564
|
+
changed = true;
|
|
565
|
+
}
|
|
417
566
|
for (const [did, queue] of this.queues) {
|
|
418
|
-
const live = queue.filter((item) =>
|
|
567
|
+
const live = queue.filter((item) => {
|
|
568
|
+
if (item.expiresAt > now)
|
|
569
|
+
return true;
|
|
570
|
+
const { envelopeId, senderDid, recipientDid, taskId } = item.envelope.payload;
|
|
571
|
+
this.putOperation('expiry:' + envelopeId, { kind: 'expiry', expiresAt: now + this.notificationTtlMs,
|
|
572
|
+
notice: signPayload({ type: 'RelayDeliveryStatus', state: 'expired', envelopeId, senderDid,
|
|
573
|
+
recipientDid, taskId, relay: this.wake?.relay ?? '', expiresAt: item.expiresAt }, this.notificationKey) });
|
|
574
|
+
return false;
|
|
575
|
+
});
|
|
419
576
|
if (live.length === queue.length)
|
|
420
577
|
continue;
|
|
421
578
|
changed = true;
|
|
@@ -462,7 +619,7 @@ export class InMemoryRelay {
|
|
|
462
619
|
if (!verifyRelayEnvelope(envelope))
|
|
463
620
|
throw new Error('INVALID_ENVELOPE');
|
|
464
621
|
this.evictExpired();
|
|
465
|
-
if (this.seen.has(envelope.payload.envelopeId))
|
|
622
|
+
if (this.seen.has(envelope.payload.envelopeId) || this.operations.has('expiry:' + envelope.payload.envelopeId))
|
|
466
623
|
throw new Error('REPLAYED_ENVELOPE');
|
|
467
624
|
const did = envelope.payload.recipientDid;
|
|
468
625
|
const queue = this.queues.get(did) ?? [];
|
|
@@ -486,6 +643,7 @@ export class InMemoryRelay {
|
|
|
486
643
|
role,
|
|
487
644
|
});
|
|
488
645
|
this.queues.set(did, queue);
|
|
646
|
+
this.queueWake(envelope);
|
|
489
647
|
for (const fn of [...(this.listeners.get(did) ?? [])])
|
|
490
648
|
fn();
|
|
491
649
|
}
|
|
@@ -577,6 +735,11 @@ export class InMemoryRelay {
|
|
|
577
735
|
if (value > now && value < soonest)
|
|
578
736
|
soonest = value;
|
|
579
737
|
};
|
|
738
|
+
for (const op of this.operations.values()) {
|
|
739
|
+
consider(op.expiresAt);
|
|
740
|
+
if (op.kind === 'wake' && !op.done)
|
|
741
|
+
consider(Math.max(now + 1, op.nextAttempt));
|
|
742
|
+
}
|
|
580
743
|
for (const queue of this.queues.values())
|
|
581
744
|
for (const item of queue)
|
|
582
745
|
consider(item.expiresAt);
|
|
@@ -591,6 +754,7 @@ export class InMemoryRelay {
|
|
|
591
754
|
withRecipient(key) {
|
|
592
755
|
return {
|
|
593
756
|
send: (e) => this.send(e),
|
|
757
|
+
deliveryStatus: (e) => this.getDeliveryStatus(e.payload.recipientDid, e.payload.envelopeId, key.did, this.wake?.relay ?? '', createRelayAuthToken(key)),
|
|
594
758
|
receive: (did, _waitMs, signal, filter) => this.receive(did, createRelayAuthToken(key), signal, undefined, filter),
|
|
595
759
|
peek: (did, filter) => this.peek(did, createRelayAuthToken(key), undefined, filter),
|
|
596
760
|
pollInbox: (did, filter) => this.receive(did, createRelayAuthToken(key), filter?.signal, undefined, filter),
|
|
@@ -665,6 +829,7 @@ export class InMemoryRelay {
|
|
|
665
829
|
queues.push([did, envelopes]);
|
|
666
830
|
}
|
|
667
831
|
return structuredClone({
|
|
832
|
+
operations: [...this.operations],
|
|
668
833
|
queues,
|
|
669
834
|
seen: [...this.seen.keys()],
|
|
670
835
|
authSeen: [...this.authSeen.keys()],
|
|
@@ -702,6 +867,10 @@ export class InMemoryRelay {
|
|
|
702
867
|
return queue.some((envelope) => Buffer.byteLength(JSON.stringify(envelope)) > this.maxEnvelopeBytes);
|
|
703
868
|
}))
|
|
704
869
|
throw new Error('INVALID_RELAY_SNAPSHOT');
|
|
870
|
+
this.operations = new Map(structuredClone(snapshot.operations ?? []));
|
|
871
|
+
for (const kind of ['registration', 'wake', 'expiry'])
|
|
872
|
+
if ([...this.operations.values()].filter(op => op.kind === kind).length > this.maxSeenEntries)
|
|
873
|
+
throw new Error('INVALID_RELAY_SNAPSHOT');
|
|
705
874
|
this.queues = new Map();
|
|
706
875
|
this.taskStates = new Map();
|
|
707
876
|
for (const [did, envelopes] of structuredClone(snapshot.queues)) {
|
|
@@ -1094,9 +1263,31 @@ export function createRelayFetchHandler(options = {}) {
|
|
|
1094
1263
|
const card = options.agentCard ?? relay.agents.values().next().value;
|
|
1095
1264
|
return card ? json(toA2AAgentCard(card)) : json({ error: 'NO_AGENT_REGISTERED' }, 404);
|
|
1096
1265
|
}
|
|
1266
|
+
if (request.method === 'POST' && path === '/wake') {
|
|
1267
|
+
const recipient = url.searchParams.get('recipient') ?? '';
|
|
1268
|
+
resolveDid(recipient);
|
|
1269
|
+
const value = await body(request);
|
|
1270
|
+
if (value.channel !== null && typeof value.channel !== 'string')
|
|
1271
|
+
throw new Error('INVALID_REQUEST');
|
|
1272
|
+
relay.registerWake(recipient, value.channel, extractRelayAuthToken(request, authOptions, url), relayAuthContext(request, relay, authOptions));
|
|
1273
|
+
return json({ registered: value.channel !== null, relayDid: relay.notificationDid });
|
|
1274
|
+
}
|
|
1275
|
+
if (request.method === 'GET' && path === '/delivery-status') {
|
|
1276
|
+
const recipient = url.searchParams.get('recipient') ?? '';
|
|
1277
|
+
const sender = url.searchParams.get('sender') ?? '';
|
|
1278
|
+
resolveDid(recipient);
|
|
1279
|
+
resolveDid(sender);
|
|
1280
|
+
const id = url.searchParams.get('envelopeId') ?? '';
|
|
1281
|
+
if (!id)
|
|
1282
|
+
throw new Error('MISSING_ENVELOPE_ID');
|
|
1283
|
+
return json(relay.getDeliveryStatus(recipient, id, sender, url.origin, extractRelayAuthToken(request, authOptions, url), relayAuthContext(request, relay, authOptions)));
|
|
1284
|
+
}
|
|
1097
1285
|
if (request.method === 'POST' && path === '/envelopes') {
|
|
1098
1286
|
relay.send((await body(request)));
|
|
1099
|
-
|
|
1287
|
+
if (!options.deferNotifications)
|
|
1288
|
+
void relay.flushWakeNotifications().catch(() => { });
|
|
1289
|
+
return new Response(null, { status: 202, headers: { ...relayHttpHeaders('empty'),
|
|
1290
|
+
'x-acp-relay-did': relay.notificationDid } });
|
|
1100
1291
|
}
|
|
1101
1292
|
if (request.method === 'DELETE' &&
|
|
1102
1293
|
(path === '/envelopes' || path.startsWith('/envelopes/'))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { SignedEnvelope, KeyPair, RelayAuthAction } from '@acp/core';
|
|
2
2
|
import { InMemoryRelay } from './fetch.js';
|
|
3
|
-
import type { RelayReceiveFilter } from './fetch.js';
|
|
3
|
+
import type { InMemoryRelayOptions, RelayReceiveFilter } from './fetch.js';
|
|
4
|
+
import type { SignedRelayDeliveryStatus } from './notifications.js';
|
|
4
5
|
import type { RelayClientSecurityOptions } from './ssrf.js';
|
|
5
6
|
export * from './fetch.js';
|
|
6
7
|
export * from './retry.js';
|
|
8
|
+
import type { RelayConnectionStatus } from './retry.js';
|
|
7
9
|
export { createPinnedRelayFetch, resolveAndValidateRelayEndpoint } from './ssrf.js';
|
|
8
10
|
export type { RelayClientSecurityOptions, RelayLookup, ResolvedAddress, ResolvedRelayEndpoint, } from './ssrf.js';
|
|
9
11
|
export { createSignedAgentCard, verifySignedAgentCard, findDiscoveredAgentCard, toA2AAgentCard, createInviteToken, parseAndVerifyInviteToken, } from '@acp/core';
|
|
10
12
|
export declare function startLocalRelay(options?: {
|
|
13
|
+
relayOptions?: InMemoryRelayOptions;
|
|
11
14
|
port?: number;
|
|
12
15
|
host?: string;
|
|
13
16
|
tamper?: (e: SignedEnvelope) => SignedEnvelope;
|
|
@@ -29,9 +32,11 @@ declare class RelayCredentials {
|
|
|
29
32
|
protected authToken(did: string, action: RelayAuthAction): Promise<string>;
|
|
30
33
|
}
|
|
31
34
|
export interface RelayTransport {
|
|
35
|
+
readonly connectionStatus?: RelayConnectionStatus;
|
|
32
36
|
withRecipient?(key: KeyPair): RelayTransport;
|
|
33
37
|
setRecipientKey?(key: KeyPair): unknown;
|
|
34
38
|
send(envelope: SignedEnvelope): void | Promise<void>;
|
|
39
|
+
deliveryStatus?(envelope: SignedEnvelope, signal?: AbortSignal): SignedRelayDeliveryStatus | undefined | Promise<SignedRelayDeliveryStatus | undefined>;
|
|
35
40
|
acknowledgeDelivery?(recipientDid: string, envelopeId: string): void | Promise<void>;
|
|
36
41
|
receive(recipientDid: string, waitMs?: number, signal?: AbortSignal, filter?: RelayReceiveFilter): SignedEnvelope | undefined | Promise<SignedEnvelope | undefined>;
|
|
37
42
|
peek?(recipientDid: string, filter?: Omit<RelayReceiveFilter, 'peek'>): SignedEnvelope | undefined | Promise<SignedEnvelope | undefined>;
|
|
@@ -44,10 +49,11 @@ export interface RelayTransport {
|
|
|
44
49
|
}
|
|
45
50
|
export declare class HttpRelayClient extends RelayCredentials implements RelayTransport {
|
|
46
51
|
readonly url: string;
|
|
52
|
+
private statusPins;
|
|
47
53
|
private buffered;
|
|
48
54
|
private delivered;
|
|
49
55
|
private readonly baseFetcher;
|
|
50
|
-
|
|
56
|
+
protected readonly security: RelayClientSecurityOptions;
|
|
51
57
|
private transportPromise?;
|
|
52
58
|
readonly fetcher: typeof fetch;
|
|
53
59
|
constructor(url: string, fetcherOrKey?: typeof fetch | KeyPair | RelayClientSecurityOptions, authOrOptions?: RelayAuthSource | RelayClientSecurityOptions, options?: RelayClientSecurityOptions);
|
|
@@ -55,9 +61,13 @@ export declare class HttpRelayClient extends RelayCredentials implements RelayTr
|
|
|
55
61
|
private prepare;
|
|
56
62
|
private buildTransport;
|
|
57
63
|
send(envelope: SignedEnvelope): Promise<void>;
|
|
64
|
+
/** Register an operator-configured channel; null unregisters it. Startup still drains the normal inbox. */
|
|
65
|
+
registerWake(recipientDid: string, channel: string | null): Promise<string>;
|
|
66
|
+
deliveryStatus(envelope: SignedEnvelope, signal?: AbortSignal): Promise<SignedRelayDeliveryStatus | undefined>;
|
|
58
67
|
register(card: import('@acp/core').SignedAgentCard): Promise<void>;
|
|
59
68
|
discover(): Promise<import('@acp/core').SignedAgentCard[]>;
|
|
60
69
|
receive(recipientDid: string, waitMs?: number, signal?: AbortSignal, filter?: RelayReceiveFilter): Promise<SignedEnvelope | undefined>;
|
|
70
|
+
protected rememberDelivery(recipientDid: string, envelope: SignedEnvelope): Promise<boolean>;
|
|
61
71
|
acknowledgeDelivery(recipientDid: string, envelopeId: string): Promise<void>;
|
|
62
72
|
peek(recipientDid: string, filter?: Omit<RelayReceiveFilter, 'peek'>): Promise<SignedEnvelope | undefined>;
|
|
63
73
|
pollInbox(recipientDid: string, filter?: RelayReceiveFilter & {
|
|
@@ -65,13 +75,14 @@ export declare class HttpRelayClient extends RelayCredentials implements RelayTr
|
|
|
65
75
|
signal?: AbortSignal;
|
|
66
76
|
}): Promise<SignedEnvelope | undefined>;
|
|
67
77
|
}
|
|
68
|
-
/** Persistent SSE transport
|
|
78
|
+
/** Persistent SSE transport. Leased frames remain on the relay until explicitly acknowledged. */
|
|
69
79
|
export declare class SseRelayClient extends HttpRelayClient {
|
|
80
|
+
connectionStatus: RelayConnectionStatus;
|
|
70
81
|
maxBufferBytes: number;
|
|
71
82
|
private streams;
|
|
72
|
-
receive(recipientDid: string, waitMs?: number, signal?: AbortSignal): Promise<SignedEnvelope | undefined>;
|
|
83
|
+
receive(recipientDid: string, waitMs?: number, signal?: AbortSignal, filter?: RelayReceiveFilter): Promise<SignedEnvelope | undefined>;
|
|
73
84
|
close(): Promise<void>;
|
|
74
|
-
stream(recipientDid: string, signal?: AbortSignal): AsyncGenerator<SignedEnvelope>;
|
|
85
|
+
stream(recipientDid: string, signal?: AbortSignal, filter?: RelayReceiveFilter): AsyncGenerator<SignedEnvelope>;
|
|
75
86
|
}
|
|
76
87
|
export declare class WebSocketRelayClient extends RelayCredentials {
|
|
77
88
|
readonly url: string;
|