@manonero/chat-client-sdk 1.0.0-beta.0 → 1.0.0-beta.2
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 +95 -55
- package/dist/http/ConversationApi.d.ts +18 -5
- package/dist/http/ConversationApi.d.ts.map +1 -1
- package/dist/http/ConversationApi.js +18 -3
- package/dist/http/ConversationApi.js.map +1 -1
- package/dist/http/HttpClient.d.ts +1 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +8 -0
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/MessageApi.d.ts +4 -3
- package/dist/http/MessageApi.d.ts.map +1 -1
- package/dist/http/MessageApi.js +2 -1
- package/dist/http/MessageApi.js.map +1 -1
- package/dist/http/ProxyApi.d.ts +5 -0
- package/dist/http/ProxyApi.d.ts.map +1 -1
- package/dist/http/ProxyApi.js +9 -0
- package/dist/http/ProxyApi.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/realtime/NotificationHubClient.d.ts +3 -1
- package/dist/realtime/NotificationHubClient.d.ts.map +1 -1
- package/dist/realtime/NotificationHubClient.js +3 -0
- package/dist/realtime/NotificationHubClient.js.map +1 -1
- package/dist/types/auth.d.ts +2 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/common.d.ts +7 -3
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/conversation.d.ts +7 -7
- package/dist/types/conversation.d.ts.map +1 -1
- package/dist/types/notification-events.d.ts +26 -2
- package/dist/types/notification-events.d.ts.map +1 -1
- package/dist/types/participant.d.ts +2 -2
- package/dist/types/participant.d.ts.map +1 -1
- package/dist/types/signalr.d.ts +2 -2
- package/dist/types/signalr.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -61,39 +61,39 @@ ChatClient (facade chính)
|
|
|
61
61
|
### Installation
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
npm install chat-client-sdk
|
|
64
|
+
npm install @manonero/chat-client-sdk
|
|
65
65
|
npm install @microsoft/signalr # peer dependency
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
### Import
|
|
69
69
|
|
|
70
70
|
```ts
|
|
71
|
-
import { ChatClient } from 'chat-client-sdk';
|
|
71
|
+
import { ChatClient } from '@manonero/chat-client-sdk';
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
Tất cả các kiểu dữ liệu đều được export từ package root:
|
|
75
75
|
|
|
76
76
|
```ts
|
|
77
|
-
import type { MessageDto, ConversationDto, Block } from 'chat-client-sdk';
|
|
78
|
-
import { ChatApiError } from 'chat-client-sdk'; // class — dùng import (không phải import type) để hỗ trợ instanceof
|
|
77
|
+
import type { MessageDto, ConversationDto, Block } from '@manonero/chat-client-sdk';
|
|
78
|
+
import { ChatApiError } from '@manonero/chat-client-sdk'; // class — dùng import (không phải import type) để hỗ trợ instanceof
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
**Export nâng cao** — SDK cũng export một số class và type nội bộ cho power users:
|
|
82
82
|
|
|
83
83
|
```ts
|
|
84
84
|
// TypedEventEmitter — dùng độc lập hoặc extend
|
|
85
|
-
import { TypedEventEmitter } from 'chat-client-sdk';
|
|
86
|
-
import type { Unsubscribe } from 'chat-client-sdk';
|
|
85
|
+
import { TypedEventEmitter } from '@manonero/chat-client-sdk';
|
|
86
|
+
import type { Unsubscribe } from '@manonero/chat-client-sdk';
|
|
87
87
|
|
|
88
88
|
// HttpClient — tự xây dựng API module bổ sung theo cùng pattern
|
|
89
|
-
import { HttpClient } from 'chat-client-sdk';
|
|
90
|
-
import type { HttpClientOptions } from 'chat-client-sdk';
|
|
89
|
+
import { HttpClient } from '@manonero/chat-client-sdk';
|
|
90
|
+
import type { HttpClientOptions } from '@manonero/chat-client-sdk';
|
|
91
91
|
|
|
92
92
|
// Event map types — dùng khi cần typed wrapper
|
|
93
|
-
import type { ChatHubEventMap, NotificationHubEventMap } from 'chat-client-sdk';
|
|
93
|
+
import type { ChatHubEventMap, NotificationHubEventMap } from '@manonero/chat-client-sdk';
|
|
94
94
|
|
|
95
95
|
// Hub options (khi dùng hub client độc lập, không qua ChatClient)
|
|
96
|
-
import type { ChatHubClientOptions, NotificationHubClientOptions } from 'chat-client-sdk';
|
|
96
|
+
import type { ChatHubClientOptions, NotificationHubClientOptions } from '@manonero/chat-client-sdk';
|
|
97
97
|
|
|
98
98
|
// Hub request types (Client → Server) — dùng khi gọi SignalR methods
|
|
99
99
|
import type {
|
|
@@ -103,7 +103,7 @@ import type {
|
|
|
103
103
|
ChatRecoverMessageRequest,
|
|
104
104
|
ChatAddReactionRequest,
|
|
105
105
|
ChatRemoveReactionRequest,
|
|
106
|
-
} from 'chat-client-sdk';
|
|
106
|
+
} from '@manonero/chat-client-sdk';
|
|
107
107
|
|
|
108
108
|
// Ack types (Server → Client return) — dùng khi cần type return value của Hub methods
|
|
109
109
|
import type {
|
|
@@ -114,22 +114,22 @@ import type {
|
|
|
114
114
|
ReactionAck,
|
|
115
115
|
MarkAsReadAck,
|
|
116
116
|
HubErrorDto,
|
|
117
|
-
} from 'chat-client-sdk';
|
|
117
|
+
} from '@manonero/chat-client-sdk';
|
|
118
118
|
|
|
119
119
|
// ReconnectionManager options
|
|
120
|
-
import type { ReconnectionManagerOptions } from 'chat-client-sdk';
|
|
120
|
+
import type { ReconnectionManagerOptions } from '@manonero/chat-client-sdk';
|
|
121
121
|
|
|
122
122
|
// ChatClient facade types
|
|
123
|
-
import type { ChatClientSignalrOptions, ChatClientRealtime } from 'chat-client-sdk';
|
|
123
|
+
import type { ChatClientSignalrOptions, ChatClientRealtime } from '@manonero/chat-client-sdk';
|
|
124
124
|
|
|
125
125
|
// Upload progress callback type — dùng khi cần type hàm onProgress
|
|
126
|
-
import type { UploadProgressCallback } from 'chat-client-sdk';
|
|
126
|
+
import type { UploadProgressCallback } from '@manonero/chat-client-sdk';
|
|
127
127
|
|
|
128
128
|
// RFC 7807 Problem Details — dùng khi cần parse/tạo lỗi thủ công
|
|
129
|
-
import type { ProblemDetails } from 'chat-client-sdk';
|
|
129
|
+
import type { ProblemDetails } from '@manonero/chat-client-sdk';
|
|
130
130
|
|
|
131
131
|
// Mark as read request type (REST)
|
|
132
|
-
import type { MarkAsReadRequest } from 'chat-client-sdk';
|
|
132
|
+
import type { MarkAsReadRequest } from '@manonero/chat-client-sdk';
|
|
133
133
|
|
|
134
134
|
// Login request types riêng lẻ (khi cần type-check từng provider)
|
|
135
135
|
import type {
|
|
@@ -137,10 +137,10 @@ import type {
|
|
|
137
137
|
DsAccountLoginRequest,
|
|
138
138
|
DevLoginRequest,
|
|
139
139
|
LoginRequest,
|
|
140
|
-
} from 'chat-client-sdk';
|
|
140
|
+
} from '@manonero/chat-client-sdk';
|
|
141
141
|
|
|
142
142
|
// Standalone hub clients — dùng khi không cần ChatClient facade
|
|
143
|
-
import { ChatHubClient, NotificationHubClient, ReconnectionManager } from 'chat-client-sdk';
|
|
143
|
+
import { ChatHubClient, NotificationHubClient, ReconnectionManager } from '@manonero/chat-client-sdk';
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
### Khởi tạo cơ bản
|
|
@@ -297,7 +297,8 @@ interface AuthUserInfo {
|
|
|
297
297
|
id: string;
|
|
298
298
|
uniqueName: string;
|
|
299
299
|
fullName: string;
|
|
300
|
-
avatar?: string;
|
|
300
|
+
avatar?: string; // URL thuần (KHÔNG phải MediaReference)
|
|
301
|
+
role?: string | null; // 'dev' với dev users; null với Google/DsAccount users
|
|
301
302
|
}
|
|
302
303
|
```
|
|
303
304
|
|
|
@@ -354,9 +355,9 @@ interface ParticipantDto {
|
|
|
354
355
|
gender?: string;
|
|
355
356
|
isBot: boolean;
|
|
356
357
|
isOnline: boolean;
|
|
357
|
-
lastSeenAt?: string; // ISO 8601
|
|
358
|
-
createdAt: string;
|
|
359
|
-
updatedAt: string;
|
|
358
|
+
lastSeenAt?: string | null; // ISO 8601, null khi đang online
|
|
359
|
+
createdAt: string; // ISO 8601
|
|
360
|
+
updatedAt: string; // ISO 8601
|
|
360
361
|
}
|
|
361
362
|
```
|
|
362
363
|
|
|
@@ -368,7 +369,7 @@ interface ParticipantDto {
|
|
|
368
369
|
|
|
369
370
|
Tất cả endpoint đều **yêu cầu JWT**.
|
|
370
371
|
|
|
371
|
-
### `list(params?): Promise<
|
|
372
|
+
### `list(params?): Promise<CursorPaginatedResult<ConversationListItemDto>>`
|
|
372
373
|
|
|
373
374
|
Lấy danh sách cuộc hội thoại với cursor-based pagination. Sắp xếp: pinned trước, sau đó theo `lastMessageAt` giảm dần.
|
|
374
375
|
|
|
@@ -388,7 +389,7 @@ if (result.hasMore) {
|
|
|
388
389
|
}
|
|
389
390
|
```
|
|
390
391
|
|
|
391
|
-
> ⚠️ `cursor` là chuỗi
|
|
392
|
+
> ⚠️ `cursor` là chuỗi opaque dạng `"<UnixMs>_<ULID>"` (ví dụ: `"1743004200000_01JRZABC1234567890ABCDEF"`). Luôn truyền nguyên dạng string — **KHÔNG được ép kiểu sang number**.
|
|
392
393
|
|
|
393
394
|
### `create(request): Promise<ConversationDto>`
|
|
394
395
|
|
|
@@ -439,12 +440,24 @@ const updated = await client.conversations.update('conv-id', {
|
|
|
439
440
|
});
|
|
440
441
|
```
|
|
441
442
|
|
|
442
|
-
### `
|
|
443
|
+
### `delete(id: string): Promise<void>`
|
|
443
444
|
|
|
444
|
-
|
|
445
|
+
Hành vi phụ thuộc vào loại cuộc hội thoại:
|
|
446
|
+
- **Group** → rời nhóm (tương đương `leaveGroup()`). Các participant khác vẫn còn đó.
|
|
447
|
+
- **OneToOne / Self** → ẩn cuộc hội thoại khỏi danh sách (soft-delete). Conversation vẫn tồn tại và sẽ tự khôi phục khi có tin nhắn mới.
|
|
445
448
|
|
|
446
449
|
```ts
|
|
447
|
-
await client.conversations.
|
|
450
|
+
await client.conversations.delete('conv-id');
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
### `leaveGroup(id: string): Promise<void>`
|
|
454
|
+
|
|
455
|
+
Rời cuộc hội thoại **Group** một cách tường minh. Trả về `403 Forbidden` nếu conversation không phải Group.
|
|
456
|
+
|
|
457
|
+
> Dùng `leaveGroup()` khi cần ngữ nghĩa Group-only với phản hồi lỗi rõ ràng cho non-Group. Dùng `delete()` khi muốn xử lý cả Group lẫn OneToOne/Self trong cùng một flow.
|
|
458
|
+
|
|
459
|
+
```ts
|
|
460
|
+
await client.conversations.leaveGroup('conv-id');
|
|
448
461
|
```
|
|
449
462
|
|
|
450
463
|
### `findOneToOne(otherParticipantId): Promise<ConversationDto | null>`
|
|
@@ -507,13 +520,13 @@ type ConversationType = 'Group' | 'OneToOne' | 'Self';
|
|
|
507
520
|
interface ConversationDto {
|
|
508
521
|
id: string;
|
|
509
522
|
type: ConversationType;
|
|
510
|
-
name?: string;
|
|
523
|
+
name?: string; // Tên nhóm (chỉ Group)
|
|
511
524
|
avatar?: MediaReference;
|
|
512
525
|
ownerId: string;
|
|
513
|
-
lastMessageAt?: string;
|
|
514
|
-
lastMessageId?: string;
|
|
515
|
-
createdAt: string;
|
|
516
|
-
updatedAt: string;
|
|
526
|
+
lastMessageAt?: string | null; // ISO 8601, null khi chưa có tin nhắn
|
|
527
|
+
lastMessageId?: string | null; // null khi chưa có tin nhắn
|
|
528
|
+
createdAt: string; // ISO 8601
|
|
529
|
+
updatedAt: string; // ISO 8601
|
|
517
530
|
participants: ConversationParticipantDto[];
|
|
518
531
|
}
|
|
519
532
|
|
|
@@ -534,11 +547,11 @@ interface ConversationListItemDto {
|
|
|
534
547
|
type: ConversationType;
|
|
535
548
|
name?: string;
|
|
536
549
|
avatar?: MediaReference;
|
|
537
|
-
lastMessageAt?: string;
|
|
538
|
-
lastMessageId?: string;
|
|
539
|
-
lastMessage?: MessageDto;
|
|
550
|
+
lastMessageAt?: string | null; // ISO 8601
|
|
551
|
+
lastMessageId?: string | null;
|
|
552
|
+
lastMessage?: MessageDto | null; // Preview tin nhắn cuối, null khi chưa có tin nhắn
|
|
540
553
|
isPinned: boolean;
|
|
541
|
-
pinnedAt?: string;
|
|
554
|
+
pinnedAt?: string | null; // ISO 8601, null khi chưa pin
|
|
542
555
|
unreadCount: number;
|
|
543
556
|
participantCount: number;
|
|
544
557
|
}
|
|
@@ -568,7 +581,7 @@ const msg = await client.messages.send('conv-id', {
|
|
|
568
581
|
|
|
569
582
|
> 💡 **REST vs SignalR:** Có thể gửi tin nhắn qua cả REST (`client.messages.send`) lẫn SignalR (`client.realtime.chat.sendMessage`). SignalR trả về ack ngay lập tức và nhanh hơn trong môi trường real-time.
|
|
570
583
|
|
|
571
|
-
### `getHistory(conversationId, params?): Promise<
|
|
584
|
+
### `getHistory(conversationId, params?): Promise<CursorPaginatedResult<MessageDto>>`
|
|
572
585
|
|
|
573
586
|
Lấy lịch sử tin nhắn với cursor-based pagination.
|
|
574
587
|
|
|
@@ -938,7 +951,12 @@ const order = await client.proxy.post<Order>('trading', 'api/orders', {
|
|
|
938
951
|
quantity: 100,
|
|
939
952
|
});
|
|
940
953
|
|
|
941
|
-
//
|
|
954
|
+
// PUT /api/proxy/trading/api/orders/123
|
|
955
|
+
const updated = await client.proxy.put<Order>('trading', 'api/orders/123', {
|
|
956
|
+
quantity: 200,
|
|
957
|
+
});
|
|
958
|
+
|
|
959
|
+
// Request tùy chỉnh method (hỗ trợ GET, POST, PUT, PATCH, DELETE)
|
|
942
960
|
const result = await client.proxy.request<unknown>('myservice', 'api/resource/123', {
|
|
943
961
|
method: 'DELETE',
|
|
944
962
|
headers: { 'X-Custom-Header': 'value' },
|
|
@@ -1299,6 +1317,8 @@ await client.realtime.notifications.unsubscribeFromPresence(['user-1']);
|
|
|
1299
1317
|
| `conversationPinned` | `ConversationPinnedDto` | Cuộc hội thoại được pin |
|
|
1300
1318
|
| `conversationUnpinned` | `ConversationUnpinnedDto` | Cuộc hội thoại được unpin |
|
|
1301
1319
|
| `readStatusChanged` | `ReadStatusChangedDto` | Trạng thái đọc thay đổi |
|
|
1320
|
+
| `conversationDeleted` | `ConversationDeletedDto` | Conversation bị ẩn/xóa khỏi danh sách (chỉ OneToOne & Self, chỉ user thực hiện) |
|
|
1321
|
+
| `conversationRestored` | `ConversationRestoredDto` | Conversation bị ẩn được khôi phục tự động do có tin nhắn mới (chỉ OneToOne & Self) |
|
|
1302
1322
|
| `error` | `HubErrorDto` | Lỗi từ server |
|
|
1303
1323
|
| `reconnecting` | `Error \| undefined` | Đang reconnect |
|
|
1304
1324
|
| `reconnected` | `string \| undefined` | Đã reconnect |
|
|
@@ -1311,14 +1331,14 @@ await client.realtime.notifications.unsubscribeFromPresence(['user-1']);
|
|
|
1311
1331
|
interface PresenceStateItem {
|
|
1312
1332
|
participantId: string;
|
|
1313
1333
|
isOnline: boolean;
|
|
1314
|
-
lastSeenAt?: string;
|
|
1334
|
+
lastSeenAt?: string | null; // ISO 8601, null khi đang online
|
|
1315
1335
|
}
|
|
1316
1336
|
|
|
1317
1337
|
// Thay đổi trạng thái online — real-time update
|
|
1318
1338
|
interface PresenceChangedDto {
|
|
1319
1339
|
participantId: string;
|
|
1320
1340
|
isOnline: boolean;
|
|
1321
|
-
lastSeenAt?: string;
|
|
1341
|
+
lastSeenAt?: string | null; // ISO 8601, null khi đang online
|
|
1322
1342
|
}
|
|
1323
1343
|
|
|
1324
1344
|
interface NewMessageNotificationDto {
|
|
@@ -1399,6 +1419,26 @@ interface ReadStatusChangedDto {
|
|
|
1399
1419
|
unreadCount: number;
|
|
1400
1420
|
markedAsUnread: boolean; // true khi user chủ động đánh dấu chưa đọc
|
|
1401
1421
|
}
|
|
1422
|
+
|
|
1423
|
+
// Conversation bị ẩn/xóa khỏi danh sách của user.
|
|
1424
|
+
// Chỉ áp dụng cho OneToOne và Self — không broadcast tới người còn lại.
|
|
1425
|
+
// Conversation vẫn tồn tại và sẽ tự khôi phục khi có tin nhắn mới.
|
|
1426
|
+
interface ConversationDeletedDto {
|
|
1427
|
+
conversationId: string;
|
|
1428
|
+
deletedAt: string; // ISO 8601
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
// Conversation đã bị ẩn được khôi phục tự động vì có tin nhắn mới.
|
|
1432
|
+
// Client nên thêm lại conversation vào sidebar với metadata đầy đủ từ payload.
|
|
1433
|
+
// Chú ý: Ngay sau event này, client cũng sẽ nhận newMessageNotification cho tin nhắn kích hoạt khôi phục.
|
|
1434
|
+
interface ConversationRestoredDto {
|
|
1435
|
+
conversationId: string;
|
|
1436
|
+
type: ConversationType;
|
|
1437
|
+
name?: string | null;
|
|
1438
|
+
avatar?: MediaReference | null;
|
|
1439
|
+
participantCount: number;
|
|
1440
|
+
restoredAt: string; // ISO 8601
|
|
1441
|
+
}
|
|
1402
1442
|
```
|
|
1403
1443
|
|
|
1404
1444
|
---
|
|
@@ -1408,7 +1448,7 @@ interface ReadStatusChangedDto {
|
|
|
1408
1448
|
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.
|
|
1409
1449
|
|
|
1410
1450
|
```ts
|
|
1411
|
-
import { ReconnectionManager } from 'chat-client-sdk';
|
|
1451
|
+
import { ReconnectionManager } from '@manonero/chat-client-sdk';
|
|
1412
1452
|
|
|
1413
1453
|
const manager = new ReconnectionManager({
|
|
1414
1454
|
chatHub: client.realtime.chat,
|
|
@@ -1577,7 +1617,7 @@ interface CustomBlock {
|
|
|
1577
1617
|
SDK xuất sẵn các hàm kiểm tra kiểu (type guard), giúp TypeScript thu hẹp kiểu tự động:
|
|
1578
1618
|
|
|
1579
1619
|
```ts
|
|
1580
|
-
import { isTextBlock, isImageBlock, isFileBlock, isCardBlock } from 'chat-client-sdk';
|
|
1620
|
+
import { isTextBlock, isImageBlock, isFileBlock, isCardBlock } from '@manonero/chat-client-sdk';
|
|
1581
1621
|
|
|
1582
1622
|
for (const block of message.blocks) {
|
|
1583
1623
|
if (isTextBlock(block)) {
|
|
@@ -1704,12 +1744,12 @@ interface Mention {
|
|
|
1704
1744
|
|
|
1705
1745
|
## 16. Toàn bộ kiểu dữ liệu (Types)
|
|
1706
1746
|
|
|
1707
|
-
###
|
|
1747
|
+
### CursorPaginatedResult (cursor-based)
|
|
1708
1748
|
|
|
1709
1749
|
```ts
|
|
1710
|
-
interface
|
|
1750
|
+
interface CursorPaginatedResult<T> {
|
|
1711
1751
|
items: T[];
|
|
1712
|
-
nextCursor: string | null; // PHẢI là string — KHÔNG cast sang number
|
|
1752
|
+
nextCursor: string | null; // PHẢI là string opaque — KHÔNG cast sang number
|
|
1713
1753
|
hasMore: boolean;
|
|
1714
1754
|
}
|
|
1715
1755
|
```
|
|
@@ -1860,7 +1900,7 @@ interface SendMessageAck {
|
|
|
1860
1900
|
success: boolean;
|
|
1861
1901
|
messageId?: string;
|
|
1862
1902
|
clientMessageId?: string;
|
|
1863
|
-
|
|
1903
|
+
createdAt?: string; // ISO 8601 — thời điểm server tạo tin nhắn
|
|
1864
1904
|
errorCode?: string;
|
|
1865
1905
|
errorMessage?: string;
|
|
1866
1906
|
}
|
|
@@ -1911,7 +1951,7 @@ interface MarkAsReadAck {
|
|
|
1911
1951
|
Tất cả lỗi HTTP đều throw `ChatApiError` (kế thừa `Error`).
|
|
1912
1952
|
|
|
1913
1953
|
```ts
|
|
1914
|
-
import { ChatApiError } from 'chat-client-sdk';
|
|
1954
|
+
import { ChatApiError } from '@manonero/chat-client-sdk';
|
|
1915
1955
|
|
|
1916
1956
|
try {
|
|
1917
1957
|
await client.messages.send('conv-id', { blocks: [...] });
|
|
@@ -1960,8 +2000,8 @@ Parse lỗi từ HTTP `Response`. SDK gọi nội bộ — bạn không cần g
|
|
|
1960
2000
|
Tạo `ChatApiError` từ object `ProblemDetails` (RFC 7807). Hữu ích khi bạn nhận `ProblemDetails` từ nguồn khác (ví dụ: WebSocket, tự parse).
|
|
1961
2001
|
|
|
1962
2002
|
```ts
|
|
1963
|
-
import { ChatApiError } from 'chat-client-sdk';
|
|
1964
|
-
import type { ProblemDetails } from 'chat-client-sdk';
|
|
2003
|
+
import { ChatApiError } from '@manonero/chat-client-sdk';
|
|
2004
|
+
import type { ProblemDetails } from '@manonero/chat-client-sdk';
|
|
1965
2005
|
|
|
1966
2006
|
const pd: ProblemDetails = { status: 404, title: 'Not Found', detail: 'Conversation not found' };
|
|
1967
2007
|
const error = ChatApiError.fromProblemDetails(pd);
|
|
@@ -1989,7 +2029,7 @@ interface ProblemDetails {
|
|
|
1989
2029
|
Power users có thể khởi tạo `ChatHubClient` hoặc `NotificationHubClient` trực tiếp, không qua `ChatClient` facade:
|
|
1990
2030
|
|
|
1991
2031
|
```ts
|
|
1992
|
-
import { ChatHubClient, NotificationHubClient } from 'chat-client-sdk';
|
|
2032
|
+
import { ChatHubClient, NotificationHubClient } from '@manonero/chat-client-sdk';
|
|
1993
2033
|
import { LogLevel } from '@microsoft/signalr';
|
|
1994
2034
|
|
|
1995
2035
|
// Tự quản lý token
|
|
@@ -2012,7 +2052,7 @@ await chatHub.connect();
|
|
|
2012
2052
|
await notificationHub.connect();
|
|
2013
2053
|
|
|
2014
2054
|
// Kết hợp với ReconnectionManager
|
|
2015
|
-
import { ReconnectionManager } from 'chat-client-sdk';
|
|
2055
|
+
import { ReconnectionManager } from '@manonero/chat-client-sdk';
|
|
2016
2056
|
|
|
2017
2057
|
const manager = new ReconnectionManager({
|
|
2018
2058
|
chatHub,
|
|
@@ -2131,8 +2171,8 @@ const ms = Number(health.totalDuration); // NaN
|
|
|
2131
2171
|
### Ví dụ 1: Chat app cơ bản
|
|
2132
2172
|
|
|
2133
2173
|
```ts
|
|
2134
|
-
import { ChatClient, ChatApiError } from 'chat-client-sdk';
|
|
2135
|
-
import type { ChatMessageDto } from 'chat-client-sdk';
|
|
2174
|
+
import { ChatClient, ChatApiError } from '@manonero/chat-client-sdk';
|
|
2175
|
+
import type { ChatMessageDto } from '@manonero/chat-client-sdk';
|
|
2136
2176
|
|
|
2137
2177
|
// 1. Khởi tạo
|
|
2138
2178
|
const client = new ChatClient({ baseUrl: 'https://chat-api.example.com' });
|
|
@@ -2302,7 +2342,7 @@ client.realtime.chat.on('streamAborted', (dto) => {
|
|
|
2302
2342
|
### Ví dụ 5: Xử lý lỗi và token refresh
|
|
2303
2343
|
|
|
2304
2344
|
```ts
|
|
2305
|
-
import { ReconnectionManager } from 'chat-client-sdk';
|
|
2345
|
+
import { ReconnectionManager } from '@manonero/chat-client-sdk';
|
|
2306
2346
|
|
|
2307
2347
|
let isRefreshing = false;
|
|
2308
2348
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from './HttpClient.js';
|
|
2
2
|
import type { ConversationDto, ConversationListItemDto, ConversationParticipantDto, CreateConversationRequest, UpdateConversationRequest, AddParticipantRequest } from '../types/conversation.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { CursorPaginatedResult } from '../types/common.js';
|
|
4
4
|
/**
|
|
5
5
|
* Conversation API client.
|
|
6
6
|
* All endpoints require JWT Bearer token.
|
|
@@ -16,12 +16,13 @@ export declare class ConversationApi {
|
|
|
16
16
|
* 2. Then by lastMessageAt desc
|
|
17
17
|
*
|
|
18
18
|
* Each item includes the full lastMessage (MessageDto) for preview.
|
|
19
|
-
* NOTE: cursor is
|
|
19
|
+
* NOTE: cursor is an opaque composite string "<UnixMs>_<ULID>" (e.g. "1743004200000_01JRZABC...").
|
|
20
|
+
* Always treat as a string — NEVER cast to number.
|
|
20
21
|
*/
|
|
21
22
|
list(params?: {
|
|
22
23
|
limit?: number;
|
|
23
24
|
cursor?: string;
|
|
24
|
-
}): Promise<
|
|
25
|
+
}): Promise<CursorPaginatedResult<ConversationListItemDto>>;
|
|
25
26
|
/** POST /api/conversations */
|
|
26
27
|
create(request: CreateConversationRequest): Promise<ConversationDto>;
|
|
27
28
|
/**
|
|
@@ -38,9 +39,21 @@ export declare class ConversationApi {
|
|
|
38
39
|
update(id: string, request: UpdateConversationRequest): Promise<ConversationDto>;
|
|
39
40
|
/**
|
|
40
41
|
* DELETE /api/conversations/{id}
|
|
41
|
-
*
|
|
42
|
+
* Behavior depends on conversation type:
|
|
43
|
+
* - Group → leave (same as POST .../leave). Other participants remain.
|
|
44
|
+
* - OneToOne / Self → hide the conversation from this user's list (soft-delete, not a true delete).
|
|
42
45
|
*/
|
|
43
|
-
|
|
46
|
+
delete(id: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* POST /api/conversations/{id}/leave
|
|
49
|
+
* Leave a Group conversation explicitly (Group only).
|
|
50
|
+
* Returns 403 Forbidden if the conversation is not a Group.
|
|
51
|
+
*
|
|
52
|
+
* NOTE: `delete()` (DELETE) also performs the leave action for Group conversations and
|
|
53
|
+
* additionally hides OneToOne/Self conversations. Use this method when you need the
|
|
54
|
+
* strict Group-only semantic with explicit 403 feedback for non-Group conversations.
|
|
55
|
+
*/
|
|
56
|
+
leaveGroup(id: string): Promise<void>;
|
|
44
57
|
/**
|
|
45
58
|
* GET /api/conversations/one-to-one/{otherParticipantId}
|
|
46
59
|
* Find an existing OneToOne conversation with another participant.
|
|
@@ -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,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,
|
|
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,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;;;OAUG;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;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;OAIG;IACH,YAAY,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAMzE;;;;OAIG;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;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|
|
@@ -16,7 +16,8 @@ export class ConversationApi {
|
|
|
16
16
|
* 2. Then by lastMessageAt desc
|
|
17
17
|
*
|
|
18
18
|
* Each item includes the full lastMessage (MessageDto) for preview.
|
|
19
|
-
* NOTE: cursor is
|
|
19
|
+
* NOTE: cursor is an opaque composite string "<UnixMs>_<ULID>" (e.g. "1743004200000_01JRZABC...").
|
|
20
|
+
* Always treat as a string — NEVER cast to number.
|
|
20
21
|
*/
|
|
21
22
|
list(params) {
|
|
22
23
|
const qs = new URLSearchParams();
|
|
@@ -54,11 +55,25 @@ export class ConversationApi {
|
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* DELETE /api/conversations/{id}
|
|
57
|
-
*
|
|
58
|
+
* Behavior depends on conversation type:
|
|
59
|
+
* - Group → leave (same as POST .../leave). Other participants remain.
|
|
60
|
+
* - OneToOne / Self → hide the conversation from this user's list (soft-delete, not a true delete).
|
|
58
61
|
*/
|
|
59
|
-
|
|
62
|
+
delete(id) {
|
|
60
63
|
return this.http.delete(`/api/conversations/${encodeURIComponent(id)}`);
|
|
61
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* POST /api/conversations/{id}/leave
|
|
67
|
+
* Leave a Group conversation explicitly (Group only).
|
|
68
|
+
* Returns 403 Forbidden if the conversation is not a Group.
|
|
69
|
+
*
|
|
70
|
+
* NOTE: `delete()` (DELETE) also performs the leave action for Group conversations and
|
|
71
|
+
* additionally hides OneToOne/Self conversations. Use this method when you need the
|
|
72
|
+
* strict Group-only semantic with explicit 403 feedback for non-Group conversations.
|
|
73
|
+
*/
|
|
74
|
+
leaveGroup(id) {
|
|
75
|
+
return this.http.post(`/api/conversations/${encodeURIComponent(id)}/leave`);
|
|
76
|
+
}
|
|
62
77
|
/**
|
|
63
78
|
* GET /api/conversations/one-to-one/{otherParticipantId}
|
|
64
79
|
* Find an existing OneToOne conversation with another participant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationApi.js","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C;;;GAGG;AACH,MAAM,OAAO,eAAe;IAG1B,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ConversationApi.js","sourceRoot":"","sources":["../../src/http/ConversationApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ export declare class HttpClient {
|
|
|
35
35
|
getText(path: string): Promise<string>;
|
|
36
36
|
post<T>(path: string, body?: unknown, headers?: Record<string, string>): Promise<T>;
|
|
37
37
|
patch<T>(path: string, body?: unknown, headers?: Record<string, string>): Promise<T>;
|
|
38
|
+
put<T>(path: string, body?: unknown, headers?: Record<string, string>): Promise<T>;
|
|
38
39
|
delete<T>(path: string, headers?: Record<string, string>): Promise<T>;
|
|
39
40
|
/**
|
|
40
41
|
* POST with multipart/form-data — no explicit Content-Type header
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAExC,OAAO,EAAE,iBAAiB;IAUtC,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;IAQvB;;;OAGG;YACW,SAAS;YAST,cAAc;IAatB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxE;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASnF,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASpF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ3E;;;OAGG;IACG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IASnE;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,CAAC,EAAE,sBAAsB,GAClC,OAAO,CAAC,CAAC,CAAC;CAoDd"}
|
|
1
|
+
{"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAExC,OAAO,EAAE,iBAAiB;IAUtC,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,eAAe;IAQvB;;;OAGG;YACW,SAAS;YAST,cAAc;IAatB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxE;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASnF,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASpF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASlF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ3E;;;OAGG;IACG,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IASnE;;;;OAIG;IACH,wBAAwB,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,CAAC,EAAE,sBAAsB,GAClC,OAAO,CAAC,CAAC,CAAC;CAoDd"}
|
package/dist/http/HttpClient.js
CHANGED
|
@@ -106,6 +106,14 @@ export class HttpClient {
|
|
|
106
106
|
});
|
|
107
107
|
return this.handleResponse(response);
|
|
108
108
|
}
|
|
109
|
+
async put(path, body, headers) {
|
|
110
|
+
const response = await fetch(this.buildUrl(path), {
|
|
111
|
+
method: 'PUT',
|
|
112
|
+
headers: { ...this.buildHeaders(headers) },
|
|
113
|
+
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
114
|
+
});
|
|
115
|
+
return this.handleResponse(response);
|
|
116
|
+
}
|
|
109
117
|
async delete(path, headers) {
|
|
110
118
|
const response = await fetch(this.buildUrl(path), {
|
|
111
119
|
method: 'DELETE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../src/http/HttpClient.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AASzD;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAU;IAIrB,YAAY,OAA0B;QACpC,kDAAkD;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAEtE,QAAQ,CAAC,IAAY;QAC3B,kDAAkD;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iDAAiD;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;IAC9C,CAAC;IAEO,YAAY,CAAC,KAA8B;QACjD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,GAAG,KAAK;SACT,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS,CAAI,QAAkB;QAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAE7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAI,QAAkB;QAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,yEAAyE;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAI,QAAQ,CAAC,CAAC;QACjD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,OAAgC;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE;SACnD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,MAAM,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAc,EAAE,OAAgC;QAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC1C,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,IAAc,EAAE,OAAgC;QAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC1C,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,IAAc,EAAE,OAAgC;QACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAC1C,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,IAAY,EAAE,OAAgC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE;SACnD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAI,IAAY,EAAE,QAAkB;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE;YACtC,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,wBAAwB,CACtB,IAAY,EACZ,QAAkB,EAClB,UAAmC;QAEnC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE;oBAChC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;YAED,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;wBAC9E,OAAO,CAAC,IAAoB,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAM,CAAC,CAAC;wBAC7C,CAAC;wBAAC,MAAM,CAAC;4BACP,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,+BAA+B,CAAC,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0EAA0E;oBAC1E,MAAM,iBAAiB,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;wBACvD,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAChD,CAAC,CAAC;oBACH,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC,CAAC;YAEF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;gBACjB,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,uCAAuC,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC;YAEF,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE;gBACnB,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CAEF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from './HttpClient.js';
|
|
2
2
|
import type { MessageDto, SendMessageRequest, EditMessageRequest } from '../types/message.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { CursorPaginatedResult } from '../types/common.js';
|
|
4
4
|
/**
|
|
5
5
|
* Message API client.
|
|
6
6
|
* All endpoints require JWT Bearer token.
|
|
@@ -18,13 +18,14 @@ export declare class MessageApi {
|
|
|
18
18
|
*
|
|
19
19
|
* Fetch message history with cursor-based pagination.
|
|
20
20
|
* direction: 'older' (default) loads messages older than cursor; 'newer' loads newer.
|
|
21
|
-
* NOTE: cursor is
|
|
21
|
+
* NOTE: cursor is an opaque ULID message ID (e.g. "01JRZXYZ1234567890ABCDEF").
|
|
22
|
+
* Always treat as a string — NEVER cast to number.
|
|
22
23
|
*/
|
|
23
24
|
getHistory(conversationId: string, params?: {
|
|
24
25
|
limit?: number;
|
|
25
26
|
cursor?: string;
|
|
26
27
|
direction?: 'older' | 'newer';
|
|
27
|
-
}): Promise<
|
|
28
|
+
}): Promise<CursorPaginatedResult<MessageDto>>;
|
|
28
29
|
/**
|
|
29
30
|
* GET /api/conversations/{conversationId}/messages/search?q={query}&limit={limit}
|
|
30
31
|
* Full-text search within a conversation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageApi.d.ts","sourceRoot":"","sources":["../../src/http/MessageApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"MessageApi.d.ts","sourceRoot":"","sources":["../../src/http/MessageApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;OAGG;IACH,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO9E;;;;;;;OAOG;IACH,UAAU,CACR,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,GAC1E,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAW7C;;;OAGG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQpF,oCAAoC;IACpC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI/C;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IAIzE;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5E;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKhE"}
|
package/dist/http/MessageApi.js
CHANGED
|
@@ -20,7 +20,8 @@ export class MessageApi {
|
|
|
20
20
|
*
|
|
21
21
|
* Fetch message history with cursor-based pagination.
|
|
22
22
|
* direction: 'older' (default) loads messages older than cursor; 'newer' loads newer.
|
|
23
|
-
* NOTE: cursor is
|
|
23
|
+
* NOTE: cursor is an opaque ULID message ID (e.g. "01JRZXYZ1234567890ABCDEF").
|
|
24
|
+
* Always treat as a string — NEVER cast to number.
|
|
24
25
|
*/
|
|
25
26
|
getHistory(conversationId, params) {
|
|
26
27
|
const qs = new URLSearchParams();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageApi.js","sourceRoot":"","sources":["../../src/http/MessageApi.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C;;;GAGG;AACH,MAAM,OAAO,UAAU;IAGrB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,cAAsB,EAAE,OAA2B;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,sBAAsB,kBAAkB,CAAC,cAAc,CAAC,WAAW,EACnE,OAAO,CACR,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"MessageApi.js","sourceRoot":"","sources":["../../src/http/MessageApi.ts"],"names":[],"mappings":"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"}
|
package/dist/http/ProxyApi.d.ts
CHANGED
|
@@ -37,5 +37,10 @@ export declare class ProxyApi {
|
|
|
37
37
|
* Forward a POST request with an optional JSON body to the target service.
|
|
38
38
|
*/
|
|
39
39
|
post<T>(target: string, url: string, body?: unknown): Promise<T>;
|
|
40
|
+
/**
|
|
41
|
+
* PUT /api/proxy/{target}/{url}
|
|
42
|
+
* Forward a PUT request with an optional JSON body to the target service.
|
|
43
|
+
*/
|
|
44
|
+
put<T>(target: string, url: string, body?: unknown): Promise<T>;
|
|
40
45
|
}
|
|
41
46
|
//# sourceMappingURL=ProxyApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyApi.d.ts","sourceRoot":"","sources":["../../src/http/ProxyApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EACP,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GACA,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProxyApi.d.ts","sourceRoot":"","sources":["../../src/http/ProxyApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,IAAI,EAAE,UAAU;IAI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EACP,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GACA,OAAO,CAAC,CAAC,CAAC;IAkBb;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/C;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhE;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAGhE"}
|
package/dist/http/ProxyApi.js
CHANGED
|
@@ -30,6 +30,8 @@ export class ProxyApi {
|
|
|
30
30
|
switch (method) {
|
|
31
31
|
case 'POST':
|
|
32
32
|
return this.http.post(path, options?.body, options?.headers);
|
|
33
|
+
case 'PUT':
|
|
34
|
+
return this.http.put(path, options?.body, options?.headers);
|
|
33
35
|
case 'PATCH':
|
|
34
36
|
return this.http.patch(path, options?.body, options?.headers);
|
|
35
37
|
case 'DELETE':
|
|
@@ -53,5 +55,12 @@ export class ProxyApi {
|
|
|
53
55
|
post(target, url, body) {
|
|
54
56
|
return this.http.post(`/api/proxy/${encodeURIComponent(target)}/${url}`, body);
|
|
55
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* PUT /api/proxy/{target}/{url}
|
|
60
|
+
* Forward a PUT request with an optional JSON body to the target service.
|
|
61
|
+
*/
|
|
62
|
+
put(target, url, body) {
|
|
63
|
+
return this.http.put(`/api/proxy/${encodeURIComponent(target)}/${url}`, body);
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
//# sourceMappingURL=ProxyApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyApi.js","sourceRoot":"","sources":["../../src/http/ProxyApi.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAQ;IAGnB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CACL,MAAc,EACd,GAAW,EACX,OAIC;QAED,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QAC/D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClE,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAI,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD;gBACE,+CAA+C;gBAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,GAAG,CAAI,MAAc,EAAE,GAAW;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,IAAI,CAAI,MAAc,EAAE,GAAW,EAAE,IAAc;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ProxyApi.js","sourceRoot":"","sources":["../../src/http/ProxyApi.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAQ;IAGnB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CACL,MAAc,EACd,GAAW,EACX,OAIC;QAED,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QAC/D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClE,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjE,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAI,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACnE,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD;gBACE,+CAA+C;gBAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,GAAG,CAAI,MAAc,EAAE,GAAW;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,IAAI,CAAI,MAAc,EAAE,GAAW,EAAE,IAAc;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,GAAG,CAAI,MAAc,EAAE,GAAW,EAAE,IAAc;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,cAAc,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type {
|
|
1
|
+
export type { CursorPaginatedResult, PagedResult, MediaReference, ProblemDetails, UploadProgressCallback, HealthStatus, HealthCheckResult, } from './types/common.js';
|
|
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 { ConversationType, ConversationParticipantDto, ConversationDto, ConversationListItemDto, CreateConversationRequest, UpdateConversationRequest, AddParticipantRequest, } from './types/conversation.js';
|
|
@@ -8,7 +8,7 @@ export { isTextBlock, isImageBlock, isVideoBlock, isAudioBlock, isFileBlock, isL
|
|
|
8
8
|
export type { CreateUploadUrlRequest, CreateUploadUrlResponse, UploadResponse } from './types/file.js';
|
|
9
9
|
export type { BotDto, CreateBotRequest, UpdateBotRequest, RegenerateKeyResponse } from './types/bot.js';
|
|
10
10
|
export type { SystemEventDto, ReactionGroupDto, ChatMessageDto, MessageUpdatedDto, DeleteType, MessageDeletedDto, ReactionAddedDto, ReactionRemovedDto, TypingDto, ReadReceiptUpdatedDto, StreamStartedDto, StreamStatusUpdatedDto, StreamChunkReceivedDto, StreamCompletedDto, StreamAbortedDto, } from './types/chat-events.js';
|
|
11
|
-
export type { PresenceStateItem, PresenceChangedDto, NewMessageNotificationDto, MentionedNotificationDto, UnreadCountChangedDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto, ReadStatusChangedDto, } from './types/notification-events.js';
|
|
11
|
+
export type { PresenceStateItem, PresenceChangedDto, NewMessageNotificationDto, MentionedNotificationDto, UnreadCountChangedDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto, ReadStatusChangedDto, ConversationDeletedDto, ConversationRestoredDto, } from './types/notification-events.js';
|
|
12
12
|
export type { ChatSendMessageRequest, ChatEditMessageRequest, ChatDeleteMessageRequest, ChatRecoverMessageRequest, ChatAddReactionRequest, ChatRemoveReactionRequest, SendMessageAck, EditMessageAck, DeleteMessageAck, RecoverMessageAck, ReactionAck, MarkAsReadAck, HubErrorDto, } from './types/signalr.js';
|
|
13
13
|
export { ChatApiError } from './errors/ChatApiError.js';
|
|
14
14
|
export { HttpClient } from './http/HttpClient.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG5I,YAAY,EAAE,cAAc,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAG/F,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,WAAW,EACX,KAAK,EACL,UAAU,EACV,OAAO,GACR,MAAM,kBAAkB,CAAC;AAG1B,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,GACd,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGvG,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAyEpD,oBAAoB;AACpB,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,GACd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAyEpD,oBAAoB;AACpB,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,GACd,MAAM,kBAAkB,CAAC;AA8D1B,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,6 @@
|
|
|
1
1
|
import { HubConnectionState, LogLevel } from '@microsoft/signalr';
|
|
2
2
|
import type { Unsubscribe } from '../utils/TypedEventEmitter.js';
|
|
3
|
-
import type { PresenceStateItem, PresenceChangedDto, NewMessageNotificationDto, MentionedNotificationDto, UnreadCountChangedDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto, ReadStatusChangedDto } from '../types/notification-events.js';
|
|
3
|
+
import type { PresenceStateItem, PresenceChangedDto, NewMessageNotificationDto, MentionedNotificationDto, UnreadCountChangedDto, ConversationCreatedDto, ConversationUpdatedDto, ParticipantJoinedDto, ParticipantLeftDto, ConversationPinnedDto, ConversationUnpinnedDto, ReadStatusChangedDto, ConversationDeletedDto, ConversationRestoredDto } from '../types/notification-events.js';
|
|
4
4
|
import type { HubErrorDto } from '../types/signalr.js';
|
|
5
5
|
export interface NotificationHubEventMap {
|
|
6
6
|
presenceState: PresenceStateItem[];
|
|
@@ -15,6 +15,8 @@ export interface NotificationHubEventMap {
|
|
|
15
15
|
conversationPinned: ConversationPinnedDto;
|
|
16
16
|
conversationUnpinned: ConversationUnpinnedDto;
|
|
17
17
|
readStatusChanged: ReadStatusChangedDto;
|
|
18
|
+
conversationDeleted: ConversationDeletedDto;
|
|
19
|
+
conversationRestored: ConversationRestoredDto;
|
|
18
20
|
error: HubErrorDto;
|
|
19
21
|
reconnecting: Error | undefined;
|
|
20
22
|
reconnected: string | 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,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,
|
|
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,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMvD,MAAM,WAAW,uBAAuB;IAEtC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,eAAe,EAAE,kBAAkB,CAAC;IAGpC,sBAAsB,EAAE,yBAAyB,CAAC;IAClD,qBAAqB,EAAE,wBAAwB,CAAC;IAChD,kBAAkB,EAAE,qBAAqB,CAAC;IAG1C,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;IAC9C,iBAAiB,EAAE,oBAAoB,CAAC;IAGxC,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,oBAAoB,EAAE,uBAAuB,CAAC;IAG9C,KAAK,EAAE,WAAW,CAAC;IAGnB,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;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE,qEAAqE;IACrE,QAAQ,CAAC,qBAAqB,cAAqB;gBAEvC,OAAO,EAAE,4BAA4B;IASjD,IAAI,KAAK,IAAI,kBAAkB,CAE9B;IAMD,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IAWvB,oEAAoE;IACpE,OAAO,CAAC,cAAc;IAkDtB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAMnB,QAAQ;IAQtB;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAiB5B,SAAS;IASjB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,uBAAuB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IActE,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"}
|
|
@@ -58,6 +58,9 @@ export class NotificationHubClient {
|
|
|
58
58
|
conn.on('ConversationPinned', (dto) => this.emitter.emit('conversationPinned', dto));
|
|
59
59
|
conn.on('ConversationUnpinned', (dto) => this.emitter.emit('conversationUnpinned', dto));
|
|
60
60
|
conn.on('ReadStatusChanged', (dto) => this.emitter.emit('readStatusChanged', dto));
|
|
61
|
+
// Conversation delete/restore
|
|
62
|
+
conn.on('ConversationDeleted', (dto) => this.emitter.emit('conversationDeleted', dto));
|
|
63
|
+
conn.on('ConversationRestored', (dto) => this.emitter.emit('conversationRestored', dto));
|
|
61
64
|
// Hub errors (server→client)
|
|
62
65
|
conn.on('Error', (error) => this.emitter.emit('error', error));
|
|
63
66
|
// Connection lifecycle
|
|
@@ -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;
|
|
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;AAoElF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IAQhC,YAAY,OAAqC;QANzC,eAAU,GAAyB,IAAI,CAAC;QAGhD,qEAAqE;QAC5D,0BAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAGjD,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,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,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE;SAChD,CAAC;aACD,sBAAsB,EAAE;aACxB,gBAAgB,CAAC,QAAQ,CAAC;aAC1B,KAAK,EAAE,CAAC;IACb,CAAC;IAED,oEAAoE;IAC5D,cAAc,CAAC,IAAmB;QACxC,kBAAkB;QAClB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnG,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;QACnD,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAA0B,EAAE,EAAE,CAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEhD,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;QAClD,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAyB,EAAE,EAAE,CACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,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,sBAAsB,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;QAElD,6BAA6B;QAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5E,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,qDAAqD;YACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACpC,cAAc;YAChB,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;;;OAGG;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;QAED,+CAA+C;QAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7B,uDAAuD;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAEtE,KAAK,CAAC,SAAS,CAAW,MAAc,EAAE,GAAG,IAAe;QAClE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,GAAG,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,cAAwB;QAChD,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QAC5D,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,cAAwB;QACpD,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAChE,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,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;CACF"}
|
package/dist/types/auth.d.ts
CHANGED
package/dist/types/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAExF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
|
package/dist/types/common.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cursor-based paginated result.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
*
|
|
4
|
+
* `nextCursor` is an opaque string — format depends on the endpoint:
|
|
5
|
+
* - Conversation list: composite `"<UnixMs>_<ULID>"` (e.g. `"1743004200000_01JRZABC1234567890ABCDEF"`)
|
|
6
|
+
* - Message history: opaque ULID message ID (e.g. `"01JRZXYZ1234567890ABCDEF"`)
|
|
7
|
+
*
|
|
8
|
+
* Always treat as an opaque string — NEVER cast to number.
|
|
5
9
|
*/
|
|
6
|
-
export interface
|
|
10
|
+
export interface CursorPaginatedResult<T> {
|
|
7
11
|
items: T[];
|
|
8
12
|
/** Opaque cursor string for next page. null when no more pages. */
|
|
9
13
|
nextCursor: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,mEAAmE;IACnE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
|
|
@@ -25,9 +25,9 @@ export interface ConversationDto {
|
|
|
25
25
|
name?: string;
|
|
26
26
|
avatar?: MediaReference;
|
|
27
27
|
ownerId: string;
|
|
28
|
-
/** ISO 8601 */
|
|
29
|
-
lastMessageAt?: string;
|
|
30
|
-
lastMessageId?: string;
|
|
28
|
+
/** ISO 8601, null when no messages yet */
|
|
29
|
+
lastMessageAt?: string | null;
|
|
30
|
+
lastMessageId?: string | null;
|
|
31
31
|
/** ISO 8601 */
|
|
32
32
|
createdAt: string;
|
|
33
33
|
/** ISO 8601 */
|
|
@@ -43,11 +43,11 @@ export interface ConversationListItemDto {
|
|
|
43
43
|
/** ISO 8601 */
|
|
44
44
|
lastMessageAt?: string;
|
|
45
45
|
lastMessageId?: string;
|
|
46
|
-
/** Full message DTO for preview */
|
|
47
|
-
lastMessage?: MessageDto;
|
|
46
|
+
/** Full message DTO for preview. null when conversation has no messages yet */
|
|
47
|
+
lastMessage?: MessageDto | null;
|
|
48
48
|
isPinned: boolean;
|
|
49
|
-
/** ISO 8601 */
|
|
50
|
-
pinnedAt?: string;
|
|
49
|
+
/** ISO 8601, null when not pinned */
|
|
50
|
+
pinnedAt?: string | null;
|
|
51
51
|
unreadCount: number;
|
|
52
52
|
participantCount: number;
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/types/conversation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,wDAAwD;AACxD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/types/conversation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,wDAAwD;AACxD,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,0BAA0B,EAAE,CAAC;CAC5C;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -4,13 +4,13 @@ export interface PresenceStateItem {
|
|
|
4
4
|
participantId: string;
|
|
5
5
|
isOnline: boolean;
|
|
6
6
|
/** ISO 8601, null when online */
|
|
7
|
-
lastSeenAt?: string;
|
|
7
|
+
lastSeenAt?: string | null;
|
|
8
8
|
}
|
|
9
9
|
export interface PresenceChangedDto {
|
|
10
10
|
participantId: string;
|
|
11
11
|
isOnline: boolean;
|
|
12
12
|
/** ISO 8601, null when online */
|
|
13
|
-
lastSeenAt?: string;
|
|
13
|
+
lastSeenAt?: string | null;
|
|
14
14
|
}
|
|
15
15
|
/** Notification sent to all participants except the sender when a new message arrives */
|
|
16
16
|
export interface NewMessageNotificationDto {
|
|
@@ -94,4 +94,28 @@ export interface ReadStatusChangedDto {
|
|
|
94
94
|
/** true if user explicitly marked as unread */
|
|
95
95
|
markedAsUnread: boolean;
|
|
96
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Conversation bị ẩn/xóa khỏi danh sách của user thực hiện hành động.
|
|
99
|
+
* Chỉ áp dụng cho OneToOne và Self — không broadcast tới người còn lại.
|
|
100
|
+
* Conversation vẫn tồn tại và có thể được khôi phục khi có tin nhắn mới (xem ConversationRestoredDto).
|
|
101
|
+
*/
|
|
102
|
+
export interface ConversationDeletedDto {
|
|
103
|
+
conversationId: string;
|
|
104
|
+
/** ISO 8601 */
|
|
105
|
+
deletedAt: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Conversation đã bị ẩn được khôi phục tự động vì có tin nhắn mới gửi vào.
|
|
109
|
+
* Client nên thêm lại conversation vào sidebar với metadata đầy đủ từ payload.
|
|
110
|
+
* NOTE: Ngay sau event này, client cũng sẽ nhận NewMessageNotification cho tin nhắn kích hoạt khôi phục.
|
|
111
|
+
*/
|
|
112
|
+
export interface ConversationRestoredDto {
|
|
113
|
+
conversationId: string;
|
|
114
|
+
type: ConversationType;
|
|
115
|
+
name?: string | null;
|
|
116
|
+
avatar?: MediaReference | null;
|
|
117
|
+
participantCount: number;
|
|
118
|
+
/** ISO 8601 */
|
|
119
|
+
restoredAt: string;
|
|
120
|
+
}
|
|
97
121
|
//# sourceMappingURL=notification-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-events.d.ts","sourceRoot":"","sources":["../../src/types/notification-events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"notification-events.d.ts","sourceRoot":"","sources":["../../src/types/notification-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ export interface ParticipantDto {
|
|
|
8
8
|
gender?: string;
|
|
9
9
|
isBot: boolean;
|
|
10
10
|
isOnline: boolean;
|
|
11
|
-
/** ISO 8601 */
|
|
12
|
-
lastSeenAt?: string;
|
|
11
|
+
/** ISO 8601, null when online */
|
|
12
|
+
lastSeenAt?: string | null;
|
|
13
13
|
/** ISO 8601 */
|
|
14
14
|
createdAt: string;
|
|
15
15
|
/** ISO 8601 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participant.d.ts","sourceRoot":"","sources":["../../src/types/participant.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"participant.d.ts","sourceRoot":"","sources":["../../src/types/participant.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/types/signalr.d.ts
CHANGED
|
@@ -38,8 +38,8 @@ export interface SendMessageAck {
|
|
|
38
38
|
success: boolean;
|
|
39
39
|
messageId?: string;
|
|
40
40
|
clientMessageId?: string;
|
|
41
|
-
/**
|
|
42
|
-
|
|
41
|
+
/** ISO 8601 — time the message was created on the server */
|
|
42
|
+
createdAt?: string;
|
|
43
43
|
errorCode?: string;
|
|
44
44
|
errorMessage?: string;
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalr.d.ts","sourceRoot":"","sources":["../../src/types/signalr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM7D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"signalr.d.ts","sourceRoot":"","sources":["../../src/types/signalr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM7D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
|