@relaymessenger/chat-sdk-adapter 0.3.0-staging.2 → 0.3.0-staging.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,8 +4,15 @@ Vendor-official Relay adapter for
4
4
  [Vercel Chat SDK](https://chat-sdk.dev), targeting `chat@4.39.0`.
5
5
 
6
6
  Source is maintained in
7
- [`RelayMessenger/Relay-SDK`](https://github.com/RelayMessenger/Relay-SDK/tree/main/packages/chat-sdk-adapter)
8
- under `packages/chat-sdk-adapter`.
7
+ [`RelayMessenger/Relay-SDK`](https://github.com/RelayMessenger/Relay-SDK/tree/9180450baf5691f8172514b7117cd92ba5879674/packages/chat-sdk-adapter)
8
+ under `packages/chat-sdk-adapter`. That link is pinned to a commit rather than
9
+ a branch, as the Chat SDK listing guide requires, so it keeps showing the tree
10
+ a listing was reviewed against. Re-pin it whenever the listing is updated.
11
+
12
+ `SOURCE.json` in this directory records where the code was imported from, not
13
+ which repository owns it. Every package in this monorepo carries the same
14
+ record, and its `canonical` field names `Relay-SDK` -- the same repository
15
+ `package.json` points at.
9
16
 
10
17
  Relay Chats map one-to-one to Chat SDK threads. Provider thread IDs are stable
11
18
  `relay:<chat UUID>` values; provider message IDs are bare Relay Message UUIDs.
@@ -91,6 +98,12 @@ therefore requires `idempotencyKeyResolver` for those non-empty posts rather
91
98
  than manufacturing a random key that changes on recovery. Think integrations
92
99
  should return their stable Action/delivery identity from this resolver.
93
100
 
101
+ Concurrency strategies do not change this. `burst`, `debounce` and `queue`
102
+ defer the handler, but they await it inside the webhook call that carried the
103
+ message, so the turn is still in scope and `thread.post()` gets its key. The
104
+ test suite asserts that for all three, because the day a strategy resumes a
105
+ handler out of band is the day replies would start being refused.
106
+
94
107
  ### Think runtime typing
95
108
 
96
109
  For a runtime that owns typing timing, disable Chat SDK surface typing:
@@ -112,9 +125,9 @@ normal `POST`/`DELETE /v1/chats/{chatId}/typing` support.
112
125
 
113
126
  This package was rewritten against:
114
127
 
115
- - Relay Server `f6e96c7520c301f04ab2182a85a961cf05c4ed07`
128
+ - Relay Server `4506b8cb6f41da0b39f3e23a285daf3805fcf3a3`
116
129
  - OpenAPI SHA-256
117
- `86163217bb7273d7d438d9861fb4456978df587d941e5803c97e43eb1ee00682`
130
+ `e58ffd5de05250a7a218735cb6bffd854d2d1198134f3f8876b2be109f606fde`
118
131
  - public `ChatHandle.image_url` and `ChatHandle.about` fields, with no legacy
119
132
  aliases
120
133
  - Relay API `v1`
@@ -132,12 +145,13 @@ reproducible contract tests and is excluded from the npm package.
132
145
  | `reply` | Same route with `message.reply_to` |
133
146
  | `stream` | Buffered, then one canonical Message; never partial bubbles |
134
147
  | outbound public-URL media | Message `media` part |
135
- | outbound bytes/files | Explicitly allocate/upload with `@relaymessenger/sdk`, then post a stable public HTTPS URL |
148
+ | outbound bytes/files | `POST /v1/attachments` allocate, upload, then a Message `media` part |
136
149
  | inbound media | Chat SDK `Attachment` with `fetchData()` |
137
150
  | `addReaction`, `removeReaction` | `POST /v1/messages/{messageId}/reactions` |
138
151
  | `startTyping`, `endTyping` | `POST`/`DELETE /v1/chats/{chatId}/typing` |
139
152
  | `markAsRead` | `POST /v1/chats/{chatId}/read` |
140
- | `fetchMessages({ direction: "forward" })` | `GET /v1/chats/{chatId}/messages` |
153
+ | `fetchMessages()` (backward, the default) | Forward walk to the tail over `GET /v1/chats/{chatId}/messages` |
154
+ | `fetchMessages({ direction: "forward" })` | One `GET /v1/chats/{chatId}/messages` |
141
155
  | `fetchMessage` | `GET /v1/messages/{messageId}` |
142
156
  | `fetchThread`, `fetchChannelInfo` | `GET /v1/chats/{chatId}` |
143
157
 
@@ -170,13 +184,41 @@ metadata predates this behavior.
170
184
  read the Message, so an agent reads the attachments of messages sent to it
171
185
  without owning them.
172
186
 
187
+ ### Attachment content types
188
+
189
+ Relay accepts any syntactically valid `type/subtype` content type, at most 255
190
+ characters, and stores and returns the original bytes unchanged. There is no
191
+ allowlist. A declared type is lower-cased and its parameters are dropped; a
192
+ malformed one is refused before the request leaves your process. When nothing
193
+ is declared and the filename extension is unknown, the type is
194
+ `application/octet-stream`.
195
+
196
+ An inbound part becomes a Chat SDK attachment of type `image`, `video` or
197
+ `audio` from its type prefix, and `file` for everything else, so an unfamiliar
198
+ type arrives as a `file` rather than being dropped.
199
+
200
+ Only pictures and group icons must be images. Those are set with
201
+ `@relaymessenger/sdk`, never through this adapter. The current attachment
202
+ rules are at <https://docs.relayapp.im>.
203
+
173
204
  Relay text parts are plain text and are limited to 10,000 UTF-16 code units.
174
205
  Long Chat SDK text is split without breaking surrogate pairs. A Relay Message
175
- is limited to 100 parts. A public HTTPS attachment URL is sent directly.
176
- Automatic byte/file uploads are rejected because a fresh Attachment allocation
177
- would change the Message body after an ambiguous send. Allocate and upload with
178
- `@relaymessenger/sdk`, retain that prepared identity durably, then give this
179
- adapter the stable HTTPS URL.
206
+ is limited to 100 parts.
207
+
208
+ A public HTTPS attachment URL is sent by reference and costs no upload. Local
209
+ bytes -- `files`, or an `attachment` carrying `data` or `fetchData` -- are
210
+ allocated through `POST /v1/attachments`, uploaded, and then referenced by
211
+ `attachment_id`. Uploads finish before the send, so the Message body names
212
+ attachments that already exist.
213
+
214
+ One consequence is worth knowing. Inside an inbound webhook turn the send is
215
+ keyed on the event ID, so a webhook redelivery re-uploads the bytes, mints new
216
+ attachment IDs, and presents a different body under the same `Idempotency-Key`.
217
+ Relay answers HTTP 409 rather than posting the Message twice. A loud refusal on
218
+ redelivery is the safe end of that trade; a silent duplicate is not. To make a
219
+ file post survive redelivery unchanged, allocate and upload once with
220
+ `@relaymessenger/sdk`, retain that identity durably, and give this adapter the
221
+ stable HTTPS URL instead.
180
222
 
181
223
  Think's `thread.post(callback.stream())` path is safe when the stream is empty:
182
224
  the adapter returns a local no-op result so Chat SDK does not enter its
package/dist/adapter.d.ts CHANGED
@@ -4,6 +4,21 @@ import type { RelayClientOptions } from "./client.js";
4
4
  import { type RelayCredential } from "./credentials.js";
5
5
  import type { RelayRawMessage, RelayThreadId } from "./types.js";
6
6
  export declare const RELAY_ADAPTER_NAME = "relay";
7
+ /**
8
+ * Bounds on the forward walk that serves a backward `fetchMessages`. The page
9
+ * size is the contract's maximum (`contracts/relay-openapi.yaml`, `getMessages`
10
+ * `limit` maximum 100), so the walk reaches the tail in the fewest requests
11
+ * Relay allows.
12
+ */
13
+ export declare const RELAY_BACKWARD_WALK_PAGE_SIZE = 100;
14
+ export declare const RELAY_BACKWARD_WALK_MAX_PAGES = 10;
15
+ /**
16
+ * How many Chat kinds one adapter remembers for {@link RelayAdapter.isDM}.
17
+ * A Chat is created direct or group and never changes, so an entry never goes
18
+ * stale; the bound exists only so a long-lived agent cannot grow the memo
19
+ * without limit.
20
+ */
21
+ export declare const RELAY_CHAT_KIND_CACHE_LIMIT = 1000;
7
22
  export interface RelayIdempotencyKeyContext {
8
23
  chatId: string;
9
24
  parts: ReadonlyArray<import("./types.js").RelayOutgoingPart>;
@@ -50,6 +65,13 @@ export declare class RelayAdapter implements Adapter<RelayThreadId, RelayRawMess
50
65
  readonly botUserId?: string;
51
66
  readonly lockScope: "thread";
52
67
  readonly persistThreadHistory = false;
68
+ /**
69
+ * Publish active turns so `ChatInstance.abortTurn(threadId)` cancels work
70
+ * running in another process that shares the configured state adapter. A
71
+ * Relay send is one idempotent HTTP request, so an aborted turn leaves no
72
+ * partial bubble to reconcile.
73
+ */
74
+ readonly supportsTurnCancellation = true;
53
75
  readonly typing: boolean;
54
76
  readonly client: RelayClient;
55
77
  private readonly signatureToleranceSeconds?;
@@ -57,11 +79,20 @@ export declare class RelayAdapter implements Adapter<RelayThreadId, RelayRawMess
57
79
  private readonly idempotencyKeyResolver;
58
80
  private readonly turns;
59
81
  /**
60
- * Request-scoped Chat kind hints. Entries exist only while an inbound
61
- * dispatch is active; this is not persistence or a delivery-idempotency
62
- * store.
82
+ * Chat UUID to `is_group`, as Relay reported it.
83
+ *
84
+ * `isDM` must answer synchronously, and Relay's stable thread ID carries
85
+ * only the Chat UUID by design, so the answer has to come from somewhere
86
+ * the adapter already learned it. Every path that reads a Chat from Relay
87
+ * records the flag here: inbound webhook dispatch, `fetchThread`, and
88
+ * `onThreadSubscribe`.
89
+ *
90
+ * This is a memo of an immutable Relay fact — a Chat is created direct or
91
+ * group and never changes — not a delivery record and not persistence. It
92
+ * is bounded so a long-lived agent in many chats cannot grow it without
93
+ * limit.
63
94
  */
64
- private readonly activeChatKinds;
95
+ private readonly chatIsGroup;
65
96
  private chat?;
66
97
  constructor(options?: RelayAdapterOptions);
67
98
  initialize(chat: ChatInstance): Promise<void>;
@@ -111,13 +142,29 @@ export declare class RelayAdapter implements Adapter<RelayThreadId, RelayRawMess
111
142
  private resolveExternalIdempotencyKey;
112
143
  private noopResult;
113
144
  private isMentioned;
114
- private enterChatKind;
115
145
  /**
116
- * Chat SDK asks synchronously while dispatching. Relay's stable thread ID
117
- * intentionally contains only the Chat UUID, so the direct/group hint is
118
- * scoped to the active webhook dispatch and never persisted.
146
+ * Record what Relay said about a Chat's kind. Re-recording a known chat
147
+ * refreshes its position so the bound evicts the least recently learned.
148
+ */
149
+ private rememberChatKind;
150
+ /**
151
+ * Whether a thread is a direct conversation rather than a group.
152
+ *
153
+ * Chat SDK asks synchronously, and Relay's stable thread ID carries only
154
+ * the Chat UUID, so this answers from what the adapter has already learned:
155
+ * an inbound webhook dispatch, a `fetchThread`, or `onThreadSubscribe`.
156
+ *
157
+ * A chat this adapter has never seen answers `false` and says so on the
158
+ * debug log. `false` is the safe direction — it is the group answer, so a
159
+ * handler gates on mentions rather than replying to everything — and
160
+ * `fetchThread(threadId)` settles the question for good.
119
161
  */
120
162
  isDM(threadId: string): boolean;
163
+ /**
164
+ * Learn a thread's kind when Chat SDK subscribes to it, so `isDM` answers
165
+ * correctly from the first handler call rather than after the first fetch.
166
+ */
167
+ onThreadSubscribe(threadId: string): Promise<void>;
121
168
  postMessage(threadId: string, message: AdapterPostableMessage): Promise<RawMessage<RelayRawMessage>>;
122
169
  postChannelMessage(channelId: string, message: AdapterPostableMessage): Promise<RawMessage<RelayRawMessage>>;
123
170
  reply(threadId: string, messageId: string, message: AdapterPostableMessage): Promise<RawMessage<RelayRawMessage>>;
@@ -129,9 +176,37 @@ export declare class RelayAdapter implements Adapter<RelayThreadId, RelayRawMess
129
176
  endTyping(threadId: string): Promise<void>;
130
177
  markAsRead(threadId: string, messageId: string): Promise<void>;
131
178
  /**
132
- * Relay's public chat cursor advances oldest-to-newest. Chat SDK's backward
133
- * cursor contract cannot be represented, so only explicit forward reads are
134
- * supported rather than faking backward pagination.
179
+ * Fetch messages from a Relay chat.
180
+ *
181
+ * `forward` is Relay's native shape: one `GET /v1/chats/{id}/messages` per
182
+ * call, and `nextCursor` is Relay's own cursor pointing at newer messages.
183
+ *
184
+ * `backward` — the Chat SDK default, and what `thread.fetchMessages()` asks
185
+ * for when loading a chat view — has no native Relay equivalent, because
186
+ * the public contract publishes exactly one opaque cursor and it advances
187
+ * oldest-to-newest. It is served by walking forward to the tail and keeping
188
+ * the newest `limit` messages seen.
189
+ *
190
+ * **The cost is real and worth knowing before you call it.** One backward
191
+ * call issues up to {@link RELAY_BACKWARD_WALK_MAX_PAGES} requests of
192
+ * {@link RELAY_BACKWARD_WALK_PAGE_SIZE} messages each — up to 10 round
193
+ * trips covering 1000 messages — rather than the single request `forward`
194
+ * costs. Chats shorter than one page cost exactly one request, which is the
195
+ * common case.
196
+ *
197
+ * If the walk reaches the end of the chat, the result is exactly the most
198
+ * recent `limit` messages and there is no `nextCursor`: Relay cannot
199
+ * address older messages, so there is no further backward page to offer.
200
+ *
201
+ * If the walk is cut short by the page cap, the messages are the newest the
202
+ * bounded walk could reach and `nextCursor` carries Relay's live forward
203
+ * cursor. Passing it back as `cursor` resumes the walk from that point
204
+ * rather than moving to older messages, so repeated calls converge on the
205
+ * true tail. That is the opposite of the generic backward contract, and it
206
+ * is the only meaning Relay's single forward cursor can carry.
207
+ *
208
+ * Messages are returned oldest-first within the page in every direction, as
209
+ * the interface requires.
135
210
  */
136
211
  fetchMessages(threadId: string, options?: FetchOptions): Promise<FetchResult<RelayRawMessage>>;
137
212
  fetchChannelMessages(channelId: string, options?: FetchOptions): Promise<FetchResult<RelayRawMessage>>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/adapter.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ValidationError } from "@chat-adapter/shared";
1
+ import { ResourceNotFoundError, ValidationError, } from "@chat-adapter/shared";
2
2
  import { Message, NotImplementedError, paragraph, root, text, toPlainText, } from "chat";
3
3
  import { RelayApiError, RelayClient } from "./client.js";
4
4
  import { relayEnv, validateStaticCredential, } from "./credentials.js";
@@ -9,6 +9,21 @@ import { assertRelayUuid, decodeRelayThreadId, encodeRelayThreadId, relayChannel
9
9
  import { inboundIdempotencyKey, RelayTurnContext, } from "./turn.js";
10
10
  import { assertExhaustiveEvent, parseReactionEvent, parseWebhookEnvelope, parseWebhookMessageEvent, readWebhookBody, } from "./webhook.js";
11
11
  export const RELAY_ADAPTER_NAME = "relay";
12
+ /**
13
+ * Bounds on the forward walk that serves a backward `fetchMessages`. The page
14
+ * size is the contract's maximum (`contracts/relay-openapi.yaml`, `getMessages`
15
+ * `limit` maximum 100), so the walk reaches the tail in the fewest requests
16
+ * Relay allows.
17
+ */
18
+ export const RELAY_BACKWARD_WALK_PAGE_SIZE = 100;
19
+ export const RELAY_BACKWARD_WALK_MAX_PAGES = 10;
20
+ /**
21
+ * How many Chat kinds one adapter remembers for {@link RelayAdapter.isDM}.
22
+ * A Chat is created direct or group and never changes, so an entry never goes
23
+ * stale; the bound exists only so a long-lived agent cannot grow the memo
24
+ * without limit.
25
+ */
26
+ export const RELAY_CHAT_KIND_CACHE_LIMIT = 1_000;
12
27
  function json(status, body) {
13
28
  return Response.json(body, { status });
14
29
  }
@@ -84,6 +99,13 @@ export class RelayAdapter {
84
99
  botUserId;
85
100
  lockScope = "thread";
86
101
  persistThreadHistory = false;
102
+ /**
103
+ * Publish active turns so `ChatInstance.abortTurn(threadId)` cancels work
104
+ * running in another process that shares the configured state adapter. A
105
+ * Relay send is one idempotent HTTP request, so an aborted turn leaves no
106
+ * partial bubble to reconcile.
107
+ */
108
+ supportsTurnCancellation = true;
87
109
  typing;
88
110
  client;
89
111
  signatureToleranceSeconds;
@@ -91,11 +113,20 @@ export class RelayAdapter {
91
113
  idempotencyKeyResolver;
92
114
  turns = new RelayTurnContext();
93
115
  /**
94
- * Request-scoped Chat kind hints. Entries exist only while an inbound
95
- * dispatch is active; this is not persistence or a delivery-idempotency
96
- * store.
116
+ * Chat UUID to `is_group`, as Relay reported it.
117
+ *
118
+ * `isDM` must answer synchronously, and Relay's stable thread ID carries
119
+ * only the Chat UUID by design, so the answer has to come from somewhere
120
+ * the adapter already learned it. Every path that reads a Chat from Relay
121
+ * records the flag here: inbound webhook dispatch, `fetchThread`, and
122
+ * `onThreadSubscribe`.
123
+ *
124
+ * This is a memo of an immutable Relay fact — a Chat is created direct or
125
+ * group and never changes — not a delivery record and not persistence. It
126
+ * is bounded so a long-lived agent in many chats cannot grow it without
127
+ * limit.
97
128
  */
98
- activeChatKinds = new Map();
129
+ chatIsGroup = new Map();
99
130
  chat;
100
131
  constructor(options = {}) {
101
132
  const token = options.token ?? relayEnv("RELAY_AGENT_TOKEN");
@@ -284,7 +315,7 @@ export class RelayAdapter {
284
315
  hasPostableContent(message)) {
285
316
  throw new ValidationError("relay", "Relay posts outside an inbound webhook require idempotencyKeyResolver");
286
317
  }
287
- const parts = await buildRelayParts(message);
318
+ const parts = await buildRelayParts(message, (upload) => this.client.uploadAttachment(upload));
288
319
  if (parts.length === 0) {
289
320
  return this.noopResult(chatId, threadId);
290
321
  }
@@ -366,38 +397,56 @@ export class RelayAdapter {
366
397
  return message.parts.some((part) => part.type === "text" &&
367
398
  part.mention === owner.handle);
368
399
  }
369
- enterChatKind(chatId, isGroup) {
370
- const counts = this.activeChatKinds.get(chatId) ?? {
371
- direct: 0,
372
- group: 0,
373
- };
374
- if (isGroup)
375
- counts.group += 1;
376
- else
377
- counts.direct += 1;
378
- this.activeChatKinds.set(chatId, counts);
379
- return () => {
380
- const current = this.activeChatKinds.get(chatId);
381
- if (!current)
382
- return;
383
- if (isGroup)
384
- current.group -= 1;
385
- else
386
- current.direct -= 1;
387
- if (current.direct === 0 && current.group === 0) {
388
- this.activeChatKinds.delete(chatId);
389
- }
390
- };
400
+ /**
401
+ * Record what Relay said about a Chat's kind. Re-recording a known chat
402
+ * refreshes its position so the bound evicts the least recently learned.
403
+ */
404
+ rememberChatKind(chatId, isGroup) {
405
+ this.chatIsGroup.delete(chatId);
406
+ this.chatIsGroup.set(chatId, isGroup);
407
+ while (this.chatIsGroup.size > RELAY_CHAT_KIND_CACHE_LIMIT) {
408
+ const oldest = this.chatIsGroup.keys().next();
409
+ if (oldest.done)
410
+ break;
411
+ this.chatIsGroup.delete(oldest.value);
412
+ }
391
413
  }
392
414
  /**
393
- * Chat SDK asks synchronously while dispatching. Relay's stable thread ID
394
- * intentionally contains only the Chat UUID, so the direct/group hint is
395
- * scoped to the active webhook dispatch and never persisted.
415
+ * Whether a thread is a direct conversation rather than a group.
416
+ *
417
+ * Chat SDK asks synchronously, and Relay's stable thread ID carries only
418
+ * the Chat UUID, so this answers from what the adapter has already learned:
419
+ * an inbound webhook dispatch, a `fetchThread`, or `onThreadSubscribe`.
420
+ *
421
+ * A chat this adapter has never seen answers `false` and says so on the
422
+ * debug log. `false` is the safe direction — it is the group answer, so a
423
+ * handler gates on mentions rather than replying to everything — and
424
+ * `fetchThread(threadId)` settles the question for good.
396
425
  */
397
426
  isDM(threadId) {
398
427
  const { chatId } = this.decodeThreadId(threadId);
399
- const counts = this.activeChatKinds.get(chatId);
400
- return Boolean(counts && counts.direct > 0 && counts.group === 0);
428
+ const isGroup = this.chatIsGroup.get(chatId);
429
+ if (isGroup === undefined) {
430
+ this.chat
431
+ ?.getLogger(RELAY_ADAPTER_NAME)
432
+ .debug(`isDM("${threadId}") answered false: this adapter has not seen `
433
+ + "chat "
434
+ + chatId
435
+ + " yet. Call fetchThread(threadId) to settle it.");
436
+ return false;
437
+ }
438
+ return !isGroup;
439
+ }
440
+ /**
441
+ * Learn a thread's kind when Chat SDK subscribes to it, so `isDM` answers
442
+ * correctly from the first handler call rather than after the first fetch.
443
+ */
444
+ async onThreadSubscribe(threadId) {
445
+ const { chatId } = this.decodeThreadId(threadId);
446
+ if (this.chatIsGroup.has(chatId))
447
+ return;
448
+ const chat = await this.client.getChat(chatId);
449
+ this.rememberChatKind(chatId, chat.is_group);
401
450
  }
402
451
  async postMessage(threadId, message) {
403
452
  return this.send(threadId, message);
@@ -461,26 +510,73 @@ export class RelayAdapter {
461
510
  await this.client.markChatRead(chatId);
462
511
  }
463
512
  /**
464
- * Relay's public chat cursor advances oldest-to-newest. Chat SDK's backward
465
- * cursor contract cannot be represented, so only explicit forward reads are
466
- * supported rather than faking backward pagination.
513
+ * Fetch messages from a Relay chat.
514
+ *
515
+ * `forward` is Relay's native shape: one `GET /v1/chats/{id}/messages` per
516
+ * call, and `nextCursor` is Relay's own cursor pointing at newer messages.
517
+ *
518
+ * `backward` — the Chat SDK default, and what `thread.fetchMessages()` asks
519
+ * for when loading a chat view — has no native Relay equivalent, because
520
+ * the public contract publishes exactly one opaque cursor and it advances
521
+ * oldest-to-newest. It is served by walking forward to the tail and keeping
522
+ * the newest `limit` messages seen.
523
+ *
524
+ * **The cost is real and worth knowing before you call it.** One backward
525
+ * call issues up to {@link RELAY_BACKWARD_WALK_MAX_PAGES} requests of
526
+ * {@link RELAY_BACKWARD_WALK_PAGE_SIZE} messages each — up to 10 round
527
+ * trips covering 1000 messages — rather than the single request `forward`
528
+ * costs. Chats shorter than one page cost exactly one request, which is the
529
+ * common case.
530
+ *
531
+ * If the walk reaches the end of the chat, the result is exactly the most
532
+ * recent `limit` messages and there is no `nextCursor`: Relay cannot
533
+ * address older messages, so there is no further backward page to offer.
534
+ *
535
+ * If the walk is cut short by the page cap, the messages are the newest the
536
+ * bounded walk could reach and `nextCursor` carries Relay's live forward
537
+ * cursor. Passing it back as `cursor` resumes the walk from that point
538
+ * rather than moving to older messages, so repeated calls converge on the
539
+ * true tail. That is the opposite of the generic backward contract, and it
540
+ * is the only meaning Relay's single forward cursor can carry.
541
+ *
542
+ * Messages are returned oldest-first within the page in every direction, as
543
+ * the interface requires.
467
544
  */
468
545
  async fetchMessages(threadId, options) {
469
- if (options?.direction !== "forward") {
470
- return this.unsupported("fetchMessages(backward)", "Relay chat history exposes only an opaque forward cursor.");
471
- }
472
546
  const { chatId } = this.decodeThreadId(threadId);
473
- const limit = Math.min(100, Math.max(1, Math.trunc(options.limit ?? 50)));
474
- const result = await this.client.getMessages({
475
- chatId,
476
- limit,
477
- ...(options.cursor ? { cursor: options.cursor } : {}),
478
- });
547
+ const limit = Math.min(100, Math.max(1, Math.trunc(options?.limit ?? 50)));
548
+ if (options?.direction === "forward") {
549
+ const result = await this.client.getMessages({
550
+ chatId,
551
+ limit,
552
+ ...(options.cursor ? { cursor: options.cursor } : {}),
553
+ });
554
+ return {
555
+ messages: result.messages.map((message) => this.parseMessage({ chatId, message })),
556
+ ...(result.next_cursor
557
+ ? { nextCursor: result.next_cursor }
558
+ : {}),
559
+ };
560
+ }
561
+ let cursor = options?.cursor;
562
+ let newest = [];
563
+ let truncated = false;
564
+ for (let page = 0; page < RELAY_BACKWARD_WALK_MAX_PAGES; page += 1) {
565
+ const result = await this.client.getMessages({
566
+ chatId,
567
+ limit: RELAY_BACKWARD_WALK_PAGE_SIZE,
568
+ ...(cursor ? { cursor } : {}),
569
+ });
570
+ // Keep only the newest `limit` seen so a deep chat costs bounded memory.
571
+ newest = newest.concat(result.messages).slice(-limit);
572
+ cursor = result.next_cursor ?? undefined;
573
+ if (!cursor)
574
+ break;
575
+ truncated = page === RELAY_BACKWARD_WALK_MAX_PAGES - 1;
576
+ }
479
577
  return {
480
- messages: result.messages.map((message) => this.parseMessage({ chatId, message })),
481
- ...(result.next_cursor
482
- ? { nextCursor: result.next_cursor }
483
- : {}),
578
+ messages: newest.map((message) => this.parseMessage({ chatId, message })),
579
+ ...(truncated && cursor ? { nextCursor: cursor } : {}),
484
580
  };
485
581
  }
486
582
  async fetchChannelMessages(channelId, options) {
@@ -496,16 +592,17 @@ export class RelayAdapter {
496
592
  return this.parseMessage({ chatId, message });
497
593
  }
498
594
  catch (error) {
499
- if (error instanceof RelayApiError &&
500
- error.status === 404) {
595
+ // The client maps a Relay 404 onto the shared class, so the absent
596
+ // message is recognised by meaning rather than by HTTP status.
597
+ if (error instanceof ResourceNotFoundError)
501
598
  return null;
502
- }
503
599
  throw error;
504
600
  }
505
601
  }
506
602
  async fetchThread(threadId) {
507
603
  const { chatId } = this.decodeThreadId(threadId);
508
604
  const chat = await this.client.getChat(chatId);
605
+ this.rememberChatKind(chatId, chat.is_group);
509
606
  return {
510
607
  channelId: threadId,
511
608
  ...(chat.display_name
@@ -655,13 +752,10 @@ export class RelayAdapter {
655
752
  const threadId = this.encodeThreadId({
656
753
  chatId: data.chat.id,
657
754
  });
658
- const leaveChatKind = this.enterChatKind(data.chat.id, data.chat.is_group === true);
659
- try {
660
- await this.initializedChat().processMessage(this, threadId, this.parseMessage(raw), options);
661
- }
662
- finally {
663
- leaveChatKind();
664
- }
755
+ // The event already carries the Chat's kind, so an inbound dispatch
756
+ // settles isDM for this chat without spending a request on it.
757
+ this.rememberChatKind(data.chat.id, data.chat.is_group === true);
758
+ await this.initializedChat().processMessage(this, threadId, this.parseMessage(raw), options);
665
759
  return;
666
760
  }
667
761
  case "message.sent":
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,WAAW,GAeZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EACL,QAAQ,EAER,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AA6CjD,SAAS,IAAI,CAAC,MAAc,EAAE,IAA6B;IACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAmC;IAEnC,OAAO,OAAO,KAAK,IAAI,IAAI,MAAM,IAAI,OAAO,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CACpB,OAAmC;IAEnC,OAAO,OAAO,KAAK,IAAI,IAAI,SAAS,IAAI,OAAO,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CACnB,OAAmC;IAEnC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAA+B,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,KAAiC;IAIrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,IAAI,KAAK,QAAQ,EACtB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CACrB,QAAgB;IAEhB,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,OAAmC;IAEnC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,aAAa,CAAC;IAC5D,OAAO,OAAO,CAAC,WAAW,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAClB,GAAoB;IAEpB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS;QAClC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAClB,OAAmC;IAEnC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC;IAC1C,CAAC;IACD,IAAI,aAAa,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,UAAU,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAGd,IAAI,GAAG,kBAAkB,CAAC;IAC1B,QAAQ,CAAS;IACjB,SAAS,CAAU;IACnB,SAAS,GAAG,QAAiB,CAAC;IAC9B,oBAAoB,GAAG,KAAK,CAAC;IACtC;;;;;OAKG;IACM,wBAAwB,GAAG,IAAI,CAAC;IAChC,MAAM,CAAU;IAChB,MAAM,CAAc;IAEZ,yBAAyB,CAAU;IACnC,aAAa,CAA8B;IAC3C,sBAAsB,CAEzB;IACG,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAChD;;;;;;;;;;;;;OAaG;IACc,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClD,IAAI,CAAgB;IAE5B,YAAY,OAAO,GAAwB,EAAE;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC7D,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC5D,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACrD,wBAAwB,CACtB,aAAa,EACb,8BAA8B,CAC/B,CAAC;QACF,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,MAAM;gBACd,IAAI,WAAW,CAAC;oBACd,KAAK;oBACL,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;QACL,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,yBAAyB;YAC5B,OAAO,CAAC,yBAAyB,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,IAAmB;QAChC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,eAAe,CAAC,OAAyB;QACvC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CACpB,GAAW,EACX,YAAqB;QAErB,OAAO,GAAG,EAAE,CACV,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAC5B,YAAoB,EACpB,WAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,YAAY;gBAAE,OAAO,UAAU,CAAC,YAAY,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW;gBAAE,MAAM,KAAK,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,oBAAoB,YAAY,sBAAsB,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB,CAC9B,YAAgC,EAChC,GAAuB;QAEvB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,KAAK,GAAG,YAAY;gBACxB,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAG,KAAK,IAAI,GAAG,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,iEAAiE;sBAC7D,UAAU,CACf,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBACpC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,UAAsB;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC;QAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;QAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG;YAAE,OAAO,UAAU,CAAC;QAC7C,OAAO;YACL,GAAG,UAAU;YACb,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,GAAG,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAoB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GACV,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC;QACtD,MAAM,MAAM,GACV,MAAM,EAAE,EAAE;YACV,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QAC9D,MAAM,QAAQ,GACZ,MAAM,EAAE,MAAM;YACd,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,QAAQ,GACZ,MAAM,EAAE,YAAY,IAAI,QAAQ,CAAC;QAEnC,MAAM,WAAW,GAAiB,KAAK;aACpC,MAAM,CACL,CAAC,IAAI,EAGH,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAC3B;aACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACjD,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACvD,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD,CAAC,CAAC,CAAC;QAEN,OAAO,IAAI,OAAO,CAAkB;YAClC,WAAW;YACX,MAAM,EAAE;gBACN,QAAQ;gBACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO;gBAChD,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,MAAM;gBACN,QAAQ;aACT;YACD,SAAS,EAAE,OAAO,CAAC,KAAK;gBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,kBAAkB;gBACxC,gBAAgB,CAAC,OAAO,CAAC;gBACvB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,QAAQ,EAAE;gBACR,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC;gBAC1B,MAAM,EAAE,KAAK;aACd;YACD,GAAG;YACH,IAAI,EAAE,OAAO,CAAC,KAAK;YACnB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,MAAc;QACjD,MAAM,IAAI,mBAAmB,CAC3B,GAAG,MAAM,iDAAiD,OAAO,GAAG,EACpE,OAAO,CACR,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,QAAgB,EAChB,OAA+B,EAC/B,gBAAyB;QAEzB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IACE,CAAC,IAAI;YACL,CAAC,IAAI,CAAC,sBAAsB;YAC5B,kBAAkB,CAAC,OAAO,CAAC,EAC3B,CAAC;YACD,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CACtD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACrC,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE,CAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,MAAM;YACN,cAAc;YACd,KAAK;YACL,GAAG,CAAC,gBAAgB;gBAClB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACL,MAAM,MAAM,GAAG,IAAI;YACjB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,IAAI,CACR,MAAM,IAAI,CAAC,6BAA6B,CAAC;gBACvC,MAAM;gBACN,KAAK;gBACL,GAAG,CAAC,gBAAgB;oBAClB,CAAC,CAAC,EAAE,gBAAgB,EAAE;oBACtB,CAAC,CAAC,EAAE,CAAC;gBACP,QAAQ;aACT,CAAC,CACH,CAAC;QACN,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,aAAa,CACrB,GAAG,EACH,eAAe,EACf,kDAAkD,EAClD,MAAM,CACP,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;YACrB,GAAG,EAAE;gBACH,MAAM;gBACN,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,IAAe,EACf,IAA4C;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,OAAO,GAAe,GAAG,EAAE,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACxC,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAC7C,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,OAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,UAAU,CAChB,MAAc,EACd,QAAgB;QAEhB,OAAO;YACL,qEAAqE;YACrE,yEAAyE;YACzE,uCAAuC;YACvC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1C,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAiC;QACnD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAChE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAChC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,MAAc,EAAE,OAAgB;QACvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,2BAA2B,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,IAAI;gBAAE,MAAM;YACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,QAAgB;QACnB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI;gBACP,EAAE,SAAS,CAAC,kBAAkB,CAAC;iBAC9B,KAAK,CACJ,SAAS,QAAQ,+CAA+C;kBAC5D,OAAO;kBACP,MAAM;kBACN,gDAAgD,CACrD,CAAC;YACJ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,OAA+B;QAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,OAA+B;QAE/B,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EACrC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,SAAiB,EACjB,OAA+B;QAE/B,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,SAAiB,EACjB,QAAgC;QAEhC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,CACrB,aAAa,EACb,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,SAAiB;QAEjB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CACd,eAAe,EACf,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,SAAiB,EACjB,KAA0B;QAE1B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,WAAW;gBACtB,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,SAAS;YACT,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,KAA0B;QAE1B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,WAAW;gBACtB,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,SAAS;YACT,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,SAAiB;QAEjB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,OAAsB;QAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;QACF,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC3C,MAAM;gBACN,KAAK;gBACL,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACvC;gBACD,GAAG,CAAC,MAAM,CAAC,WAAW;oBACpB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE;oBACpC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC7B,IAAI,MAAM,GAAmB,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KACE,IAAI,IAAI,GAAG,CAAC,EACZ,IAAI,GAAG,6BAA6B,EACpC,IAAI,IAAI,CAAC,EACT,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC3C,MAAM;gBACN,KAAK,EAAE,6BAA6B;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC;YACH,yEAAyE;YACzE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,GAAG,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,MAAM;YACnB,SAAS,GAAG,IAAI,KAAK,6BAA6B,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACvC;YACD,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,OAAsB;QAEtB,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EACrC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mEAAmE;YACnE,+DAA+D;YAC/D,IAAI,KAAK,YAAY,qBAAqB;gBAAE,OAAO,IAAI,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,GAAG,CAAC,IAAI,CAAC,YAAY;gBACnB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;YACP,iBAAiB,EAAE,SAAS;YAC5B,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ;YACpB,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI;gBAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CACtC,CAAC;QACF,OAAO;YACL,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,EAAE,EAAE,MAAM,CAAC,SAAS;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,WAAW,CACrB,SAAS,EACT,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CACrB,QAAQ,EACR,iGAAiG,CAClG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,MAA2C;QAE3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjE,wEAAwE;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,2EAA2E;QAC3E,8DAA8D;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,OAAwB;QAExB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,eAAe,CACvB,OAAO,EACP,qDAAqD,CACtD,CAAC;QACJ,CAAC;QAED,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,GAAG,EAAE;oBACf,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,MAAM,sBAAsB,CAAC;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO;gBACP,MAAM,EAAE,IAAI,CAAC,aAAa;gBAC1B,OAAO,EAAE;oBACP,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,SAAS;wBAC9C,CAAC,CAAC;4BACE,gBAAgB,EACd,IAAI,CAAC,yBAAyB;yBACjC;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,GAAG,EAAE;oBACf,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAA8B,CAAC;QACnC,IAAI,CAAC;YACH,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,GAAG,EAAE;oBACf,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE;YACf,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,QAA8B,EAC9B,OAAwB;QAExB,QAAQ,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACrD,IACE,IAAI,CAAC,SAAS,KAAK,UAAU;oBAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,EACjC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,GAAG,GAAoB;oBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpB,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,OAAO,EAAE,QAAQ,CAAC,QAAQ;oBAC1B,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;oBACnC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;iBACrB,CAAC,CAAC;gBACH,oEAAoE;gBACpE,+DAA+D;gBAC/D,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,IAAI,CAAC,EAAE,EACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAC5B,CAAC;gBACF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,cAAc,CACzC,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EACtB,OAAO,CACR,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc,CAAC;YACpB,KAAK,mBAAmB;gBACtB,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxC,OAAO;YACT,KAAK,gBAAgB,CAAC;YACtB,KAAK,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAC5B,MAAM,UAAU,GAAG,iBAAiB,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC,YAAY;wBACnB,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;wBACpC,CAAC,CAAC,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI,CAAC,aAAa;iBACzB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;oBACnC,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,EAAE,CAAC,eAAe,CACpC;oBACE,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,QAAQ,CAAC,UAAU,KAAK,gBAAgB;oBAC/C,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,GAAG,EAAE,QAAQ;oBACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,QAAQ;oBACR,IAAI,EAAE;wBACJ,QAAQ,EACN,IAAI,CAAC,WAAW,CAAC,YAAY;4BAC7B,IAAI,CAAC,WAAW,CAAC,MAAM;wBACzB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;wBACxC,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;wBAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;qBAClC;iBACF,EACD,OAAO,CACR,CAAC;gBACF,OAAO;YACT,CAAC;YACD,KAAK,mBAAmB,CAAC;YACzB,KAAK,qBAAqB,CAAC;YAC3B,KAAK,cAAc,CAAC;YACpB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,+BAA+B,CAAC;YACrC,KAAK,+BAA+B,CAAC;YACrC,KAAK,eAAe,CAAC;YACrB,KAAK,iBAAiB;gBACpB,OAAO;YACT;gBACE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAO,GAAwB,EAAE;IAEjC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
package/dist/client.d.ts CHANGED
@@ -22,6 +22,21 @@ export declare class RelayApiError extends AdapterError {
22
22
  readonly responseBody?: unknown;
23
23
  constructor(status: number, relayCode: string, message: string, responseBody?: unknown);
24
24
  }
25
+ /**
26
+ * Map a Relay API status onto the Chat SDK's shared error classes so a
27
+ * consumer can catch `AdapterRateLimitError` and read `retryAfter`, or catch
28
+ * `AuthenticationError`, without knowing Relay's HTTP vocabulary.
29
+ *
30
+ * `RelayApiError` stays the default: a status Relay defines but the shared
31
+ * vocabulary has no class for — 409 idempotency conflict, for instance —
32
+ * must keep its Relay status and code rather than be flattened into a
33
+ * near-miss.
34
+ */
35
+ export declare function relayHttpError(options: {
36
+ body: unknown;
37
+ path: string;
38
+ status: number;
39
+ }): AdapterError;
25
40
  /**
26
41
  * Minimal client for only the locked Relay v1 operations used by the adapter.
27
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import { AdapterError, NetworkError, ValidationError, } from "@chat-adapter/shared";
1
+ import { AdapterError, AdapterRateLimitError, AuthenticationError, NetworkError, PermissionError, ResourceNotFoundError, ValidationError, } from "@chat-adapter/shared";
2
2
  import { resolveRelayCredential, validateStaticCredential, } from "./credentials.js";
3
3
  import { assertRelayUuid } from "./thread-id.js";
4
4
  export const RELAY_DEFAULT_BASE_URL = "https://api.relayapp.im";
@@ -49,6 +49,75 @@ function errorDetails(body, status) {
49
49
  : `Relay API request failed with HTTP ${status}`,
50
50
  };
51
51
  }
52
+ /**
53
+ * `retry_after` is published by the Relay error contract as an integer number
54
+ * of seconds and is "Only present on 429 rate limit errors"
55
+ * (`contracts/relay-openapi.yaml`, `ErrorDetail.retry_after`).
56
+ */
57
+ function retryAfterSeconds(body) {
58
+ if (typeof body !== "object" || body === null)
59
+ return undefined;
60
+ const record = body;
61
+ const error = typeof record.error === "object" && record.error !== null
62
+ ? record.error
63
+ : record;
64
+ const value = error.retry_after;
65
+ return typeof value === "number" && Number.isFinite(value)
66
+ ? value
67
+ : undefined;
68
+ }
69
+ const RESOURCE_BY_COLLECTION = {
70
+ attachments: "attachment",
71
+ chats: "chat",
72
+ messages: "message",
73
+ };
74
+ /**
75
+ * Name the resource a 404 is about from the path this client itself built.
76
+ * Every Relay route is `/v1/{collection}/{id}/...`, so the owning resource is
77
+ * the first collection segment and its ID is the segment after it.
78
+ */
79
+ function resourceFromPath(path) {
80
+ const segments = path.split("?")[0].split("/").filter(Boolean);
81
+ const collection = segments[1];
82
+ const type = (collection ? RESOURCE_BY_COLLECTION[collection] : undefined) ??
83
+ "resource";
84
+ const id = segments[2];
85
+ return id ? { id: decodeURIComponent(id), type } : { type };
86
+ }
87
+ /**
88
+ * Map a Relay API status onto the Chat SDK's shared error classes so a
89
+ * consumer can catch `AdapterRateLimitError` and read `retryAfter`, or catch
90
+ * `AuthenticationError`, without knowing Relay's HTTP vocabulary.
91
+ *
92
+ * `RelayApiError` stays the default: a status Relay defines but the shared
93
+ * vocabulary has no class for — 409 idempotency conflict, for instance —
94
+ * must keep its Relay status and code rather than be flattened into a
95
+ * near-miss.
96
+ */
97
+ export function relayHttpError(options) {
98
+ const { body, path, status } = options;
99
+ const details = errorDetails(body, status);
100
+ switch (status) {
101
+ case 400:
102
+ case 422:
103
+ return new ValidationError("relay", details.message);
104
+ case 401:
105
+ return new AuthenticationError("relay", details.message);
106
+ case 403:
107
+ return new PermissionError("relay", details.message, details.code);
108
+ case 404: {
109
+ const resource = resourceFromPath(path);
110
+ return new ResourceNotFoundError("relay", resource.type, resource.id);
111
+ }
112
+ case 429:
113
+ return new AdapterRateLimitError("relay", retryAfterSeconds(body));
114
+ default:
115
+ if (status >= 500) {
116
+ return new NetworkError("relay", details.message);
117
+ }
118
+ return new RelayApiError(status, details.code, details.message, body);
119
+ }
120
+ }
52
121
  /**
53
122
  * Minimal client for only the locked Relay v1 operations used by the adapter.
54
123
  */
@@ -88,8 +157,7 @@ export class RelayClient {
88
157
  }
89
158
  const body = await parseResponseBody(response);
90
159
  if (!response.ok) {
91
- const details = errorDetails(body, response.status);
92
- throw new RelayApiError(response.status, details.code, details.message, body);
160
+ throw relayHttpError({ body, path, status: response.status });
93
161
  }
94
162
  return body;
95
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/content.d.ts CHANGED
@@ -1,11 +1,44 @@
1
1
  import { type AdapterPostableMessage } from "chat";
2
2
  import type { RelayOutgoingPart } from "./types.js";
3
+ /**
4
+ * Allocate a Relay Attachment and put the bytes behind it, returning the ID a
5
+ * media part references. `RelayClient.uploadAttachment` satisfies this.
6
+ */
7
+ export type RelayMediaUploader = (upload: {
8
+ body: Uint8Array<ArrayBuffer>;
9
+ contentType: string;
10
+ filename: string;
11
+ height?: number;
12
+ width?: number;
13
+ }) => Promise<{
14
+ attachment_id: string;
15
+ }>;
3
16
  export declare const RELAY_MAX_TEXT_PART_LENGTH = 10000;
4
17
  export declare const RELAY_MAX_MESSAGE_PARTS = 100;
5
18
  export declare const RELAY_MAX_ATTACHMENT_BYTES = 104857600;
19
+ /**
20
+ * Relay accepts any syntactically valid media type for an Attachment and
21
+ * stores the original bytes unchanged, so this adapter validates the shape of
22
+ * a declared content type instead of matching it against a list. Only
23
+ * pictures and group icons must be images, and those are set through
24
+ * `@relaymessenger/sdk`, never here.
25
+ */
26
+ export declare const RELAY_MAX_CONTENT_TYPE_LENGTH = 255;
27
+ export declare const RELAY_FALLBACK_CONTENT_TYPE = "application/octet-stream";
6
28
  export declare function contentTypeFor(filename: string, declared?: string): string;
7
29
  export declare function postableText(message: AdapterPostableMessage): string;
8
30
  export declare function hasPostableContent(message: AdapterPostableMessage): boolean;
9
31
  export declare function textParts(value: string): RelayOutgoingPart[];
10
- export declare function buildRelayParts(message: AdapterPostableMessage): Promise<RelayOutgoingPart[]>;
32
+ /**
33
+ * Turn a Chat SDK postable message into Relay message parts, allocating and
34
+ * uploading any local bytes it carries.
35
+ *
36
+ * Uploads run before the send, so the send body names attachment IDs that
37
+ * already exist. Inside an inbound webhook turn the send is keyed on the
38
+ * event ID: a redelivery re-uploads, producing new attachment IDs and so a
39
+ * different body under the same Idempotency-Key, which Relay refuses with
40
+ * HTTP 409 rather than posting the message twice. A loud refusal on
41
+ * redelivery is the safe end of that trade; a silent duplicate is not.
42
+ */
43
+ export declare function buildRelayParts(message: AdapterPostableMessage, upload: RelayMediaUploader): Promise<RelayOutgoingPart[]>;
11
44
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,sBAAsB,EAE5B,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,0BAA0B,YAAc,CAAC;AAkGtD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAcR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA0BpE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAMT;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAmB5D;AAiBD,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoB9B"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,sBAAsB,EAG5B,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE;IACxC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,KAAK,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAazC,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,0BAA0B,YAAc,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,2BAA2B,6BAA6B,CAAC;AAuDtE,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAqBR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA0BpE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAMT;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAmB5D;AAsFD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAe9B"}
package/dist/content.js CHANGED
@@ -1,60 +1,33 @@
1
- import { cardToFallbackText, extractCard, extractFiles, extractPostableAttachments, ValidationError, } from "@chat-adapter/shared";
1
+ import { cardToFallbackText, extractCard, extractFiles, extractPostableAttachments, toBuffer, ValidationError, } from "@chat-adapter/shared";
2
2
  import { markdownToPlainText, toPlainText, } from "chat";
3
+ /**
4
+ * `toBuffer`'s `platform` only names the four adapters that shipped with the
5
+ * helper and is used for nothing but an error string. `throwOnUnsupported` is
6
+ * off here so that string never reaches a caller: an unusable body is refused
7
+ * below with Relay's own message and the file's name in it.
8
+ */
9
+ const TO_BUFFER_OPTIONS = {
10
+ platform: "relay",
11
+ throwOnUnsupported: false,
12
+ };
3
13
  export const RELAY_MAX_TEXT_PART_LENGTH = 10_000;
4
14
  export const RELAY_MAX_MESSAGE_PARTS = 100;
5
15
  export const RELAY_MAX_ATTACHMENT_BYTES = 104_857_600;
6
- const SUPPORTED_CONTENT_TYPES = new Set([
7
- "image/jpeg",
8
- "image/png",
9
- "image/gif",
10
- "image/heic",
11
- "image/heif",
12
- "image/tiff",
13
- "image/bmp",
14
- "image/webp",
15
- "image/x-icon",
16
- "video/mp4",
17
- "video/quicktime",
18
- "video/mpeg",
19
- "video/mpeg2",
20
- "video/x-m4v",
21
- "video/x-msvideo",
22
- "video/3gpp",
23
- "audio/mpeg",
24
- "audio/mp3",
25
- "audio/x-m4a",
26
- "audio/mp4",
27
- "audio/x-caf",
28
- "audio/x-wav",
29
- "audio/x-aiff",
30
- "audio/aiff",
31
- "audio/aac",
32
- "audio/midi",
33
- "audio/amr",
34
- "application/pdf",
35
- "application/vnd.apple.pkpass",
36
- "text/plain",
37
- "text/markdown",
38
- "text/vcard",
39
- "text/rtf",
40
- "text/csv",
41
- "text/html",
42
- "text/calendar",
43
- "application/msword",
44
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
45
- "application/vnd.ms-excel",
46
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
47
- "application/vnd.ms-powerpoint",
48
- "application/vnd.openxmlformats-officedocument.presentationml.presentation",
49
- "application/x-iwork-pages-sffpages",
50
- "application/x-iwork-numbers-sffnumbers",
51
- "application/x-iwork-keynote-sffkey",
52
- "application/epub+zip",
53
- "text/xml",
54
- "application/json",
55
- "application/zip",
56
- "application/x-gzip",
57
- ]);
16
+ /**
17
+ * Relay accepts any syntactically valid media type for an Attachment and
18
+ * stores the original bytes unchanged, so this adapter validates the shape of
19
+ * a declared content type instead of matching it against a list. Only
20
+ * pictures and group icons must be images, and those are set through
21
+ * `@relaymessenger/sdk`, never here.
22
+ */
23
+ export const RELAY_MAX_CONTENT_TYPE_LENGTH = 255;
24
+ export const RELAY_FALLBACK_CONTENT_TYPE = "application/octet-stream";
25
+ /**
26
+ * RFC 2045 `token`: printable US-ASCII without SPACE, CTLs, or tspecials
27
+ * (`(` `)` `<` `>` `@` `,` `;` `:` `\` `"` `/` `[` `]` `?` `=`).
28
+ */
29
+ const RFC_2045_TOKEN = "[!#$%&'*+.^_`|~{}0-9A-Za-z-]+";
30
+ const MEDIA_TYPE = new RegExp(`^${RFC_2045_TOKEN}/${RFC_2045_TOKEN}$`, "u");
58
31
  const MIME_BY_EXTENSION = {
59
32
  aac: "audio/aac",
60
33
  aiff: "audio/aiff",
@@ -96,12 +69,18 @@ const MIME_BY_EXTENSION = {
96
69
  };
97
70
  export function contentTypeFor(filename, declared) {
98
71
  const normalized = declared?.split(";", 1)[0]?.trim().toLowerCase();
99
- const extension = filename.split(".").at(-1)?.toLowerCase();
100
- const contentType = normalized || (extension ? MIME_BY_EXTENSION[extension] : undefined);
101
- if (!contentType || !SUPPORTED_CONTENT_TYPES.has(contentType)) {
102
- throw new ValidationError("relay", `Relay does not accept the content type for ${JSON.stringify(filename)}; pass one of the content types in the v1 SupportedContentType contract`);
72
+ if (normalized) {
73
+ if (normalized.length > RELAY_MAX_CONTENT_TYPE_LENGTH
74
+ || !MEDIA_TYPE.test(normalized)) {
75
+ throw new ValidationError("relay", `Relay cannot use ${JSON.stringify(declared)} as the content type for ${JSON.stringify(filename)}; pass a `
76
+ + `"type/subtype" media type of at most `
77
+ + `${RELAY_MAX_CONTENT_TYPE_LENGTH} characters`);
78
+ }
79
+ return normalized;
103
80
  }
104
- return contentType;
81
+ const extension = filename.split(".").at(-1)?.toLowerCase();
82
+ return (extension ? MIME_BY_EXTENSION[extension] : undefined)
83
+ ?? RELAY_FALLBACK_CONTENT_TYPE;
105
84
  }
106
85
  export function postableText(message) {
107
86
  if (typeof message === "string")
@@ -147,22 +126,72 @@ export function textParts(value) {
147
126
  }
148
127
  return result;
149
128
  }
150
- async function attachmentPart(attachment) {
129
+ /**
130
+ * Read a postable body into bytes Relay can store.
131
+ *
132
+ * A Node `Buffer` is a view into a pooled `ArrayBuffer` that it usually does
133
+ * not own outright, so the bytes are copied out of the pool. Handing
134
+ * `buffer.buffer` straight to the uploader would post whatever else the pool
135
+ * happened to be holding.
136
+ */
137
+ async function uploadBody(data, label) {
138
+ const buffer = await toBuffer(data, TO_BUFFER_OPTIONS);
139
+ if (!buffer) {
140
+ throw new ValidationError("relay", `Relay cannot read the bytes of ${label}; pass a Buffer, an `
141
+ + "ArrayBuffer, or a Blob.");
142
+ }
143
+ return new Uint8Array(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength));
144
+ }
145
+ async function uploadedMediaPart(upload, options) {
146
+ const allocation = await upload(options);
147
+ return { attachment_id: allocation.attachment_id, type: "media" };
148
+ }
149
+ async function attachmentPart(attachment, upload) {
150
+ // A public URL is already storable by reference, so it costs no upload.
151
151
  if (attachment.url?.startsWith("https://")) {
152
152
  return { type: "media", url: attachment.url };
153
153
  }
154
- throw new ValidationError("relay", `Attachment ${JSON.stringify(attachment.name ?? "(unnamed)")} needs a public HTTPS URL. Allocate and upload retryable bytes with `
155
- + "@relaymessenger/sdk before posting through Chat SDK.");
154
+ const filename = attachment.name ?? "attachment";
155
+ const data = attachment.data ?? (await attachment.fetchData?.());
156
+ if (data === undefined) {
157
+ throw new ValidationError("relay", `Attachment ${JSON.stringify(filename)} carries neither bytes nor a `
158
+ + "public HTTPS URL.");
159
+ }
160
+ return uploadedMediaPart(upload, {
161
+ body: await uploadBody(data, `attachment ${JSON.stringify(filename)}`),
162
+ contentType: contentTypeFor(filename, attachment.mimeType),
163
+ filename,
164
+ ...(attachment.height !== undefined
165
+ ? { height: attachment.height }
166
+ : {}),
167
+ ...(attachment.width !== undefined ? { width: attachment.width } : {}),
168
+ });
169
+ }
170
+ async function filePart(file, upload) {
171
+ return uploadedMediaPart(upload, {
172
+ body: await uploadBody(file.data, `file ${JSON.stringify(file.filename)}`),
173
+ contentType: contentTypeFor(file.filename, file.mimeType),
174
+ filename: file.filename,
175
+ });
156
176
  }
157
- export async function buildRelayParts(message) {
177
+ /**
178
+ * Turn a Chat SDK postable message into Relay message parts, allocating and
179
+ * uploading any local bytes it carries.
180
+ *
181
+ * Uploads run before the send, so the send body names attachment IDs that
182
+ * already exist. Inside an inbound webhook turn the send is keyed on the
183
+ * event ID: a redelivery re-uploads, producing new attachment IDs and so a
184
+ * different body under the same Idempotency-Key, which Relay refuses with
185
+ * HTTP 409 rather than posting the message twice. A loud refusal on
186
+ * redelivery is the safe end of that trade; a silent duplicate is not.
187
+ */
188
+ export async function buildRelayParts(message, upload) {
158
189
  const parts = textParts(postableText(message));
159
190
  for (const attachment of extractPostableAttachments(message)) {
160
- parts.push(await attachmentPart(attachment));
191
+ parts.push(await attachmentPart(attachment, upload));
161
192
  }
162
193
  for (const file of extractFiles(message)) {
163
- throw new ValidationError("relay", `File ${JSON.stringify(file.filename)} needs a public HTTPS URL. `
164
- + "Allocate and upload retryable bytes with @relaymessenger/sdk before "
165
- + "posting through Chat SDK.");
194
+ parts.push(await filePart(file, upload));
166
195
  }
167
196
  if (parts.length > RELAY_MAX_MESSAGE_PARTS) {
168
197
  throw new ValidationError("relay", `A Relay message supports at most ${RELAY_MAX_MESSAGE_PARTS} parts`);
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { createRelayAdapter, RELAY_ADAPTER_NAME, RelayAdapter, } from "./adapter.js";
1
+ export { createRelayAdapter, RELAY_ADAPTER_NAME, RELAY_BACKWARD_WALK_MAX_PAGES, RELAY_BACKWARD_WALK_PAGE_SIZE, RelayAdapter, } from "./adapter.js";
2
2
  export type { RelayAdapterOptions } from "./adapter.js";
3
3
  export type { RelayIdempotencyKeyContext, RelayIdempotencyKeyResolver, } from "./adapter.js";
4
- export { RELAY_DEFAULT_BASE_URL, RelayApiError, RelayClient, } from "./client.js";
4
+ export { RELAY_DEFAULT_BASE_URL, relayHttpError, RelayApiError, RelayClient, } from "./client.js";
5
5
  export type { RelayClientOptions, RelayUploadOptions, } from "./client.js";
6
6
  export { relayEnv, resolveRelayCredential, validateStaticCredential, } from "./credentials.js";
7
7
  export type { RelayCredential, RelayCredentialResolver, } from "./credentials.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,6BAA6B,EAC7B,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { createRelayAdapter, RELAY_ADAPTER_NAME, RelayAdapter, } from "./adapter.js";
2
- export { RELAY_DEFAULT_BASE_URL, RelayApiError, RelayClient, } from "./client.js";
1
+ export { createRelayAdapter, RELAY_ADAPTER_NAME, RELAY_BACKWARD_WALK_MAX_PAGES, RELAY_BACKWARD_WALK_PAGE_SIZE, RelayAdapter, } from "./adapter.js";
2
+ export { RELAY_DEFAULT_BASE_URL, relayHttpError, RelayApiError, RelayClient, } from "./client.js";
3
3
  export { relayEnv, resolveRelayCredential, validateStaticCredential, } from "./credentials.js";
4
4
  export { RELAY_MAX_ATTACHMENT_BYTES, RELAY_MAX_MESSAGE_PARTS, RELAY_MAX_TEXT_PART_LENGTH, } from "./content.js";
5
5
  export { fromRelayReaction, toRelayReaction, } from "./reactions.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,6BAA6B,EAC7B,YAAY,GACb,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * Relay v1 wire types used by this adapter.
3
3
  *
4
4
  * Contract source:
5
- * Relay Server f6e96c7520c301f04ab2182a85a961cf05c4ed07
6
- * OpenAPI 86163217bb7273d7d438d9861fb4456978df587d941e5803c97e43eb1ee00682
5
+ * Relay Server 4506b8cb6f41da0b39f3e23a285daf3805fcf3a3
6
+ * OpenAPI e58ffd5de05250a7a218735cb6bffd854d2d1198134f3f8876b2be109f606fde
7
7
  */
8
8
  export declare const RELAY_API_VERSION: "v1";
9
9
  export declare const RELAY_WEBHOOK_VERSION: "2026-08-30";
package/dist/types.js CHANGED
@@ -2,8 +2,8 @@
2
2
  * Relay v1 wire types used by this adapter.
3
3
  *
4
4
  * Contract source:
5
- * Relay Server f6e96c7520c301f04ab2182a85a961cf05c4ed07
6
- * OpenAPI 86163217bb7273d7d438d9861fb4456978df587d941e5803c97e43eb1ee00682
5
+ * Relay Server 4506b8cb6f41da0b39f3e23a285daf3805fcf3a3
6
+ * OpenAPI e58ffd5de05250a7a218735cb6bffd854d2d1198134f3f8876b2be109f606fde
7
7
  */
8
8
  export const RELAY_API_VERSION = "v1";
9
9
  export const RELAY_WEBHOOK_VERSION = "2026-08-30";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relaymessenger/chat-sdk-adapter",
3
- "version": "0.3.0-staging.2",
3
+ "version": "0.3.0-staging.4",
4
4
  "description": "Vendor-official Relay adapter for Vercel Chat SDK.",
5
5
  "keywords": [
6
6
  "relay",