hermes-chat-react 0.1.0 → 0.1.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/dist/chunk-OMLFDWYU.js +234 -0
- package/dist/chunk-OMLFDWYU.js.map +1 -0
- package/dist/index.cjs +241 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +47 -18
- package/dist/index.d.ts +47 -18
- package/dist/index.js +6 -1
- package/dist/react.cjs +232 -0
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +3 -191
- package/dist/react.d.ts +3 -191
- package/dist/react.js +4 -1
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +367 -0
- package/dist/chunk-D42PTTYC.js +0 -1
- package/dist/chunk-D42PTTYC.js.map +0 -1
package/dist/react.d.cts
CHANGED
|
@@ -1,195 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { HermesClient, Message, SendMessageInput, Room, CreateDirectRoomInput, CreateGroupRoomInput, Reaction, UploadResult, HermesUser } from './index.cjs';
|
|
2
|
+
export { ConnectResponse, ConnectionStatus, DeliveryStatus, HermesConfig, HermesEvents, LastSeenEvent, MessageHistoryResult, MessageType, PresenceEvent, ReactionEvent, ReceiptEvent, RoomType, TypingEvent } from './index.cjs';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
|
|
4
|
-
interface HermesConfig {
|
|
5
|
-
endpoint: string;
|
|
6
|
-
apiKey: string;
|
|
7
|
-
secret: string;
|
|
8
|
-
userId: string;
|
|
9
|
-
}
|
|
10
|
-
interface HermesUser {
|
|
11
|
-
userId: string;
|
|
12
|
-
displayName: string;
|
|
13
|
-
avatar?: string;
|
|
14
|
-
email?: string;
|
|
15
|
-
}
|
|
16
|
-
type RoomType = "direct" | "group";
|
|
17
|
-
interface Room {
|
|
18
|
-
_id: string;
|
|
19
|
-
name?: string;
|
|
20
|
-
type: RoomType;
|
|
21
|
-
createdBy: string;
|
|
22
|
-
members: string[];
|
|
23
|
-
admins: string[];
|
|
24
|
-
avatar?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
lastMessage?: Message;
|
|
27
|
-
lastActivity: string;
|
|
28
|
-
unreadCount: number;
|
|
29
|
-
isMuted: boolean;
|
|
30
|
-
isPinned: boolean;
|
|
31
|
-
createdAt: string;
|
|
32
|
-
updatedAt: string;
|
|
33
|
-
}
|
|
34
|
-
interface CreateDirectRoomInput {
|
|
35
|
-
targetUserId: string;
|
|
36
|
-
}
|
|
37
|
-
interface CreateGroupRoomInput {
|
|
38
|
-
name: string;
|
|
39
|
-
memberIds: string[];
|
|
40
|
-
description?: string;
|
|
41
|
-
avatar?: string;
|
|
42
|
-
}
|
|
43
|
-
type MessageType = "text" | "link" | "image" | "video" | "audio" | "document";
|
|
44
|
-
type DeliveryStatus = "sent" | "delivered" | "seen";
|
|
45
|
-
interface Reaction {
|
|
46
|
-
emoji: string;
|
|
47
|
-
users: string[];
|
|
48
|
-
}
|
|
49
|
-
interface Message {
|
|
50
|
-
_id: string;
|
|
51
|
-
roomId: string;
|
|
52
|
-
senderId: string;
|
|
53
|
-
type: MessageType;
|
|
54
|
-
text?: string;
|
|
55
|
-
url?: string;
|
|
56
|
-
fileName?: string;
|
|
57
|
-
fileSize?: number;
|
|
58
|
-
mimeType?: string;
|
|
59
|
-
thumbnail?: string;
|
|
60
|
-
replyTo?: string;
|
|
61
|
-
reactions: Reaction[];
|
|
62
|
-
deliveryStatus: DeliveryStatus;
|
|
63
|
-
seenBy: string[];
|
|
64
|
-
isDeleted: boolean;
|
|
65
|
-
deletedAt?: string;
|
|
66
|
-
editedAt?: string;
|
|
67
|
-
createdAt: string;
|
|
68
|
-
updatedAt: string;
|
|
69
|
-
}
|
|
70
|
-
interface SendMessageInput {
|
|
71
|
-
roomId: string;
|
|
72
|
-
type: MessageType;
|
|
73
|
-
text?: string;
|
|
74
|
-
url?: string;
|
|
75
|
-
fileName?: string;
|
|
76
|
-
fileSize?: number;
|
|
77
|
-
mimeType?: string;
|
|
78
|
-
thumbnail?: string;
|
|
79
|
-
replyTo?: string;
|
|
80
|
-
}
|
|
81
|
-
interface MessageHistoryResult {
|
|
82
|
-
messages: Message[];
|
|
83
|
-
hasMore: boolean;
|
|
84
|
-
}
|
|
85
|
-
interface PresenceEvent {
|
|
86
|
-
userId: string;
|
|
87
|
-
displayName: string;
|
|
88
|
-
roomId?: string;
|
|
89
|
-
}
|
|
90
|
-
interface LastSeenEvent {
|
|
91
|
-
userId: string;
|
|
92
|
-
lastSeen: string;
|
|
93
|
-
}
|
|
94
|
-
interface TypingEvent {
|
|
95
|
-
userId: string;
|
|
96
|
-
displayName: string;
|
|
97
|
-
roomId: string;
|
|
98
|
-
}
|
|
99
|
-
interface ReceiptEvent {
|
|
100
|
-
roomId: string;
|
|
101
|
-
userId: string;
|
|
102
|
-
lastMessageId: string;
|
|
103
|
-
seenAt: string;
|
|
104
|
-
}
|
|
105
|
-
interface ReactionEvent {
|
|
106
|
-
messageId: string;
|
|
107
|
-
roomId: string;
|
|
108
|
-
reactions: Reaction[];
|
|
109
|
-
}
|
|
110
|
-
interface UploadResult {
|
|
111
|
-
type: MessageType;
|
|
112
|
-
url: string;
|
|
113
|
-
thumbnail?: string;
|
|
114
|
-
fileName: string;
|
|
115
|
-
fileSize: number;
|
|
116
|
-
mimeType: string;
|
|
117
|
-
}
|
|
118
|
-
interface HermesEvents {
|
|
119
|
-
connected: () => void;
|
|
120
|
-
disconnected: (reason: string) => void;
|
|
121
|
-
error: (error: Error) => void;
|
|
122
|
-
"message:receive": (message: Message) => void;
|
|
123
|
-
"message:deleted": (data: {
|
|
124
|
-
messageId: string;
|
|
125
|
-
roomId: string;
|
|
126
|
-
}) => void;
|
|
127
|
-
"message:edited": (message: Message) => void;
|
|
128
|
-
"room:created": (room: Room) => void;
|
|
129
|
-
"room:deleted": (data: {
|
|
130
|
-
roomId: string;
|
|
131
|
-
}) => void;
|
|
132
|
-
"room:member:joined": (data: {
|
|
133
|
-
roomId: string;
|
|
134
|
-
userId: string;
|
|
135
|
-
}) => void;
|
|
136
|
-
"room:member:left": (data: {
|
|
137
|
-
roomId: string;
|
|
138
|
-
userId: string;
|
|
139
|
-
}) => void;
|
|
140
|
-
"user:online": (event: PresenceEvent) => void;
|
|
141
|
-
"user:offline": (event: LastSeenEvent) => void;
|
|
142
|
-
"typing:started": (event: TypingEvent) => void;
|
|
143
|
-
"typing:stopped": (event: TypingEvent) => void;
|
|
144
|
-
"receipt:updated": (event: ReceiptEvent) => void;
|
|
145
|
-
"reaction:updated": (event: ReactionEvent) => void;
|
|
146
|
-
}
|
|
147
|
-
type ConnectionStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
|
|
148
|
-
|
|
149
|
-
type EventKey = keyof HermesEvents;
|
|
150
|
-
type EventCallback<K extends EventKey> = HermesEvents[K];
|
|
151
|
-
declare class EventEmitter {
|
|
152
|
-
private listeners;
|
|
153
|
-
on<K extends EventKey>(event: K, callback: EventCallback<K>): this;
|
|
154
|
-
off<K extends EventKey>(event: K, callback: EventCallback<K>): void;
|
|
155
|
-
once<K extends EventKey>(event: K, callback: EventCallback<K>): this;
|
|
156
|
-
emit<K extends EventKey>(event: K, ...args: Parameters<EventCallback<K>>): this;
|
|
157
|
-
removeAllListeners<K extends EventKey>(event?: K): this;
|
|
158
|
-
listenerCount<K extends EventKey>(event: K): number;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
declare class HermesClient extends EventEmitter {
|
|
162
|
-
private config;
|
|
163
|
-
private socket;
|
|
164
|
-
private token;
|
|
165
|
-
user: HermesUser | null;
|
|
166
|
-
status: ConnectionStatus;
|
|
167
|
-
constructor(config: HermesConfig);
|
|
168
|
-
connect(): Promise<HermesUser>;
|
|
169
|
-
private _connectSocket;
|
|
170
|
-
disconnect(): void;
|
|
171
|
-
private _wireSocketEvents;
|
|
172
|
-
_emit<T = any>(event: string, data?: any): Promise<T>;
|
|
173
|
-
sendMessage(input: SendMessageInput): Promise<Message>;
|
|
174
|
-
getHistory(roomId: string, before?: string, limit?: number): Promise<MessageHistoryResult>;
|
|
175
|
-
deleteMessage(messageId: string, roomId: string): Promise<void>;
|
|
176
|
-
editMessage(messageId: string, roomId: string, text: string): Promise<Message>;
|
|
177
|
-
createDirectRoom(input: CreateDirectRoomInput): Promise<Room>;
|
|
178
|
-
createGroupRoom(input: CreateGroupRoomInput): Promise<Room>;
|
|
179
|
-
deleteRoom(roomId: string): Promise<void>;
|
|
180
|
-
getRooms(): Promise<Room[]>;
|
|
181
|
-
addMember(roomId: string, newMemberId: string): Promise<void>;
|
|
182
|
-
removeMember(roomId: string, targetId: string): Promise<void>;
|
|
183
|
-
pingPresence(roomId: string): void;
|
|
184
|
-
startTyping(roomId: string): void;
|
|
185
|
-
stopTyping(roomId: string): void;
|
|
186
|
-
markSeen(roomId: string, lastMessageId: string): Promise<void>;
|
|
187
|
-
addReaction(messageId: string, roomId: string, emoji: string): Promise<void>;
|
|
188
|
-
uploadFile(file: File): Promise<UploadResult>;
|
|
189
|
-
get isConnected(): boolean;
|
|
190
|
-
get currentUser(): HermesUser | null;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
5
|
declare const useMessages: (client: HermesClient, roomId: string | null) => {
|
|
194
6
|
messages: Message[];
|
|
195
7
|
loading: boolean;
|
|
@@ -340,4 +152,4 @@ interface MediaMessageProps {
|
|
|
340
152
|
}
|
|
341
153
|
declare const MediaMessage: React.FC<MediaMessageProps>;
|
|
342
154
|
|
|
343
|
-
export { ChatInput, MediaMessage, MessageList, OnlineBadge, ReactionPicker, RoomList, TypingIndicator, useMessages, usePresence, useReactions, useReadReceipts, useRooms, useTyping, useUpload };
|
|
155
|
+
export { ChatInput, CreateDirectRoomInput, CreateGroupRoomInput, HermesClient, HermesUser, MediaMessage, Message, MessageList, OnlineBadge, Reaction, ReactionPicker, Room, RoomList, SendMessageInput, TypingIndicator, UploadResult, useMessages, usePresence, useReactions, useReadReceipts, useRooms, useTyping, useUpload };
|
package/dist/react.d.ts
CHANGED
|
@@ -1,195 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { HermesClient, Message, SendMessageInput, Room, CreateDirectRoomInput, CreateGroupRoomInput, Reaction, UploadResult, HermesUser } from './index.js';
|
|
2
|
+
export { ConnectResponse, ConnectionStatus, DeliveryStatus, HermesConfig, HermesEvents, LastSeenEvent, MessageHistoryResult, MessageType, PresenceEvent, ReactionEvent, ReceiptEvent, RoomType, TypingEvent } from './index.js';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
|
|
4
|
-
interface HermesConfig {
|
|
5
|
-
endpoint: string;
|
|
6
|
-
apiKey: string;
|
|
7
|
-
secret: string;
|
|
8
|
-
userId: string;
|
|
9
|
-
}
|
|
10
|
-
interface HermesUser {
|
|
11
|
-
userId: string;
|
|
12
|
-
displayName: string;
|
|
13
|
-
avatar?: string;
|
|
14
|
-
email?: string;
|
|
15
|
-
}
|
|
16
|
-
type RoomType = "direct" | "group";
|
|
17
|
-
interface Room {
|
|
18
|
-
_id: string;
|
|
19
|
-
name?: string;
|
|
20
|
-
type: RoomType;
|
|
21
|
-
createdBy: string;
|
|
22
|
-
members: string[];
|
|
23
|
-
admins: string[];
|
|
24
|
-
avatar?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
lastMessage?: Message;
|
|
27
|
-
lastActivity: string;
|
|
28
|
-
unreadCount: number;
|
|
29
|
-
isMuted: boolean;
|
|
30
|
-
isPinned: boolean;
|
|
31
|
-
createdAt: string;
|
|
32
|
-
updatedAt: string;
|
|
33
|
-
}
|
|
34
|
-
interface CreateDirectRoomInput {
|
|
35
|
-
targetUserId: string;
|
|
36
|
-
}
|
|
37
|
-
interface CreateGroupRoomInput {
|
|
38
|
-
name: string;
|
|
39
|
-
memberIds: string[];
|
|
40
|
-
description?: string;
|
|
41
|
-
avatar?: string;
|
|
42
|
-
}
|
|
43
|
-
type MessageType = "text" | "link" | "image" | "video" | "audio" | "document";
|
|
44
|
-
type DeliveryStatus = "sent" | "delivered" | "seen";
|
|
45
|
-
interface Reaction {
|
|
46
|
-
emoji: string;
|
|
47
|
-
users: string[];
|
|
48
|
-
}
|
|
49
|
-
interface Message {
|
|
50
|
-
_id: string;
|
|
51
|
-
roomId: string;
|
|
52
|
-
senderId: string;
|
|
53
|
-
type: MessageType;
|
|
54
|
-
text?: string;
|
|
55
|
-
url?: string;
|
|
56
|
-
fileName?: string;
|
|
57
|
-
fileSize?: number;
|
|
58
|
-
mimeType?: string;
|
|
59
|
-
thumbnail?: string;
|
|
60
|
-
replyTo?: string;
|
|
61
|
-
reactions: Reaction[];
|
|
62
|
-
deliveryStatus: DeliveryStatus;
|
|
63
|
-
seenBy: string[];
|
|
64
|
-
isDeleted: boolean;
|
|
65
|
-
deletedAt?: string;
|
|
66
|
-
editedAt?: string;
|
|
67
|
-
createdAt: string;
|
|
68
|
-
updatedAt: string;
|
|
69
|
-
}
|
|
70
|
-
interface SendMessageInput {
|
|
71
|
-
roomId: string;
|
|
72
|
-
type: MessageType;
|
|
73
|
-
text?: string;
|
|
74
|
-
url?: string;
|
|
75
|
-
fileName?: string;
|
|
76
|
-
fileSize?: number;
|
|
77
|
-
mimeType?: string;
|
|
78
|
-
thumbnail?: string;
|
|
79
|
-
replyTo?: string;
|
|
80
|
-
}
|
|
81
|
-
interface MessageHistoryResult {
|
|
82
|
-
messages: Message[];
|
|
83
|
-
hasMore: boolean;
|
|
84
|
-
}
|
|
85
|
-
interface PresenceEvent {
|
|
86
|
-
userId: string;
|
|
87
|
-
displayName: string;
|
|
88
|
-
roomId?: string;
|
|
89
|
-
}
|
|
90
|
-
interface LastSeenEvent {
|
|
91
|
-
userId: string;
|
|
92
|
-
lastSeen: string;
|
|
93
|
-
}
|
|
94
|
-
interface TypingEvent {
|
|
95
|
-
userId: string;
|
|
96
|
-
displayName: string;
|
|
97
|
-
roomId: string;
|
|
98
|
-
}
|
|
99
|
-
interface ReceiptEvent {
|
|
100
|
-
roomId: string;
|
|
101
|
-
userId: string;
|
|
102
|
-
lastMessageId: string;
|
|
103
|
-
seenAt: string;
|
|
104
|
-
}
|
|
105
|
-
interface ReactionEvent {
|
|
106
|
-
messageId: string;
|
|
107
|
-
roomId: string;
|
|
108
|
-
reactions: Reaction[];
|
|
109
|
-
}
|
|
110
|
-
interface UploadResult {
|
|
111
|
-
type: MessageType;
|
|
112
|
-
url: string;
|
|
113
|
-
thumbnail?: string;
|
|
114
|
-
fileName: string;
|
|
115
|
-
fileSize: number;
|
|
116
|
-
mimeType: string;
|
|
117
|
-
}
|
|
118
|
-
interface HermesEvents {
|
|
119
|
-
connected: () => void;
|
|
120
|
-
disconnected: (reason: string) => void;
|
|
121
|
-
error: (error: Error) => void;
|
|
122
|
-
"message:receive": (message: Message) => void;
|
|
123
|
-
"message:deleted": (data: {
|
|
124
|
-
messageId: string;
|
|
125
|
-
roomId: string;
|
|
126
|
-
}) => void;
|
|
127
|
-
"message:edited": (message: Message) => void;
|
|
128
|
-
"room:created": (room: Room) => void;
|
|
129
|
-
"room:deleted": (data: {
|
|
130
|
-
roomId: string;
|
|
131
|
-
}) => void;
|
|
132
|
-
"room:member:joined": (data: {
|
|
133
|
-
roomId: string;
|
|
134
|
-
userId: string;
|
|
135
|
-
}) => void;
|
|
136
|
-
"room:member:left": (data: {
|
|
137
|
-
roomId: string;
|
|
138
|
-
userId: string;
|
|
139
|
-
}) => void;
|
|
140
|
-
"user:online": (event: PresenceEvent) => void;
|
|
141
|
-
"user:offline": (event: LastSeenEvent) => void;
|
|
142
|
-
"typing:started": (event: TypingEvent) => void;
|
|
143
|
-
"typing:stopped": (event: TypingEvent) => void;
|
|
144
|
-
"receipt:updated": (event: ReceiptEvent) => void;
|
|
145
|
-
"reaction:updated": (event: ReactionEvent) => void;
|
|
146
|
-
}
|
|
147
|
-
type ConnectionStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
|
|
148
|
-
|
|
149
|
-
type EventKey = keyof HermesEvents;
|
|
150
|
-
type EventCallback<K extends EventKey> = HermesEvents[K];
|
|
151
|
-
declare class EventEmitter {
|
|
152
|
-
private listeners;
|
|
153
|
-
on<K extends EventKey>(event: K, callback: EventCallback<K>): this;
|
|
154
|
-
off<K extends EventKey>(event: K, callback: EventCallback<K>): void;
|
|
155
|
-
once<K extends EventKey>(event: K, callback: EventCallback<K>): this;
|
|
156
|
-
emit<K extends EventKey>(event: K, ...args: Parameters<EventCallback<K>>): this;
|
|
157
|
-
removeAllListeners<K extends EventKey>(event?: K): this;
|
|
158
|
-
listenerCount<K extends EventKey>(event: K): number;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
declare class HermesClient extends EventEmitter {
|
|
162
|
-
private config;
|
|
163
|
-
private socket;
|
|
164
|
-
private token;
|
|
165
|
-
user: HermesUser | null;
|
|
166
|
-
status: ConnectionStatus;
|
|
167
|
-
constructor(config: HermesConfig);
|
|
168
|
-
connect(): Promise<HermesUser>;
|
|
169
|
-
private _connectSocket;
|
|
170
|
-
disconnect(): void;
|
|
171
|
-
private _wireSocketEvents;
|
|
172
|
-
_emit<T = any>(event: string, data?: any): Promise<T>;
|
|
173
|
-
sendMessage(input: SendMessageInput): Promise<Message>;
|
|
174
|
-
getHistory(roomId: string, before?: string, limit?: number): Promise<MessageHistoryResult>;
|
|
175
|
-
deleteMessage(messageId: string, roomId: string): Promise<void>;
|
|
176
|
-
editMessage(messageId: string, roomId: string, text: string): Promise<Message>;
|
|
177
|
-
createDirectRoom(input: CreateDirectRoomInput): Promise<Room>;
|
|
178
|
-
createGroupRoom(input: CreateGroupRoomInput): Promise<Room>;
|
|
179
|
-
deleteRoom(roomId: string): Promise<void>;
|
|
180
|
-
getRooms(): Promise<Room[]>;
|
|
181
|
-
addMember(roomId: string, newMemberId: string): Promise<void>;
|
|
182
|
-
removeMember(roomId: string, targetId: string): Promise<void>;
|
|
183
|
-
pingPresence(roomId: string): void;
|
|
184
|
-
startTyping(roomId: string): void;
|
|
185
|
-
stopTyping(roomId: string): void;
|
|
186
|
-
markSeen(roomId: string, lastMessageId: string): Promise<void>;
|
|
187
|
-
addReaction(messageId: string, roomId: string, emoji: string): Promise<void>;
|
|
188
|
-
uploadFile(file: File): Promise<UploadResult>;
|
|
189
|
-
get isConnected(): boolean;
|
|
190
|
-
get currentUser(): HermesUser | null;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
5
|
declare const useMessages: (client: HermesClient, roomId: string | null) => {
|
|
194
6
|
messages: Message[];
|
|
195
7
|
loading: boolean;
|
|
@@ -340,4 +152,4 @@ interface MediaMessageProps {
|
|
|
340
152
|
}
|
|
341
153
|
declare const MediaMessage: React.FC<MediaMessageProps>;
|
|
342
154
|
|
|
343
|
-
export { ChatInput, MediaMessage, MessageList, OnlineBadge, ReactionPicker, RoomList, TypingIndicator, useMessages, usePresence, useReactions, useReadReceipts, useRooms, useTyping, useUpload };
|
|
155
|
+
export { ChatInput, CreateDirectRoomInput, CreateGroupRoomInput, HermesClient, HermesUser, MediaMessage, Message, MessageList, OnlineBadge, Reaction, ReactionPicker, Room, RoomList, SendMessageInput, TypingIndicator, UploadResult, useMessages, usePresence, useReactions, useReadReceipts, useRooms, useTyping, useUpload };
|
package/dist/react.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
HermesClient
|
|
3
|
+
} from "./chunk-OMLFDWYU.js";
|
|
2
4
|
|
|
3
5
|
// src/react/hooks/useMessages.ts
|
|
4
6
|
import { useState, useEffect, useCallback, useRef } from "react";
|
|
@@ -1870,6 +1872,7 @@ var MediaMessage = ({
|
|
|
1870
1872
|
};
|
|
1871
1873
|
export {
|
|
1872
1874
|
ChatInput,
|
|
1875
|
+
HermesClient,
|
|
1873
1876
|
MediaMessage,
|
|
1874
1877
|
MessageList,
|
|
1875
1878
|
OnlineBadge,
|