@agent-relay/sdk 8.3.7 → 8.5.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.
@@ -12,11 +12,27 @@ export interface ListenerContext {
12
12
  events: RelayMessagingEventsSurface;
13
13
  onActionEvent(handler: (event: ActionListenerEvent) => void): () => void;
14
14
  onSessionEvent(handler: (envelope: SessionListenerEnvelope) => void): () => void;
15
+ /** Receives handler errors; defaults to a console warning when unset. */
16
+ onError?: RelayErrorHook;
15
17
  }
16
18
  export type ListenerHandler<TEvent = unknown> = (event: TEvent) => void | Promise<void>;
17
19
  export interface ListenerPredicate<TEvent = unknown> {
18
20
  subscribe(context: ListenerContext, handler: ListenerHandler<TEvent>): () => void;
19
21
  }
22
+ /** Identifies the listener or action that produced a handler error. */
23
+ export interface RelayErrorContext {
24
+ source: 'listener' | 'action';
25
+ /** Selector string or predicate event name for listener errors. */
26
+ selector?: string;
27
+ /** Action name for action-related errors. */
28
+ action?: string;
29
+ /** The action wiring operation that failed (e.g. `register`, `complete_invocation`). */
30
+ operation?: string;
31
+ }
32
+ /** Hook invoked when a listener or action handler throws. */
33
+ export type RelayErrorHook = (error: unknown, context: RelayErrorContext) => void;
34
+ /** Default reporting for handler errors when no `onError` hook is registered. */
35
+ export declare function logRelayHandlerError(error: unknown, context: RelayErrorContext): void;
20
36
  export declare class MessageCreatedPredicate implements ListenerPredicate<RelayMessageCreatedEvent> {
21
37
  private channel?;
22
38
  private mentioned?;
@@ -50,6 +66,69 @@ export declare class ActionPredicate implements ListenerPredicate<ActionListener
50
66
  denied(): this;
51
67
  subscribe(context: ListenerContext, handler: ListenerHandler<ActionListenerEvent>): () => void;
52
68
  }
69
+ /**
70
+ * Shared shape of the typed action events delivered by the predicates on a
71
+ * {@link TypedActionHandle}. Mirrors the public {@link RelayActionEvent} (the
72
+ * caller surfaces as `agent`), with `input`/`output` carrying the generics
73
+ * captured at `registerAction(...)` time instead of `unknown`.
74
+ */
75
+ export interface TypedActionEventBase<TInput = unknown> {
76
+ action: string;
77
+ agent: ActionListenerEvent['caller'];
78
+ input?: TInput;
79
+ at: string;
80
+ }
81
+ export interface ActionInvokedEvent<TInput = unknown> extends TypedActionEventBase<TInput> {
82
+ type: 'action.invoked';
83
+ }
84
+ export interface ActionCompletedEvent<TInput = unknown, TOutput = unknown> extends TypedActionEventBase<TInput> {
85
+ type: 'action.completed';
86
+ /** The handler's return value, typed from the `output` schema (or the handler's return type). */
87
+ output: TOutput;
88
+ }
89
+ export interface ActionFailedEvent<TInput = unknown> extends TypedActionEventBase<TInput> {
90
+ type: 'action.failed';
91
+ error: string;
92
+ }
93
+ export interface ActionDeniedEvent<TInput = unknown> extends TypedActionEventBase<TInput> {
94
+ type: 'action.denied';
95
+ reason?: string;
96
+ }
97
+ /**
98
+ * A phase-bound action predicate carrying the event type captured at
99
+ * registration. Built by the {@link TypedActionHandle} returned from
100
+ * `relay.registerAction(...)`; behaves like {@link ActionPredicate} at runtime
101
+ * but delivers a typed event, so handlers read `event.output` without casts.
102
+ */
103
+ export declare class TypedActionPredicate<TEvent extends TypedActionEventBase> implements ListenerPredicate<TEvent> {
104
+ private readonly action;
105
+ private readonly phase;
106
+ private caller?;
107
+ constructor(action: string, phase: ActionListenerEvent['type']);
108
+ calledBy(agent: AgentLike): this;
109
+ subscribe(context: ListenerContext, handler: ListenerHandler<TEvent>): () => void;
110
+ }
111
+ /**
112
+ * Handle returned by `relay.registerAction(...)`. Alongside `unregister()` it
113
+ * exposes typed predicate builders bound to the registered action, so result
114
+ * subscriptions keep the registration's `input`/`output` types:
115
+ *
116
+ * ```ts
117
+ * const handle = relay.registerAction({ name: 'score', input, output, handler });
118
+ * relay.addListener(handle.completed(), (event) => event.output); // typed, no cast
119
+ * relay.addListener(handle.failed(), (event) => event.error);
120
+ * ```
121
+ */
122
+ export interface TypedActionHandle<TInput = unknown, TOutput = unknown> {
123
+ /** The registered action name. */
124
+ readonly name: string;
125
+ unregister(): void;
126
+ invoked(): TypedActionPredicate<ActionInvokedEvent<TInput>>;
127
+ completed(): TypedActionPredicate<ActionCompletedEvent<TInput, TOutput>>;
128
+ failed(): TypedActionPredicate<ActionFailedEvent<TInput>>;
129
+ denied(): TypedActionPredicate<ActionDeniedEvent<TInput>>;
130
+ }
131
+ export declare function createTypedActionHandle<TInput, TOutput>(name: string, unregister: () => void): TypedActionHandle<TInput, TOutput>;
53
132
  export declare class StatusPredicate implements ListenerPredicate<AgentSessionEvent> {
54
133
  private readonly agentId;
55
134
  private readonly status;
@@ -98,8 +177,9 @@ export interface RelayEventEnvelope {
98
177
  channel?: RelayMessageChannelRef;
99
178
  parent?: string;
100
179
  }
101
- export interface RelayMessageEvent {
102
- type: 'message.created' | 'message.updated' | 'thread.reply' | 'dm.received' | 'group_dm.received';
180
+ export type RelayMessageEventType = 'message.created' | 'message.updated' | 'thread.reply' | 'dm.received' | 'group_dm.received';
181
+ export interface RelayMessageEvent<TType extends RelayMessageEventType = RelayMessageEventType> {
182
+ type: TType;
103
183
  message: RelayMessage;
104
184
  envelope: RelayEventEnvelope;
105
185
  }
@@ -116,8 +196,9 @@ export interface RelayMessageReactedEvent {
116
196
  agentName: string;
117
197
  action: 'added' | 'removed';
118
198
  }
119
- export interface RelayActionEvent {
120
- type: 'action.invoked' | 'action.completed' | 'action.failed' | 'action.denied';
199
+ export type RelayActionEventType = 'action.invoked' | 'action.completed' | 'action.failed' | 'action.denied';
200
+ export interface RelayActionEvent<TType extends RelayActionEventType = RelayActionEventType> {
201
+ type: TType;
121
202
  action: string;
122
203
  agent: ActionListenerEvent['caller'];
123
204
  input?: unknown;
@@ -139,6 +220,30 @@ export interface RelaySessionEvent {
139
220
  }
140
221
  /** The discriminated event object delivered to every `addListener` handler. */
141
222
  export type RelayEvent = RelayMessageEvent | RelayMessageReadEventPublic | RelayMessageReactedEvent | RelayActionEvent | RelayAgentStatusEvent | RelaySessionEvent;
223
+ /**
224
+ * Maps exact dotted selectors to the event type their handlers receive.
225
+ * Wildcard selectors (`'*'`, `'message.*'`) and arbitrary strings keep the
226
+ * full {@link RelayEvent} union.
227
+ */
228
+ export interface RelayEventMap {
229
+ 'message.created': RelayMessageEvent<'message.created'>;
230
+ 'message.updated': RelayMessageEvent<'message.updated'>;
231
+ 'thread.reply': RelayMessageEvent<'thread.reply'>;
232
+ 'dm.received': RelayMessageEvent<'dm.received'>;
233
+ 'group_dm.received': RelayMessageEvent<'group_dm.received'>;
234
+ 'message.read': RelayMessageReadEventPublic;
235
+ 'message.reacted': RelayMessageReactedEvent;
236
+ 'action.invoked': RelayActionEvent<'action.invoked'>;
237
+ 'action.completed': RelayActionEvent<'action.completed'>;
238
+ 'action.failed': RelayActionEvent<'action.failed'>;
239
+ 'action.denied': RelayActionEvent<'action.denied'>;
240
+ 'agent.status.changed': RelayAgentStatusEvent;
241
+ 'agent.status.idle': RelayAgentStatusEvent;
242
+ 'agent.status.active': RelayAgentStatusEvent;
243
+ 'agent.status.blocked': RelayAgentStatusEvent;
244
+ 'agent.status.waiting': RelayAgentStatusEvent;
245
+ 'agent.status.offline': RelayAgentStatusEvent;
246
+ }
142
247
  /** Map a raw messaging event to its public form, or `undefined` if not surfaced. */
143
248
  export declare function toPublicMessagingEvent(raw: RelayMessagingEvent): RelayEvent | undefined;
144
249
  /** Match a selector (`'*'`, `'message.*'`, or an exact dotted name) against an event type. */
@@ -146,17 +251,27 @@ export declare function matchesSelector(selector: string, type: string): boolean
146
251
  export interface ActionEventSource {
147
252
  onEvent?(handler: (event: ActionListenerEvent) => void): () => void;
148
253
  }
254
+ export interface ListenerHubOptions {
255
+ /** Receives listener handler errors; defaults to a console warning when unset. */
256
+ onError?: RelayErrorHook;
257
+ }
149
258
  export interface ListenerHub {
150
259
  readonly events: EnrichedEvents;
151
260
  on<TEvent>(predicate: ListenerPredicate<TEvent>, handler: ListenerHandler<TEvent>): () => void;
261
+ /** Subscribe with a typed predicate — the handler receives the predicate's event type. */
262
+ addListener<TEvent>(selector: ListenerPredicate<TEvent>, handler: ListenerHandler<TEvent>): () => void;
152
263
  /** Subscribe by dotted event name, `'*'`/prefix wildcard, or a predicate. */
264
+ addListener<K extends keyof RelayEventMap>(selector: K, handler: ListenerHandler<RelayEventMap[K]>): () => void;
153
265
  addListener(selector: string | ListenerPredicate, handler: ListenerHandler<RelayEvent>): () => void;
266
+ /** Like `addListener`, but auto-unsubscribes after the first matching event. */
267
+ once<K extends keyof RelayEventMap>(selector: K, handler: ListenerHandler<RelayEventMap[K]>): () => void;
268
+ once(selector: string | ListenerPredicate, handler: ListenerHandler<RelayEvent>): () => void;
154
269
  action(name: string): ActionPredicate;
155
270
  agent(input: AgentHandleInput): RelayAgentHandle;
156
271
  /** Feed a harness session event into the hub so agent predicates can fire. */
157
272
  emitSessionEvent(agentId: string, event: AgentSessionEvent): void;
158
273
  }
159
- export declare function createListenerHub(baseEvents: RelayMessagingEventsSurface, actions: ActionEventSource): ListenerHub;
274
+ export declare function createListenerHub(baseEvents: RelayMessagingEventsSurface, actions: ActionEventSource, options?: ListenerHubOptions): ListenerHub;
160
275
  export declare function createAgentHandle(input: AgentHandleInput): RelayAgentHandle;
161
276
  export {};
162
277
  //# sourceMappingURL=listeners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../src/listeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../src/listeners.ts"],"names":[],"mappings":"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"}
package/dist/listeners.js CHANGED
@@ -1,11 +1,36 @@
1
1
  import { resolveAgentName } from './facade.js';
2
+ /** Default reporting for handler errors when no `onError` hook is registered. */
3
+ export function logRelayHandlerError(error, context) {
4
+ const where = context.action ? `action "${context.action}"` : `"${context.selector ?? 'unknown'}"`;
5
+ console.warn(`[agent-relay] ${context.source} handler for ${where} threw:`, error);
6
+ }
2
7
  function stripSigil(value) {
3
8
  return value.startsWith('@') || value.startsWith('#') ? value.slice(1) : value;
4
9
  }
5
- function runHandler(handler, event) {
6
- void Promise.resolve(handler(event)).catch(() => {
7
- // Listener handler errors are isolated from the event source.
8
- });
10
+ function runHandler(handler, event, report) {
11
+ // Handler errors are isolated from the event source and surfaced through
12
+ // the `onError` hook (or a console warning when no hook is registered).
13
+ try {
14
+ void Promise.resolve(handler(event)).catch(report);
15
+ }
16
+ catch (error) {
17
+ report(error);
18
+ }
19
+ }
20
+ /** Build an error reporter that routes through the context hook or the default log. */
21
+ function makeReporter(context, info) {
22
+ return (error) => {
23
+ if (!context.onError) {
24
+ logRelayHandlerError(error, info);
25
+ return;
26
+ }
27
+ try {
28
+ context.onError(error, info);
29
+ }
30
+ catch {
31
+ // Error hooks must not throw into the event source.
32
+ }
33
+ };
9
34
  }
10
35
  // ---------------------------------------------------------------------------
11
36
  // Message predicates
@@ -22,12 +47,13 @@ export class MessageCreatedPredicate {
22
47
  return this;
23
48
  }
24
49
  subscribe(context, handler) {
50
+ const report = makeReporter(context, { source: 'listener', selector: 'message.created' });
25
51
  return context.events.on('messageCreated', (event) => {
26
52
  if (this.channel && stripSigil(event.channel) !== this.channel)
27
53
  return;
28
54
  if (this.mentioned && !messageMentions(event, this.mentioned))
29
55
  return;
30
- runHandler(handler, event);
56
+ runHandler(handler, event, report);
31
57
  });
32
58
  }
33
59
  }
@@ -39,13 +65,15 @@ function messageMentions(event, name) {
39
65
  }
40
66
  export class MessageReadPredicate {
41
67
  subscribe(context, handler) {
42
- return context.events.on('messageRead', (event) => runHandler(handler, event));
68
+ const report = makeReporter(context, { source: 'listener', selector: 'message.read' });
69
+ return context.events.on('messageRead', (event) => runHandler(handler, event, report));
43
70
  }
44
71
  }
45
72
  export class MessageReactedPredicate {
46
73
  subscribe(context, handler) {
47
- const off1 = context.events.on('reactionAdded', (event) => runHandler(handler, event));
48
- const off2 = context.events.on('reactionRemoved', (event) => runHandler(handler, event));
74
+ const report = makeReporter(context, { source: 'listener', selector: 'message.reacted' });
75
+ const off1 = context.events.on('reactionAdded', (event) => runHandler(handler, event, report));
76
+ const off2 = context.events.on('reactionRemoved', (event) => runHandler(handler, event, report));
49
77
  return () => {
50
78
  off1();
51
79
  off2();
@@ -88,6 +116,11 @@ export class ActionPredicate {
88
116
  return this;
89
117
  }
90
118
  subscribe(context, handler) {
119
+ const report = makeReporter(context, {
120
+ source: 'listener',
121
+ selector: this.phase,
122
+ action: this.action,
123
+ });
91
124
  return context.onActionEvent((event) => {
92
125
  if (event.action !== this.action)
93
126
  return;
@@ -95,10 +128,68 @@ export class ActionPredicate {
95
128
  return;
96
129
  if (this.caller && event.caller.name !== this.caller)
97
130
  return;
98
- runHandler(handler, event);
131
+ runHandler(handler, event, report);
99
132
  });
100
133
  }
101
134
  }
135
+ /**
136
+ * A phase-bound action predicate carrying the event type captured at
137
+ * registration. Built by the {@link TypedActionHandle} returned from
138
+ * `relay.registerAction(...)`; behaves like {@link ActionPredicate} at runtime
139
+ * but delivers a typed event, so handlers read `event.output` without casts.
140
+ */
141
+ export class TypedActionPredicate {
142
+ action;
143
+ phase;
144
+ caller;
145
+ constructor(action, phase) {
146
+ this.action = action;
147
+ this.phase = phase;
148
+ }
149
+ calledBy(agent) {
150
+ this.caller = resolveAgentName(agent);
151
+ return this;
152
+ }
153
+ subscribe(context, handler) {
154
+ const report = makeReporter(context, {
155
+ source: 'listener',
156
+ selector: this.phase,
157
+ action: this.action,
158
+ });
159
+ return context.onActionEvent((event) => {
160
+ if (event.action !== this.action)
161
+ return;
162
+ if (event.type !== this.phase)
163
+ return;
164
+ if (this.caller && event.caller.name !== this.caller)
165
+ return;
166
+ runHandler(handler, toTypedActionEvent(event), report);
167
+ });
168
+ }
169
+ }
170
+ /** Map a registry-level action event to the public shape (`caller` → `agent`). */
171
+ function toTypedActionEvent(raw) {
172
+ return {
173
+ type: raw.type,
174
+ action: raw.action,
175
+ agent: raw.caller,
176
+ ...(raw.input !== undefined ? { input: raw.input } : {}),
177
+ ...(raw.output !== undefined ? { output: raw.output } : {}),
178
+ ...(raw.error !== undefined ? { error: raw.error } : {}),
179
+ ...(raw.reason !== undefined ? { reason: raw.reason } : {}),
180
+ at: raw.at,
181
+ };
182
+ }
183
+ export function createTypedActionHandle(name, unregister) {
184
+ return {
185
+ name,
186
+ unregister,
187
+ invoked: () => new TypedActionPredicate(name, 'action.invoked'),
188
+ completed: () => new TypedActionPredicate(name, 'action.completed'),
189
+ failed: () => new TypedActionPredicate(name, 'action.failed'),
190
+ denied: () => new TypedActionPredicate(name, 'action.denied'),
191
+ };
192
+ }
102
193
  // ---------------------------------------------------------------------------
103
194
  // Agent session predicates (status + tools)
104
195
  // ---------------------------------------------------------------------------
@@ -110,13 +201,17 @@ export class StatusPredicate {
110
201
  this.status = status;
111
202
  }
112
203
  subscribe(context, handler) {
204
+ const report = makeReporter(context, {
205
+ source: 'listener',
206
+ selector: `agent.status.${this.status}`,
207
+ });
113
208
  return context.onSessionEvent(({ agentId, event }) => {
114
209
  if (agentId !== this.agentId)
115
210
  return;
116
211
  const matches = (event.type === 'status.changed' && event.status === this.status) ||
117
212
  event.type === `status.${this.status}`;
118
213
  if (matches)
119
- runHandler(handler, event);
214
+ runHandler(handler, event, report);
120
215
  });
121
216
  }
122
217
  }
@@ -133,6 +228,7 @@ export class ToolCalledPredicate {
133
228
  return this;
134
229
  }
135
230
  subscribe(context, handler) {
231
+ const report = makeReporter(context, { source: 'listener', selector: `tool.called:${this.tool}` });
136
232
  return context.onSessionEvent(({ agentId, event }) => {
137
233
  if (agentId !== this.agentId)
138
234
  return;
@@ -140,7 +236,7 @@ export class ToolCalledPredicate {
140
236
  return;
141
237
  if (this.filter && !this.filter(event))
142
238
  return;
143
- runHandler(handler, event);
239
+ runHandler(handler, event, report);
144
240
  });
145
241
  }
146
242
  }
@@ -217,7 +313,7 @@ export function matchesSelector(selector, type) {
217
313
  return type.startsWith(selector.slice(0, -1));
218
314
  return selector === type;
219
315
  }
220
- export function createListenerHub(baseEvents, actions) {
316
+ export function createListenerHub(baseEvents, actions, options) {
221
317
  const sessionHandlers = new Set();
222
318
  const events = createEnrichedEvents(baseEvents);
223
319
  const context = {
@@ -227,6 +323,7 @@ export function createListenerHub(baseEvents, actions) {
227
323
  sessionHandlers.add(handler);
228
324
  return () => sessionHandlers.delete(handler);
229
325
  },
326
+ ...(options?.onError ? { onError: options.onError } : {}),
230
327
  };
231
328
  const addListener = (selector, handler) => {
232
329
  // Open the event stream — `events.on(...)` only registers handlers; the
@@ -242,29 +339,49 @@ export function createListenerHub(baseEvents, actions) {
242
339
  if (typeof selector !== 'string') {
243
340
  return selector.subscribe(context, handler);
244
341
  }
342
+ const report = makeReporter(context, { source: 'listener', selector });
245
343
  const offs = [
246
344
  context.events.on('any', (raw) => {
247
345
  const evt = toPublicMessagingEvent(raw);
248
346
  if (evt && matchesSelector(selector, evt.type))
249
- runHandler(handler, evt);
347
+ runHandler(handler, evt, report);
250
348
  }),
251
349
  context.onActionEvent((raw) => {
252
350
  const evt = toPublicActionEvent(raw);
253
351
  if (matchesSelector(selector, evt.type))
254
- runHandler(handler, evt);
352
+ runHandler(handler, evt, report);
255
353
  }),
256
354
  context.onSessionEvent(({ agentId, event }) => {
257
355
  const evt = toPublicSessionEvent(agentId, event);
258
356
  if (matchesSelector(selector, evt.type))
259
- runHandler(handler, evt);
357
+ runHandler(handler, evt, report);
260
358
  }),
261
359
  ];
262
360
  return () => offs.forEach((off) => off());
263
361
  };
362
+ const once = (selector, handler) => {
363
+ let done = false;
364
+ let off;
365
+ const wrapped = (event) => {
366
+ if (done)
367
+ return;
368
+ done = true;
369
+ off?.();
370
+ return handler(event);
371
+ };
372
+ off = addListener(selector, wrapped);
373
+ if (done)
374
+ off();
375
+ return () => {
376
+ done = true;
377
+ off?.();
378
+ };
379
+ };
264
380
  return {
265
381
  events,
266
382
  on: (predicate, handler) => predicate.subscribe(context, handler),
267
383
  addListener,
384
+ once,
268
385
  action: (name) => new ActionPredicate(name),
269
386
  agent: (input) => createAgentHandle(input),
270
387
  emitSessionEvent: (agentId, event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"listeners.js","sourceRoot":"","sources":["../src/listeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listeners.js","sourceRoot":"","sources":["../src/listeners.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RelayAgent, RelayAgentChannel, RelayAgentPresence, RelayAgentRegistration, RelayChannel, RelayChannelMember, RelayChannelReadStatus, RelayGroupDirectConversation, RelayInbox, RelayMessage, RelayMessageAttachment, RelayMessageKind, RelayMessageReaction, RelayMessagingEvent, RelayReadReceipt, RelaySearchResult, RelayThread } from './types.js';
1
+ import type { InboxItem, InboxItemState, RelayAgent, RelayAgentChannel, RelayAgentPresence, RelayAgentRegistration, RelayChannel, RelayChannelMember, RelayChannelReadStatus, RelayDeliverySupportedResult, RelayGroupDirectConversation, RelayInbox, RelayMessage, RelayMessageAttachment, RelayMessageKind, RelayMessageReaction, RelayMessagingEvent, RelayReadReceipt, RelaySearchResult, RelayThread } from './types.js';
2
2
  export declare function normalizeChannelName(value: string): string;
3
3
  export declare function normalizeAgentChannel(input: unknown): RelayAgentChannel;
4
4
  export declare function normalizeAgent(input: unknown): RelayAgent;
@@ -22,6 +22,19 @@ export declare function normalizeThread(input: unknown): RelayThread;
22
22
  export declare function normalizeInbox(input: unknown): RelayInbox;
23
23
  export declare function normalizeReadReceipt(input: unknown): RelayReadReceipt;
24
24
  export declare function normalizeChannelReadStatus(input: unknown): RelayChannelReadStatus;
25
+ export declare function normalizeInboxItemState(value: string | undefined): InboxItemState;
26
+ /**
27
+ * Normalize a relaycast durable delivery item (a `deliveries` ledger row with
28
+ * its embedded message payload) into a relay `InboxItem`.
29
+ */
30
+ export declare function normalizeInboxItem(input: unknown, context?: {
31
+ recipientName?: string;
32
+ }): InboxItem;
33
+ /**
34
+ * Normalize the delivery row returned by a relaycast ack/fail/defer transition
35
+ * into the relay delivery result contract.
36
+ */
37
+ export declare function normalizeDeliveryTransition(action: RelayDeliverySupportedResult['action'], input: unknown): RelayDeliverySupportedResult;
25
38
  export declare function normalizeSearchResult(input: unknown): RelaySearchResult;
26
39
  export declare function normalizeGroupDirectConversation(input: unknown): RelayGroupDirectConversation;
27
40
  export declare function normalizeMessagingEvent(input: unknown): RelayMessagingEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/messaging/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAGtB,YAAY,EACZ,kBAAkB,EAElB,sBAAsB,EACtB,4BAA4B,EAC5B,UAAU,EAIV,YAAY,EACZ,sBAAsB,EAEtB,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAwDpB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AA+BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAWvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAsBzD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAYjF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CASzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAazE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAmB7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAuE1E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAOtE;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,YAAY,CAwE3F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAa3D;AAqCD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAwBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAarE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CASjF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAYvE;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,CAoB7F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAuL3E"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/messaging/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EAGtB,YAAY,EACZ,kBAAkB,EAElB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,UAAU,EAIV,YAAY,EACZ,sBAAsB,EAEtB,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAwDpB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AA+BD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAWvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAsBzD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAYjF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CASzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAazE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAmB7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAuE1E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAOtE;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,YAAY,CAwE3F;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAa3D;AAqCD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAwBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAarE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CASjF;AAWD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAEjF;AAmBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CA2BtG;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,EAC9C,KAAK,EAAE,OAAO,GACb,4BAA4B,CAW9B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAYvE;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,CAoB7F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAuL3E"}