sealbridge 0.1.0 → 0.2.0

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.
Files changed (73) hide show
  1. package/README.ja.md +22 -0
  2. package/README.md +104 -3
  3. package/dist/cli/dist/approval-summary.d.ts +2 -0
  4. package/dist/cli/dist/approval-summary.js +32 -0
  5. package/dist/cli/dist/approval-summary.js.map +1 -0
  6. package/dist/cli/dist/error-messages.d.ts +2 -0
  7. package/dist/cli/dist/error-messages.js +24 -0
  8. package/dist/cli/dist/error-messages.js.map +1 -0
  9. package/dist/cli/dist/index.js +2 -1
  10. package/dist/cli/dist/index.js.map +1 -1
  11. package/dist/cli/dist/invite-share.js +2 -8
  12. package/dist/cli/dist/invite-share.js.map +1 -1
  13. package/dist/cli/dist/network.js +87 -11
  14. package/dist/cli/dist/network.js.map +1 -1
  15. package/dist/cli/dist/task-input.d.ts +2 -0
  16. package/dist/cli/dist/task-input.js +19 -0
  17. package/dist/cli/dist/task-input.js.map +1 -0
  18. package/dist/cli/dist/wake-hook.d.ts +3 -0
  19. package/dist/cli/dist/wake-hook.js +32 -0
  20. package/dist/cli/dist/wake-hook.js.map +1 -0
  21. package/dist/package.json +1 -1
  22. package/dist/packages/adapters/dist/command.d.ts +2 -0
  23. package/dist/packages/adapters/dist/command.js +13 -0
  24. package/dist/packages/adapters/dist/command.js.map +1 -1
  25. package/dist/packages/core/dist/capability.js +7 -2
  26. package/dist/packages/core/dist/capability.js.map +1 -1
  27. package/dist/packages/core/dist/crypto.js +8 -2
  28. package/dist/packages/core/dist/crypto.js.map +1 -1
  29. package/dist/packages/core/dist/discovery.d.ts +5 -0
  30. package/dist/packages/core/dist/discovery.js +29 -13
  31. package/dist/packages/core/dist/discovery.js.map +1 -1
  32. package/dist/packages/core/dist/revocation.d.ts +4 -1
  33. package/dist/packages/core/dist/revocation.js +29 -5
  34. package/dist/packages/core/dist/revocation.js.map +1 -1
  35. package/dist/packages/relay/dist/fetch.d.ts +28 -1
  36. package/dist/packages/relay/dist/fetch.js +195 -4
  37. package/dist/packages/relay/dist/fetch.js.map +1 -1
  38. package/dist/packages/relay/dist/index.d.ts +16 -5
  39. package/dist/packages/relay/dist/index.js +243 -95
  40. package/dist/packages/relay/dist/index.js.map +1 -1
  41. package/dist/packages/relay/dist/journal.d.ts +7 -0
  42. package/dist/packages/relay/dist/journal.js +33 -4
  43. package/dist/packages/relay/dist/journal.js.map +1 -1
  44. package/dist/packages/relay/dist/notifications.d.ts +63 -0
  45. package/dist/packages/relay/dist/notifications.js +55 -0
  46. package/dist/packages/relay/dist/notifications.js.map +1 -0
  47. package/dist/packages/relay/dist/retry.d.ts +4 -1
  48. package/dist/packages/relay/dist/retry.js +27 -7
  49. package/dist/packages/relay/dist/retry.js.map +1 -1
  50. package/dist/packages/relay/dist/worker.d.ts +7 -0
  51. package/dist/packages/relay/dist/worker.js +57 -8
  52. package/dist/packages/relay/dist/worker.js.map +1 -1
  53. package/dist/packages/runtime/dist/a2a.js +1 -1
  54. package/dist/packages/runtime/dist/approval-providers.d.ts +2 -0
  55. package/dist/packages/runtime/dist/approval-providers.js +2 -2
  56. package/dist/packages/runtime/dist/approval-providers.js.map +1 -1
  57. package/dist/packages/runtime/dist/mcp-server.js +17 -1
  58. package/dist/packages/runtime/dist/mcp-server.js.map +1 -1
  59. package/dist/packages/runtime/dist/mcp-tool-catalog.js +16 -0
  60. package/dist/packages/runtime/dist/mcp-tool-catalog.js.map +1 -1
  61. package/dist/packages/runtime/dist/session-audit.d.ts +22 -3
  62. package/dist/packages/runtime/dist/session-audit.js +128 -23
  63. package/dist/packages/runtime/dist/session-audit.js.map +1 -1
  64. package/dist/packages/runtime/dist/session-timeouts.d.ts +33 -0
  65. package/dist/packages/runtime/dist/session-timeouts.js +62 -0
  66. package/dist/packages/runtime/dist/session-timeouts.js.map +1 -0
  67. package/dist/packages/runtime/dist/session.d.ts +52 -17
  68. package/dist/packages/runtime/dist/session.js +466 -94
  69. package/dist/packages/runtime/dist/session.js.map +1 -1
  70. package/dist/packages/runtime/dist/task-journal.d.ts +36 -0
  71. package/dist/packages/runtime/dist/task-journal.js +104 -0
  72. package/dist/packages/runtime/dist/task-journal.js.map +1 -0
  73. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { verifySignedAgentCard } from '../../core/dist/edge.js';
3
3
  import { agentRegistryKey } from './fetch.js';
4
4
  export function emptyCursor(seenMod, authMod) {
5
5
  return {
6
+ operationHead: 0, operationTail: 0, operationSeq: new Map(),
6
7
  head: 0,
7
8
  tail: 0,
8
9
  seqById: new Map(),
@@ -37,6 +38,7 @@ function registryKey(card) {
37
38
  }
38
39
  function cloneCursor(cursor) {
39
40
  return {
41
+ operationHead: cursor.operationHead, operationTail: cursor.operationTail, operationSeq: new Map(cursor.operationSeq),
40
42
  head: cursor.head,
41
43
  tail: cursor.tail,
42
44
  seqById: new Map(cursor.seqById),
@@ -62,6 +64,24 @@ export function planJournal(cursor, prev, next) {
62
64
  const seenExpiry = pairMap(next.seenExpiry);
63
65
  const authExpiry = pairMap(next.authExpiry);
64
66
  const nextIds = new Set();
67
+ const prevOps = new Map(prev.operations ?? []);
68
+ const nextOps = new Map(next.operations ?? []);
69
+ for (const [id, seq] of cursor.operationSeq) {
70
+ if (!nextOps.has(id) || JSON.stringify(prevOps.get(id)) !== JSON.stringify(nextOps.get(id))) {
71
+ deletes.push('operation:' + seq);
72
+ nextCursor.operationSeq.delete(id);
73
+ }
74
+ }
75
+ for (const [id, operation] of nextOps) {
76
+ if (nextCursor.operationSeq.has(id))
77
+ continue;
78
+ const seq = nextCursor.operationTail++;
79
+ nextCursor.operationSeq.set(id, seq);
80
+ puts.push({ key: 'operation:' + seq, value: { id, operation } });
81
+ }
82
+ nextCursor.operationHead = nextCursor.operationTail;
83
+ for (const seq of nextCursor.operationSeq.values())
84
+ nextCursor.operationHead = Math.min(nextCursor.operationHead, seq);
65
85
  for (const [, queue] of next.queues) {
66
86
  for (const envelope of queue) {
67
87
  const id = envelope.payload.envelopeId;
@@ -167,6 +187,7 @@ export function planJournal(cursor, prev, next) {
167
187
  deletes,
168
188
  meta: {
169
189
  v: 2,
190
+ ...(nextCursor.operationTail ? { operationHead: nextCursor.operationHead, operationTail: nextCursor.operationTail } : {}),
170
191
  head: nextCursor.head,
171
192
  tail: nextCursor.tail,
172
193
  seenTail: nextCursor.seenTail,
@@ -214,6 +235,16 @@ async function readLegacy(storage, now) {
214
235
  }
215
236
  async function loadMeta(storage, meta, now, limits) {
216
237
  const cursor = emptyCursor(meta.seenMod || limits.seenMod, meta.authMod || limits.authMod);
238
+ cursor.operationHead = meta.operationHead ?? 0;
239
+ cursor.operationTail = meta.operationTail ?? 0;
240
+ const operations = [];
241
+ for (let seq = cursor.operationHead; seq < cursor.operationTail; seq++) {
242
+ const row = await storage.get('operation:' + seq);
243
+ if (!row)
244
+ continue;
245
+ cursor.operationSeq.set(row.id, seq);
246
+ operations.push([row.id, row.operation]);
247
+ }
217
248
  cursor.head = meta.head;
218
249
  cursor.tail = meta.tail;
219
250
  cursor.seenTail = meta.seenTail;
@@ -228,10 +259,7 @@ async function loadMeta(storage, meta, now, limits) {
228
259
  cursor.orphanSeqs.push(seq);
229
260
  continue;
230
261
  }
231
- if (row.expiresAt <= now) {
232
- cursor.orphanSeqs.push(seq);
233
- continue;
234
- }
262
+ // Restore expired envelopes too: the relay converts them into signed tombstones.
235
263
  const id = row.envelope.payload.envelopeId;
236
264
  cursor.seqById.set(id, seq);
237
265
  const did = row.envelope.payload.recipientDid;
@@ -282,6 +310,7 @@ async function loadMeta(storage, meta, now, limits) {
282
310
  return {
283
311
  cursor,
284
312
  snapshot: {
313
+ operations,
285
314
  queues: [...queues],
286
315
  seen: cursor.liveSeen,
287
316
  authSeen: cursor.liveAuth,
@@ -1 +1 @@
1
- {"version":3,"file":"journal.js","sourceRoot":"","sources":["../src/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../src/journal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Signed } from '@acp/core/edge';
2
+ /** Wake messages deliberately carry no envelope, sender, or task content. */
3
+ export interface RelayWake {
4
+ recipientDid: string;
5
+ taskId: string;
6
+ relay: string;
7
+ }
8
+ export type SignedRelayWake = Signed<RelayWake>;
9
+ export interface RelayDeliveryStatus {
10
+ type: 'RelayDeliveryStatus';
11
+ state: 'pending' | 'expired' | 'unknown';
12
+ envelopeId: string;
13
+ senderDid: string;
14
+ recipientDid: string;
15
+ relay: string;
16
+ taskId?: string;
17
+ expiresAt?: number;
18
+ }
19
+ export type SignedRelayDeliveryStatus = Signed<RelayDeliveryStatus>;
20
+ export interface RelayWakeOptions {
21
+ /** Operator-owned channels. Recipients may select a name, never supply an endpoint. */
22
+ channels: Record<string, (wake: SignedRelayWake, signal: AbortSignal) => Promise<void>>;
23
+ relay: string;
24
+ maxAttempts?: number;
25
+ retryBaseMs?: number;
26
+ timeoutMs?: number;
27
+ }
28
+ /** Transient attempt handle. Only routing metadata is passed to the configured channel. */
29
+ export interface RelayWakeAttempt {
30
+ id: string;
31
+ attempt: number;
32
+ notice: SignedRelayWake;
33
+ deliver: (wake: SignedRelayWake, signal: AbortSignal) => Promise<void>;
34
+ timeoutMs: number;
35
+ }
36
+ export type RelayOperation = {
37
+ kind: 'registration';
38
+ recipientDid: string;
39
+ channel: string;
40
+ expiresAt: number;
41
+ } | {
42
+ kind: 'wake';
43
+ recipientDid: string;
44
+ taskId: string;
45
+ channel: string;
46
+ expiresAt: number;
47
+ attempts: number;
48
+ nextAttempt: number;
49
+ done: boolean;
50
+ } | {
51
+ kind: 'expiry';
52
+ notice: SignedRelayDeliveryStatus;
53
+ expiresAt: number;
54
+ };
55
+ /** Pin the relay identity obtained from the operator; reject stale or extra-content wakes. */
56
+ export declare function verifyRelayWake(wake: SignedRelayWake, relayDid: string, relay: string, now?: number): boolean;
57
+ export declare class RelayEnvelopeExpiredError extends Error {
58
+ readonly notice: SignedRelayDeliveryStatus;
59
+ readonly code = "RELAY_ENVELOPE_EXPIRED";
60
+ constructor(notice: SignedRelayDeliveryStatus);
61
+ }
62
+ /** Fixed operator endpoint; HTTP clients can only select the channel name. */
63
+ export declare function relayWakeFromEnv(env?: Record<string, unknown>): RelayWakeOptions | undefined;
@@ -0,0 +1,55 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ import { verifySigned } from '../../core/dist/edge.js';
3
+ /** Pin the relay identity obtained from the operator; reject stale or extra-content wakes. */
4
+ export function verifyRelayWake(wake, relayDid, relay, now = Date.now()) {
5
+ try {
6
+ return Object.keys(wake.payload).sort().join() === 'recipientDid,relay,taskId' &&
7
+ typeof wake.payload.recipientDid === 'string' && typeof wake.payload.taskId === 'string' &&
8
+ wake.payload.relay === relay && Math.abs(now - Date.parse(wake.signature.signedAt)) <= 300_000 &&
9
+ verifySigned(wake, relayDid);
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
15
+ export class RelayEnvelopeExpiredError extends Error {
16
+ notice;
17
+ code = 'RELAY_ENVELOPE_EXPIRED';
18
+ constructor(notice) {
19
+ super('RELAY_ENVELOPE_EXPIRED');
20
+ this.notice = notice;
21
+ }
22
+ }
23
+ /** Fixed operator endpoint; HTTP clients can only select the channel name. */
24
+ export function relayWakeFromEnv(env) {
25
+ if (!env?.ACP_WAKE_ENDPOINT)
26
+ return undefined;
27
+ if (typeof env.ACP_WAKE_ENDPOINT !== 'string' || typeof env.ACP_WAKE_RELAY !== 'string')
28
+ throw new Error('INVALID_REQUEST');
29
+ const endpoint = new URL(env.ACP_WAKE_ENDPOINT);
30
+ if (endpoint.protocol !== 'https:' || endpoint.username || endpoint.password || endpoint.search || endpoint.hash)
31
+ throw new Error('INVALID_REQUEST');
32
+ const count = (name) => {
33
+ const value = env[name];
34
+ if (value === undefined)
35
+ return;
36
+ const parsed = typeof value === 'string' ? Number(value) : NaN;
37
+ if (!Number.isSafeInteger(parsed) || parsed < 1)
38
+ throw new Error('INVALID_RELAY_LIMIT');
39
+ return parsed;
40
+ };
41
+ return {
42
+ relay: env.ACP_WAKE_RELAY,
43
+ maxAttempts: count('ACP_WAKE_MAX_ATTEMPTS'),
44
+ retryBaseMs: count('ACP_WAKE_RETRY_BASE_MS'),
45
+ timeoutMs: count('ACP_WAKE_TIMEOUT_MS'),
46
+ channels: { default: async (wake, signal) => {
47
+ const response = await fetch(endpoint, { method: 'POST', redirect: 'error', signal,
48
+ headers: { 'content-type': 'application/json' }, body: JSON.stringify(wake) });
49
+ await response.body?.cancel();
50
+ if (!response.ok)
51
+ throw new Error('RELAY_WAKE_FAILED');
52
+ } },
53
+ };
54
+ }
55
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ export declare class RelayTimeoutError extends Error {
3
3
  constructor();
4
4
  }
5
5
  export declare function isTransientRelayError(error: unknown): boolean;
6
+ export type RelayConnectionStatus = 'connected' | 'reconnecting' | 'unavailable' | 'stopped';
7
+ /** Never include an HTTP response body or arbitrary transport text in diagnostics. */
8
+ export declare function relayDiagnostic(error: unknown): Error;
6
9
  export declare function relayRetryDelay(attempt: number): number;
7
10
  export declare function waitForRelayRetry(ms: number, signal?: AbortSignal): Promise<void>;
8
11
  /** Bound even injected transports/resolvers that do not honor cancellation. */
9
- export declare function relayDeadline<T>(work: Promise<T>, ms: number): Promise<T>;
12
+ export declare function relayDeadline<T>(work: Promise<T>, ms: number, signal?: AbortSignal): Promise<T>;
@@ -4,13 +4,26 @@ export class RelayTimeoutError extends Error {
4
4
  constructor() { super('RELAY_REQUEST_TIMEOUT'); this.name = 'RelayTimeoutError'; }
5
5
  }
6
6
  export function isTransientRelayError(error) {
7
- if (!(error instanceof Error))
7
+ const causes = [];
8
+ for (let current = error; current instanceof Error && !causes.includes(current) && causes.length < 16; current = current.cause)
9
+ causes.push(current);
10
+ if (causes.some(e => /^(?:RELAY_(?:REGISTRATION_)?REJECTED:\s*(?:401|403)\b|RELAY_TAMPERING_DETECTED)/.test(e.message)))
8
11
  return false;
9
- const code = error.code;
10
- return error.name === 'TimeoutError' || ['ETIMEDOUT', 'ECONNRESET', 'EAI_AGAIN', 'ECONNREFUSED', 'EPIPE', 'ENETUNREACH', 'EHOSTUNREACH'].includes(code ?? '') ||
11
- /^socket hang up$/i.test(error.message) ||
12
- /^RELAY_(?:REGISTRATION_)?REJECTED:\s*(429|502|503|504)\b/.test(error.message) ||
13
- (error.cause !== undefined && error.cause !== error && isTransientRelayError(error.cause));
12
+ return causes.some(e => e.name === 'TimeoutError' ||
13
+ ['ETIMEDOUT', 'ECONNRESET', 'EAI_AGAIN', 'ECONNREFUSED', 'EPIPE', 'ENETUNREACH', 'EHOSTUNREACH']
14
+ .includes(e.code ?? '') ||
15
+ /^(?:SSE_CLOSED|RELAY_IDLE_TIMEOUT)$/.test(e.message) ||
16
+ (e instanceof TypeError && /^(?:fetch failed|terminated)$/.test(e.message)) ||
17
+ /^socket hang up$/i.test(e.message) ||
18
+ /^RELAY_(?:REGISTRATION_)?REJECTED:\s*(429|502|503|504)\b/.test(e.message));
19
+ }
20
+ /** Never include an HTTP response body or arbitrary transport text in diagnostics. */
21
+ export function relayDiagnostic(error) {
22
+ const message = error instanceof Error ? error.message : '';
23
+ const status = /^RELAY_(?:REGISTRATION_)?REJECTED:\s*(\d{3})\b/.exec(message)?.[1];
24
+ const code = /^(?:RELAY_[A-Z_]+|SSE_[A-Z_]+|SSRF_BLOCKED_RELAY_URL)$/.test(message)
25
+ ? message : 'RELAY_UNAVAILABLE';
26
+ return Object.assign(new Error(status ? 'RELAY_REJECTED: ' + status : code), { code: 'RELAY_TERMINAL', ...(status ? { status: Number(status) } : {}) });
14
27
  }
15
28
  export function relayRetryDelay(attempt) {
16
29
  return Math.round(Math.min(30_000, 250 * 2 ** Math.min(attempt, 7)) * (0.5 + Math.random() * 0.5));
@@ -25,15 +38,22 @@ export function waitForRelayRetry(ms, signal) {
25
38
  });
26
39
  }
27
40
  /** Bound even injected transports/resolvers that do not honor cancellation. */
28
- export async function relayDeadline(work, ms) {
41
+ export async function relayDeadline(work, ms, signal) {
29
42
  let timer;
43
+ let abort;
30
44
  try {
31
45
  return await Promise.race([work, new Promise((_, reject) => {
32
46
  timer = setTimeout(() => reject(new RelayTimeoutError()), ms);
47
+ abort = () => reject(signal?.reason ?? new Error('SESSION_ABORTED'));
48
+ signal?.addEventListener('abort', abort, { once: true });
49
+ if (signal?.aborted)
50
+ abort();
33
51
  })]);
34
52
  }
35
53
  finally {
36
54
  clearTimeout(timer);
55
+ if (abort)
56
+ signal?.removeEventListener('abort', abort);
37
57
  }
38
58
  }
39
59
  //# sourceMappingURL=retry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,GAAG,WAAW,CAAC;IAC5B,gBAAgB,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC;CACnF;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3J,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,0DAA0D,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9E,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU,EAAE,MAAoB;IAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,IAAgB,EAAE,EAAU;IACjE,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAChE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface DurableStorage {
7
7
  }
8
8
  interface DurableState {
9
9
  storage: DurableStorage;
10
+ waitUntil?(promise: Promise<unknown>): void;
10
11
  blockConcurrencyWhile<T>(callback: () => Promise<T>): Promise<T>;
11
12
  }
12
13
  /**
@@ -22,6 +23,9 @@ export declare class RelayDurableObject {
22
23
  /** Serializes handler mutation, snapshot write, and rollback for every request. */
23
24
  private turn;
24
25
  private persistedVersion;
26
+ private notifications?;
27
+ private notificationKey;
28
+ private configuredNotificationKey?;
25
29
  private committedSnapshot;
26
30
  private cursor;
27
31
  constructor(state: DurableState, env?: Record<string, unknown>);
@@ -41,6 +45,9 @@ export declare class RelayDurableObject {
41
45
  private bestEffortAlarm;
42
46
  /** Later SSE pulls persist after the request turn has released this lock. */
43
47
  private persist;
48
+ /** Claims and completions are serialized; external notification delivery never holds the inbox turn. */
49
+ private runNotifications;
50
+ private scheduleNotifications;
44
51
  alarm(): Promise<void>;
45
52
  fetch(request: Request): Promise<Response>;
46
53
  /** Positive waitMs on GET /envelopes. Invalid values stay on the normal handler path. */
@@ -1,6 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- import { resolveDid } from '../../core/dist/edge.js';
2
+ import { resolveDid, generateKeyPair } from '../../core/dist/edge.js';
3
3
  import { beginDurableLongPoll, canonicalRelayPath, createRelayFetchHandler, DEFAULT_MAX_ENVELOPE_BYTES, inboxRecipientFromRequest, InMemoryRelay, relayErrorResponse, relayHttpHeaders, relayLimitsFromEnv, } from './fetch.js';
4
+ import { relayWakeFromEnv } from './notifications.js';
4
5
  import { emptyCursor, emptyRelaySnapshot, loadRelayState, planJournal, } from './journal.js';
5
6
  /**
6
7
  * One inbox or the registry. Storage is granular: a POST writes the new
@@ -15,17 +16,29 @@ export class RelayDurableObject {
15
16
  /** Serializes handler mutation, snapshot write, and rollback for every request. */
16
17
  turn = Promise.resolve();
17
18
  persistedVersion = 0;
19
+ notifications;
20
+ notificationKey;
21
+ configuredNotificationKey;
18
22
  committedSnapshot;
19
23
  cursor;
20
24
  constructor(state, env) {
21
25
  this.state = state;
22
- this.relay = new InMemoryRelay(relayLimitsFromEnv(env));
23
- this.handler = createRelayFetchHandler({ relay: this.relay });
26
+ this.configuredNotificationKey = typeof env?.ACP_NOTIFICATION_KEY === 'string'
27
+ ? JSON.parse(env.ACP_NOTIFICATION_KEY) : undefined;
28
+ this.relay = new InMemoryRelay({ ...relayLimitsFromEnv(env),
29
+ // Channels are supplied by the embedding operator, never by an HTTP request.
30
+ wake: env?.ACP_WAKE ?? relayWakeFromEnv(env),
31
+ });
32
+ this.handler = createRelayFetchHandler({ relay: this.relay, deferNotifications: true });
24
33
  this.cursor = emptyCursor(this.relay.maxSeenEntries, this.relay.maxAuthSeenEntries);
25
34
  this.committedSnapshot = emptyRelaySnapshot();
26
35
  this.ready = state.blockConcurrencyWhile(() => this.bootstrap());
27
36
  }
28
37
  async bootstrap() {
38
+ const meta = await this.state.storage.get('meta');
39
+ const key = this.configuredNotificationKey ?? meta?.notificationKey ?? generateKeyPair();
40
+ this.notificationKey = key;
41
+ this.relay.setNotificationKey(key);
29
42
  const loaded = await loadRelayState(this.state.storage, Date.now(), {
30
43
  seenMod: this.relay.maxSeenEntries,
31
44
  authMod: this.relay.maxAuthSeenEntries,
@@ -33,10 +46,11 @@ export class RelayDurableObject {
33
46
  this.cursor = loaded.cursor;
34
47
  if (loaded.snapshot)
35
48
  this.relay.restore(loaded.snapshot);
36
- this.persistedVersion = this.relay.mutationVersion;
37
- this.committedSnapshot = this.relay.snapshot();
49
+ this.committedSnapshot = loaded.snapshot ?? emptyRelaySnapshot();
50
+ this.persistedVersion = -1;
38
51
  if (loaded.legacy)
39
52
  await this.migrateLegacy(loaded.legacy);
53
+ await this.writeSnapshot();
40
54
  }
41
55
  /** Rewrite a pre-sharding blob into per-key records once, then drop the blob. */
42
56
  async migrateLegacy(legacy) {
@@ -84,7 +98,7 @@ export class RelayDurableObject {
84
98
  // orphans; the previous meta still describes the last committed inbox.
85
99
  for (const put of plan.puts)
86
100
  await this.state.storage.put(put.key, put.value);
87
- await this.state.storage.put('meta', plan.meta);
101
+ await this.state.storage.put('meta', { ...plan.meta, notificationKey: this.notificationKey });
88
102
  this.cursor = plan.cursor;
89
103
  this.persistedVersion = version;
90
104
  this.committedSnapshot = next;
@@ -104,7 +118,7 @@ export class RelayDurableObject {
104
118
  async commitPlan(plan, next, version) {
105
119
  for (const put of plan.puts)
106
120
  await this.state.storage.put(put.key, put.value);
107
- await this.state.storage.put('meta', plan.meta);
121
+ await this.state.storage.put('meta', { ...plan.meta, notificationKey: this.notificationKey });
108
122
  this.cursor = plan.cursor;
109
123
  this.persistedVersion = version;
110
124
  this.committedSnapshot = next;
@@ -133,9 +147,39 @@ export class RelayDurableObject {
133
147
  persist() {
134
148
  return this.enqueue(() => this.writeSnapshot());
135
149
  }
150
+ /** Claims and completions are serialized; external notification delivery never holds the inbox turn. */
151
+ runNotifications() {
152
+ if (this.notifications)
153
+ return this.notifications;
154
+ this.notifications = (async () => {
155
+ for (;;) {
156
+ const attempt = await this.enqueue(async () => {
157
+ this.relay.evictExpired();
158
+ const next = this.relay.claimWakeNotification();
159
+ await this.writeSnapshot();
160
+ return next;
161
+ });
162
+ if (!attempt)
163
+ return;
164
+ const delivered = await this.relay.deliverWakeNotification(attempt);
165
+ await this.enqueue(async () => {
166
+ this.relay.completeWakeNotification(attempt, delivered);
167
+ await this.writeSnapshot();
168
+ });
169
+ }
170
+ })().finally(() => { this.notifications = undefined; });
171
+ return this.notifications;
172
+ }
173
+ scheduleNotifications() {
174
+ const work = this.runNotifications();
175
+ this.state.waitUntil?.(work);
176
+ // A failed storage turn is retried on the next request/alarm, without failing an admitted POST.
177
+ void work.catch(() => { });
178
+ }
136
179
  async alarm() {
137
180
  await this.ready;
138
181
  await this.enqueue(() => this.writeSnapshot());
182
+ await this.runNotifications();
139
183
  }
140
184
  async fetch(request) {
141
185
  await this.ready;
@@ -230,6 +274,7 @@ export class RelayDurableObject {
230
274
  (request.method === 'GET' && (path === '/envelopes' || path.startsWith('/inbox/'))) ||
231
275
  this.persistedVersion !== this.relay.mutationVersion)
232
276
  await this.writeSnapshot();
277
+ this.scheduleNotifications();
233
278
  return response;
234
279
  }
235
280
  }
@@ -265,6 +310,8 @@ export function clientIp(request) {
265
310
  return 'unknown';
266
311
  }
267
312
  function rateBucket(method, path) {
313
+ if (path === '/wake' || path === '/delivery-status')
314
+ return 'notifications';
268
315
  if (method === 'POST' && path === '/envelopes')
269
316
  return 'post-envelope';
270
317
  if (method === 'GET' && (path === '/envelopes' || path.startsWith('/inbox/')))
@@ -356,6 +403,8 @@ function forward(request, body) {
356
403
  return new Request(url, { method: request.method, headers: request.headers, body });
357
404
  }
358
405
  function inboxRoutes(method, path) {
406
+ if (path === '/wake' || path === '/delivery-status')
407
+ return true;
359
408
  if (method === 'POST' && path === '/envelopes')
360
409
  return true;
361
410
  if (method === 'GET' &&
@@ -382,7 +431,7 @@ export async function handleRelayEdge(request, env) {
382
431
  return env.RELAY.get(env.RELAY.idFromName('registry')).fetch(forward(request));
383
432
  let body;
384
433
  let recipient = '';
385
- if (request.method === 'POST') {
434
+ if (request.method === 'POST' && path === '/envelopes') {
386
435
  body = await readBody(request, envInt(env, 'ACP_MAX_ENVELOPE_BYTES', DEFAULT_MAX_ENVELOPE_BYTES));
387
436
  let parsed;
388
437
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export function agentCard(name, url) {
4
4
  name,
5
5
  description: 'Sealbridge owner gateway',
6
6
  url,
7
- version: '0.1.0',
7
+ version: '0.2.0',
8
8
  protocolVersion: '0.3.0',
9
9
  capabilities: { streaming: false },
10
10
  defaultInputModes: ['application/json'],