@scalemule/chat 0.0.7 → 0.0.8
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/react.cjs +159 -111
- package/dist/react.js +83 -35
- package/package.json +1 -1
- package/dist/ChatClient-DQPHdUHX.d.cts +0 -107
- package/dist/ChatClient-DtUKF-4c.d.ts +0 -107
- package/dist/constants.d.ts +0 -9
- package/dist/constants.d.ts.map +0 -1
- package/dist/core/ChatClient.d.ts +0 -96
- package/dist/core/ChatClient.d.ts.map +0 -1
- package/dist/core/EventEmitter.d.ts +0 -11
- package/dist/core/EventEmitter.d.ts.map +0 -1
- package/dist/core/MessageCache.d.ts +0 -18
- package/dist/core/MessageCache.d.ts.map +0 -1
- package/dist/core/OfflineQueue.d.ts +0 -19
- package/dist/core/OfflineQueue.d.ts.map +0 -1
- package/dist/element.d.cts +0 -2
- package/dist/element.d.ts +0 -2
- package/dist/element.d.ts.map +0 -1
- package/dist/embed/index.d.ts +0 -2
- package/dist/embed/index.d.ts.map +0 -1
- package/dist/factory.d.ts +0 -8
- package/dist/factory.d.ts.map +0 -1
- package/dist/iframe.d.cts +0 -17
- package/dist/iframe.d.ts +0 -15
- package/dist/iframe.d.ts.map +0 -1
- package/dist/index.d.cts +0 -166
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/react-components/ChatInput.d.ts +0 -16
- package/dist/react-components/ChatInput.d.ts.map +0 -1
- package/dist/react-components/ChatMessageItem.d.ts +0 -13
- package/dist/react-components/ChatMessageItem.d.ts.map +0 -1
- package/dist/react-components/ChatMessageList.d.ts +0 -15
- package/dist/react-components/ChatMessageList.d.ts.map +0 -1
- package/dist/react-components/ChatThread.d.ts +0 -12
- package/dist/react-components/ChatThread.d.ts.map +0 -1
- package/dist/react-components/ConversationList.d.ts +0 -13
- package/dist/react-components/ConversationList.d.ts.map +0 -1
- package/dist/react-components/EmojiPicker.d.ts +0 -8
- package/dist/react-components/EmojiPicker.d.ts.map +0 -1
- package/dist/react-components/index.d.ts +0 -8
- package/dist/react-components/index.d.ts.map +0 -1
- package/dist/react-components/theme.d.ts +0 -19
- package/dist/react-components/theme.d.ts.map +0 -1
- package/dist/react-components/utils.d.ts +0 -4
- package/dist/react-components/utils.d.ts.map +0 -1
- package/dist/react.d.cts +0 -145
- package/dist/react.d.ts +0 -72
- package/dist/react.d.ts.map +0 -1
- package/dist/shared/ChatController.d.ts +0 -65
- package/dist/shared/ChatController.d.ts.map +0 -1
- package/dist/shared/upload.d.ts +0 -3
- package/dist/shared/upload.d.ts.map +0 -1
- package/dist/support.d.ts +0 -99
- package/dist/support.d.ts.map +0 -1
- package/dist/transport/HttpTransport.d.ts +0 -20
- package/dist/transport/HttpTransport.d.ts.map +0 -1
- package/dist/transport/WebSocketTransport.d.ts +0 -78
- package/dist/transport/WebSocketTransport.d.ts.map +0 -1
- package/dist/types-COPVrm3K.d.cts +0 -256
- package/dist/types-COPVrm3K.d.ts +0 -256
- package/dist/types.d.ts +0 -271
- package/dist/types.d.ts.map +0 -1
- package/dist/umd.d.ts +0 -6
- package/dist/umd.d.ts.map +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.d.ts.map +0 -1
- package/dist/widget/icons.d.ts +0 -8
- package/dist/widget/icons.d.ts.map +0 -1
- package/dist/widget/index.d.ts +0 -2
- package/dist/widget/index.d.ts.map +0 -1
- package/dist/widget/storage.d.ts +0 -5
- package/dist/widget/storage.d.ts.map +0 -1
- package/dist/widget/styles.d.ts +0 -3
- package/dist/widget/styles.d.ts.map +0 -1
package/dist/support.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SupportClient — High-level client for the support chat widget.
|
|
3
|
-
*
|
|
4
|
-
* Handles visitor session lifecycle (create/restore/refresh) and exposes
|
|
5
|
-
* the underlying ChatClient for real-time messaging.
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* ```ts
|
|
9
|
-
* const support = new SupportClient({ apiKey: 'pb_...', apiBaseUrl: 'https://api.scalemule.com' });
|
|
10
|
-
* await support.initVisitorSession({ name: 'Jane' });
|
|
11
|
-
* const conversation = await support.startConversation('Hi, I need help!', { page_url: location.href });
|
|
12
|
-
* support.chat.on('message', (msg) => console.log(msg));
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
import { ChatClient } from './core/ChatClient';
|
|
16
|
-
import type { Attachment } from './types';
|
|
17
|
-
export interface SupportConversation {
|
|
18
|
-
id: string;
|
|
19
|
-
conversation_id: string;
|
|
20
|
-
status: string;
|
|
21
|
-
visitor_name?: string;
|
|
22
|
-
visitor_email?: string;
|
|
23
|
-
visitor_page_url?: string;
|
|
24
|
-
assigned_rep_id?: string;
|
|
25
|
-
assigned_rep_name?: string;
|
|
26
|
-
last_message_preview?: string;
|
|
27
|
-
last_message_at?: string;
|
|
28
|
-
created_at: string;
|
|
29
|
-
existing?: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface SupportWidgetPreChatField {
|
|
32
|
-
key: string;
|
|
33
|
-
label: string;
|
|
34
|
-
type: string;
|
|
35
|
-
required: boolean;
|
|
36
|
-
}
|
|
37
|
-
export interface SupportWidgetConfig {
|
|
38
|
-
title: string;
|
|
39
|
-
subtitle: string;
|
|
40
|
-
primary_color: string;
|
|
41
|
-
position: 'left' | 'right';
|
|
42
|
-
pre_chat_fields: SupportWidgetPreChatField[];
|
|
43
|
-
business_hours: Record<string, unknown>;
|
|
44
|
-
realtime_enabled: boolean;
|
|
45
|
-
welcome_message: string;
|
|
46
|
-
offline_message: string;
|
|
47
|
-
reps_online: boolean;
|
|
48
|
-
online_count: number;
|
|
49
|
-
}
|
|
50
|
-
export interface SupportClientConfig {
|
|
51
|
-
apiKey: string;
|
|
52
|
-
apiBaseUrl?: string;
|
|
53
|
-
wsUrl?: string;
|
|
54
|
-
}
|
|
55
|
-
export declare class SupportClient {
|
|
56
|
-
private chatClient;
|
|
57
|
-
private apiKey;
|
|
58
|
-
private apiBaseUrl;
|
|
59
|
-
private wsUrl?;
|
|
60
|
-
private storageKey;
|
|
61
|
-
private anonymousId;
|
|
62
|
-
private refreshToken;
|
|
63
|
-
private accessToken;
|
|
64
|
-
private tokenExpiresAt;
|
|
65
|
-
private userId;
|
|
66
|
-
private visitorName;
|
|
67
|
-
private visitorEmail;
|
|
68
|
-
constructor(config: SupportClientConfig);
|
|
69
|
-
/** Create or restore a visitor session. Call before startConversation(). */
|
|
70
|
-
initVisitorSession(info?: {
|
|
71
|
-
name?: string;
|
|
72
|
-
email?: string;
|
|
73
|
-
}): Promise<void>;
|
|
74
|
-
/** Start a new support conversation with the first message. */
|
|
75
|
-
startConversation(message: string, meta?: {
|
|
76
|
-
page_url?: string;
|
|
77
|
-
attachments?: Attachment[];
|
|
78
|
-
metadata?: Record<string, unknown>;
|
|
79
|
-
}): Promise<SupportConversation>;
|
|
80
|
-
/** Get the visitor's active/waiting support conversation, if any. */
|
|
81
|
-
getActiveConversation(): Promise<SupportConversation | null>;
|
|
82
|
-
/** Fetch widget configuration and live support availability. */
|
|
83
|
-
getWidgetConfig(): Promise<SupportWidgetConfig>;
|
|
84
|
-
/** Get the underlying ChatClient for messaging, events, typing indicators, etc. */
|
|
85
|
-
get chat(): ChatClient;
|
|
86
|
-
/** Whether a visitor session has been initialized. */
|
|
87
|
-
get isInitialized(): boolean;
|
|
88
|
-
connect(): void;
|
|
89
|
-
disconnect(): void;
|
|
90
|
-
/** The visitor's user ID (available after initVisitorSession). */
|
|
91
|
-
get visitorUserId(): string | null;
|
|
92
|
-
/** Clean up all resources. */
|
|
93
|
-
destroy(): void;
|
|
94
|
-
private initChatClient;
|
|
95
|
-
private refreshAccessToken;
|
|
96
|
-
private loadState;
|
|
97
|
-
private saveState;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=support.d.ts.map
|
package/dist/support.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ApiResponse } from '../types';
|
|
2
|
-
export interface HttpTransportConfig {
|
|
3
|
-
baseUrl: string;
|
|
4
|
-
apiKey?: string;
|
|
5
|
-
getToken?: () => Promise<string | null>;
|
|
6
|
-
timeout?: number;
|
|
7
|
-
}
|
|
8
|
-
export declare class HttpTransport {
|
|
9
|
-
private baseUrl;
|
|
10
|
-
private apiKey?;
|
|
11
|
-
private getToken?;
|
|
12
|
-
private timeout;
|
|
13
|
-
constructor(config: HttpTransportConfig);
|
|
14
|
-
get<T>(path: string): Promise<ApiResponse<T>>;
|
|
15
|
-
post<T>(path: string, body?: unknown): Promise<ApiResponse<T>>;
|
|
16
|
-
patch<T>(path: string, body?: unknown): Promise<ApiResponse<T>>;
|
|
17
|
-
del<T>(path: string): Promise<ApiResponse<T>>;
|
|
18
|
-
private request;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=HttpTransport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransport.d.ts","sourceRoot":"","sources":["../../src/transport/HttpTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,UAAU,CAAC;AAGtD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,mBAAmB;IAOjC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI7C,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI9D,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI/D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAIrC,OAAO;CAyDtB"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '../core/EventEmitter';
|
|
2
|
-
import type { ConnectionStatus, PresenceMember } from '../types';
|
|
3
|
-
interface WsEventMap {
|
|
4
|
-
status: ConnectionStatus;
|
|
5
|
-
reconnecting: {
|
|
6
|
-
attempt: number;
|
|
7
|
-
};
|
|
8
|
-
message: {
|
|
9
|
-
channel: string;
|
|
10
|
-
data: unknown;
|
|
11
|
-
};
|
|
12
|
-
'presence:state': {
|
|
13
|
-
channel: string;
|
|
14
|
-
members: PresenceMember[];
|
|
15
|
-
};
|
|
16
|
-
'presence:join': {
|
|
17
|
-
channel: string;
|
|
18
|
-
user: PresenceMember;
|
|
19
|
-
};
|
|
20
|
-
'presence:leave': {
|
|
21
|
-
channel: string;
|
|
22
|
-
userId: string;
|
|
23
|
-
};
|
|
24
|
-
'presence:update': {
|
|
25
|
-
channel: string;
|
|
26
|
-
userId: string;
|
|
27
|
-
status: string;
|
|
28
|
-
userData?: unknown;
|
|
29
|
-
};
|
|
30
|
-
error: {
|
|
31
|
-
message: string;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
export interface WebSocketTransportConfig {
|
|
35
|
-
baseUrl: string;
|
|
36
|
-
wsUrl?: string;
|
|
37
|
-
apiKey?: string;
|
|
38
|
-
getToken?: () => Promise<string | null>;
|
|
39
|
-
reconnect?: {
|
|
40
|
-
maxRetries?: number;
|
|
41
|
-
baseDelay?: number;
|
|
42
|
-
maxDelay?: number;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export declare class WebSocketTransport extends EventEmitter<WsEventMap> {
|
|
46
|
-
private ws;
|
|
47
|
-
private status;
|
|
48
|
-
private subscriptions;
|
|
49
|
-
private presenceChannels;
|
|
50
|
-
private reconnectAttempt;
|
|
51
|
-
private reconnectTimer;
|
|
52
|
-
private heartbeatTimer;
|
|
53
|
-
private config;
|
|
54
|
-
private maxRetries;
|
|
55
|
-
private baseDelay;
|
|
56
|
-
private maxDelay;
|
|
57
|
-
private ticketUrl;
|
|
58
|
-
private wsBaseUrl;
|
|
59
|
-
constructor(config: WebSocketTransportConfig);
|
|
60
|
-
getStatus(): ConnectionStatus;
|
|
61
|
-
connect(): Promise<void>;
|
|
62
|
-
disconnect(): void;
|
|
63
|
-
subscribe(channel: string): () => void;
|
|
64
|
-
unsubscribe(channel: string): void;
|
|
65
|
-
publish(channel: string, data: unknown): void;
|
|
66
|
-
joinPresence(channel: string, userData?: unknown): void;
|
|
67
|
-
leavePresence(channel: string): void;
|
|
68
|
-
private obtainTicket;
|
|
69
|
-
send(data: unknown): void;
|
|
70
|
-
private handleMessage;
|
|
71
|
-
private resubscribeAll;
|
|
72
|
-
private startHeartbeat;
|
|
73
|
-
private stopHeartbeat;
|
|
74
|
-
private scheduleReconnect;
|
|
75
|
-
private setStatus;
|
|
76
|
-
}
|
|
77
|
-
export {};
|
|
78
|
-
//# sourceMappingURL=WebSocketTransport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transport/WebSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQjE,UAAU,UAAU;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IACjE,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC;IAC3D,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3F,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,kBAAmB,SAAQ,YAAY,CAAC,UAAU,CAAC;IAC9D,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,wBAAwB;IAc5C,SAAS,IAAI,gBAAgB;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C9B,UAAU,IAAI,IAAI;IAclB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI;IAUtC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAM7C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAOvD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;YAOtB,YAAY;IA2B1B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMzB,OAAO,CAAC,aAAa;IA6CrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
interface ChatConfig {
|
|
2
|
-
apiKey?: string;
|
|
3
|
-
embedToken?: string;
|
|
4
|
-
apiBaseUrl?: string;
|
|
5
|
-
wsUrl?: string;
|
|
6
|
-
applicationId?: string;
|
|
7
|
-
userId?: string;
|
|
8
|
-
sessionToken?: string;
|
|
9
|
-
getToken?: () => Promise<string | null>;
|
|
10
|
-
debug?: boolean;
|
|
11
|
-
reconnect?: {
|
|
12
|
-
maxRetries?: number;
|
|
13
|
-
baseDelay?: number;
|
|
14
|
-
maxDelay?: number;
|
|
15
|
-
};
|
|
16
|
-
messageCache?: {
|
|
17
|
-
maxMessages?: number;
|
|
18
|
-
maxConversations?: number;
|
|
19
|
-
};
|
|
20
|
-
offlineQueue?: boolean;
|
|
21
|
-
}
|
|
22
|
-
interface ApiResponse<T> {
|
|
23
|
-
data: T | null;
|
|
24
|
-
error: ApiError | null;
|
|
25
|
-
}
|
|
26
|
-
interface ApiError {
|
|
27
|
-
code: string;
|
|
28
|
-
message: string;
|
|
29
|
-
status: number;
|
|
30
|
-
details?: Record<string, unknown>;
|
|
31
|
-
}
|
|
32
|
-
interface Conversation {
|
|
33
|
-
id: string;
|
|
34
|
-
conversation_type: 'direct' | 'group' | 'broadcast' | 'ephemeral' | 'large_room' | 'support';
|
|
35
|
-
name?: string;
|
|
36
|
-
created_by?: string;
|
|
37
|
-
participant_count?: number;
|
|
38
|
-
last_message_at?: string;
|
|
39
|
-
unread_count?: number;
|
|
40
|
-
is_muted?: boolean;
|
|
41
|
-
last_message_preview?: string;
|
|
42
|
-
last_message_sender_id?: string;
|
|
43
|
-
counterparty_user_id?: string;
|
|
44
|
-
created_at: string;
|
|
45
|
-
participants?: Participant[];
|
|
46
|
-
}
|
|
47
|
-
interface Participant {
|
|
48
|
-
user_id: string;
|
|
49
|
-
role: string;
|
|
50
|
-
joined_at: string;
|
|
51
|
-
}
|
|
52
|
-
interface ChatMessage {
|
|
53
|
-
id: string;
|
|
54
|
-
content: string;
|
|
55
|
-
message_type: 'text' | 'image' | 'file' | 'system';
|
|
56
|
-
sender_id: string;
|
|
57
|
-
sender_type?: string;
|
|
58
|
-
sender_agent_model?: string;
|
|
59
|
-
attachments?: Attachment[];
|
|
60
|
-
reactions?: ReactionSummary[];
|
|
61
|
-
is_edited: boolean;
|
|
62
|
-
created_at: string;
|
|
63
|
-
}
|
|
64
|
-
interface ReactionSummary {
|
|
65
|
-
emoji: string;
|
|
66
|
-
count: number;
|
|
67
|
-
user_ids: string[];
|
|
68
|
-
}
|
|
69
|
-
interface Attachment {
|
|
70
|
-
file_id: string;
|
|
71
|
-
file_name: string;
|
|
72
|
-
file_size: number;
|
|
73
|
-
mime_type: string;
|
|
74
|
-
presigned_url?: string;
|
|
75
|
-
thumbnail_url?: string;
|
|
76
|
-
}
|
|
77
|
-
interface ReadStatus {
|
|
78
|
-
user_id: string;
|
|
79
|
-
last_read_at?: string;
|
|
80
|
-
}
|
|
81
|
-
interface ChatReaction {
|
|
82
|
-
id: string;
|
|
83
|
-
message_id: string;
|
|
84
|
-
user_id: string;
|
|
85
|
-
emoji: string;
|
|
86
|
-
action?: 'added' | 'removed';
|
|
87
|
-
timestamp?: string;
|
|
88
|
-
}
|
|
89
|
-
interface MessageEditedEvent {
|
|
90
|
-
id?: string;
|
|
91
|
-
message_id: string;
|
|
92
|
-
conversation_id: string;
|
|
93
|
-
content?: string;
|
|
94
|
-
new_content?: string;
|
|
95
|
-
editor_user_id?: string;
|
|
96
|
-
is_edited?: boolean;
|
|
97
|
-
updated_at?: string;
|
|
98
|
-
timestamp?: string;
|
|
99
|
-
}
|
|
100
|
-
interface ReactionEvent {
|
|
101
|
-
message_id: string;
|
|
102
|
-
conversation_id?: string;
|
|
103
|
-
user_id: string;
|
|
104
|
-
emoji: string;
|
|
105
|
-
action: 'added' | 'removed';
|
|
106
|
-
timestamp?: string;
|
|
107
|
-
}
|
|
108
|
-
interface PresenceMember {
|
|
109
|
-
user_id: string;
|
|
110
|
-
user_data?: unknown;
|
|
111
|
-
joined_at: string;
|
|
112
|
-
}
|
|
113
|
-
interface ChannelSettings {
|
|
114
|
-
publisher_user_ids?: string[];
|
|
115
|
-
linked_session_id?: string;
|
|
116
|
-
expires_at?: string;
|
|
117
|
-
max_participants?: number;
|
|
118
|
-
slow_mode_seconds?: number;
|
|
119
|
-
}
|
|
120
|
-
interface ChannelWithSettings {
|
|
121
|
-
id: string;
|
|
122
|
-
channel_type: string;
|
|
123
|
-
name?: string;
|
|
124
|
-
created_at: string;
|
|
125
|
-
linked_session_id?: string;
|
|
126
|
-
expires_at?: string;
|
|
127
|
-
participant_count: number;
|
|
128
|
-
}
|
|
129
|
-
interface CreateEphemeralChannelOptions {
|
|
130
|
-
linked_session_id: string;
|
|
131
|
-
name?: string;
|
|
132
|
-
ttl_minutes?: number;
|
|
133
|
-
}
|
|
134
|
-
interface CreateLargeRoomOptions {
|
|
135
|
-
name: string;
|
|
136
|
-
linked_session_id?: string;
|
|
137
|
-
max_participants?: number;
|
|
138
|
-
slow_mode_seconds?: number;
|
|
139
|
-
}
|
|
140
|
-
interface ChatEventMap {
|
|
141
|
-
connected: void;
|
|
142
|
-
disconnected: void;
|
|
143
|
-
reconnecting: {
|
|
144
|
-
attempt: number;
|
|
145
|
-
};
|
|
146
|
-
'message': {
|
|
147
|
-
message: ChatMessage;
|
|
148
|
-
conversationId: string;
|
|
149
|
-
};
|
|
150
|
-
'message:updated': {
|
|
151
|
-
message: ChatMessage;
|
|
152
|
-
conversationId: string;
|
|
153
|
-
update?: MessageEditedEvent;
|
|
154
|
-
};
|
|
155
|
-
'message:deleted': {
|
|
156
|
-
messageId: string;
|
|
157
|
-
conversationId: string;
|
|
158
|
-
};
|
|
159
|
-
'typing': {
|
|
160
|
-
userId: string;
|
|
161
|
-
conversationId: string;
|
|
162
|
-
};
|
|
163
|
-
'typing:stop': {
|
|
164
|
-
userId: string;
|
|
165
|
-
conversationId: string;
|
|
166
|
-
};
|
|
167
|
-
'presence:join': {
|
|
168
|
-
userId: string;
|
|
169
|
-
conversationId: string;
|
|
170
|
-
userData?: unknown;
|
|
171
|
-
};
|
|
172
|
-
'presence:leave': {
|
|
173
|
-
userId: string;
|
|
174
|
-
conversationId: string;
|
|
175
|
-
};
|
|
176
|
-
'presence:update': {
|
|
177
|
-
userId: string;
|
|
178
|
-
conversationId: string;
|
|
179
|
-
status: string;
|
|
180
|
-
userData?: unknown;
|
|
181
|
-
};
|
|
182
|
-
'presence:state': {
|
|
183
|
-
conversationId: string;
|
|
184
|
-
members: PresenceMember[];
|
|
185
|
-
};
|
|
186
|
-
'read': {
|
|
187
|
-
userId: string;
|
|
188
|
-
conversationId: string;
|
|
189
|
-
lastReadAt: string;
|
|
190
|
-
};
|
|
191
|
-
'reaction': {
|
|
192
|
-
reaction: ChatReaction;
|
|
193
|
-
conversationId: string;
|
|
194
|
-
action: 'added' | 'removed';
|
|
195
|
-
};
|
|
196
|
-
'room_upgraded': {
|
|
197
|
-
conversationId: string;
|
|
198
|
-
newType: 'large_room';
|
|
199
|
-
};
|
|
200
|
-
'delivery': {
|
|
201
|
-
messageId: string;
|
|
202
|
-
status: 'sent' | 'delivered' | 'read';
|
|
203
|
-
};
|
|
204
|
-
'inbox:update': {
|
|
205
|
-
conversationId: string;
|
|
206
|
-
messageId: string;
|
|
207
|
-
senderId: string;
|
|
208
|
-
preview: string;
|
|
209
|
-
};
|
|
210
|
-
'support:new': {
|
|
211
|
-
conversationId: string;
|
|
212
|
-
visitorName?: string;
|
|
213
|
-
};
|
|
214
|
-
'support:assigned': {
|
|
215
|
-
conversationId: string;
|
|
216
|
-
visitorName?: string;
|
|
217
|
-
visitorEmail?: string;
|
|
218
|
-
};
|
|
219
|
-
'error': {
|
|
220
|
-
code: string;
|
|
221
|
-
message: string;
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'reconnecting';
|
|
225
|
-
interface SendMessageOptions {
|
|
226
|
-
content: string;
|
|
227
|
-
message_type?: 'text' | 'image' | 'file';
|
|
228
|
-
attachments?: Attachment[];
|
|
229
|
-
}
|
|
230
|
-
interface ListConversationsOptions {
|
|
231
|
-
page?: number;
|
|
232
|
-
per_page?: number;
|
|
233
|
-
conversation_type?: 'direct' | 'group' | 'broadcast' | 'ephemeral' | 'large_room' | 'support';
|
|
234
|
-
}
|
|
235
|
-
interface UnreadTotalResponse {
|
|
236
|
-
unread_conversations: number;
|
|
237
|
-
unread_messages: number;
|
|
238
|
-
}
|
|
239
|
-
interface GetMessagesOptions {
|
|
240
|
-
limit?: number;
|
|
241
|
-
before?: string;
|
|
242
|
-
after?: string;
|
|
243
|
-
}
|
|
244
|
-
interface CreateConversationOptions {
|
|
245
|
-
conversation_type?: 'direct' | 'group';
|
|
246
|
-
name?: string;
|
|
247
|
-
participant_ids: string[];
|
|
248
|
-
}
|
|
249
|
-
interface MessagesResponse {
|
|
250
|
-
messages: ChatMessage[];
|
|
251
|
-
has_more?: boolean;
|
|
252
|
-
oldest_id?: string;
|
|
253
|
-
newest_id?: string;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
export type { ApiResponse as A, ChatConfig as C, GetMessagesOptions as G, ListConversationsOptions as L, MessagesResponse as M, Participant as P, ReadStatus as R, SendMessageOptions as S, UnreadTotalResponse as U, ChatEventMap as a, ConnectionStatus as b, CreateConversationOptions as c, Conversation as d, ChatMessage as e, Attachment as f, ChannelSettings as g, ChannelWithSettings as h, CreateEphemeralChannelOptions as i, CreateLargeRoomOptions as j, ApiError as k, ChatReaction as l, MessageEditedEvent as m, PresenceMember as n, ReactionEvent as o, ReactionSummary as p };
|