@manonero/chat-client-sdk 1.0.0-beta.0 → 1.0.0-beta.10
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 +432 -128
- package/dist/ChatClient.d.ts +67 -8
- package/dist/ChatClient.d.ts.map +1 -1
- package/dist/ChatClient.js +82 -9
- package/dist/ChatClient.js.map +1 -1
- package/dist/errors/ChatApiError.d.ts +21 -4
- package/dist/errors/ChatApiError.d.ts.map +1 -1
- package/dist/errors/ChatApiError.js +12 -6
- package/dist/errors/ChatApiError.js.map +1 -1
- package/dist/http/BotApi.d.ts +6 -13
- package/dist/http/BotApi.d.ts.map +1 -1
- package/dist/http/BotApi.js +4 -11
- package/dist/http/BotApi.js.map +1 -1
- package/dist/http/ConversationApi.d.ts +42 -8
- package/dist/http/ConversationApi.d.ts.map +1 -1
- package/dist/http/ConversationApi.js +57 -8
- package/dist/http/ConversationApi.js.map +1 -1
- package/dist/http/FileApi.d.ts +16 -4
- package/dist/http/FileApi.d.ts.map +1 -1
- package/dist/http/FileApi.js +29 -6
- package/dist/http/FileApi.js.map +1 -1
- package/dist/http/HttpClient.d.ts +20 -2
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +76 -14
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/MessageApi.d.ts +6 -4
- package/dist/http/MessageApi.d.ts.map +1 -1
- package/dist/http/MessageApi.js +17 -4
- package/dist/http/MessageApi.js.map +1 -1
- package/dist/http/ProxyApi.d.ts +18 -2
- package/dist/http/ProxyApi.d.ts.map +1 -1
- package/dist/http/ProxyApi.js +33 -6
- package/dist/http/ProxyApi.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/realtime/ChatHubClient.d.ts +58 -1
- package/dist/realtime/ChatHubClient.d.ts.map +1 -1
- package/dist/realtime/ChatHubClient.js +202 -15
- package/dist/realtime/ChatHubClient.js.map +1 -1
- package/dist/realtime/NotificationHubClient.d.ts +43 -1
- package/dist/realtime/NotificationHubClient.d.ts.map +1 -1
- package/dist/realtime/NotificationHubClient.js +134 -29
- package/dist/realtime/NotificationHubClient.js.map +1 -1
- package/dist/realtime/ReconnectionManager.d.ts +2 -1
- package/dist/realtime/ReconnectionManager.d.ts.map +1 -1
- package/dist/realtime/ReconnectionManager.js +13 -3
- package/dist/realtime/ReconnectionManager.js.map +1 -1
- package/dist/types/auth.d.ts +4 -2
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/block.d.ts +16 -1
- package/dist/types/block.d.ts.map +1 -1
- package/dist/types/block.js +30 -0
- package/dist/types/block.js.map +1 -1
- package/dist/types/bot.d.ts +2 -8
- package/dist/types/bot.d.ts.map +1 -1
- package/dist/types/chat-events.d.ts +25 -3
- package/dist/types/chat-events.d.ts.map +1 -1
- package/dist/types/common.d.ts +26 -3
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/conversation.d.ts +65 -15
- package/dist/types/conversation.d.ts.map +1 -1
- package/dist/types/message.d.ts +9 -5
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/notification-events.d.ts +36 -9
- package/dist/types/notification-events.d.ts.map +1 -1
- package/dist/types/participant.d.ts +4 -4
- package/dist/types/participant.d.ts.map +1 -1
- package/dist/types/signalr.d.ts +6 -3
- package/dist/types/signalr.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/types/bot.d.ts
CHANGED
|
@@ -11,11 +11,10 @@ import type { MediaReference } from './common.js';
|
|
|
11
11
|
export interface BotDto {
|
|
12
12
|
id: string;
|
|
13
13
|
participantId: string;
|
|
14
|
-
description?: string;
|
|
15
|
-
metadata?: Record<string, unknown
|
|
14
|
+
description?: string | null;
|
|
15
|
+
metadata?: Record<string, unknown> | null;
|
|
16
16
|
kafkaTopic: string;
|
|
17
17
|
isActive: boolean;
|
|
18
|
-
rateLimitPerSecond: number;
|
|
19
18
|
listenAllGroupMessages: boolean;
|
|
20
19
|
createdBy: string;
|
|
21
20
|
/** ISO 8601 */
|
|
@@ -30,7 +29,6 @@ export interface CreateBotRequest {
|
|
|
30
29
|
description?: string;
|
|
31
30
|
metadata?: Record<string, unknown>;
|
|
32
31
|
kafkaTopic: string;
|
|
33
|
-
rateLimitPerSecond?: number;
|
|
34
32
|
listenAllGroupMessages?: boolean;
|
|
35
33
|
}
|
|
36
34
|
export interface UpdateBotRequest {
|
|
@@ -39,10 +37,6 @@ export interface UpdateBotRequest {
|
|
|
39
37
|
avatar?: MediaReference;
|
|
40
38
|
description?: string;
|
|
41
39
|
metadata?: Record<string, unknown>;
|
|
42
|
-
rateLimitPerSecond?: number;
|
|
43
40
|
listenAllGroupMessages?: boolean;
|
|
44
41
|
}
|
|
45
|
-
export interface RegenerateKeyResponse {
|
|
46
|
-
apiKey: string;
|
|
47
|
-
}
|
|
48
42
|
//# sourceMappingURL=bot.d.ts.map
|
package/dist/types/bot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/types/bot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/types/bot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAElC"}
|
|
@@ -34,7 +34,8 @@ export interface ChatMessageDto {
|
|
|
34
34
|
conversationId: string;
|
|
35
35
|
senderId: string;
|
|
36
36
|
senderName: string;
|
|
37
|
-
|
|
37
|
+
/** Có thể null khi server không sẵn signed URL — fallback theo storageKey */
|
|
38
|
+
senderAvatar?: MediaReference | null;
|
|
38
39
|
senderType: SenderType;
|
|
39
40
|
blocks: Block[];
|
|
40
41
|
plainTextContent: string | null;
|
|
@@ -58,6 +59,8 @@ export interface MessageUpdatedDto {
|
|
|
58
59
|
mentions?: Mention[];
|
|
59
60
|
/** ISO 8601 */
|
|
60
61
|
updatedAt: string;
|
|
62
|
+
/** ID tin nhắn reply mới; null nếu reply reference đã bị xóa */
|
|
63
|
+
replyToMessageId?: string | null;
|
|
61
64
|
}
|
|
62
65
|
export type DeleteType = 'recall' | 'delete';
|
|
63
66
|
export interface MessageDeletedDto {
|
|
@@ -99,14 +102,33 @@ export interface ReadReceiptUpdatedDto {
|
|
|
99
102
|
/** ISO 8601 */
|
|
100
103
|
readAt: string;
|
|
101
104
|
}
|
|
105
|
+
/** Thumbnail ready cho một block media trong message */
|
|
106
|
+
export interface MessageThumbnailDto {
|
|
107
|
+
/** Vị trí block trong mảng blocks của message */
|
|
108
|
+
blockIndex: number;
|
|
109
|
+
thumbnail: MediaReference;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Server đã sinh xong thumbnail cho các media block trong message (ảnh/video).
|
|
113
|
+
* Client nên cập nhật URL thumbnail theo blockIndex mà không cần re-fetch toàn bộ message.
|
|
114
|
+
*
|
|
115
|
+
* NOTE: Event này được gửi SAU MessageReceived/StreamCompleted khi server hoàn tất
|
|
116
|
+
* xử lý media bất đồng bộ.
|
|
117
|
+
*/
|
|
118
|
+
export interface MessageThumbnailsReadyDto {
|
|
119
|
+
messageId: string;
|
|
120
|
+
conversationId: string;
|
|
121
|
+
thumbnails: MessageThumbnailDto[];
|
|
122
|
+
}
|
|
102
123
|
export interface StreamStartedDto {
|
|
103
124
|
streamId: string;
|
|
104
125
|
messageId: string;
|
|
105
126
|
conversationId: string;
|
|
106
127
|
senderId: string;
|
|
107
128
|
senderName: string;
|
|
108
|
-
|
|
109
|
-
|
|
129
|
+
/** Có thể null khi server không sẵn signed URL — fallback theo storageKey */
|
|
130
|
+
senderAvatar?: MediaReference | null;
|
|
131
|
+
replyToMessageId?: string | null;
|
|
110
132
|
/** ISO 8601 */
|
|
111
133
|
startedAt: string;
|
|
112
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../src/types/chat-events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../src/types/chat-events.ts"],"names":[],"mappings":"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"}
|
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;
|
|
@@ -24,6 +28,18 @@ export interface MediaReference {
|
|
|
24
28
|
storageKey?: string;
|
|
25
29
|
url?: string;
|
|
26
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* A single error entry inside the RFC 7807 `errors` array.
|
|
33
|
+
* Present on all handler errors (ErrorOr path → ToProblemResult).
|
|
34
|
+
*/
|
|
35
|
+
export interface ProblemError {
|
|
36
|
+
/** Error identifier, e.g. `"Bot.NotFound"`, `"UniqueName"`. */
|
|
37
|
+
code: string;
|
|
38
|
+
/** Human-readable description of the error. */
|
|
39
|
+
description: string;
|
|
40
|
+
/** ErrorType enum value: `"Validation"`, `"NotFound"`, `"Conflict"`, etc. */
|
|
41
|
+
type: string;
|
|
42
|
+
}
|
|
27
43
|
/**
|
|
28
44
|
* RFC 7807 Problem Details error format.
|
|
29
45
|
* Server returns this structure for all REST API errors.
|
|
@@ -33,6 +49,13 @@ export interface ProblemDetails {
|
|
|
33
49
|
title: string;
|
|
34
50
|
detail?: string;
|
|
35
51
|
type?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Array of structured error details.
|
|
54
|
+
* Always present for handler errors (ErrorOr path); absent for middleware/filter errors.
|
|
55
|
+
*/
|
|
56
|
+
errors?: ProblemError[];
|
|
57
|
+
/** W3C trace ID for log correlation. Added automatically by the framework. */
|
|
58
|
+
traceId?: string;
|
|
36
59
|
}
|
|
37
60
|
/** Callback for file upload progress events. */
|
|
38
61
|
export type UploadProgressCallback = (loaded: number, total: number) => void;
|
|
@@ -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,YAAY;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,IAAI,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;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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"}
|
|
@@ -21,13 +21,13 @@ export interface ConversationParticipantDto {
|
|
|
21
21
|
export interface ConversationDto {
|
|
22
22
|
id: string;
|
|
23
23
|
type: ConversationType;
|
|
24
|
-
/** Name (applicable for Group conversations) */
|
|
25
|
-
name?: string;
|
|
26
|
-
avatar?: MediaReference;
|
|
24
|
+
/** Name (applicable for Group conversations). Server returns `null` for OneToOne/Self. */
|
|
25
|
+
name?: string | null;
|
|
26
|
+
avatar?: MediaReference | null;
|
|
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 */
|
|
@@ -38,16 +38,18 @@ export interface ConversationDto {
|
|
|
38
38
|
export interface ConversationListItemDto {
|
|
39
39
|
id: string;
|
|
40
40
|
type: ConversationType;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
|
|
41
|
+
/** Server returns `null` for OneToOne/Self conversations. */
|
|
42
|
+
name?: string | null;
|
|
43
|
+
avatar?: MediaReference | null;
|
|
44
|
+
/** ISO 8601, null when conversation has no messages yet */
|
|
45
|
+
lastMessageAt?: string | null;
|
|
46
|
+
/** null when conversation has no messages yet */
|
|
47
|
+
lastMessageId?: string | null;
|
|
48
|
+
/** Full message DTO for preview. null when conversation has no messages yet */
|
|
49
|
+
lastMessage?: MessageDto | null;
|
|
48
50
|
isPinned: boolean;
|
|
49
|
-
/** ISO 8601 */
|
|
50
|
-
pinnedAt?: string;
|
|
51
|
+
/** ISO 8601, null when not pinned */
|
|
52
|
+
pinnedAt?: string | null;
|
|
51
53
|
unreadCount: number;
|
|
52
54
|
participantCount: number;
|
|
53
55
|
}
|
|
@@ -67,4 +69,52 @@ export interface AddParticipantRequest {
|
|
|
67
69
|
/** Default true — allow viewing history before joining */
|
|
68
70
|
canViewHistory?: boolean;
|
|
69
71
|
}
|
|
72
|
+
/** Filter for the conversation media listing endpoint. Case-insensitive on the wire. */
|
|
73
|
+
export type ConversationMediaKindFilter = 'all' | 'attachment' | 'link';
|
|
74
|
+
/** Categorisation of a media item (matches the server's `kind` field). */
|
|
75
|
+
export type ConversationMediaKind = 'Attachment' | 'Link';
|
|
76
|
+
/** Block type that produced the media item. */
|
|
77
|
+
export type ConversationMediaBlockType = 'Image' | 'Video' | 'Audio' | 'File' | 'LinkPreview';
|
|
78
|
+
/**
|
|
79
|
+
* A single media/link item extracted from a conversation's messages.
|
|
80
|
+
*
|
|
81
|
+
* Returned by `GET /api/conversations/{conversationId}/media`. The server
|
|
82
|
+
* walks every block in every message visible to the caller (subject to the
|
|
83
|
+
* caller's join time) and emits one `ConversationMediaItemDto` per qualifying
|
|
84
|
+
* block. The same message can therefore contribute multiple items.
|
|
85
|
+
*/
|
|
86
|
+
export interface ConversationMediaItemDto {
|
|
87
|
+
/** Composite id `{messageId}#{blockIndex:D2}` */
|
|
88
|
+
id: string;
|
|
89
|
+
conversationId: string;
|
|
90
|
+
messageId: string;
|
|
91
|
+
/** 0-based index of the block inside the source message */
|
|
92
|
+
blockIndex: number;
|
|
93
|
+
senderId: string;
|
|
94
|
+
/** `User` | `Bot` | `System` */
|
|
95
|
+
senderType: string;
|
|
96
|
+
kind: ConversationMediaKind;
|
|
97
|
+
blockType: ConversationMediaBlockType;
|
|
98
|
+
/** ISO 8601 — creation time of the source message */
|
|
99
|
+
createdAt: string;
|
|
100
|
+
/** Set when `kind === 'Attachment'` (internal storage). */
|
|
101
|
+
storageKey?: string | null;
|
|
102
|
+
/** Set when `kind === 'Link'` (external URL or LinkPreview). */
|
|
103
|
+
url?: string | null;
|
|
104
|
+
fileName?: string | null;
|
|
105
|
+
mimeType?: string | null;
|
|
106
|
+
fileSizeBytes?: number | null;
|
|
107
|
+
width?: number | null;
|
|
108
|
+
height?: number | null;
|
|
109
|
+
durationSeconds?: number | null;
|
|
110
|
+
caption?: string | null;
|
|
111
|
+
altText?: string | null;
|
|
112
|
+
thumbnailStorageKey?: string | null;
|
|
113
|
+
thumbnailUrl?: string | null;
|
|
114
|
+
linkTitle?: string | null;
|
|
115
|
+
linkDescription?: string | null;
|
|
116
|
+
linkSiteName?: string | null;
|
|
117
|
+
linkImageStorageKey?: string | null;
|
|
118
|
+
linkImageUrl?: string | null;
|
|
119
|
+
}
|
|
70
120
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/types/conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/types/message.d.ts
CHANGED
|
@@ -5,9 +5,13 @@ export type SystemEventType = 'ConversationRenamed' | 'AvatarChanged' | 'MemberA
|
|
|
5
5
|
export interface SystemEventInfo {
|
|
6
6
|
type: SystemEventType;
|
|
7
7
|
/** null when there is no actor (e.g. MemberLeft — user left voluntarily) */
|
|
8
|
-
actorId
|
|
8
|
+
actorId?: string | null;
|
|
9
9
|
targetIds?: string[];
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* All values are strings per spec (e.g. ConversationRenamed → { newName: "..." }).
|
|
12
|
+
* Server may emit `null` (e.g. MemberAdded with no extra metadata).
|
|
13
|
+
*/
|
|
14
|
+
metadata?: Record<string, string> | null;
|
|
11
15
|
}
|
|
12
16
|
/** Reaction on a single emoji (REST API version — flat array item) */
|
|
13
17
|
export interface ReactionGroup {
|
|
@@ -27,7 +31,7 @@ export interface ReactionSummary {
|
|
|
27
31
|
* Full message object — REST API version.
|
|
28
32
|
*
|
|
29
33
|
* Differences from SignalR ChatMessageDto:
|
|
30
|
-
* - Has:
|
|
34
|
+
* - Has: editedAt, isDeleted, deletedAt, plainTextIndex, reactionSummary
|
|
31
35
|
* - Does NOT have: senderName, senderAvatar, reactions (flat), plainTextContent (SignalR name)
|
|
32
36
|
*/
|
|
33
37
|
export interface MessageDto {
|
|
@@ -36,8 +40,6 @@ export interface MessageDto {
|
|
|
36
40
|
conversationId: string;
|
|
37
41
|
senderId: string;
|
|
38
42
|
senderType: SenderType;
|
|
39
|
-
/** ISO 8601 — time message was sent */
|
|
40
|
-
timestamp: string;
|
|
41
43
|
blocks: Block[];
|
|
42
44
|
/** Plain text content for search indexing */
|
|
43
45
|
plainTextIndex: string | null;
|
|
@@ -76,6 +78,8 @@ export interface SendMessageRequest {
|
|
|
76
78
|
export interface EditMessageRequest {
|
|
77
79
|
blocks: Block[];
|
|
78
80
|
mentions?: Mention[];
|
|
81
|
+
/** Pass null to remove the existing reply reference */
|
|
82
|
+
replyToMessageId?: string | null;
|
|
79
83
|
}
|
|
80
84
|
export interface MarkAsReadRequest {
|
|
81
85
|
messageId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,eAAe,GACf,YAAY,GACZ,QAAQ,CAAC;AAEb,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,eAAe,GACf,YAAY,GACZ,QAAQ,CAAC;AAEb,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gDAAgD;IAChD,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,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,kBAAkB;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -4,23 +4,24 @@ 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 {
|
|
17
17
|
conversationId: string;
|
|
18
18
|
conversationType: ConversationType;
|
|
19
|
-
conversationName?: string;
|
|
19
|
+
conversationName?: string | null;
|
|
20
20
|
messageId: string;
|
|
21
21
|
senderId: string;
|
|
22
22
|
senderName: string;
|
|
23
|
-
|
|
23
|
+
/** Có thể null khi server không sẵn signed URL — fallback theo storageKey */
|
|
24
|
+
senderAvatar?: MediaReference | null;
|
|
24
25
|
contentPreview: string;
|
|
25
26
|
/** ISO 8601 */
|
|
26
27
|
sentAt: string;
|
|
@@ -49,15 +50,15 @@ export interface UnreadCountChangedDto {
|
|
|
49
50
|
export interface ConversationCreatedDto {
|
|
50
51
|
conversationId: string;
|
|
51
52
|
type: ConversationType;
|
|
52
|
-
name?: string;
|
|
53
|
-
avatar?: MediaReference;
|
|
53
|
+
name?: string | null;
|
|
54
|
+
avatar?: MediaReference | null;
|
|
54
55
|
participantCount: number;
|
|
55
56
|
}
|
|
56
57
|
/** Fired when conversation metadata changes (name, avatar, etc.) */
|
|
57
58
|
export interface ConversationUpdatedDto {
|
|
58
59
|
conversationId: string;
|
|
59
60
|
type: ConversationType;
|
|
60
|
-
name?: string;
|
|
61
|
+
name?: string | null;
|
|
61
62
|
avatar?: MediaReference | null;
|
|
62
63
|
participantCount: number;
|
|
63
64
|
}
|
|
@@ -65,7 +66,8 @@ export interface ParticipantJoinedDto {
|
|
|
65
66
|
conversationId: string;
|
|
66
67
|
participantId: string;
|
|
67
68
|
participantName: string;
|
|
68
|
-
|
|
69
|
+
/** Có thể null khi server không sẵn signed URL — fallback theo storageKey */
|
|
70
|
+
participantAvatar?: MediaReference | null;
|
|
69
71
|
/** ISO 8601 */
|
|
70
72
|
changedAt: string;
|
|
71
73
|
}
|
|
@@ -74,7 +76,8 @@ export interface ParticipantLeftDto {
|
|
|
74
76
|
conversationId: string;
|
|
75
77
|
participantId: string;
|
|
76
78
|
participantName: string;
|
|
77
|
-
|
|
79
|
+
/** Có thể null khi server không sẵn signed URL — fallback theo storageKey */
|
|
80
|
+
participantAvatar?: MediaReference | null;
|
|
78
81
|
/** ISO 8601 */
|
|
79
82
|
changedAt: string;
|
|
80
83
|
}
|
|
@@ -94,4 +97,28 @@ export interface ReadStatusChangedDto {
|
|
|
94
97
|
/** true if user explicitly marked as unread */
|
|
95
98
|
markedAsUnread: boolean;
|
|
96
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Conversation bị ẩn/xóa khỏi danh sách của user thực hiện hành động.
|
|
102
|
+
* Chỉ áp dụng cho OneToOne và Self — không broadcast tới người còn lại.
|
|
103
|
+
* Conversation vẫn tồn tại và có thể được khôi phục khi có tin nhắn mới (xem ConversationRestoredDto).
|
|
104
|
+
*/
|
|
105
|
+
export interface ConversationDeletedDto {
|
|
106
|
+
conversationId: string;
|
|
107
|
+
/** ISO 8601 */
|
|
108
|
+
deletedAt: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Conversation đã bị ẩn được khôi phục tự động vì có tin nhắn mới gửi vào.
|
|
112
|
+
* Client nên thêm lại conversation vào sidebar với metadata đầy đủ từ payload.
|
|
113
|
+
* 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.
|
|
114
|
+
*/
|
|
115
|
+
export interface ConversationRestoredDto {
|
|
116
|
+
conversationId: string;
|
|
117
|
+
type: ConversationType;
|
|
118
|
+
name?: string | null;
|
|
119
|
+
avatar?: MediaReference | null;
|
|
120
|
+
participantCount: number;
|
|
121
|
+
/** ISO 8601 */
|
|
122
|
+
restoredAt: string;
|
|
123
|
+
}
|
|
97
124
|
//# 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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"}
|
|
@@ -4,12 +4,12 @@ export interface ParticipantDto {
|
|
|
4
4
|
uniqueName: string;
|
|
5
5
|
fullName: string;
|
|
6
6
|
/** Supports both internal storage and external URL */
|
|
7
|
-
avatar?: MediaReference;
|
|
8
|
-
gender?: string;
|
|
7
|
+
avatar?: MediaReference | null;
|
|
8
|
+
gender?: string | null;
|
|
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;
|
|
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,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,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
|
@@ -16,6 +16,8 @@ export interface ChatEditMessageRequest {
|
|
|
16
16
|
messageId: string;
|
|
17
17
|
newBlocks: Block[];
|
|
18
18
|
newMentions?: Mention[];
|
|
19
|
+
/** Pass null to remove the existing reply reference */
|
|
20
|
+
newReplyToMessageId?: string | null;
|
|
19
21
|
}
|
|
20
22
|
/** NOTE: Server expects an object, NOT a bare string */
|
|
21
23
|
export interface ChatDeleteMessageRequest {
|
|
@@ -38,8 +40,8 @@ export interface SendMessageAck {
|
|
|
38
40
|
success: boolean;
|
|
39
41
|
messageId?: string;
|
|
40
42
|
clientMessageId?: string;
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
+
/** ISO 8601 — time the message was created on the server */
|
|
44
|
+
createdAt?: string;
|
|
43
45
|
errorCode?: string;
|
|
44
46
|
errorMessage?: string;
|
|
45
47
|
}
|
|
@@ -82,6 +84,7 @@ export interface MarkAsReadAck {
|
|
|
82
84
|
export interface HubErrorDto {
|
|
83
85
|
code: string;
|
|
84
86
|
message: string;
|
|
85
|
-
|
|
87
|
+
/** Server may explicitly send `null`; field may also be omitted entirely */
|
|
88
|
+
details?: Record<string, unknown> | null;
|
|
86
89
|
}
|
|
87
90
|
//# sourceMappingURL=signalr.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"signalr.d.ts","sourceRoot":"","sources":["../../src/types/signalr.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manonero/chat-client-sdk",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.10",
|
|
4
4
|
"description": "A TypeScript SDK for building chat clients using Microsoft SignalR.",
|
|
5
5
|
"author": "Manonero",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
"test": "vitest run",
|
|
25
25
|
"test:watch": "vitest",
|
|
26
26
|
"test:coverage": "vitest run --coverage",
|
|
27
|
-
"prepublishOnly": "npm run build && npm test"
|
|
27
|
+
"prepublishOnly": "npm run build && npm test",
|
|
28
|
+
"publish:beta": "npm publish --access public --tag beta",
|
|
29
|
+
"publish:latest": "npm publish --access public"
|
|
28
30
|
},
|
|
29
31
|
"peerDependencies": {
|
|
30
32
|
"@microsoft/signalr": ">=8.0.0"
|