@oxpulse/chat-sdk 0.1.0 → 0.4.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.
- package/CHANGELOG.md +61 -0
- package/dist/client.d.ts +64 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +286 -32
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +120 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +13 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +17 -3
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,67 @@ All notable changes to this package will be documented in this file.
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.4.0] — 2026-05-16
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `sendReaction(roomId, msgId, type)` — add a reaction emoji (idempotent per user+emoji). Client validates 1-32 chars before network call.
|
|
13
|
+
- `removeReaction(roomId, msgId, type)` — remove own reaction. No-op if never added.
|
|
14
|
+
- `getReactions(roomId, msgId)` — fetch aggregated `{counts, users}` from `GET /api/sdk/messages/:room/:msg/reactions`.
|
|
15
|
+
- `subscribe({onReaction})` — receives `reaction_add`/`reaction_remove` events via existing mutation SSE channel.
|
|
16
|
+
- `ReactionEvent` interface: `{ appId, roomId, msgId, op, reaction, userId }`.
|
|
17
|
+
- `ReactionsResponse` interface: `{ counts: Record<string, number>, users: Record<string, string[]> }`.
|
|
18
|
+
- Server: `POST /api/sdk/messages/{room_id}/{msg_id}/reactions` — add reaction (idempotent, FK-checked).
|
|
19
|
+
- Server: `DELETE /api/sdk/messages/{room_id}/{msg_id}/reactions/{reaction}` — remove own reaction.
|
|
20
|
+
- Server: `GET /api/sdk/messages/{room_id}/{msg_id}/reactions` — aggregated counts + user lists.
|
|
21
|
+
- New event variants on `sdk_message_log_mutation` channel: `op: "reaction_add" | "reaction_remove"` with `{msg_id, user_id, reaction}`.
|
|
22
|
+
- Migration: `sdk_message_reactions` table with composite PK + FK → `sdk_message_log` ON DELETE CASCADE.
|
|
23
|
+
|
|
24
|
+
### Wire
|
|
25
|
+
|
|
26
|
+
- New event variant on `sdk_message_log_mutation`: `op: "reaction_add" | "reaction_remove"` with `{msg_id, user_id, reaction}`.
|
|
27
|
+
|
|
28
|
+
## [0.3.0] — 2026-05-16
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- `updateMessage(roomId, msgId, {sealed})` — edit a message (only sender). Bumps `editCount`, sets `editedAt`.
|
|
33
|
+
- `deleteMessage(roomId, msgId)` — soft-delete (sender only). Sealed payload cleared, `deletedAt` set.
|
|
34
|
+
- `pinMessage(roomId, msgId)` / `unpinMessage(roomId, msgId)` / `listPins(roomId)` — message pinning.
|
|
35
|
+
- `MessageRow` gains `editedAt?: string`, `deletedAt?: string`, `editCount?: number` fields.
|
|
36
|
+
- `UpdateMessageArgs` interface: `{ sealed: ArrayBuffer }`.
|
|
37
|
+
- `PinnedMessage` interface: `{ appId, roomId, msgId, pinnedBy, pinnedAt }`.
|
|
38
|
+
- Server: `PATCH /api/sdk/messages/{room_id}/{msg_id}` — edit handler (RLS by sender_uid).
|
|
39
|
+
- Server: `DELETE /api/sdk/messages/{room_id}/{msg_id}` — soft-delete handler.
|
|
40
|
+
- Server: `POST /api/sdk/rooms/{room_id}/pins/{msg_id}` — pin handler.
|
|
41
|
+
- Server: `DELETE /api/sdk/rooms/{room_id}/pins/{msg_id}` — unpin handler.
|
|
42
|
+
- Server: `GET /api/sdk/rooms/{room_id}/pins` — list pins handler.
|
|
43
|
+
- `GET /api/sdk/messages?include_deleted=true` — opt-in to include soft-deleted tombstones.
|
|
44
|
+
|
|
45
|
+
## [0.2.0] — 2026-05-16
|
|
46
|
+
|
|
47
|
+
### Changed (BREAKING)
|
|
48
|
+
|
|
49
|
+
- **`list()` now returns `ListResult` instead of `MessageRow[]`.**
|
|
50
|
+
Callers must access `result.items` for the message array.
|
|
51
|
+
```ts
|
|
52
|
+
// Before (0.1.x):
|
|
53
|
+
const rows: MessageRow[] = await client.list(roomId);
|
|
54
|
+
// After (0.2.x):
|
|
55
|
+
const { items, hasNext, next } = await client.list(roomId);
|
|
56
|
+
```
|
|
57
|
+
- Server GET `/api/sdk/messages` response changed from a bare JSON array to
|
|
58
|
+
an envelope `{ items, has_more, next_cursor }`.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- `ListResult` interface: `{ items: MessageRow[], hasNext: boolean, next?: number }`.
|
|
63
|
+
- `ListArgs.beforeSeq` — reverse-paging cursor. Pass a previous `next` value
|
|
64
|
+
as `beforeSeq` to load the preceding page of history.
|
|
65
|
+
- `before_seq` query parameter on GET `/api/sdk/messages` (Rust server).
|
|
66
|
+
- Rust server: `has_more` sentinel-row detection (limit+1 fetch, no COUNT query).
|
|
67
|
+
- Rust server: `next_cursor` = seq of oldest row in the page.
|
|
68
|
+
|
|
8
69
|
## [0.1.0] — 2026-05-16
|
|
9
70
|
|
|
10
71
|
### Added
|
package/dist/client.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* W4 skeleton: full implementation mirrors web/src/lib/api/sdkChat.ts.
|
|
10
10
|
* Publishing to npmjs.org is deferred to W8 (embed widget wave).
|
|
11
11
|
*/
|
|
12
|
-
import type { SDKChatClientOptions, SendArgs, ListArgs, MessageRow, SubscribeArgs, Room, Member, CreateRoomArgs, UpdateRoomArgs, PresenceUser } from './types.js';
|
|
12
|
+
import type { SDKChatClientOptions, SendArgs, ListArgs, ListResult, MessageRow, ReactionsResponse, SubscribeArgs, Room, Member, CreateRoomArgs, UpdateRoomArgs, UpdateMessageArgs, PinnedMessage, PresenceUser } from './types.js';
|
|
13
13
|
export declare class SDKChatClient {
|
|
14
14
|
#private;
|
|
15
15
|
constructor(opts: SDKChatClientOptions);
|
|
@@ -32,7 +32,7 @@ export declare class SDKChatClient {
|
|
|
32
32
|
seq: number;
|
|
33
33
|
msgId: string;
|
|
34
34
|
}>;
|
|
35
|
-
list(roomId: string, args?: ListArgs): Promise<
|
|
35
|
+
list(roomId: string, args?: ListArgs): Promise<ListResult>;
|
|
36
36
|
subscribe(roomId: string, args: SubscribeArgs): () => void;
|
|
37
37
|
/**
|
|
38
38
|
* Broadcast a typing indicator for roomId.
|
|
@@ -94,5 +94,67 @@ export declare class SDKChatClient {
|
|
|
94
94
|
* Requires scope: chat:read:<room_id>.
|
|
95
95
|
*/
|
|
96
96
|
getThread(roomId: string, rootMsgId: string): Promise<MessageRow[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Edit a message (only the original sender may edit).
|
|
99
|
+
* Wire-contract: PATCH /api/sdk/messages/:room_id/:msg_id
|
|
100
|
+
* Body: { sealed_b64 }
|
|
101
|
+
* Scope: chat:write:<room_id>.
|
|
102
|
+
*/
|
|
103
|
+
updateMessage(roomId: string, msgId: string, args: UpdateMessageArgs): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Soft-delete a message (only the original sender may delete).
|
|
106
|
+
* Wire-contract: DELETE /api/sdk/messages/:room_id/:msg_id
|
|
107
|
+
* Returns void on 204.
|
|
108
|
+
* Scope: chat:write:<room_id>.
|
|
109
|
+
*/
|
|
110
|
+
deleteMessage(roomId: string, msgId: string): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Pin a message in a room. Idempotent.
|
|
113
|
+
* Wire-contract: POST /api/sdk/rooms/:room_id/pins/:msg_id
|
|
114
|
+
* Scope: chat:write:<room_id>.
|
|
115
|
+
*/
|
|
116
|
+
pinMessage(roomId: string, msgId: string): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Unpin a message in a room. No-op if not pinned.
|
|
119
|
+
* Wire-contract: DELETE /api/sdk/rooms/:room_id/pins/:msg_id
|
|
120
|
+
* Scope: chat:write:<room_id>.
|
|
121
|
+
*/
|
|
122
|
+
unpinMessage(roomId: string, msgId: string): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* List pinned messages in a room, ordered by pinned_at descending.
|
|
125
|
+
* Wire-contract: GET /api/sdk/rooms/:room_id/pins
|
|
126
|
+
* Scope: chat:read:<room_id>.
|
|
127
|
+
*/
|
|
128
|
+
listPins(roomId: string): Promise<PinnedMessage[]>;
|
|
129
|
+
/**
|
|
130
|
+
* W3: Add a reaction emoji to a message. Idempotent per (user, emoji).
|
|
131
|
+
* Wire-contract: POST /api/sdk/messages/:room_id/:msg_id/reactions
|
|
132
|
+
* Scope: chat:write:<room_id>.
|
|
133
|
+
*
|
|
134
|
+
* @param reaction - Emoji / reaction string. Must be 1–32 Unicode code points
|
|
135
|
+
* (`[...reaction].length`). The server enforces the same limit via
|
|
136
|
+
* `character_length(reaction) BETWEEN 1 AND 32` (PG code-point count).
|
|
137
|
+
* Throws `invalid_args` if the validation fails before the network call.
|
|
138
|
+
*/
|
|
139
|
+
sendReaction(roomId: string, msgId: string, reaction: string): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* W3: Remove own reaction from a message. No-op if never added.
|
|
142
|
+
* Wire-contract: DELETE /api/sdk/messages/:room_id/:msg_id/reactions/:reaction
|
|
143
|
+
* Scope: chat:write:<room_id>.
|
|
144
|
+
*
|
|
145
|
+
* The reaction string is percent-encoded in the path to support emoji.
|
|
146
|
+
*
|
|
147
|
+
* @param reaction - Emoji / reaction string. Must be 1–32 Unicode code points
|
|
148
|
+
* (`[...reaction].length`). The server enforces the same limit via
|
|
149
|
+
* `character_length(reaction) BETWEEN 1 AND 32` (PG code-point count).
|
|
150
|
+
* Throws `invalid_args` if the validation fails before the network call.
|
|
151
|
+
*/
|
|
152
|
+
removeReaction(roomId: string, msgId: string, reaction: string): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* W3: Fetch aggregated reaction counts + user lists for a message.
|
|
155
|
+
* Wire-contract: GET /api/sdk/messages/:room_id/:msg_id/reactions
|
|
156
|
+
* Scope: chat:read:<room_id>.
|
|
157
|
+
*/
|
|
158
|
+
getReactions(roomId: string, msgId: string): Promise<ReactionsResponse>;
|
|
97
159
|
}
|
|
98
160
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,UAAU,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -23,7 +23,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
23
23
|
var _SDKChatClient_instances, _SDKChatClient_baseUrl, _SDKChatClient_jwt, _SDKChatClient_compression, _SDKChatClient_minCompressBytes, _SDKChatClient_dictHint, _SDKChatClient_ready, _SDKChatClient_encodeBody, _SDKChatClient_fetchSubscribeTicket;
|
|
24
24
|
import { ensureWireCodecReady, encodeHttpBody, decodeHttpBody, setDictLoader, setDictBaseUrl, asWireBytes, } from '@oxpulse/wire-codec';
|
|
25
25
|
import { SDKChatError } from './errors.js';
|
|
26
|
-
import {
|
|
26
|
+
import { arrayBufferToBase64, base64ToArrayBuffer, httpStatusToCode, backoffMs, dispatchTransient, } from './utils.js';
|
|
27
27
|
function dtoToRoom(dto) {
|
|
28
28
|
return {
|
|
29
29
|
appId: dto.app_id,
|
|
@@ -48,6 +48,27 @@ function dtoToMember(dto) {
|
|
|
48
48
|
active: dto.active,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
+
// ─── Shared row mapper (M5 DRY fix) ──────────────────────────────────────────
|
|
52
|
+
/**
|
|
53
|
+
* Map a raw wire-DTO row (snake_case) to a `MessageRow` (camelCase).
|
|
54
|
+
* Used by list(), thread list, and the SSE onmessage handler.
|
|
55
|
+
* M5 fix: extracted from two duplicated sites to prevent mapper drift.
|
|
56
|
+
*/
|
|
57
|
+
function rowToMessageRow(row) {
|
|
58
|
+
return {
|
|
59
|
+
seq: row.seq,
|
|
60
|
+
msgId: row.msg_id,
|
|
61
|
+
senderUid: row.sender_uid,
|
|
62
|
+
sealed: base64ToArrayBuffer(row.sealed_b64),
|
|
63
|
+
createdAt: row.created_at,
|
|
64
|
+
threadRootMsgId: row.thread_root_msg_id ?? null,
|
|
65
|
+
productRef: row.product_ref ?? null,
|
|
66
|
+
productMeta: row.product_meta ?? null,
|
|
67
|
+
editedAt: row.edited_at ?? undefined,
|
|
68
|
+
deletedAt: row.deleted_at ?? undefined,
|
|
69
|
+
editCount: row.edit_count ?? 0,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
51
72
|
// ─── Client ───────────────────────────────────────────────────────────────────
|
|
52
73
|
const DEFAULT_MIN_COMPRESS_BYTES = 256;
|
|
53
74
|
export class SDKChatClient {
|
|
@@ -126,7 +147,7 @@ export class SDKChatClient {
|
|
|
126
147
|
room_id: roomId,
|
|
127
148
|
msg_id: msgId,
|
|
128
149
|
sender_uid: args.senderUid,
|
|
129
|
-
sealed_b64:
|
|
150
|
+
sealed_b64: arrayBufferToBase64(args.sealed),
|
|
130
151
|
};
|
|
131
152
|
if (args.threadRootMsgId !== undefined) {
|
|
132
153
|
payload['thread_root_msg_id'] = args.threadRootMsgId;
|
|
@@ -158,6 +179,9 @@ export class SDKChatClient {
|
|
|
158
179
|
after_seq: String(args.afterSeq ?? 0),
|
|
159
180
|
limit: String(args.limit ?? 50),
|
|
160
181
|
});
|
|
182
|
+
if (args.beforeSeq !== undefined) {
|
|
183
|
+
params.set('before_seq', String(args.beforeSeq));
|
|
184
|
+
}
|
|
161
185
|
let resp;
|
|
162
186
|
try {
|
|
163
187
|
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages?${params}`, {
|
|
@@ -171,16 +195,21 @@ export class SDKChatClient {
|
|
|
171
195
|
throw new SDKChatError(httpStatusToCode(resp.status), `list failed: HTTP ${resp.status}`, resp.status);
|
|
172
196
|
}
|
|
173
197
|
const json = (await resp.json());
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
198
|
+
const items = json.items.map(rowToMessageRow);
|
|
199
|
+
if (json.has_more && json.next_cursor == null) {
|
|
200
|
+
throw new SDKChatError('server_error', 'server returned has_more=true but next_cursor=null');
|
|
201
|
+
}
|
|
202
|
+
const result = { items, hasNext: json.has_more };
|
|
203
|
+
if (json.has_more && json.next_cursor != null) {
|
|
204
|
+
const cursor = json.next_cursor;
|
|
205
|
+
// Direction-aware thunk: forward paging passes cursor as afterSeq;
|
|
206
|
+
// backward paging passes cursor as beforeSeq.
|
|
207
|
+
result.next =
|
|
208
|
+
args.beforeSeq != null
|
|
209
|
+
? () => this.list(roomId, { ...args, beforeSeq: cursor })
|
|
210
|
+
: () => this.list(roomId, { ...args, afterSeq: cursor });
|
|
211
|
+
}
|
|
212
|
+
return result;
|
|
184
213
|
}
|
|
185
214
|
subscribe(roomId, args) {
|
|
186
215
|
let destroyed = false;
|
|
@@ -200,16 +229,7 @@ export class SDKChatClient {
|
|
|
200
229
|
return;
|
|
201
230
|
}
|
|
202
231
|
lastSeq = data.seq;
|
|
203
|
-
args.onMessage(
|
|
204
|
-
seq: data.seq,
|
|
205
|
-
msgId: data.msg_id,
|
|
206
|
-
senderUid: data.sender_uid,
|
|
207
|
-
sealed: base64ToArrayBuffer(data.sealed_b64),
|
|
208
|
-
createdAt: data.created_at,
|
|
209
|
-
threadRootMsgId: data.thread_root_msg_id ?? null,
|
|
210
|
-
productRef: data.product_ref ?? null,
|
|
211
|
-
productMeta: data.product_meta ?? null,
|
|
212
|
-
});
|
|
232
|
+
args.onMessage(rowToMessageRow(data));
|
|
213
233
|
}
|
|
214
234
|
catch {
|
|
215
235
|
// Malformed frame — ignore.
|
|
@@ -229,6 +249,49 @@ export class SDKChatClient {
|
|
|
229
249
|
}
|
|
230
250
|
});
|
|
231
251
|
}
|
|
252
|
+
// W2 fix-pass + W3: mutation events (edit/delete/pin/unpin/reaction_add/reaction_remove)
|
|
253
|
+
// arrive as named SSE events on the `sdk_message_log_mutation` channel.
|
|
254
|
+
if (args.onMutation || args.onReaction) {
|
|
255
|
+
es.addEventListener('mutation', (ev) => {
|
|
256
|
+
const msgEv = ev;
|
|
257
|
+
try {
|
|
258
|
+
const data = JSON.parse(msgEv.data);
|
|
259
|
+
// W3: dispatch reaction events to onReaction if registered.
|
|
260
|
+
if (args.onReaction &&
|
|
261
|
+
(data.op === 'reaction_add' || data.op === 'reaction_remove') &&
|
|
262
|
+
data.reaction !== undefined &&
|
|
263
|
+
data.user_id !== undefined) {
|
|
264
|
+
const reactionEv = {
|
|
265
|
+
appId: data.app_id,
|
|
266
|
+
roomId: data.room_id,
|
|
267
|
+
msgId: data.msg_id,
|
|
268
|
+
op: data.op,
|
|
269
|
+
reaction: data.reaction,
|
|
270
|
+
userId: data.user_id,
|
|
271
|
+
};
|
|
272
|
+
args.onReaction(reactionEv);
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
// W2: dispatch non-reaction mutations to onMutation.
|
|
276
|
+
if (args.onMutation) {
|
|
277
|
+
const mutation = {
|
|
278
|
+
appId: data.app_id,
|
|
279
|
+
roomId: data.room_id,
|
|
280
|
+
msgId: data.msg_id,
|
|
281
|
+
op: data.op,
|
|
282
|
+
editedAt: data.edited_at,
|
|
283
|
+
editCount: data.edit_count,
|
|
284
|
+
deletedAt: data.deleted_at,
|
|
285
|
+
pinnedBy: data.pinned_by,
|
|
286
|
+
};
|
|
287
|
+
args.onMutation(mutation);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
// Malformed frame — ignore.
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
232
295
|
es.onerror = () => {
|
|
233
296
|
es?.close();
|
|
234
297
|
es = null;
|
|
@@ -256,7 +319,7 @@ export class SDKChatClient {
|
|
|
256
319
|
return;
|
|
257
320
|
try {
|
|
258
321
|
const missed = await this.list(roomId, { afterSeq: lastSeq });
|
|
259
|
-
for (const row of missed) {
|
|
322
|
+
for (const row of missed.items) {
|
|
260
323
|
lastSeq = row.seq;
|
|
261
324
|
args.onMessage(row);
|
|
262
325
|
}
|
|
@@ -577,17 +640,208 @@ export class SDKChatClient {
|
|
|
577
640
|
throw new SDKChatError(httpStatusToCode(resp.status), `getThread failed: HTTP ${resp.status}`, resp.status);
|
|
578
641
|
}
|
|
579
642
|
const json = (await resp.json());
|
|
580
|
-
return json.map(
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
643
|
+
return json.map(rowToMessageRow);
|
|
644
|
+
}
|
|
645
|
+
// ── W2: Edit / delete / pin ────────────────────────────────────────────────
|
|
646
|
+
/**
|
|
647
|
+
* Edit a message (only the original sender may edit).
|
|
648
|
+
* Wire-contract: PATCH /api/sdk/messages/:room_id/:msg_id
|
|
649
|
+
* Body: { sealed_b64 }
|
|
650
|
+
* Scope: chat:write:<room_id>.
|
|
651
|
+
*/
|
|
652
|
+
async updateMessage(roomId, msgId, args) {
|
|
653
|
+
const body = {
|
|
654
|
+
sealed_b64: arrayBufferToBase64(args.sealed),
|
|
655
|
+
};
|
|
656
|
+
let resp;
|
|
657
|
+
try {
|
|
658
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages/${encodeURIComponent(roomId)}/${encodeURIComponent(msgId)}`, {
|
|
659
|
+
method: 'PATCH',
|
|
660
|
+
headers: {
|
|
661
|
+
'Content-Type': 'application/json',
|
|
662
|
+
Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}`,
|
|
663
|
+
},
|
|
664
|
+
body: JSON.stringify(body),
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
catch (err) {
|
|
668
|
+
throw new SDKChatError('network', `updateMessage failed: ${String(err)}`);
|
|
669
|
+
}
|
|
670
|
+
if (!resp.ok) {
|
|
671
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `updateMessage failed: HTTP ${resp.status}`, resp.status);
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Soft-delete a message (only the original sender may delete).
|
|
676
|
+
* Wire-contract: DELETE /api/sdk/messages/:room_id/:msg_id
|
|
677
|
+
* Returns void on 204.
|
|
678
|
+
* Scope: chat:write:<room_id>.
|
|
679
|
+
*/
|
|
680
|
+
async deleteMessage(roomId, msgId) {
|
|
681
|
+
let resp;
|
|
682
|
+
try {
|
|
683
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages/${encodeURIComponent(roomId)}/${encodeURIComponent(msgId)}`, {
|
|
684
|
+
method: 'DELETE',
|
|
685
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
catch (err) {
|
|
689
|
+
throw new SDKChatError('network', `deleteMessage failed: ${String(err)}`);
|
|
690
|
+
}
|
|
691
|
+
if (!resp.ok) {
|
|
692
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `deleteMessage failed: HTTP ${resp.status}`, resp.status);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Pin a message in a room. Idempotent.
|
|
697
|
+
* Wire-contract: POST /api/sdk/rooms/:room_id/pins/:msg_id
|
|
698
|
+
* Scope: chat:write:<room_id>.
|
|
699
|
+
*/
|
|
700
|
+
async pinMessage(roomId, msgId) {
|
|
701
|
+
let resp;
|
|
702
|
+
try {
|
|
703
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/rooms/${encodeURIComponent(roomId)}/pins/${encodeURIComponent(msgId)}`, {
|
|
704
|
+
method: 'POST',
|
|
705
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
catch (err) {
|
|
709
|
+
throw new SDKChatError('network', `pinMessage failed: ${String(err)}`);
|
|
710
|
+
}
|
|
711
|
+
if (!resp.ok) {
|
|
712
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `pinMessage failed: HTTP ${resp.status}`, resp.status);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Unpin a message in a room. No-op if not pinned.
|
|
717
|
+
* Wire-contract: DELETE /api/sdk/rooms/:room_id/pins/:msg_id
|
|
718
|
+
* Scope: chat:write:<room_id>.
|
|
719
|
+
*/
|
|
720
|
+
async unpinMessage(roomId, msgId) {
|
|
721
|
+
let resp;
|
|
722
|
+
try {
|
|
723
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/rooms/${encodeURIComponent(roomId)}/pins/${encodeURIComponent(msgId)}`, {
|
|
724
|
+
method: 'DELETE',
|
|
725
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
726
|
+
});
|
|
727
|
+
}
|
|
728
|
+
catch (err) {
|
|
729
|
+
throw new SDKChatError('network', `unpinMessage failed: ${String(err)}`);
|
|
730
|
+
}
|
|
731
|
+
if (!resp.ok) {
|
|
732
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `unpinMessage failed: HTTP ${resp.status}`, resp.status);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* List pinned messages in a room, ordered by pinned_at descending.
|
|
737
|
+
* Wire-contract: GET /api/sdk/rooms/:room_id/pins
|
|
738
|
+
* Scope: chat:read:<room_id>.
|
|
739
|
+
*/
|
|
740
|
+
async listPins(roomId) {
|
|
741
|
+
let resp;
|
|
742
|
+
try {
|
|
743
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/rooms/${encodeURIComponent(roomId)}/pins`, {
|
|
744
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
catch (err) {
|
|
748
|
+
throw new SDKChatError('network', `listPins failed: ${String(err)}`);
|
|
749
|
+
}
|
|
750
|
+
if (!resp.ok) {
|
|
751
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `listPins failed: HTTP ${resp.status}`, resp.status);
|
|
752
|
+
}
|
|
753
|
+
const arr = (await resp.json());
|
|
754
|
+
return arr.map((p) => ({
|
|
755
|
+
appId: p.app_id,
|
|
756
|
+
roomId: p.room_id,
|
|
757
|
+
msgId: p.msg_id,
|
|
758
|
+
pinnedBy: p.pinned_by,
|
|
759
|
+
pinnedAt: p.pinned_at,
|
|
589
760
|
}));
|
|
590
761
|
}
|
|
762
|
+
// ── W3: Reactions ────────────────────────────────────────────────────────
|
|
763
|
+
/**
|
|
764
|
+
* W3: Add a reaction emoji to a message. Idempotent per (user, emoji).
|
|
765
|
+
* Wire-contract: POST /api/sdk/messages/:room_id/:msg_id/reactions
|
|
766
|
+
* Scope: chat:write:<room_id>.
|
|
767
|
+
*
|
|
768
|
+
* @param reaction - Emoji / reaction string. Must be 1–32 Unicode code points
|
|
769
|
+
* (`[...reaction].length`). The server enforces the same limit via
|
|
770
|
+
* `character_length(reaction) BETWEEN 1 AND 32` (PG code-point count).
|
|
771
|
+
* Throws `invalid_args` if the validation fails before the network call.
|
|
772
|
+
*/
|
|
773
|
+
async sendReaction(roomId, msgId, reaction) {
|
|
774
|
+
if (!reaction || [...reaction].length > 32) {
|
|
775
|
+
throw new SDKChatError('invalid_args', `reaction must be 1-32 Unicode code points, got ${[...reaction].length}`);
|
|
776
|
+
}
|
|
777
|
+
let resp;
|
|
778
|
+
try {
|
|
779
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages/${encodeURIComponent(roomId)}/${encodeURIComponent(msgId)}/reactions`, {
|
|
780
|
+
method: 'POST',
|
|
781
|
+
headers: {
|
|
782
|
+
Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}`,
|
|
783
|
+
'Content-Type': 'application/json',
|
|
784
|
+
},
|
|
785
|
+
body: JSON.stringify({ reaction }),
|
|
786
|
+
});
|
|
787
|
+
}
|
|
788
|
+
catch (err) {
|
|
789
|
+
throw new SDKChatError('network', `sendReaction failed: ${String(err)}`);
|
|
790
|
+
}
|
|
791
|
+
if (!resp.ok) {
|
|
792
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `sendReaction failed: HTTP ${resp.status}`, resp.status);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
/**
|
|
796
|
+
* W3: Remove own reaction from a message. No-op if never added.
|
|
797
|
+
* Wire-contract: DELETE /api/sdk/messages/:room_id/:msg_id/reactions/:reaction
|
|
798
|
+
* Scope: chat:write:<room_id>.
|
|
799
|
+
*
|
|
800
|
+
* The reaction string is percent-encoded in the path to support emoji.
|
|
801
|
+
*
|
|
802
|
+
* @param reaction - Emoji / reaction string. Must be 1–32 Unicode code points
|
|
803
|
+
* (`[...reaction].length`). The server enforces the same limit via
|
|
804
|
+
* `character_length(reaction) BETWEEN 1 AND 32` (PG code-point count).
|
|
805
|
+
* Throws `invalid_args` if the validation fails before the network call.
|
|
806
|
+
*/
|
|
807
|
+
async removeReaction(roomId, msgId, reaction) {
|
|
808
|
+
if (!reaction || [...reaction].length > 32) {
|
|
809
|
+
throw new SDKChatError('invalid_args', `reaction must be 1-32 Unicode code points, got ${[...reaction].length}`);
|
|
810
|
+
}
|
|
811
|
+
let resp;
|
|
812
|
+
try {
|
|
813
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages/${encodeURIComponent(roomId)}/${encodeURIComponent(msgId)}/reactions/${encodeURIComponent(reaction)}`, {
|
|
814
|
+
method: 'DELETE',
|
|
815
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
816
|
+
});
|
|
817
|
+
}
|
|
818
|
+
catch (err) {
|
|
819
|
+
throw new SDKChatError('network', `removeReaction failed: ${String(err)}`);
|
|
820
|
+
}
|
|
821
|
+
if (!resp.ok) {
|
|
822
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `removeReaction failed: HTTP ${resp.status}`, resp.status);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* W3: Fetch aggregated reaction counts + user lists for a message.
|
|
827
|
+
* Wire-contract: GET /api/sdk/messages/:room_id/:msg_id/reactions
|
|
828
|
+
* Scope: chat:read:<room_id>.
|
|
829
|
+
*/
|
|
830
|
+
async getReactions(roomId, msgId) {
|
|
831
|
+
let resp;
|
|
832
|
+
try {
|
|
833
|
+
resp = await fetch(`${__classPrivateFieldGet(this, _SDKChatClient_baseUrl, "f")}/api/sdk/messages/${encodeURIComponent(roomId)}/${encodeURIComponent(msgId)}/reactions`, {
|
|
834
|
+
headers: { Authorization: `Bearer ${__classPrivateFieldGet(this, _SDKChatClient_jwt, "f")}` },
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
catch (err) {
|
|
838
|
+
throw new SDKChatError('network', `getReactions failed: ${String(err)}`);
|
|
839
|
+
}
|
|
840
|
+
if (!resp.ok) {
|
|
841
|
+
throw new SDKChatError(httpStatusToCode(resp.status), `getReactions failed: HTTP ${resp.status}`, resp.status);
|
|
842
|
+
}
|
|
843
|
+
return (await resp.json());
|
|
844
|
+
}
|
|
591
845
|
}
|
|
592
846
|
_SDKChatClient_baseUrl = new WeakMap(), _SDKChatClient_jwt = new WeakMap(), _SDKChatClient_compression = new WeakMap(), _SDKChatClient_minCompressBytes = new WeakMap(), _SDKChatClient_dictHint = new WeakMap(), _SDKChatClient_ready = new WeakMap(), _SDKChatClient_instances = new WeakSet(), _SDKChatClient_encodeBody =
|
|
593
847
|
/** Encode payload bytes for POST /api/sdk/messages per the configured compression mode.
|
package/dist/client.js.map
CHANGED
|
@@ -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/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
export { SDKChatClient } from './client.js';
|
|
27
|
-
export type { SDKChatClientOptions, SendArgs, ListArgs, SubscribeArgs, MessageRow, SDKChatErrorCode } from './types.js';
|
|
27
|
+
export type { SDKChatClientOptions, SendArgs, ListArgs, ListResult, SubscribeArgs, MessageRow, SDKChatErrorCode, UpdateMessageArgs, PinnedMessage, MutationEvent, ReactionEvent, ReactionsResponse } from './types.js';
|
|
28
28
|
export { SDKChatError } from './errors.js';
|
|
29
29
|
export { setDictLoader, setDictBaseUrl, ensureWireCodecReady } from '@oxpulse/wire-codec';
|
|
30
30
|
export type { DictLoader, DictName } from '@oxpulse/wire-codec';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvN,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -43,6 +43,15 @@ export interface SDKChatClientOptions {
|
|
|
43
43
|
* Defaults to 'zstd-dict-ru-v1' if not specified.
|
|
44
44
|
*/
|
|
45
45
|
dictHint?: import('@oxpulse/wire-codec').DictName;
|
|
46
|
+
/**
|
|
47
|
+
* Application namespace identifier — matches the JWT `aud` claim and
|
|
48
|
+
* scopes messages to a multi-tenant application bucket on the server
|
|
49
|
+
* (e.g. `demo_marketplace`, partner integrations). The client passes
|
|
50
|
+
* it through but does NOT enforce it locally; server-side scope check
|
|
51
|
+
* is authoritative. Optional for backwards compatibility: when omitted
|
|
52
|
+
* the server falls back to the JWT `aud` claim alone.
|
|
53
|
+
*/
|
|
54
|
+
appId?: string;
|
|
46
55
|
}
|
|
47
56
|
export interface SendArgs {
|
|
48
57
|
/** Caller-assigned stable user identifier. */
|
|
@@ -68,9 +77,30 @@ export interface SendArgs {
|
|
|
68
77
|
export interface ListArgs {
|
|
69
78
|
/** Return messages with seq > afterSeq (exclusive). Defaults to 0. */
|
|
70
79
|
afterSeq?: number;
|
|
80
|
+
/** W1: Return messages with seq < beforeSeq (exclusive) — reverse paging cursor. */
|
|
81
|
+
beforeSeq?: number;
|
|
71
82
|
/** Maximum rows returned. Defaults to 50, server-capped at 200. */
|
|
72
83
|
limit?: number;
|
|
73
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* W1: Paginated result from list().
|
|
87
|
+
*
|
|
88
|
+
* Direction-aware: `next` is a thunk that calls list() with the correct
|
|
89
|
+
* cursor argument for the current paging direction.
|
|
90
|
+
* - Forward (afterSeq query): thunk passes next_cursor as `afterSeq`.
|
|
91
|
+
* - Backward (beforeSeq query): thunk passes next_cursor as `beforeSeq`.
|
|
92
|
+
*/
|
|
93
|
+
export interface ListResult {
|
|
94
|
+
/** Current page of messages, ordered by seq ascending. */
|
|
95
|
+
items: MessageRow[];
|
|
96
|
+
/** True when more messages exist in the current paging direction. */
|
|
97
|
+
hasNext: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Thunk that fetches the next page in the same direction.
|
|
100
|
+
* Present only when hasNext is true.
|
|
101
|
+
*/
|
|
102
|
+
next?: () => Promise<ListResult>;
|
|
103
|
+
}
|
|
74
104
|
/** W9: Marketplace product display metadata. Non-sensitive catalog info. */
|
|
75
105
|
export interface ProductMeta {
|
|
76
106
|
title: string;
|
|
@@ -104,6 +134,31 @@ export interface MessageRow {
|
|
|
104
134
|
* Non-sensitive catalog info — server stores and returns without E2EE decryption.
|
|
105
135
|
*/
|
|
106
136
|
productMeta: ProductMeta | null;
|
|
137
|
+
/**
|
|
138
|
+
* W2: RFC 3339 timestamp of the last edit. undefined when never edited.
|
|
139
|
+
*/
|
|
140
|
+
editedAt?: string;
|
|
141
|
+
/**
|
|
142
|
+
* W2: RFC 3339 timestamp of soft-delete. undefined when not deleted.
|
|
143
|
+
*/
|
|
144
|
+
deletedAt?: string;
|
|
145
|
+
/**
|
|
146
|
+
* W2: number of times the message has been edited. 0 when never edited.
|
|
147
|
+
*/
|
|
148
|
+
editCount?: number;
|
|
149
|
+
}
|
|
150
|
+
/** W2: Arguments for editing a message (only the sender may edit). */
|
|
151
|
+
export interface UpdateMessageArgs {
|
|
152
|
+
/** New sealed ciphertext — replaces the existing payload. */
|
|
153
|
+
sealed: ArrayBuffer;
|
|
154
|
+
}
|
|
155
|
+
/** W2: A pinned-message entry returned by listPins(). */
|
|
156
|
+
export interface PinnedMessage {
|
|
157
|
+
appId: string;
|
|
158
|
+
roomId: string;
|
|
159
|
+
msgId: string;
|
|
160
|
+
pinnedBy: string;
|
|
161
|
+
pinnedAt: string;
|
|
107
162
|
}
|
|
108
163
|
export interface TypingEvent {
|
|
109
164
|
userId: string;
|
|
@@ -121,6 +176,59 @@ export interface PresenceUser {
|
|
|
121
176
|
userId: string;
|
|
122
177
|
lastSeenAt: string;
|
|
123
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* W2 fix-pass: a mutation event received from the `sdk_message_log_mutation`
|
|
181
|
+
* SSE channel. Carries metadata for edit / delete / pin / unpin operations.
|
|
182
|
+
* The sealed ciphertext is NOT re-transmitted — re-fetch if needed.
|
|
183
|
+
*/
|
|
184
|
+
export interface MutationEvent {
|
|
185
|
+
appId: string;
|
|
186
|
+
roomId: string;
|
|
187
|
+
msgId: string;
|
|
188
|
+
/** "edit" | "delete" | "pin" | "unpin" */
|
|
189
|
+
op: string;
|
|
190
|
+
/** RFC 3339 — present on op="edit". */
|
|
191
|
+
editedAt?: string;
|
|
192
|
+
/** Present on op="edit". */
|
|
193
|
+
editCount?: number;
|
|
194
|
+
/** RFC 3339 — present on op="delete". */
|
|
195
|
+
deletedAt?: string;
|
|
196
|
+
/** Present on op="pin". */
|
|
197
|
+
pinnedBy?: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* W3: A reaction event received from the mutation SSE channel.
|
|
201
|
+
* Fired for op "reaction_add" | "reaction_remove".
|
|
202
|
+
*/
|
|
203
|
+
export interface ReactionEvent {
|
|
204
|
+
appId: string;
|
|
205
|
+
roomId: string;
|
|
206
|
+
msgId: string;
|
|
207
|
+
/** Discriminated literal — narrows to exactly the two reaction ops. */
|
|
208
|
+
op: 'reaction_add' | 'reaction_remove';
|
|
209
|
+
/** The emoji / reaction string. */
|
|
210
|
+
reaction: string;
|
|
211
|
+
/** The user who reacted. */
|
|
212
|
+
userId: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* W3: Aggregated reaction response from GET /api/sdk/messages/:room/:msg/reactions.
|
|
216
|
+
*/
|
|
217
|
+
export interface ReactionsResponse {
|
|
218
|
+
/** Map from reaction string to total count of users who reacted with it. Always exact. */
|
|
219
|
+
counts: Record<string, number>;
|
|
220
|
+
/**
|
|
221
|
+
* Map from reaction string to list of user_ids who reacted with it.
|
|
222
|
+
* Capped at 100 entries per emoji. Check `truncated` to detect when the list
|
|
223
|
+
* is incomplete; use `counts` for the accurate total.
|
|
224
|
+
*/
|
|
225
|
+
users: Record<string, string[]>;
|
|
226
|
+
/**
|
|
227
|
+
* True when at least one emoji's user list was truncated to 100 entries.
|
|
228
|
+
* Exact counts are always preserved in `counts` regardless of truncation.
|
|
229
|
+
*/
|
|
230
|
+
truncated: boolean;
|
|
231
|
+
}
|
|
124
232
|
export interface SubscribeArgs {
|
|
125
233
|
/** Called for each new message received via SSE. */
|
|
126
234
|
onMessage: (row: MessageRow) => void;
|
|
@@ -132,6 +240,18 @@ export interface SubscribeArgs {
|
|
|
132
240
|
onPresence?: (event: PresenceEvent) => void;
|
|
133
241
|
/** W6: called when a read receipt is received via SSE. */
|
|
134
242
|
onReadReceipt?: (event: ReadReceiptEvent) => void;
|
|
243
|
+
/**
|
|
244
|
+
* W2 fix-pass: called when a mutation event arrives on the SSE stream.
|
|
245
|
+
* Fired for edit / delete / pin / unpin. Clients should update local
|
|
246
|
+
* state (cache invalidation / UI refresh) on receipt.
|
|
247
|
+
*/
|
|
248
|
+
onMutation?: (event: MutationEvent) => void;
|
|
249
|
+
/**
|
|
250
|
+
* W3: called when a reaction mutation event arrives on the SSE stream.
|
|
251
|
+
* Fired for op "reaction_add" | "reaction_remove".
|
|
252
|
+
* Clients should update local reaction state on receipt.
|
|
253
|
+
*/
|
|
254
|
+
onReaction?: (event: ReactionEvent) => void;
|
|
135
255
|
}
|
|
136
256
|
export type SDKChatErrorCode = 'network' | 'unauthorized' | 'forbidden' | 'not_found' | 'rate_limited' | 'server_error' | 'unsupported' | 'invalid_args';
|
|
137
257
|
export interface Room {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;IACtD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -20,7 +20,19 @@ export interface TransientCallbacks {
|
|
|
20
20
|
* by sdk_presence.rs.
|
|
21
21
|
*/
|
|
22
22
|
export declare function dispatchTransient(evType: string, data: Record<string, unknown>, callbacks: TransientCallbacks): void;
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* ArrayBuffer → standard base64 string (with `+`/`/`, with padding).
|
|
25
|
+
*
|
|
26
|
+
* B2 fix: server uses `base64::engine::general_purpose::STANDARD` which rejects
|
|
27
|
+
* URL-safe characters (`-`, `_`). All sealed payload round-trips MUST use this
|
|
28
|
+
* function so client-produced base64 survives server decode.
|
|
29
|
+
*
|
|
30
|
+
* @deprecated `arrayBufferToBase64url` (URL-safe, no padding) is kept for
|
|
31
|
+
* backward-compat with any existing callers outside this package; new code
|
|
32
|
+
* MUST use `arrayBufferToBase64`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function arrayBufferToBase64(buf: ArrayBuffer): string;
|
|
35
|
+
/** @deprecated Use `arrayBufferToBase64` (standard) for server round-trips. */
|
|
24
36
|
export declare function arrayBufferToBase64url(buf: ArrayBuffer): string;
|
|
25
37
|
/** base64 (standard or url-safe, with or without padding) → ArrayBuffer. */
|
|
26
38
|
export declare function base64ToArrayBuffer(b64: string): ArrayBuffer;
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjG,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAuBN;AAED,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjG,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAuBN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAO5D;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAQ5D;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAQjE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
package/dist/utils.js
CHANGED
|
@@ -36,14 +36,28 @@ export function dispatchTransient(evType, data, callbacks) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
/**
|
|
40
|
-
|
|
39
|
+
/**
|
|
40
|
+
* ArrayBuffer → standard base64 string (with `+`/`/`, with padding).
|
|
41
|
+
*
|
|
42
|
+
* B2 fix: server uses `base64::engine::general_purpose::STANDARD` which rejects
|
|
43
|
+
* URL-safe characters (`-`, `_`). All sealed payload round-trips MUST use this
|
|
44
|
+
* function so client-produced base64 survives server decode.
|
|
45
|
+
*
|
|
46
|
+
* @deprecated `arrayBufferToBase64url` (URL-safe, no padding) is kept for
|
|
47
|
+
* backward-compat with any existing callers outside this package; new code
|
|
48
|
+
* MUST use `arrayBufferToBase64`.
|
|
49
|
+
*/
|
|
50
|
+
export function arrayBufferToBase64(buf) {
|
|
41
51
|
const bytes = new Uint8Array(buf);
|
|
42
52
|
let binary = '';
|
|
43
53
|
for (let i = 0; i < bytes.byteLength; i++) {
|
|
44
54
|
binary += String.fromCharCode(bytes[i]);
|
|
45
55
|
}
|
|
46
|
-
return btoa(binary)
|
|
56
|
+
return btoa(binary);
|
|
57
|
+
}
|
|
58
|
+
/** @deprecated Use `arrayBufferToBase64` (standard) for server round-trips. */
|
|
59
|
+
export function arrayBufferToBase64url(buf) {
|
|
60
|
+
return arrayBufferToBase64(buf).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
47
61
|
}
|
|
48
62
|
/** base64 (standard or url-safe, with or without padding) → ArrayBuffer. */
|
|
49
63
|
export function base64ToArrayBuffer(b64) {
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAA6B,EAC7B,SAA6B;IAE7B,IAAI,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,SAAS,CAAC,QAAQ,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,EACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClB,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,UAAU,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzD,SAAS,CAAC,UAAU,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,cAAc,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAChE,SAAS,CAAC,aAAa,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,EACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClB,CAAC,CAAC,CAAC;SACR,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAA6B,EAC7B,SAA6B;IAE7B,IAAI,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,SAAS,CAAC,QAAQ,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,EACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClB,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,UAAU,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzD,SAAS,CAAC,UAAU,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,KAAK,cAAc,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;QAChE,SAAS,CAAC,aAAa,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,EACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;gBAClC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAClB,CAAC,CAAC,CAAC;SACR,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAgB;IAClD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CAAC,GAAgB;IACrD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,cAAc,CAAC;IACzD,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,cAAc,CAAC;IACzC,OAAO,cAAc,CAAC,CAAC,uBAAuB;AAChD,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAM,CAAC,CAAC;IAC3D,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAC5C,CAAC"}
|
package/package.json
CHANGED