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

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
@@ -112,9 +112,9 @@ normal `POST`/`DELETE /v1/chats/{chatId}/typing` support.
112
112
 
113
113
  This package was rewritten against:
114
114
 
115
- - Relay Server `f6e96c7520c301f04ab2182a85a961cf05c4ed07`
115
+ - Relay Server `ddcbccb44b9f85e8c2e3e63fead9b81d52f2bd15`
116
116
  - OpenAPI SHA-256
117
- `86163217bb7273d7d438d9861fb4456978df587d941e5803c97e43eb1ee00682`
117
+ `26a6bc047286e09df6ef95f3c6b09f0437260ecc94e12c5fb3ce1704910f8ba1`
118
118
  - public `ChatHandle.image_url` and `ChatHandle.about` fields, with no legacy
119
119
  aliases
120
120
  - Relay API `v1`
@@ -170,6 +170,23 @@ metadata predates this behavior.
170
170
  read the Message, so an agent reads the attachments of messages sent to it
171
171
  without owning them.
172
172
 
173
+ ### Attachment content types
174
+
175
+ Relay accepts any syntactically valid `type/subtype` content type, at most 255
176
+ characters, and stores and returns the original bytes unchanged. There is no
177
+ allowlist. A declared type is lower-cased and its parameters are dropped; a
178
+ malformed one is refused before the request leaves your process. When nothing
179
+ is declared and the filename extension is unknown, the type is
180
+ `application/octet-stream`.
181
+
182
+ An inbound part becomes a Chat SDK attachment of type `image`, `video` or
183
+ `audio` from its type prefix, and `file` for everything else, so an unfamiliar
184
+ type arrives as a `file` rather than being dropped.
185
+
186
+ Only pictures and group icons must be images. Those are set with
187
+ `@relaymessenger/sdk`, never through this adapter. The current attachment
188
+ rules are at <https://docs.relayapp.im>.
189
+
173
190
  Relay text parts are plain text and are limited to 10,000 UTF-16 code units.
174
191
  Long Chat SDK text is split without breaking surrogate pairs. A Relay Message
175
192
  is limited to 100 parts. A public HTTPS attachment URL is sent directly.
package/dist/content.d.ts CHANGED
@@ -3,6 +3,15 @@ import type { RelayOutgoingPart } from "./types.js";
3
3
  export declare const RELAY_MAX_TEXT_PART_LENGTH = 10000;
4
4
  export declare const RELAY_MAX_MESSAGE_PARTS = 100;
5
5
  export declare const RELAY_MAX_ATTACHMENT_BYTES = 104857600;
6
+ /**
7
+ * Relay accepts any syntactically valid media type for an Attachment and
8
+ * stores the original bytes unchanged, so this adapter validates the shape of
9
+ * a declared content type instead of matching it against a list. Only
10
+ * pictures and group icons must be images, and those are set through
11
+ * `@relaymessenger/sdk`, never here.
12
+ */
13
+ export declare const RELAY_MAX_CONTENT_TYPE_LENGTH = 255;
14
+ export declare const RELAY_FALLBACK_CONTENT_TYPE = "application/octet-stream";
6
15
  export declare function contentTypeFor(filename: string, declared?: string): string;
7
16
  export declare function postableText(message: AdapterPostableMessage): string;
8
17
  export declare function hasPostableContent(message: AdapterPostableMessage): boolean;
@@ -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":"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;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;AAiBD,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAoB9B"}
package/dist/content.js CHANGED
@@ -3,58 +3,21 @@ import { markdownToPlainText, toPlainText, } from "chat";
3
3
  export const RELAY_MAX_TEXT_PART_LENGTH = 10_000;
4
4
  export const RELAY_MAX_MESSAGE_PARTS = 100;
5
5
  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
- ]);
6
+ /**
7
+ * Relay accepts any syntactically valid media type for an Attachment and
8
+ * stores the original bytes unchanged, so this adapter validates the shape of
9
+ * a declared content type instead of matching it against a list. Only
10
+ * pictures and group icons must be images, and those are set through
11
+ * `@relaymessenger/sdk`, never here.
12
+ */
13
+ export const RELAY_MAX_CONTENT_TYPE_LENGTH = 255;
14
+ export const RELAY_FALLBACK_CONTENT_TYPE = "application/octet-stream";
15
+ /**
16
+ * RFC 2045 `token`: printable US-ASCII without SPACE, CTLs, or tspecials
17
+ * (`(` `)` `<` `>` `@` `,` `;` `:` `\` `"` `/` `[` `]` `?` `=`).
18
+ */
19
+ const RFC_2045_TOKEN = "[!#$%&'*+.^_`|~{}0-9A-Za-z-]+";
20
+ const MEDIA_TYPE = new RegExp(`^${RFC_2045_TOKEN}/${RFC_2045_TOKEN}$`, "u");
58
21
  const MIME_BY_EXTENSION = {
59
22
  aac: "audio/aac",
60
23
  aiff: "audio/aiff",
@@ -96,12 +59,18 @@ const MIME_BY_EXTENSION = {
96
59
  };
97
60
  export function contentTypeFor(filename, declared) {
98
61
  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`);
62
+ if (normalized) {
63
+ if (normalized.length > RELAY_MAX_CONTENT_TYPE_LENGTH
64
+ || !MEDIA_TYPE.test(normalized)) {
65
+ throw new ValidationError("relay", `Relay cannot use ${JSON.stringify(declared)} as the content type for ${JSON.stringify(filename)}; pass a `
66
+ + `"type/subtype" media type of at most `
67
+ + `${RELAY_MAX_CONTENT_TYPE_LENGTH} characters`);
68
+ }
69
+ return normalized;
103
70
  }
104
- return contentType;
71
+ const extension = filename.split(".").at(-1)?.toLowerCase();
72
+ return (extension ? MIME_BY_EXTENSION[extension] : undefined)
73
+ ?? RELAY_FALLBACK_CONTENT_TYPE;
105
74
  }
106
75
  export function postableText(message) {
107
76
  if (typeof message === "string")
@@ -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/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 ddcbccb44b9f85e8c2e3e63fead9b81d52f2bd15
6
+ * OpenAPI 26a6bc047286e09df6ef95f3c6b09f0437260ecc94e12c5fb3ce1704910f8ba1
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 ddcbccb44b9f85e8c2e3e63fead9b81d52f2bd15
6
+ * OpenAPI 26a6bc047286e09df6ef95f3c6b09f0437260ecc94e12c5fb3ce1704910f8ba1
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.3",
4
4
  "description": "Vendor-official Relay adapter for Vercel Chat SDK.",
5
5
  "keywords": [
6
6
  "relay",