@scalemule/chat 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/{ChatClient-COmdEJ11.d.ts → ChatClient-DQPHdUHX.d.cts} +21 -2
  2. package/dist/{ChatClient-BoZaTtyM.d.cts → ChatClient-DtUKF-4c.d.ts} +21 -2
  3. package/dist/chat.embed.global.js +1 -1
  4. package/dist/chat.umd.global.js +288 -12
  5. package/dist/{chunk-ZLMMNFZL.js → chunk-5O5YLRJL.js} +386 -16
  6. package/dist/chunk-GTMAK3IA.js +285 -0
  7. package/dist/chunk-TRCELAZQ.cjs +287 -0
  8. package/dist/{chunk-YDLRISR7.cjs → chunk-W2PWFS3E.cjs} +386 -15
  9. package/dist/constants.d.ts +9 -0
  10. package/dist/constants.d.ts.map +1 -0
  11. package/dist/core/ChatClient.d.ts +96 -0
  12. package/dist/core/ChatClient.d.ts.map +1 -0
  13. package/dist/core/EventEmitter.d.ts +11 -0
  14. package/dist/core/EventEmitter.d.ts.map +1 -0
  15. package/dist/core/MessageCache.d.ts +18 -0
  16. package/dist/core/MessageCache.d.ts.map +1 -0
  17. package/dist/core/OfflineQueue.d.ts +19 -0
  18. package/dist/core/OfflineQueue.d.ts.map +1 -0
  19. package/dist/element.cjs +542 -51
  20. package/dist/element.d.ts +2 -2
  21. package/dist/element.d.ts.map +1 -0
  22. package/dist/element.js +541 -50
  23. package/dist/embed/index.d.ts +2 -0
  24. package/dist/embed/index.d.ts.map +1 -0
  25. package/dist/factory.d.ts +8 -0
  26. package/dist/factory.d.ts.map +1 -0
  27. package/dist/iframe.d.cts +1 -1
  28. package/dist/iframe.d.ts +3 -5
  29. package/dist/iframe.d.ts.map +1 -0
  30. package/dist/index.cjs +34 -5
  31. package/dist/index.d.cts +93 -4
  32. package/dist/index.d.ts +8 -77
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +29 -4
  35. package/dist/react-components/ChatInput.d.ts +16 -0
  36. package/dist/react-components/ChatInput.d.ts.map +1 -0
  37. package/dist/react-components/ChatMessageItem.d.ts +13 -0
  38. package/dist/react-components/ChatMessageItem.d.ts.map +1 -0
  39. package/dist/react-components/ChatMessageList.d.ts +15 -0
  40. package/dist/react-components/ChatMessageList.d.ts.map +1 -0
  41. package/dist/react-components/ChatThread.d.ts +12 -0
  42. package/dist/react-components/ChatThread.d.ts.map +1 -0
  43. package/dist/react-components/ConversationList.d.ts +13 -0
  44. package/dist/react-components/ConversationList.d.ts.map +1 -0
  45. package/dist/react-components/EmojiPicker.d.ts +8 -0
  46. package/dist/react-components/EmojiPicker.d.ts.map +1 -0
  47. package/dist/react-components/index.d.ts +8 -0
  48. package/dist/react-components/index.d.ts.map +1 -0
  49. package/dist/react-components/theme.d.ts +19 -0
  50. package/dist/react-components/theme.d.ts.map +1 -0
  51. package/dist/react-components/utils.d.ts +4 -0
  52. package/dist/react-components/utils.d.ts.map +1 -0
  53. package/dist/react.cjs +1212 -50
  54. package/dist/react.d.cts +100 -4
  55. package/dist/react.d.ts +38 -15
  56. package/dist/react.d.ts.map +1 -0
  57. package/dist/react.js +1164 -13
  58. package/dist/shared/ChatController.d.ts +65 -0
  59. package/dist/shared/ChatController.d.ts.map +1 -0
  60. package/dist/shared/upload.d.ts +3 -0
  61. package/dist/shared/upload.d.ts.map +1 -0
  62. package/dist/support-widget.global.js +485 -157
  63. package/dist/support.d.ts +99 -0
  64. package/dist/support.d.ts.map +1 -0
  65. package/dist/transport/HttpTransport.d.ts +20 -0
  66. package/dist/transport/HttpTransport.d.ts.map +1 -0
  67. package/dist/transport/WebSocketTransport.d.ts +78 -0
  68. package/dist/transport/WebSocketTransport.d.ts.map +1 -0
  69. package/dist/{types-BmD7f1gV.d.cts → types-COPVrm3K.d.cts} +25 -1
  70. package/dist/{types-BmD7f1gV.d.ts → types-COPVrm3K.d.ts} +25 -1
  71. package/dist/types.d.ts +271 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/umd.d.ts +6 -0
  74. package/dist/umd.d.ts.map +1 -0
  75. package/dist/version.d.ts +2 -0
  76. package/dist/version.d.ts.map +1 -0
  77. package/dist/widget/icons.d.ts +8 -0
  78. package/dist/widget/icons.d.ts.map +1 -0
  79. package/dist/widget/index.d.ts +2 -0
  80. package/dist/widget/index.d.ts.map +1 -0
  81. package/dist/widget/storage.d.ts +5 -0
  82. package/dist/widget/storage.d.ts.map +1 -0
  83. package/dist/widget/styles.d.ts +3 -0
  84. package/dist/widget/styles.d.ts.map +1 -0
  85. package/package.json +5 -2
@@ -0,0 +1,99 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,78 @@
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
@@ -0,0 +1 @@
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"}
@@ -37,6 +37,7 @@ interface Conversation {
37
37
  participant_count?: number;
38
38
  last_message_at?: string;
39
39
  unread_count?: number;
40
+ is_muted?: boolean;
40
41
  last_message_preview?: string;
41
42
  last_message_sender_id?: string;
42
43
  counterparty_user_id?: string;
@@ -82,6 +83,27 @@ interface ChatReaction {
82
83
  message_id: string;
83
84
  user_id: string;
84
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;
85
107
  }
86
108
  interface PresenceMember {
87
109
  user_id: string;
@@ -128,6 +150,7 @@ interface ChatEventMap {
128
150
  'message:updated': {
129
151
  message: ChatMessage;
130
152
  conversationId: string;
153
+ update?: MessageEditedEvent;
131
154
  };
132
155
  'message:deleted': {
133
156
  messageId: string;
@@ -168,6 +191,7 @@ interface ChatEventMap {
168
191
  'reaction': {
169
192
  reaction: ChatReaction;
170
193
  conversationId: string;
194
+ action: 'added' | 'removed';
171
195
  };
172
196
  'room_upgraded': {
173
197
  conversationId: string;
@@ -229,4 +253,4 @@ interface MessagesResponse {
229
253
  newest_id?: string;
230
254
  }
231
255
 
232
- export type { ApiResponse as A, ChatConfig as C, GetMessagesOptions as G, ListConversationsOptions as L, MessagesResponse as M, Participant as P, ReactionSummary as R, SendMessageOptions as S, UnreadTotalResponse as U, ChatMessage as a, ConnectionStatus as b, Conversation as c, ApiError as d, Attachment as e, ChannelSettings as f, ChannelWithSettings as g, ChatEventMap as h, ChatReaction as i, CreateConversationOptions as j, CreateEphemeralChannelOptions as k, CreateLargeRoomOptions as l, PresenceMember as m, ReadStatus as n };
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 };
@@ -37,6 +37,7 @@ interface Conversation {
37
37
  participant_count?: number;
38
38
  last_message_at?: string;
39
39
  unread_count?: number;
40
+ is_muted?: boolean;
40
41
  last_message_preview?: string;
41
42
  last_message_sender_id?: string;
42
43
  counterparty_user_id?: string;
@@ -82,6 +83,27 @@ interface ChatReaction {
82
83
  message_id: string;
83
84
  user_id: string;
84
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;
85
107
  }
86
108
  interface PresenceMember {
87
109
  user_id: string;
@@ -128,6 +150,7 @@ interface ChatEventMap {
128
150
  'message:updated': {
129
151
  message: ChatMessage;
130
152
  conversationId: string;
153
+ update?: MessageEditedEvent;
131
154
  };
132
155
  'message:deleted': {
133
156
  messageId: string;
@@ -168,6 +191,7 @@ interface ChatEventMap {
168
191
  'reaction': {
169
192
  reaction: ChatReaction;
170
193
  conversationId: string;
194
+ action: 'added' | 'removed';
171
195
  };
172
196
  'room_upgraded': {
173
197
  conversationId: string;
@@ -229,4 +253,4 @@ interface MessagesResponse {
229
253
  newest_id?: string;
230
254
  }
231
255
 
232
- export type { ApiResponse as A, ChatConfig as C, GetMessagesOptions as G, ListConversationsOptions as L, MessagesResponse as M, Participant as P, ReactionSummary as R, SendMessageOptions as S, UnreadTotalResponse as U, ChatMessage as a, ConnectionStatus as b, Conversation as c, ApiError as d, Attachment as e, ChannelSettings as f, ChannelWithSettings as g, ChatEventMap as h, ChatReaction as i, CreateConversationOptions as j, CreateEphemeralChannelOptions as k, CreateLargeRoomOptions as l, PresenceMember as m, ReadStatus as n };
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 };
@@ -0,0 +1,271 @@
1
+ export 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
+ export interface ApiResponse<T> {
23
+ data: T | null;
24
+ error: ApiError | null;
25
+ }
26
+ export interface ApiError {
27
+ code: string;
28
+ message: string;
29
+ status: number;
30
+ details?: Record<string, unknown>;
31
+ }
32
+ export 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
+ export interface Participant {
48
+ user_id: string;
49
+ role: string;
50
+ joined_at: string;
51
+ }
52
+ export 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
+ export interface ReactionSummary {
65
+ emoji: string;
66
+ count: number;
67
+ user_ids: string[];
68
+ }
69
+ export 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
+ export interface ReadStatus {
78
+ user_id: string;
79
+ last_read_at?: string;
80
+ }
81
+ export 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
+ export 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
+ export 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
+ export interface PresenceMember {
109
+ user_id: string;
110
+ user_data?: unknown;
111
+ joined_at: string;
112
+ }
113
+ export 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
+ export 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
+ export interface CreateEphemeralChannelOptions {
130
+ linked_session_id: string;
131
+ name?: string;
132
+ ttl_minutes?: number;
133
+ }
134
+ export interface CreateLargeRoomOptions {
135
+ name: string;
136
+ linked_session_id?: string;
137
+ max_participants?: number;
138
+ slow_mode_seconds?: number;
139
+ }
140
+ export 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
+ export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'reconnecting';
225
+ export interface SendMessageOptions {
226
+ content: string;
227
+ message_type?: 'text' | 'image' | 'file';
228
+ attachments?: Attachment[];
229
+ }
230
+ export interface ListConversationsOptions {
231
+ page?: number;
232
+ per_page?: number;
233
+ conversation_type?: 'direct' | 'group' | 'broadcast' | 'ephemeral' | 'large_room' | 'support';
234
+ }
235
+ export interface UnreadTotalResponse {
236
+ unread_conversations: number;
237
+ unread_messages: number;
238
+ }
239
+ export interface GetMessagesOptions {
240
+ limit?: number;
241
+ before?: string;
242
+ after?: string;
243
+ }
244
+ export interface CreateConversationOptions {
245
+ conversation_type?: 'direct' | 'group';
246
+ name?: string;
247
+ participant_ids: string[];
248
+ }
249
+ export interface MessagesResponse {
250
+ messages: ChatMessage[];
251
+ has_more?: boolean;
252
+ oldest_id?: string;
253
+ newest_id?: string;
254
+ }
255
+ export interface PresignedUploadResponse {
256
+ file_id: string;
257
+ upload_url: string;
258
+ completion_token: string;
259
+ expires_at: string;
260
+ method?: string;
261
+ }
262
+ export interface UploadCompleteResponse {
263
+ file_id: string;
264
+ filename: string;
265
+ size_bytes: number;
266
+ content_type: string;
267
+ url: string;
268
+ already_completed: boolean;
269
+ scan_queued: boolean;
270
+ }
271
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/umd.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { ChatClient } from './core/ChatClient';
2
+ import './element';
3
+ export declare const create: (config: import("./types").ChatConfig) => ChatClient;
4
+ export declare const version: string;
5
+ export { ChatClient };
6
+ //# sourceMappingURL=umd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"umd.d.ts","sourceRoot":"","sources":["../src/umd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,WAAW,CAAC;AAEnB,eAAO,MAAM,MAAM,sDAA2C,CAAC;AAC/D,eAAO,MAAM,OAAO,QAAwB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const CHAT_VERSION = "0.0.7";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Inline SVG icons for the support widget (no external dependencies). */
2
+ export declare const CHAT_BUBBLE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"28\" height=\"28\"><path d=\"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17L4 17.17V4h16v12z\"/><path d=\"M7 9h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z\"/></svg>";
3
+ export declare const CLOSE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>";
4
+ export declare const SEND_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z\"/></svg>";
5
+ export declare const MINIMIZE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/></svg>";
6
+ export declare const ATTACH_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"18\" height=\"18\"><path d=\"M16.5 6.5v9.25a4.75 4.75 0 1 1-9.5 0V5.75a3.25 3.25 0 1 1 6.5 0V14a1.75 1.75 0 1 1-3.5 0V6.5H8.5V14a3.25 3.25 0 1 0 6.5 0V5.75a4.75 4.75 0 1 0-9.5 0v10a6.25 6.25 0 1 0 12.5 0V6.5h-1.5Z\"/></svg>";
7
+ export declare const REACTION_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"18\" height=\"18\"><path d=\"M12 22a10 10 0 1 1 10-10 10.01 10.01 0 0 1-10 10Zm0-18.5a8.5 8.5 0 1 0 8.5 8.5A8.51 8.51 0 0 0 12 3.5Zm-3 7a1.25 1.25 0 1 1 1.25-1.25A1.25 1.25 0 0 1 9 10.5Zm6 0a1.25 1.25 0 1 1 1.25-1.25A1.25 1.25 0 0 1 15 10.5Zm-3 6.25A5.22 5.22 0 0 1 7.58 14h1.71a3.5 3.5 0 0 0 5.42 0h1.71A5.22 5.22 0 0 1 12 16.75Z\"/></svg>";
8
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,eAAO,MAAM,gBAAgB,wRAA0Q,CAAC;AAExS,eAAO,MAAM,UAAU,+OAAmO,CAAC;AAE3P,eAAO,MAAM,SAAS,+KAAmK,CAAC;AAE1L,eAAO,MAAM,aAAa,uLAA2K,CAAC;AAEtM,eAAO,MAAM,WAAW,kUAAsT,CAAC;AAE/U,eAAO,MAAM,aAAa,ubAA2a,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/widget/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ /** localStorage wrapper for widget state persistence. */
2
+ export declare function getItem(key: string): string | null;
3
+ export declare function setItem(key: string, value: string): void;
4
+ export declare function removeItem(key: string): void;
5
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/widget/storage.ts"],"names":[],"mappings":"AAAA,yDAAyD;AAIzD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMxD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAM5C"}