@manonero/chat-client-sdk 0.0.1-beta.5 → 0.0.1-beta.7

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
@@ -13,19 +13,20 @@
13
13
  5. [Participant — ParticipantApi](#5-participant--participantapi)
14
14
  6. [Conversation — ConversationApi](#6-conversation--conversationapi)
15
15
  7. [Message — MessageApi](#7-message--messageapi)
16
- 8. [FileFileApi](#8-file--fileapi)
17
- 9. [BotBotApi](#9-bot--botapi)
18
- 10. [ProxyProxyApi](#10-proxy--proxyapi)
19
- 11. [HealthHealthApi](#11-health--healthapi)
20
- 12. [Real-time: ChatHubClient](#12-real-time-chathubclient)
21
- 13. [Real-time: NotificationHubClient](#13-real-time-notificationhubclient)
22
- 14. [ReconnectionManager](#14-reconnectionmanager)
23
- 15. [Hệ thống Block (nội dung tin nhắn)](#15-hệ-thống-block-nội-dung-tin-nhắn)
24
- 16. [Toàn bộ kiểu dữ liệu (Types)](#16-toàn-bộ-kiểu-dữ-liệu-types)
25
- 17. [Xử lỗi ChatApiError](#17-xử-lý-lỗi--chatapierror)
26
- 18. [TypedEventEmitter](#18-typedeventemitter)
27
- 19. [Lưu ý quan trọng](#19-lưu-ý-quan-trọng)
28
- 20. [ dụ đầy đủ](#20-ví-dụ-đầy-đủ)
16
+ 8. [Tìm kiếm SearchApi](#8-tìm-kiếm--searchapi)
17
+ 9. [FileFileApi](#9-file--fileapi)
18
+ 10. [BotBotApi](#10-bot--botapi)
19
+ 11. [ProxyProxyApi](#11-proxy--proxyapi)
20
+ 12. [Health — HealthApi](#12-health--healthapi)
21
+ 13. [Real-time: ChatHubClient](#13-real-time-chathubclient)
22
+ 14. [Real-time: NotificationHubClient](#14-real-time-notificationhubclient)
23
+ 15. [ReconnectionManager](#15-reconnectionmanager)
24
+ 16. [Hệ thống Block (nội dung tin nhắn)](#16-hệ-thống-block-nội-dung-tin-nhắn)
25
+ 17. [Toàn bộ kiểu dữ liệu (Types)](#17-toàn-bộ-kiểu-dữ-liệu-types)
26
+ 18. [Xử lý lỗi — ChatApiError](#18-xử-lý-lỗi--chatapierror)
27
+ 19. [TypedEventEmitter](#19-typedeventemitter)
28
+ 20. [Lưu ý quan trọng](#20-lưu-ý-quan-trọng)
29
+ 21. [Ví dụ đầy đủ](#21-ví-dụ-đầy-đủ)
29
30
 
30
31
  ---
31
32
 
@@ -37,6 +38,7 @@ ChatClient (facade chính)
37
38
  ├── participants → ParticipantApi (quản lý người dùng)
38
39
  ├── conversations → ConversationApi (quản lý cuộc hội thoại)
39
40
  ├── messages → MessageApi (tin nhắn)
41
+ ├── search → SearchApi (tìm kiếm tổng hợp conversations + messages)
40
42
  ├── files → FileApi (upload/download file)
41
43
  ├── bots → BotApi (quản lý bot)
42
44
  ├── proxy → ProxyApi (proxy đến backend khác)
@@ -92,6 +94,9 @@ import type { HttpClientOptions } from '@manonero/chat-client-sdk';
92
94
  // Event map types — dùng khi cần typed wrapper
93
95
  import type { ChatHubEventMap, NotificationHubEventMap } from '@manonero/chat-client-sdk';
94
96
 
97
+ // Ephemeral broadcast (dùng chung cho cả hai hub) — generic theo kiểu của `data`
98
+ import type { EphemeralBroadcastDto, BroadcastSenderType } from '@manonero/chat-client-sdk';
99
+
95
100
  // Hub options (khi dùng hub client độc lập, không qua ChatClient)
96
101
  import type { ChatHubClientOptions, NotificationHubClientOptions } from '@manonero/chat-client-sdk';
97
102
 
@@ -217,6 +222,7 @@ new ChatClient(options: ChatClientOptions)
217
222
  | `participants` | `ParticipantApi` | Quản lý participant |
218
223
  | `conversations` | `ConversationApi` | Quản lý cuộc hội thoại |
219
224
  | `messages` | `MessageApi` | Thao tác với tin nhắn |
225
+ | `search` | `SearchApi` | Tìm kiếm tổng hợp conversations + messages |
220
226
  | `files` | `FileApi` | Upload/download file |
221
227
  | `bots` | `BotApi` | Quản lý bot |
222
228
  | `proxy` | `ProxyApi` | Proxy đến backend khác |
@@ -435,20 +441,24 @@ const conv = await client.conversations.create({
435
441
  });
436
442
  ```
437
443
 
438
- ### `search(query, limit?): Promise<ConversationListItemDto[]>`
439
-
440
- Tìm kiếm theo tên cuộc hội thoại hoặc tên participant.
441
-
442
- ```ts
443
- const results = await client.conversations.search('team', 10);
444
- ```
444
+ > ⚠️ **Đã gỡ bỏ `conversations.search()`** — endpoint backend `GET /api/conversations/search` không còn được proxy qua gateway (trả `404`). Dùng endpoint tìm kiếm tổng hợp `client.search.search()` thay thế — xem [mục 8 — SearchApi](#8-tìm-kiếm--searchapi).
445
445
 
446
- ### `getById(id: string): Promise<ConversationDto>`
446
+ ### `getById(id, options?): Promise<ConversationDto>`
447
447
 
448
448
  ```ts
449
+ // Mặc định: bao gồm danh sách thành viên
449
450
  const conv = await client.conversations.getById('conv-id-here');
451
+
452
+ // Bỏ danh sách thành viên để giảm payload — khi đó `participants` trả về []
453
+ const light = await client.conversations.getById('conv-id-here', {
454
+ includeParticipants: false,
455
+ });
450
456
  ```
451
457
 
458
+ | Param | Kiểu | Mặc định | Mô tả |
459
+ |-------|------|----------|-------|
460
+ | `options.includeParticipants` | `boolean` | `true` | Đặt `false` để bỏ mảng `participants` khỏi response (spec §6.4). Khi `false`, `participants` là `[]`. |
461
+
452
462
  ### `update(id, request): Promise<ConversationDto>`
453
463
 
454
464
  ```ts
@@ -661,12 +671,14 @@ const newer = await client.messages.getHistory('conv-id', {
661
671
 
662
672
  ### `search(conversationId, query, limit?): Promise<MessageDto[]>`
663
673
 
664
- Full-text search trong cuộc hội thoại.
674
+ Full-text search **trong phạm vi một cuộc hội thoại** (`GET /api/conversations/{conversationId}/messages/search`, spec §7.3).
665
675
 
666
676
  ```ts
667
677
  const results = await client.messages.search('conv-id', 'từ khóa tìm kiếm', 20);
668
678
  ```
669
679
 
680
+ > ℹ️ Để tìm kiếm **xuyên suốt tất cả** cuộc hội thoại và tin nhắn, dùng `client.search.search()` — xem [mục 8 — SearchApi](#8-tìm-kiếm--searchapi).
681
+
670
682
  ### `getById(messageId): Promise<MessageDto>`
671
683
 
672
684
  ```ts
@@ -773,7 +785,67 @@ interface EditMessageRequest {
773
785
 
774
786
  ---
775
787
 
776
- ## 8. FileFileApi
788
+ ## 8. Tìm kiếm SearchApi
789
+
790
+ **Truy cập:** `client.search`
791
+
792
+ Endpoint tìm kiếm tổng hợp do gateway cung cấp (`GET /api/search`, spec §6.3) — tìm **conversations**, **messages**, hoặc **cả hai** trong một request. Yêu cầu JWT.
793
+
794
+ > Endpoint này **thay thế** cho `GET /api/conversations/search` và `GET /api/messages/search` (global) của backend — hai endpoint đó không còn được proxy qua gateway. Việc tìm kiếm tin nhắn trong phạm vi **một** cuộc hội thoại vẫn dùng `client.messages.search()` (spec §7.3).
795
+
796
+ ### `search(params): Promise<SearchResult>`
797
+
798
+ | Param | Kiểu | Mặc định | Mô tả |
799
+ |-------|------|----------|-------|
800
+ | `q` | `string` | — (**bắt buộc**) | Từ khóa tìm kiếm. Thiếu/rỗng → `400 Bad Request`. |
801
+ | `type` | `'MESSAGE' \| 'CONVERSATION' \| 'BOTH'` | `'BOTH'` | Phạm vi tìm kiếm. Giá trị khác → `400 Bad Request`. |
802
+ | `limit` | `number` | `20` | Số kết quả mỗi loại. |
803
+ | `cursor` | `string` | — | Phân trang — **chỉ áp dụng cho messages** (opaque `nextCursor` từ response trước). |
804
+
805
+ **Hành vi theo `type`:**
806
+
807
+ - `CONVERSATION` — tìm conversations; mỗi item kèm `lastMessage` (full `MessageDto`). `messages` trả về `null`.
808
+ - `MESSAGE` — tìm messages, **gom nhóm theo conversation**; mỗi nhóm kèm thông tin `conversation`. Phân trang (`nextCursor`/`hasMore`) phản ánh messages. `conversations` trả về `null`.
809
+ - `BOTH` — thực hiện cả hai (mặc định).
810
+
811
+ > Response **luôn có cả hai key** `conversations` và `messages`; phần không được yêu cầu bởi `type` sẽ là `null`.
812
+
813
+ ```ts
814
+ // Tìm cả hai loại (mặc định)
815
+ const result = await client.search.search({ q: 'hello' });
816
+
817
+ // Conversations: kiểm tra lastMessage.isDeleted trước khi hiển thị
818
+ for (const conv of result.conversations ?? []) {
819
+ const preview = conv.lastMessage?.isDeleted
820
+ ? 'Tin nhắn đã xóa'
821
+ : conv.lastMessage?.plainTextIndex ?? '';
822
+ console.log(conv.name, preview);
823
+ }
824
+
825
+ // Messages: gom nhóm theo conversation
826
+ for (const group of result.messages?.groups ?? []) {
827
+ console.log('Trong:', group.conversation?.name ?? '(không rõ)');
828
+ for (const msg of group.messages) console.log(' -', msg.plainTextIndex);
829
+ }
830
+ ```
831
+
832
+ ```ts
833
+ // Chỉ tìm messages + phân trang
834
+ let page = await client.search.search({ q: 'hello', type: 'MESSAGE', limit: 20 });
835
+ while (page.messages?.hasMore) {
836
+ page = await client.search.search({
837
+ q: 'hello',
838
+ type: 'MESSAGE',
839
+ cursor: page.messages.nextCursor!, // opaque string — KHÔNG cast sang number
840
+ });
841
+ }
842
+ ```
843
+
844
+ > ⚠️ Giống `client.conversations.list()`, backend **không** filter `isDeleted` cho `lastMessage` — client **phải** tự kiểm tra `lastMessage.isDeleted` trước khi hiển thị. Nếu batch fetch lỗi, `lastMessage` (của conversation) hoặc `conversation` (của nhóm message) có thể là `null` (degrade graceful).
845
+
846
+ ---
847
+
848
+ ## 9. File — FileApi
777
849
 
778
850
  **Truy cập:** `client.files`
779
851
 
@@ -873,7 +945,7 @@ interface UploadResponse {
873
945
 
874
946
  ---
875
947
 
876
- ## 9. Bot — BotApi
948
+ ## 10. Bot — BotApi
877
949
 
878
950
  **Truy cập:** `client.bots`
879
951
 
@@ -1005,7 +1077,7 @@ interface UpdateBotRequest {
1005
1077
 
1006
1078
  ---
1007
1079
 
1008
- ## 10. Proxy — ProxyApi
1080
+ ## 11. Proxy — ProxyApi
1009
1081
 
1010
1082
  **Truy cập:** `client.proxy`
1011
1083
 
@@ -1062,7 +1134,7 @@ const result = await client.proxy.request<unknown>('myservice', 'api/resource/12
1062
1134
 
1063
1135
  ---
1064
1136
 
1065
- ## 11. Health — HealthApi
1137
+ ## 12. Health — HealthApi
1066
1138
 
1067
1139
  **Truy cập:** `client.health`
1068
1140
 
@@ -1082,7 +1154,7 @@ const ready = await client.health.ready(); // "Healthy"
1082
1154
 
1083
1155
  ---
1084
1156
 
1085
- ## 12. Real-time: ChatHubClient
1157
+ ## 13. Real-time: ChatHubClient
1086
1158
 
1087
1159
  **Truy cập:** `client.realtime.chat`
1088
1160
 
@@ -1222,6 +1294,7 @@ client.realtime.chat.off('messageReceived', handler);
1222
1294
  | `streamChunkReceived` | `StreamChunkReceivedDto` | Nhận thêm chunk text từ bot |
1223
1295
  | `streamCompleted` | `StreamCompletedDto` | Bot stream hoàn thành (kèm message đầy đủ) |
1224
1296
  | `streamAborted` | `StreamAbortedDto` | Bot stream bị hủy |
1297
+ | `ephemeralBroadcast` | `EphemeralBroadcastDto` | Broadcast tạm thời (không lưu) nhắm `audience="viewers"` của conversation đang mở — `conversationId` luôn có giá trị |
1225
1298
  | `error` | `HubErrorDto` | Lỗi từ server |
1226
1299
  | `reconnecting` | `Error \| undefined` | Đang reconnect |
1227
1300
  | `reconnected` | `string \| undefined` | Đã reconnect (connectionId mới) |
@@ -1338,9 +1411,31 @@ client.realtime.chat.on('streamAborted', (dto) => {
1338
1411
  });
1339
1412
  ```
1340
1413
 
1414
+ ### Ephemeral Broadcast (tin real-time không lưu trữ)
1415
+
1416
+ Bot hoặc SYSTEM user có thể phát **broadcast tạm thời** (không lưu vào lịch sử, không có ack, không edit/delete) qua `POST /api/broadcasts`. Trên ChatHub, client nhận event `ephemeralBroadcast` khi broadcast nhắm `audience="viewers"` của conversation đang mở — khi đó `conversationId` luôn có giá trị.
1417
+
1418
+ `data` là một envelope JSON tự do; client diễn giải dựa trên `type`. Dùng generic `EphemeralBroadcastDto<TData>` để narrow kiểu của `data` khi cần (mặc định `unknown` để vẫn an toàn khi chưa khai báo).
1419
+
1420
+ ```ts
1421
+ import type { EphemeralBroadcastDto } from '@manonero/chat-client-sdk';
1422
+
1423
+ interface PromoBanner { title: string; startsAt: string }
1424
+
1425
+ client.realtime.chat.on('ephemeralBroadcast', (b) => {
1426
+ // b.senderType: 'Bot' | 'System' ; b.conversationId luôn có giá trị trên ChatHub
1427
+ if (b.type === 'promo_banner') {
1428
+ const promo = b.data as PromoBanner; // narrow theo `type`
1429
+ showBanner(promo.title, promo.startsAt);
1430
+ }
1431
+ });
1432
+ ```
1433
+
1434
+ > Cùng event `ephemeralBroadcast` (và cùng kiểu `EphemeralBroadcastDto`) cũng có trên NotificationHub cho các audience cấp user — xem [mục 14](#14-real-time-notificationhubclient). Định nghĩa kiểu đầy đủ ở [mục 17](#17-toàn-bộ-kiểu-dữ-liệu-types).
1435
+
1341
1436
  ---
1342
1437
 
1343
- ## 13. Real-time: NotificationHubClient
1438
+ ## 14. Real-time: NotificationHubClient
1344
1439
 
1345
1440
  **Truy cập:** `client.realtime.notifications`
1346
1441
 
@@ -1384,6 +1479,7 @@ await client.realtime.notifications.disconnect();
1384
1479
  | `participantLeft` | `ParticipantLeftDto` | Thành viên rời/bị xóa — gửi cho tất cả participant còn lại **và** chính người vừa rời (để sync xóa khỏi các tab khác) |
1385
1480
  | `conversationPinned` | `ConversationPinnedDto` | Conversation được pin |
1386
1481
  | `conversationUnpinned` | `ConversationUnpinnedDto` | Conversation được unpin |
1482
+ | `ephemeralBroadcast` | `EphemeralBroadcastDto` | Broadcast tạm thời (không lưu) — audience `members`/`all`/`users`; broadcast toàn cục có `conversationId: null` |
1387
1483
  | `reconnecting` | `Error \| undefined` | Đang reconnect |
1388
1484
  | `reconnected` | `string \| undefined` | Đã reconnect |
1389
1485
  | `disconnected` | `Error \| undefined` | Mất kết nối |
@@ -1454,9 +1550,24 @@ interface ConversationUnpinnedDto {
1454
1550
  }
1455
1551
  ```
1456
1552
 
1553
+ ### Ephemeral Broadcast trên NotificationHub
1554
+
1555
+ Giống ChatHub, NotificationHub cũng phát event `ephemeralBroadcast` (cùng kiểu `EphemeralBroadcastDto`) — nhưng cho các audience **cấp user**: `audience="members"` (mọi thành viên conversation), `audience="all"` (mọi user online), hoặc `audience="users"` (danh sách userId chỉ định). Với broadcast toàn cục, `conversationId` là `null`.
1556
+
1557
+ ```ts
1558
+ client.realtime.notifications.on('ephemeralBroadcast', (b) => {
1559
+ if (b.conversationId === null && b.type === 'system_alert') {
1560
+ // Broadcast toàn cục — vd. cảnh báo bảo trì hệ thống
1561
+ showGlobalAlert(b.data);
1562
+ }
1563
+ });
1564
+ ```
1565
+
1566
+ > Định nghĩa đầy đủ `EphemeralBroadcastDto` ở [mục 17](#17-toàn-bộ-kiểu-dữ-liệu-types).
1567
+
1457
1568
  ---
1458
1569
 
1459
- ## 14. ReconnectionManager
1570
+ ## 15. ReconnectionManager
1460
1571
 
1461
1572
  Class quản lý reconnect thủ công khi cả `withAutomaticReconnect` của SignalR đã thất bại và hub bị `disconnected`. Cung cấp exponential backoff và xử lý token hết hạn.
1462
1573
 
@@ -1490,7 +1601,7 @@ manager.stop();
1490
1601
 
1491
1602
  ---
1492
1603
 
1493
- ## 15. Hệ thống Block (nội dung tin nhắn)
1604
+ ## 16. Hệ thống Block (nội dung tin nhắn)
1494
1605
 
1495
1606
  `Block` là **discriminated union** — mỗi block phân biệt bằng field `$type`.
1496
1607
 
@@ -1779,7 +1890,7 @@ interface Mention {
1779
1890
 
1780
1891
  ---
1781
1892
 
1782
- ## 16. Toàn bộ kiểu dữ liệu (Types)
1893
+ ## 17. Toàn bộ kiểu dữ liệu (Types)
1783
1894
 
1784
1895
  ### CursorPaginatedResult (cursor-based)
1785
1896
 
@@ -1802,6 +1913,33 @@ interface PagedResult<T> {
1802
1913
  }
1803
1914
  ```
1804
1915
 
1916
+ ### SearchResult (GET /api/search — §8)
1917
+
1918
+ ```ts
1919
+ type SearchType = 'MESSAGE' | 'CONVERSATION' | 'BOTH';
1920
+
1921
+ interface SearchResult {
1922
+ // null khi type=MESSAGE. Mỗi item có `lastMessage` đã hydrate —
1923
+ // kiểm tra lastMessage.isDeleted trước khi hiển thị.
1924
+ conversations: ConversationListItemDto[] | null;
1925
+ // null khi type=CONVERSATION.
1926
+ messages: SearchMessagesResult | null;
1927
+ }
1928
+
1929
+ interface SearchMessagesResult {
1930
+ groups: SearchMessageGroup[];
1931
+ nextCursor: string | null; // opaque — chỉ phân trang cho messages
1932
+ hasMore: boolean;
1933
+ }
1934
+
1935
+ interface SearchMessageGroup {
1936
+ // null nếu batch fetch conversation lỗi (degrade graceful).
1937
+ // `participants` luôn là [] (fetch với includeParticipants=false).
1938
+ conversation: ConversationDto | null;
1939
+ messages: MessageDto[];
1940
+ }
1941
+ ```
1942
+
1805
1943
  ### MediaReference
1806
1944
 
1807
1945
  ```ts
@@ -1957,6 +2095,29 @@ interface StreamAbortedDto {
1957
2095
  }
1958
2096
  ```
1959
2097
 
2098
+ ### EphemeralBroadcastDto (dùng chung — ChatHub & NotificationHub)
2099
+
2100
+ Broadcast tạm thời (**KHÔNG lưu trữ**) do bot hoặc SYSTEM user phát qua `POST /api/broadcasts`. Cùng một payload xuất hiện trên **cả hai hub** với event `ephemeralBroadcast`:
2101
+
2102
+ - **ChatHub** — `audience="viewers"` của conversation đang mở (`conversationId` có giá trị).
2103
+ - **NotificationHub** — `audience="members" | "all" | "users"` (broadcast toàn cục → `conversationId: null`).
2104
+
2105
+ ```ts
2106
+ // Sender của broadcast — luôn là bot hoặc SYSTEM user (không bao giờ là User thường)
2107
+ type BroadcastSenderType = 'Bot' | 'System';
2108
+
2109
+ interface EphemeralBroadcastDto<TData = unknown> {
2110
+ type: string; // Khóa do người gửi đặt — client tự diễn giải `data` theo giá trị này
2111
+ senderId: string; // participantId của bot, hoặc literal "SYSTEM"
2112
+ senderType: BroadcastSenderType; // 'Bot' | 'System'
2113
+ conversationId: string | null; // null khi broadcast toàn cục
2114
+ data: TData | null; // Envelope JSON tự do; null khi người gửi bỏ trống
2115
+ sentAt: string; // UTC ISO 8601
2116
+ }
2117
+ ```
2118
+
2119
+ > `TData` cho phép narrow kiểu của `data` theo `type` (mặc định `unknown` để dùng an toàn khi chưa khai báo). Xem ví dụ ở [mục 13](#13-real-time-chathubclient) (ChatHub) và [mục 14](#14-real-time-notificationhubclient) (NotificationHub).
2120
+
1960
2121
  ### Ack types (return value của Hub methods)
1961
2122
 
1962
2123
  Mỗi Hub method client→server trả về một ack object với `success: boolean` và optional error fields:
@@ -2005,7 +2166,7 @@ interface ReactionAck {
2005
2166
 
2006
2167
  ---
2007
2168
 
2008
- ## 17. Xử lý lỗi — ChatApiError
2169
+ ## 18. Xử lý lỗi — ChatApiError
2009
2170
 
2010
2171
  Tất cả lỗi HTTP đều throw `ChatApiError` (kế thừa `Error`).
2011
2172
 
@@ -2157,7 +2318,7 @@ manager.start();
2157
2318
 
2158
2319
  ---
2159
2320
 
2160
- ## 18. TypedEventEmitter
2321
+ ## 19. TypedEventEmitter
2161
2322
 
2162
2323
  SDK dùng `TypedEventEmitter<TEventMap>` nội bộ cho cả hai hub. Giao diện public của nó được expose qua `.on()` và `.off()`.
2163
2324
 
@@ -2187,7 +2348,7 @@ unsubs.forEach(fn => fn());
2187
2348
 
2188
2349
  ---
2189
2350
 
2190
- ## 19. Lưu ý quan trọng
2351
+ ## 20. Lưu ý quan trọng
2191
2352
 
2192
2353
  ### Cursor pagination — KHÔNG cast sang number
2193
2354
 
@@ -2264,7 +2425,7 @@ console.log(participant.fullName); // Tên hiển thị của bot
2264
2425
 
2265
2426
  ---
2266
2427
 
2267
- ## 20. Ví dụ đầy đủ
2428
+ ## 21. Ví dụ đầy đủ
2268
2429
 
2269
2430
  ### Ví dụ 1: Chat app cơ bản
2270
2431
 
@@ -7,6 +7,7 @@ import { FileApi } from './http/FileApi.js';
7
7
  import { BotApi } from './http/BotApi.js';
8
8
  import { ProxyApi } from './http/ProxyApi.js';
9
9
  import { HealthApi } from './http/HealthApi.js';
10
+ import { SearchApi } from './http/SearchApi.js';
10
11
  import { ChatHubClient } from './realtime/ChatHubClient.js';
11
12
  import { NotificationHubClient } from './realtime/NotificationHubClient.js';
12
13
  import type { AuthUserInfo } from './types/auth.js';
@@ -112,6 +113,8 @@ export declare class ChatClient {
112
113
  readonly proxy: ProxyApi;
113
114
  /** Health check endpoints */
114
115
  readonly health: HealthApi;
116
+ /** Unified search (conversations + messages) */
117
+ readonly search: SearchApi;
115
118
  /** SignalR hub clients */
116
119
  readonly realtime: ChatClientRealtime;
117
120
  private _currentUser;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatClient.d.ts","sourceRoot":"","sources":["../src/ChatClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatClient.d.ts","sourceRoot":"","sources":["../src/ChatClient.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { FileApi } from './http/FileApi.js';
9
9
  import { BotApi } from './http/BotApi.js';
10
10
  import { ProxyApi } from './http/ProxyApi.js';
11
11
  import { HealthApi } from './http/HealthApi.js';
12
+ import { SearchApi } from './http/SearchApi.js';
12
13
  import { ChatHubClient } from './realtime/ChatHubClient.js';
13
14
  import { NotificationHubClient } from './realtime/NotificationHubClient.js';
14
15
  // ---------------------------------------------------------------------------
@@ -123,6 +124,7 @@ export class ChatClient {
123
124
  this.bots = new BotApi(http);
124
125
  this.proxy = new ProxyApi(http);
125
126
  this.health = new HealthApi(http);
127
+ this.search = new SearchApi(http);
126
128
  // AuthApi is wrapped in InterceptingAuthApi to auto-set token + currentUser
127
129
  this.auth = new InterceptingAuthApi(http, (res) => this._onLoginSuccess(res));
128
130
  // Build SignalR hub URLs from baseUrl (strip trailing slash already done by HttpClient)
@@ -1 +1 @@
1
- {"version":3,"file":"ChatClient.js","sourceRoot":"","sources":["../src/ChatClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatClient.js","sourceRoot":"","sources":["../src/ChatClient.ts"],"names":[],"mappings":"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"}
@@ -32,12 +32,15 @@ export declare class ConversationApi {
32
32
  /** POST /api/conversations */
33
33
  create(request: CreateConversationRequest): Promise<ConversationDto>;
34
34
  /**
35
- * GET /api/conversations/search?q={query}&limit={limit}
36
- * Search conversations by name or participant name.
35
+ * GET /api/conversations/{id}?includeParticipants={bool}
36
+ *
37
+ * @param includeParticipants - Default `true`. Pass `false` to omit the
38
+ * participants array from the response (reduces payload). When `false`,
39
+ * `participants` is returned as `[]` (spec §6.4).
37
40
  */
38
- search(query: string, limit?: number): Promise<ConversationListItemDto[]>;
39
- /** GET /api/conversations/{id} */
40
- getById(id: string): Promise<ConversationDto>;
41
+ getById(id: string, options?: {
42
+ includeParticipants?: boolean;
43
+ }): Promise<ConversationDto>;
41
44
  /** PATCH /api/conversations/{id} */
42
45
  update(id: string, request: UpdateConversationRequest): Promise<ConversationDto>;
43
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationApi.d.ts","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IAU3D,8BAA8B;IAC9B,MAAM,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAMzE,kCAAkC;IAClC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7C,oCAAoC;IACpC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhF;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrF;;;OAGG;IACH,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/E;;;OAGG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAM9E,uCAAuC;IACvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,yCAAyC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;;;;;;;OAWG;IACH,QAAQ,CACN,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,2BAA2B,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;CAU5D"}
1
+ {"version":3,"file":"ConversationApi.d.ts","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IAU3D,8BAA8B;IAC9B,MAAM,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1F,oCAAoC;IACpC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhF;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACH,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrF;;;OAGG;IACH,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/E;;;OAGG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAM9E,uCAAuC;IACvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9B,yCAAyC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;;;;;;;;;OAWG;IACH,QAAQ,CACN,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,2BAA2B,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;CAU5D"}
@@ -39,18 +39,18 @@ export class ConversationApi {
39
39
  return this.http.post('/api/conversations', request);
40
40
  }
41
41
  /**
42
- * GET /api/conversations/search?q={query}&limit={limit}
43
- * Search conversations by name or participant name.
42
+ * GET /api/conversations/{id}?includeParticipants={bool}
43
+ *
44
+ * @param includeParticipants - Default `true`. Pass `false` to omit the
45
+ * participants array from the response (reduces payload). When `false`,
46
+ * `participants` is returned as `[]` (spec §6.4).
44
47
  */
45
- search(query, limit) {
46
- const qs = new URLSearchParams({ q: query });
47
- if (limit !== undefined)
48
- qs.set('limit', String(limit));
49
- return this.http.get(`/api/conversations/search?${qs.toString()}`);
50
- }
51
- /** GET /api/conversations/{id} */
52
- getById(id) {
53
- return this.http.get(`/api/conversations/${encodeURIComponent(id)}`);
48
+ getById(id, options) {
49
+ const qs = new URLSearchParams();
50
+ if (options?.includeParticipants === false)
51
+ qs.set('includeParticipants', 'false');
52
+ const q = qs.toString();
53
+ return this.http.get(`/api/conversations/${encodeURIComponent(id)}${q ? `?${q}` : ''}`);
54
54
  }
55
55
  /** PATCH /api/conversations/{id} */
56
56
  update(id, request) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationApi.js","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationApi.js","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { HttpClient } from './HttpClient.js';
2
+ import type { SearchResult, SearchType } from '../types/search.js';
3
+ /**
4
+ * Search API client.
5
+ * Requires JWT Bearer token.
6
+ *
7
+ * Replaces the removed `GET /api/conversations/search` backend endpoint.
8
+ * `GET /api/messages/search` (global, non-conversation-scoped) is also removed.
9
+ * Per-conversation message search (`GET /api/conversations/{id}/messages/search`)
10
+ * is still available via MessageApi.search().
11
+ */
12
+ export declare class SearchApi {
13
+ private readonly http;
14
+ constructor(http: HttpClient);
15
+ /**
16
+ * GET /api/search?q={q}&type={type}&limit={limit}&cursor={cursor}
17
+ *
18
+ * Unified search for conversations and/or messages in a single request.
19
+ *
20
+ * - `q` is required; omitting or sending an empty string returns 400.
21
+ * - `type` defaults to `BOTH` server-side.
22
+ * - `cursor` is opaque and applies **only to messages** — pass `nextCursor`
23
+ * from a prior `messages` result to paginate through more message hits.
24
+ * - Conversations are not paginated; `limit` caps how many are returned.
25
+ *
26
+ * Response always contains both `conversations` and `messages` keys;
27
+ * the key for the unused scope is `null` (e.g. `type=MESSAGE` → `conversations: null`).
28
+ *
29
+ * NOTE: `lastMessage.isDeleted` may be `true` — always check before displaying
30
+ * (backend does not filter deleted messages for the aggregated lastMessage, spec §6.3).
31
+ */
32
+ search(params: {
33
+ q: string;
34
+ type?: SearchType;
35
+ limit?: number;
36
+ cursor?: string;
37
+ }): Promise<SearchResult>;
38
+ }
39
+ //# sourceMappingURL=SearchApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchApi.d.ts","sourceRoot":"","sources":["../../src/http/SearchApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,CAAC,EAAE,MAAM,CAAC;QACV,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,YAAY,CAAC;CAO1B"}
@@ -0,0 +1,44 @@
1
+ // SearchApi.ts — Unified search endpoint (spec §6.3)
2
+ import { HttpClient } from './HttpClient.js';
3
+ /**
4
+ * Search API client.
5
+ * Requires JWT Bearer token.
6
+ *
7
+ * Replaces the removed `GET /api/conversations/search` backend endpoint.
8
+ * `GET /api/messages/search` (global, non-conversation-scoped) is also removed.
9
+ * Per-conversation message search (`GET /api/conversations/{id}/messages/search`)
10
+ * is still available via MessageApi.search().
11
+ */
12
+ export class SearchApi {
13
+ constructor(http) {
14
+ this.http = http;
15
+ }
16
+ /**
17
+ * GET /api/search?q={q}&type={type}&limit={limit}&cursor={cursor}
18
+ *
19
+ * Unified search for conversations and/or messages in a single request.
20
+ *
21
+ * - `q` is required; omitting or sending an empty string returns 400.
22
+ * - `type` defaults to `BOTH` server-side.
23
+ * - `cursor` is opaque and applies **only to messages** — pass `nextCursor`
24
+ * from a prior `messages` result to paginate through more message hits.
25
+ * - Conversations are not paginated; `limit` caps how many are returned.
26
+ *
27
+ * Response always contains both `conversations` and `messages` keys;
28
+ * the key for the unused scope is `null` (e.g. `type=MESSAGE` → `conversations: null`).
29
+ *
30
+ * NOTE: `lastMessage.isDeleted` may be `true` — always check before displaying
31
+ * (backend does not filter deleted messages for the aggregated lastMessage, spec §6.3).
32
+ */
33
+ search(params) {
34
+ const qs = new URLSearchParams({ q: params.q });
35
+ if (params.type !== undefined)
36
+ qs.set('type', params.type);
37
+ if (params.limit !== undefined)
38
+ qs.set('limit', String(params.limit));
39
+ if (params.cursor !== undefined)
40
+ qs.set('cursor', params.cursor);
41
+ return this.http.get(`/api/search?${qs.toString()}`);
42
+ }
43
+ }
44
+ //# sourceMappingURL=SearchApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchApi.js","sourceRoot":"","sources":["../../src/http/SearchApi.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAGpB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,MAKN;QACC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -2,11 +2,13 @@ export type { CursorPaginatedResult, PagedResult, MediaReference, ProblemDetails
2
2
  export type { GoogleLoginRequest, DsAccountLoginRequest, DevLoginRequest, LoginRequest, AuthResponse, AuthUserInfo } from './types/auth.js';
3
3
  export type { ParticipantDto, CreateOrUpdateParticipantRequest } from './types/participant.js';
4
4
  export type { ConversationParticipantDto, ConversationDto, ConversationListItemDto, ConversationMediaKindFilter, ConversationMediaKind, ConversationMediaBlockType, ConversationMediaItemDto, CreateConversationRequest, UpdateConversationRequest, AddParticipantRequest, } from './types/conversation.js';
5
+ export type { SearchType, SearchMessageGroup, SearchMessagesResult, SearchResult, } from './types/search.js';
5
6
  export type { SenderType, SystemEventType, SystemEventInfo, ReactionGroup, ReactionSummary, MessageDto, SendMessageRequest, EditMessageRequest, } from './types/message.js';
6
7
  export type { TextFormat, ButtonAction, ButtonStyle, ChoiceMode, QuickReplyAction, MentionType, TextBlock, ImageBlock, VideoBlock, AudioBlock, FileBlock, LinkPreviewBlock, EmbedBlock, LocationBlock, ContactBlock, ChoiceOption, ChoiceBlock, CardField, ActionButton, CardBlock, CarouselBlock, DividerBlock, CustomBlock, Block, QuickReply, Mention, } from './types/block.js';
7
8
  export { isTextBlock, isImageBlock, isVideoBlock, isAudioBlock, isFileBlock, isLinkPreviewBlock, isEmbedBlock, isLocationBlock, isContactBlock, isChoiceBlock, isCardBlock, isCarouselBlock, isDividerBlock, isCustomBlock, withTypeFirst, normalizeBlocksForSend, } from './types/block.js';
8
9
  export type { CreateUploadUrlRequest, CreateUploadUrlResponse, UploadResponse } from './types/file.js';
9
10
  export type { BotDto, CreateBotRequest, UpdateBotRequest, BotDeliveryPreference } from './types/bot.js';
11
+ export type { EphemeralBroadcastDto, BroadcastSenderType } from './types/broadcast.js';
10
12
  export type { SystemEventDto, ReactionGroupDto, ChatMessageDto, MessageUpdatedDto, MessageDeletedDto, ReactionAddedDto, ReactionRemovedDto, TypingDto, MessageThumbnailDto, MessageThumbnailsReadyDto, StreamStartedDto, StreamStatusUpdatedDto, StreamChunkReceivedDto, StreamCompletedDto, StreamAbortedDto, } from './types/chat-events.js';
11
13
  export type { NewMessageNotificationDto, MentionedNotificationDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto, } from './types/notification-events.js';
12
14
  export type { ChatSendMessageRequest, ChatEditMessageRequest, ChatDeleteMessageRequest, ChatRecoverMessageRequest, ChatAddReactionRequest, ChatRemoveReactionRequest, SendMessageAck, EditMessageAck, DeleteMessageAck, RecoverMessageAck, ReactionAck, HubErrorDto, } from './types/signalr.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AA0EpD,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAuD1B,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,oCAAoC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAM5E,kCAAkC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,yCAAyC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAkFpD,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AA0D1B,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,oCAAoC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAM5E,kCAAkC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,yCAAyC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { HubConnectionState, LogLevel } from '@microsoft/signalr';
2
2
  import type { Unsubscribe } from '../utils/TypedEventEmitter.js';
3
3
  import type { ChatMessageDto, MessageUpdatedDto, MessageDeletedDto, MessageThumbnailsReadyDto, ReactionAddedDto, ReactionRemovedDto, TypingDto, StreamStartedDto, StreamStatusUpdatedDto, StreamChunkReceivedDto, StreamCompletedDto, StreamAbortedDto } from '../types/chat-events.js';
4
+ import type { EphemeralBroadcastDto } from '../types/broadcast.js';
4
5
  import type { ChatSendMessageRequest, ChatEditMessageRequest, ChatDeleteMessageRequest, ChatRecoverMessageRequest, ChatAddReactionRequest, ChatRemoveReactionRequest, SendMessageAck, EditMessageAck, DeleteMessageAck, RecoverMessageAck, ReactionAck, HubErrorDto } from '../types/signalr.js';
5
6
  export interface ChatHubEventMap {
6
7
  messageReceived: ChatMessageDto;
@@ -19,6 +20,7 @@ export interface ChatHubEventMap {
19
20
  streamChunkReceived: StreamChunkReceivedDto;
20
21
  streamCompleted: StreamCompletedDto;
21
22
  streamAborted: StreamAbortedDto;
23
+ ephemeralBroadcast: EphemeralBroadcastDto;
22
24
  error: HubErrorDto;
23
25
  reconnecting: Error | undefined;
24
26
  reconnected: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHubClient.d.ts","sourceRoot":"","sources":["../../src/realtime/ChatHubClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatHubClient.d.ts","sourceRoot":"","sources":["../../src/realtime/ChatHubClient.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,8 @@ export class ChatHubClient {
91
91
  conn.on('StreamChunkReceived', (dto) => this.emitter.emit('streamChunkReceived', dto));
92
92
  conn.on('StreamCompleted', (dto) => this.emitter.emit('streamCompleted', dto));
93
93
  conn.on('StreamAborted', (dto) => this.emitter.emit('streamAborted', dto));
94
+ // Ephemeral broadcast (server→client) — non-persisted, free-form envelope
95
+ conn.on('EphemeralBroadcast', (dto) => this.emitter.emit('ephemeralBroadcast', dto));
94
96
  // Hub errors (server→client) — also revert pending joins on FORBIDDEN/UNAUTHORIZED
95
97
  conn.on('Error', (error) => {
96
98
  this.handlePotentialJoinFailure(error);
@@ -358,6 +360,7 @@ ChatHubClient.HUB_EVENT_NAMES = [
358
360
  'StreamChunkReceived',
359
361
  'StreamCompleted',
360
362
  'StreamAborted',
363
+ 'EphemeralBroadcast',
361
364
  'Error',
362
365
  ];
363
366
  //# sourceMappingURL=ChatHubClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHubClient.js","sourceRoot":"","sources":["../../src/realtime/ChatHubClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatHubClient.js","sourceRoot":"","sources":["../../src/realtime/ChatHubClient.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA8BlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAwD3D,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IA8CxB,YAAY,OAA6B;QA5CjC,eAAU,GAAyB,IAAI,CAAC;QAGhD,4EAA4E;QACpE,sBAAiB,GAAyB,IAAI,CAAC;QAEvD;;;;WAIG;QACK,yBAAoB,GAAG,KAAK,CAAC;QAErC,0EAA0E;QACjE,wBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjD;;;;WAIG;QACc,wBAAmB,GAAG,IAAI,GAAG,EAAyC,CAAC;QAwBtF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAmB,CAAC;IACrD,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,wBAAwB;IACxB,8EAA8E;IAE9E,0EAA0E;IAClE,eAAe;QACrB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5E,OAAO,IAAI,oBAAoB,EAAE;aAC9B,OAAO,CAAC,MAAM,EAAE;YACf,uEAAuE;YACvE,8EAA8E;YAC9E,kBAAkB,EAAE,GAAG,EAAE;gBACvB,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,CAAC;aACD,sBAAsB,EAAE;aACxB,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,KAAK,EAAE,CAAC;IACb,CAAC;IAED,oEAAoE;IAC5D,cAAc,CAAC,IAAmB;QACxC,iBAAiB;QACjB,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,GAA8B,EAAE,EAAE,CACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpD,kBAAkB;QAClB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnG,gBAAgB;QAChB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAEtF,mBAAmB;QACnB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;QAE7F,0EAA0E;QAC1E,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAA0B,EAAE,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhD,mFAAmF;QACnF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAkB,EAAE,EAAE;YACtC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,EAAE;YAClC,8DAA8D;YAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACpC,yDAAyD;YAC3D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,8DAA8D;gBAC5D,oEAAoE,CACvE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,gDAAgD;YAClD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,gFAAgF;IACxE,cAAc,CAAC,IAAmB;QACxC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,2EAA2E;QAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,4DAA4D;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAY;QACtC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAEtE,KAAK,CAAC,SAAS,CAAI,MAAc,EAAE,GAAG,IAAe;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7C,oFAAoF;QACpF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,cAAsB;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB;QACtC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAsB;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA+B;QAC/C,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,UAAU,GAA2B;YACzC,GAAG,OAAO;YACV,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC;SAC/C,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAiB,aAAa,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA+B;QAC/C,MAAM,UAAU,GAA2B;YACzC,GAAG,OAAO;YACV,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC;SACrD,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAiB,aAAa,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,aAAa,CAAC,OAAiC;QACnD,OAAO,IAAI,CAAC,SAAS,CAAmB,eAAe,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,cAAc,CAAC,OAAkC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAoB,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA+B;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAc,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAkC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAc,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAE9E,EAAE,CACA,KAAQ,EACR,OAA8C;QAE9C,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,OAA8C;QAE9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAEtE,eAAe,CAAC,cAAsB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,EACrD,aAAa,CAAC,mBAAmB,CAClC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAEO,wBAAwB;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,UAAU,CAAC,cAAsB;QACvC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;OAUG;IACK,0BAA0B,CAAC,KAAkB;QACnD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO;QAExE,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAChD,CAAC,CAAE,KAAK,CAAC,OAAmC,CAAC,cAAc;YAC3D,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACrF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpF,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC5D,IAAI,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;;AA/XuB,iCAAmB,GAAG,IAAI,AAAP,CAAQ;AAEnD,8EAA8E;AACtD,6BAAe,GAAG;IACxC,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,OAAO;CACC,AAjB6B,CAiB5B"}
@@ -1,6 +1,7 @@
1
1
  import { HubConnectionState, LogLevel } from '@microsoft/signalr';
2
2
  import type { Unsubscribe } from '../utils/TypedEventEmitter.js';
3
3
  import type { NewMessageNotificationDto, MentionedNotificationDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto } from '../types/notification-events.js';
4
+ import type { EphemeralBroadcastDto } from '../types/broadcast.js';
4
5
  export interface NotificationHubEventMap {
5
6
  newMessageNotification: NewMessageNotificationDto;
6
7
  mentionedNotification: MentionedNotificationDto;
@@ -10,6 +11,7 @@ export interface NotificationHubEventMap {
10
11
  participantLeft: ParticipantLeftDto;
11
12
  conversationPinned: ConversationPinnedDto;
12
13
  conversationUnpinned: ConversationUnpinnedDto;
14
+ ephemeralBroadcast: EphemeralBroadcastDto;
13
15
  reconnecting: Error | undefined;
14
16
  reconnected: string | undefined;
15
17
  disconnected: Error | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationHubClient.d.ts","sourceRoot":"","sources":["../../src/realtime/NotificationHubClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEpF,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAMzC,MAAM,WAAW,uBAAuB;IAEtC,sBAAsB,EAAE,yBAAyB,CAAC;IAClD,qBAAqB,EAAE,wBAAwB,CAAC;IAGhD,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,eAAe,EAAE,kBAAkB,CAAC;IACpC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,oBAAoB,EAAE,uBAAuB,CAAC;IAG9C,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;CACjC;AAMD,MAAM,WAAW,4BAA4B;IAC3C,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAA8B;IAEvD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAAS;IAErC,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAS5B;gBAEC,OAAO,EAAE,4BAA4B;IASjD,IAAI,KAAK,IAAI,kBAAkB,CAE9B;IAED;;;OAGG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAMD,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IAmBvB,oEAAoE;IACpE,OAAO,CAAC,cAAc;IA2BtB;;;;;;;;OAQG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC9B;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,gFAAgF;IAChF,OAAO,CAAC,cAAc;YAMR,QAAQ;IAetB,EAAE,CAAC,CAAC,SAAS,MAAM,uBAAuB,EACxC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,WAAW;IAId,GAAG,CAAC,CAAC,SAAS,MAAM,uBAAuB,EACzC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,IAAI;CAGR"}
1
+ {"version":3,"file":"NotificationHubClient.d.ts","sourceRoot":"","sources":["../../src/realtime/NotificationHubClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEpF,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAMnE,MAAM,WAAW,uBAAuB;IAEtC,sBAAsB,EAAE,yBAAyB,CAAC;IAClD,qBAAqB,EAAE,wBAAwB,CAAC;IAGhD,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,eAAe,EAAE,kBAAkB,CAAC;IACpC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,oBAAoB,EAAE,uBAAuB,CAAC;IAG9C,kBAAkB,EAAE,qBAAqB,CAAC;IAG1C,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;CACjC;AAMD,MAAM,WAAW,4BAA4B;IAC3C,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAA8B;IAEvD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAAS;IAErC,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAU5B;gBAEC,OAAO,EAAE,4BAA4B;IASjD,IAAI,KAAK,IAAI,kBAAkB,CAE9B;IAED;;;OAGG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAMD,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IAmBvB,oEAAoE;IACpE,OAAO,CAAC,cAAc;IA+BtB;;;;;;;;OAQG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC9B;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,gFAAgF;IAChF,OAAO,CAAC,cAAc;YAMR,QAAQ;IAetB,EAAE,CAAC,CAAC,SAAS,MAAM,uBAAuB,EACxC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,WAAW;IAId,GAAG,CAAC,CAAC,SAAS,MAAM,uBAAuB,EACzC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACrD,IAAI;CAGR"}
@@ -79,6 +79,8 @@ export class NotificationHubClient {
79
79
  conn.on('ParticipantLeft', (dto) => this.emitter.emit('participantLeft', dto));
80
80
  conn.on('ConversationPinned', (dto) => this.emitter.emit('conversationPinned', dto));
81
81
  conn.on('ConversationUnpinned', (dto) => this.emitter.emit('conversationUnpinned', dto));
82
+ // Ephemeral broadcast (server→client) — non-persisted, free-form envelope
83
+ conn.on('EphemeralBroadcast', (dto) => this.emitter.emit('ephemeralBroadcast', dto));
82
84
  // Connection lifecycle
83
85
  conn.onreconnecting((err) => this.emitter.emit('reconnecting', err));
84
86
  conn.onreconnected((connectionId) => this.emitter.emit('reconnected', connectionId));
@@ -187,5 +189,6 @@ NotificationHubClient.HUB_EVENT_NAMES = [
187
189
  'ParticipantLeft',
188
190
  'ConversationPinned',
189
191
  'ConversationUnpinned',
192
+ 'EphemeralBroadcast',
190
193
  ];
191
194
  //# sourceMappingURL=NotificationHubClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationHubClient.js","sourceRoot":"","sources":["../../src/realtime/NotificationHubClient.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgDlF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qBAAqB;IA2BhC,YAAY,OAAqC;QAzBzC,eAAU,GAAyB,IAAI,CAAC;QAGhD,4EAA4E;QACpE,sBAAiB,GAAyB,IAAI,CAAC;QAEvD;;;;WAIG;QACK,yBAAoB,GAAG,KAAK,CAAC;QAenC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAA2B,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,wBAAwB;IACxB,8EAA8E;IAE9E,0EAA0E;IAClE,eAAe;QACrB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5E,OAAO,IAAI,oBAAoB,EAAE;aAC9B,OAAO,CAAC,MAAM,EAAE;YACf,uEAAuE;YACvE,8EAA8E;YAC9E,kBAAkB,EAAE,GAAG,EAAE;gBACvB,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,CAAC;aACD,sBAAsB,EAAE;aACxB,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,KAAK,EAAE,CAAC;IACb,CAAC;IAED,oEAAoE;IAC5D,cAAc,CAAC,IAAmB;QACxC,wBAAwB;QACxB,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,GAA8B,EAAE,EAAE,CACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,GAA6B,EAAE,EAAE,CACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnD,sBAAsB;QACtB,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAyB,EAAE,EAAE,CACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAuB,EAAE,EAAE,CACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAA0B,EAAE,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAElD,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,sEAAsE;gBACpE,oEAAoE,CACvE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,gDAAgD;YAClD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,gFAAgF;IACxE,cAAc,CAAC,IAAmB;QACxC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,eAAe,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,2EAA2E;QAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAE9E,EAAE,CACA,KAAQ,EACR,OAAsD;QAEtD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,OAAsD;QAEtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;;AAhMD,8EAA8E;AACtD,qCAAe,GAAG;IACxC,wBAAwB;IACxB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;CACd,AAT6B,CAS5B"}
1
+ {"version":3,"file":"NotificationHubClient.js","sourceRoot":"","sources":["../../src/realtime/NotificationHubClient.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAoDlF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qBAAqB;IA4BhC,YAAY,OAAqC;QA1BzC,eAAU,GAAyB,IAAI,CAAC;QAGhD,4EAA4E;QACpE,sBAAiB,GAAyB,IAAI,CAAC;QAEvD;;;;WAIG;QACK,yBAAoB,GAAG,KAAK,CAAC;QAgBnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAA2B,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,kBAAkB,CAAC,YAAY,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,wBAAwB;IACxB,8EAA8E;IAE9E,0EAA0E;IAClE,eAAe;QACrB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5E,OAAO,IAAI,oBAAoB,EAAE;aAC9B,OAAO,CAAC,MAAM,EAAE;YACf,uEAAuE;YACvE,8EAA8E;YAC9E,kBAAkB,EAAE,GAAG,EAAE;gBACvB,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,CAAC;aACD,sBAAsB,EAAE;aACxB,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,KAAK,EAAE,CAAC;IACb,CAAC;IAED,oEAAoE;IAC5D,cAAc,CAAC,IAAmB;QACxC,wBAAwB;QACxB,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,GAA8B,EAAE,EAAE,CACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,GAA6B,EAAE,EAAE,CACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnD,sBAAsB;QACtB,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAA2B,EAAE,EAAE,CAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAyB,EAAE,EAAE,CACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAuB,EAAE,EAAE,CACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAA0B,EAAE,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAElD,0EAA0E;QAC1E,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAA0B,EAAE,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhD,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,sEAAsE;gBACpE,oEAAoE,CACvE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,gEAAgE;QAChE,0EAA0E;QAC1E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,gDAAgD;YAClD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,gFAAgF;IACxE,cAAc,CAAC,IAAmB;QACxC,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,eAAe,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,2EAA2E;QAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uCAAuC;IACvC,8EAA8E;IAE9E,EAAE,CACA,KAAQ,EACR,OAAsD;QAEtD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,OAAsD;QAEtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;;AArMD,8EAA8E;AACtD,qCAAe,GAAG;IACxC,wBAAwB;IACxB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;CACZ,AAV6B,CAU5B"}
@@ -0,0 +1,50 @@
1
+ import type { SenderType } from './message.js';
2
+ /**
3
+ * Sender type for an ephemeral broadcast.
4
+ *
5
+ * A broadcast is always issued by a bot or the SYSTEM user — never a regular
6
+ * `User`. Narrowed from {@link SenderType} so it stays in sync if that union
7
+ * ever changes.
8
+ */
9
+ export type BroadcastSenderType = Extract<SenderType, 'Bot' | 'System'>;
10
+ /**
11
+ * Ephemeral (non-persisted) real-time broadcast — spec §3.4 / §4.
12
+ *
13
+ * Emitted on BOTH hubs with the identical `EphemeralBroadcast` event:
14
+ * - **ChatHub**: delivered when a broadcast targets `audience="viewers"` of
15
+ * the conversation the client currently has open — `conversationId` is set.
16
+ * - **NotificationHub**: delivered for `audience="members" | "all" | "users"`.
17
+ * For a global broadcast, `conversationId` is `null`.
18
+ *
19
+ * Broadcasts are NOT stored: there is no history, no ack, and no edit/delete.
20
+ * They are pushed by a bot or the SYSTEM user via `POST /api/broadcasts`.
21
+ *
22
+ * The `data` field is a free-form envelope — the client interprets it based on
23
+ * `type`. `TData` lets callers narrow that envelope to a concrete shape while
24
+ * defaulting to `unknown` so untyped usage stays safe:
25
+ *
26
+ * ```ts
27
+ * interface PromoBanner { title: string; startsAt: string }
28
+ *
29
+ * chat.on('ephemeralBroadcast', (b) => {
30
+ * if (b.type === 'promo_banner') {
31
+ * const promo = b.data as PromoBanner; // narrow by `type`
32
+ * showBanner(promo.title);
33
+ * }
34
+ * });
35
+ * ```
36
+ */
37
+ export interface EphemeralBroadcastDto<TData = unknown> {
38
+ /** Sender-defined key; the client interprets `data` based on this. */
39
+ type: string;
40
+ /** `participantId` of the bot, or the literal `"SYSTEM"`. */
41
+ senderId: string;
42
+ senderType: BroadcastSenderType;
43
+ /** Target conversation, or `null` for a global broadcast. */
44
+ conversationId: string | null;
45
+ /** Free-form JSON envelope. `null` when the sender omits it. */
46
+ data: TData | null;
47
+ /** UTC ISO-8601 timestamp of when the broadcast was sent. */
48
+ sentAt: string;
49
+ }
50
+ //# sourceMappingURL=broadcast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../src/types/broadcast.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,OAAO;IACpD,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,mBAAmB,CAAC;IAChC,6DAA6D;IAC7D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gEAAgE;IAChE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ // broadcast.ts — Ephemeral Broadcast event payload (shared by ChatHub & NotificationHub)
2
+ export {};
3
+ //# sourceMappingURL=broadcast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../src/types/broadcast.ts"],"names":[],"mappings":"AAAA,yFAAyF"}
@@ -0,0 +1,47 @@
1
+ import type { ConversationListItemDto } from './conversation.js';
2
+ import type { ConversationDto } from './conversation.js';
3
+ import type { MessageDto } from './message.js';
4
+ /** Search scope for GET /api/search. */
5
+ export type SearchType = 'MESSAGE' | 'CONVERSATION' | 'BOTH';
6
+ /** A group of messages that matched the search query, associated with their conversation. */
7
+ export interface SearchMessageGroup {
8
+ /**
9
+ * The conversation these messages belong to.
10
+ * `null` if the batch fetch for conversation info failed (graceful degrade).
11
+ * `participants` is always `[]` (fetched with `includeParticipants=false`).
12
+ */
13
+ conversation: ConversationDto | null;
14
+ messages: MessageDto[];
15
+ }
16
+ /**
17
+ * Paginated message search results, grouped by conversation.
18
+ * Cursor pagination applies only to messages; conversation ordering follows
19
+ * the first appearance of each conversation in the result set.
20
+ */
21
+ export interface SearchMessagesResult {
22
+ groups: SearchMessageGroup[];
23
+ nextCursor: string | null;
24
+ hasMore: boolean;
25
+ }
26
+ /**
27
+ * Unified search response from GET /api/search.
28
+ *
29
+ * Both keys are always present; the key for the unselected `type` is `null`:
30
+ * - `type=CONVERSATION` → `messages` is `null`
31
+ * - `type=MESSAGE` → `conversations` is `null`
32
+ * - `type=BOTH` → both populated
33
+ */
34
+ export interface SearchResult {
35
+ /**
36
+ * Matching conversations with `lastMessage` hydrated (same as conversation
37
+ * list items from GET /api/conversations). `null` when `type=MESSAGE`.
38
+ * Client MUST check `lastMessage.isDeleted` before displaying (spec §6.3).
39
+ */
40
+ conversations: ConversationListItemDto[] | null;
41
+ /**
42
+ * Matching messages grouped by conversation. `null` when `type=CONVERSATION`.
43
+ * Supports cursor pagination for messages.
44
+ */
45
+ messages: SearchMessagesResult | null;
46
+ }
47
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/types/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;AAE7D,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,aAAa,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IAChD;;;OAGG;IACH,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC"}
@@ -0,0 +1,3 @@
1
+ // search.ts — Types for the unified search endpoint GET /api/search (spec §6.3)
2
+ export {};
3
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/types/search.ts"],"names":[],"mappings":"AAAA,gFAAgF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manonero/chat-client-sdk",
3
- "version": "0.0.1-beta.5",
3
+ "version": "0.0.1-beta.7",
4
4
  "description": "A TypeScript SDK for building chat clients using Microsoft SignalR.",
5
5
  "author": "Manonero",
6
6
  "license": "MIT",