@cleartrip/talos-use-chat-controller 1.1.0-TEST.0

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.
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from "react";
2
+ import { IAction } from "@cleartrip/talos-widget-types";
3
+ type Dispatch = (action: IAction) => void;
4
+ type DispatchAll = (actions: IAction[]) => void;
5
+ type HasPresented = (chatId: string, id: string) => boolean;
6
+ type MarkPresented = (chatId: string, id: string) => void;
7
+ interface IChatDispatchContextValue {
8
+ dispatch: Dispatch;
9
+ dispatchAll: DispatchAll;
10
+ hasPresented: HasPresented;
11
+ markPresented: MarkPresented;
12
+ }
13
+ interface IChatDispatchProviderProps extends IChatDispatchContextValue {
14
+ children: ReactNode;
15
+ }
16
+ export declare const ChatDispatchProvider: ({ dispatch, dispatchAll, hasPresented, markPresented, children, }: IChatDispatchProviderProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const useDispatch: () => Dispatch;
18
+ export declare const useDispatchAll: () => DispatchAll;
19
+ export declare const useAppDispatch: () => {
20
+ dispatch: Dispatch;
21
+ dispatchAll: DispatchAll;
22
+ };
23
+ export declare const usePresentation: () => {
24
+ hasPresented: HasPresented;
25
+ markPresented: MarkPresented;
26
+ };
27
+ export declare const useChatContext: () => {
28
+ dispatch: Dispatch;
29
+ dispatchAll: DispatchAll;
30
+ hasPresented: HasPresented;
31
+ markPresented: MarkPresented;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=ChatDispatcherProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatDispatcherProvider.d.ts","sourceRoot":"","sources":["../packages/hooks/use-chat-controller/src/ChatDispatcherProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAIxD,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAC1C,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAChD,KAAK,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;AAC5D,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1D,UAAU,yBAAyB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;CAChC;AAID,UAAU,0BAA2B,SAAQ,yBAAyB;IAClE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,sEAM9B,0BAA0B,4CAI5B,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,QAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,WAIjC,CAAC;AAEF,eAAO,MAAM,cAAc;;;CAI1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAI3B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;CAI1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { default as useChatController } from './useChatController';
2
+ export { default as useChatAction } from './useChatAction';
3
+ export { ChatDispatchProvider, useDispatch, useDispatchAll, useAppDispatch, usePresentation, useChatContext } from './ChatDispatcherProvider';
4
+ export type { IUseChatActionProps } from './useChatAction';
5
+ export * from './type';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/hooks/use-chat-controller/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC9I,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,426 @@
1
+ export declare const BOT_INTERACTION_WIDGET: {
2
+ type: string;
3
+ data: {
4
+ heading: {
5
+ type: string;
6
+ data: {
7
+ content: {
8
+ text: string;
9
+ prefixIcon: string;
10
+ }[];
11
+ };
12
+ };
13
+ dynamicSlot: {
14
+ type: string;
15
+ data: {
16
+ title: string;
17
+ description: string;
18
+ icon: string;
19
+ status: {
20
+ label: string;
21
+ id: string;
22
+ };
23
+ origin: {
24
+ name: string;
25
+ date: string;
26
+ time: string;
27
+ };
28
+ destination: {
29
+ name: string;
30
+ date: string;
31
+ time: string;
32
+ };
33
+ duration: string;
34
+ };
35
+ tracking: {};
36
+ };
37
+ highlight: {
38
+ type: string;
39
+ data: {
40
+ text: string;
41
+ variant: string;
42
+ color: string;
43
+ };
44
+ events: {
45
+ onClick: never[];
46
+ };
47
+ };
48
+ bodyContent: {
49
+ type: string;
50
+ data: {
51
+ content: {
52
+ text: string;
53
+ }[];
54
+ };
55
+ };
56
+ listSelection: {
57
+ type: string;
58
+ data: {
59
+ options: {
60
+ type: string;
61
+ data: {
62
+ label: string;
63
+ };
64
+ events: {
65
+ onClick: {
66
+ type: string;
67
+ payload: {};
68
+ }[];
69
+ };
70
+ }[];
71
+ };
72
+ behavior: string;
73
+ };
74
+ workflowOptions: {};
75
+ };
76
+ metaData: {
77
+ createdAt: string;
78
+ };
79
+ events: {
80
+ onLoad: {
81
+ type: string;
82
+ }[];
83
+ };
84
+ };
85
+ export declare const INITIAL_CHAT_AND_PREVIOUS_CHATS: {
86
+ messages: {
87
+ type: string;
88
+ id: string;
89
+ chunks: {
90
+ type: string;
91
+ data: {
92
+ heading: {
93
+ type: string;
94
+ data: {
95
+ content: {
96
+ text: string;
97
+ prefixIcon: string;
98
+ }[];
99
+ };
100
+ };
101
+ dynamicSlot: {
102
+ type: string;
103
+ data: {
104
+ title: string;
105
+ description: string;
106
+ icon: string;
107
+ status: {
108
+ label: string;
109
+ id: string;
110
+ };
111
+ origin: {
112
+ name: string;
113
+ date: string;
114
+ time: string;
115
+ };
116
+ destination: {
117
+ name: string;
118
+ date: string;
119
+ time: string;
120
+ };
121
+ duration: string;
122
+ };
123
+ tracking: {};
124
+ };
125
+ highlight: {
126
+ type: string;
127
+ data: {
128
+ text: string;
129
+ variant: string;
130
+ color: string;
131
+ };
132
+ events: {
133
+ onClick: never[];
134
+ };
135
+ };
136
+ bodyContent: {
137
+ type: string;
138
+ data: {
139
+ content: {
140
+ text: string;
141
+ }[];
142
+ };
143
+ };
144
+ listSelection: {
145
+ type: string;
146
+ data: {
147
+ options: {
148
+ type: string;
149
+ data: {
150
+ label: string;
151
+ };
152
+ events: {
153
+ onClick: {
154
+ type: string;
155
+ payload: {};
156
+ }[];
157
+ };
158
+ }[];
159
+ };
160
+ behavior: string;
161
+ };
162
+ workflowOptions: {};
163
+ };
164
+ metaData: {
165
+ createdAt: string;
166
+ };
167
+ events: {
168
+ onLoad: {
169
+ type: string;
170
+ }[];
171
+ };
172
+ }[];
173
+ metaData: {
174
+ createdAt: string;
175
+ };
176
+ }[];
177
+ pageData: {
178
+ isActiveChat: boolean;
179
+ };
180
+ status: string;
181
+ id: string;
182
+ };
183
+ export declare const PREVIOUS_CHAT_1: {
184
+ messages: {
185
+ type: string;
186
+ id: string;
187
+ chunks: {
188
+ type: string;
189
+ data: {
190
+ heading: {
191
+ type: string;
192
+ data: {
193
+ content: {
194
+ text: string;
195
+ prefixIcon: string;
196
+ }[];
197
+ };
198
+ };
199
+ dynamicSlot: {
200
+ type: string;
201
+ data: {
202
+ title: string;
203
+ description: string;
204
+ icon: string;
205
+ status: {
206
+ label: string;
207
+ id: string;
208
+ };
209
+ origin: {
210
+ name: string;
211
+ date: string;
212
+ time: string;
213
+ };
214
+ destination: {
215
+ name: string;
216
+ date: string;
217
+ time: string;
218
+ };
219
+ duration: string;
220
+ };
221
+ tracking: {};
222
+ };
223
+ };
224
+ metaData: {
225
+ createdAt: string;
226
+ };
227
+ events: {
228
+ onLoad: {
229
+ type: string;
230
+ }[];
231
+ };
232
+ }[];
233
+ metaData: {
234
+ createdAt: string;
235
+ };
236
+ }[];
237
+ pageData: {
238
+ title: string;
239
+ isActiveChat: boolean;
240
+ };
241
+ status: string;
242
+ id: string;
243
+ };
244
+ export declare const PREVIOUS_CHAT_2: {
245
+ messages: {
246
+ type: string;
247
+ id: string;
248
+ chunks: {
249
+ type: string;
250
+ data: {
251
+ heading: {
252
+ type: string;
253
+ data: {
254
+ content: {
255
+ text: string;
256
+ prefixIcon: string;
257
+ }[];
258
+ };
259
+ };
260
+ dynamicSlot: {
261
+ type: string;
262
+ data: {
263
+ title: string;
264
+ description: string;
265
+ icon: string;
266
+ status: {
267
+ label: string;
268
+ id: string;
269
+ };
270
+ origin: {
271
+ name: string;
272
+ date: string;
273
+ time: string;
274
+ };
275
+ destination: {
276
+ name: string;
277
+ date: string;
278
+ time: string;
279
+ };
280
+ duration: string;
281
+ };
282
+ tracking: {};
283
+ };
284
+ bodyContent: {
285
+ type: string;
286
+ data: {
287
+ content: {
288
+ text: string;
289
+ }[];
290
+ };
291
+ };
292
+ listSelection: {
293
+ type: string;
294
+ data: {
295
+ options: {
296
+ type: string;
297
+ data: {
298
+ label: string;
299
+ };
300
+ events: {
301
+ onClick: {
302
+ type: string;
303
+ payload: {};
304
+ }[];
305
+ };
306
+ }[];
307
+ };
308
+ behavior: string;
309
+ };
310
+ workflowOptions: {};
311
+ };
312
+ metaData: {
313
+ createdAt: string;
314
+ };
315
+ events: {
316
+ onLoad: {
317
+ type: string;
318
+ }[];
319
+ };
320
+ }[];
321
+ metaData: {
322
+ createdAt: string;
323
+ };
324
+ }[];
325
+ pageData: {
326
+ title: string;
327
+ footerSlots: {
328
+ type: string;
329
+ data: {
330
+ message: string;
331
+ };
332
+ behavior: string;
333
+ }[];
334
+ isActiveChat: boolean;
335
+ };
336
+ status: string;
337
+ id: string;
338
+ };
339
+ export declare const PREVIOUS_CHAT_3: {
340
+ messages: ({
341
+ type: string;
342
+ id: string;
343
+ chunks: {
344
+ type: string;
345
+ data: {
346
+ highlight: {
347
+ type: string;
348
+ data: {
349
+ text: string;
350
+ variant: string;
351
+ color: string;
352
+ };
353
+ events: {
354
+ onClick: never[];
355
+ };
356
+ };
357
+ bodyContent: {
358
+ type: string;
359
+ data: {
360
+ content: {
361
+ text: string;
362
+ }[];
363
+ };
364
+ };
365
+ listSelection: {
366
+ type: string;
367
+ data: {
368
+ options: {
369
+ type: string;
370
+ data: {
371
+ label: string;
372
+ };
373
+ events: {
374
+ onClick: {
375
+ type: string;
376
+ payload: {};
377
+ }[];
378
+ };
379
+ }[];
380
+ };
381
+ behavior: string;
382
+ };
383
+ workflowOptions: {};
384
+ };
385
+ metaData: {
386
+ createdAt: string;
387
+ };
388
+ events: {
389
+ onLoad: {
390
+ type: string;
391
+ }[];
392
+ };
393
+ }[];
394
+ metaData: {
395
+ createdAt: string;
396
+ };
397
+ } | {
398
+ type: string;
399
+ id: string;
400
+ chunks: {
401
+ type: string;
402
+ data: {
403
+ text: string;
404
+ media: never[];
405
+ files: never[];
406
+ };
407
+ }[];
408
+ metaData: {
409
+ createdAt: string;
410
+ };
411
+ })[];
412
+ pageData: {
413
+ title: string;
414
+ footerSlots: {
415
+ type: string;
416
+ data: {
417
+ message: string;
418
+ };
419
+ behavior: string;
420
+ }[];
421
+ isActiveChat: boolean;
422
+ };
423
+ status: string;
424
+ id: string;
425
+ };
426
+ //# sourceMappingURL=PreviousChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviousChat.d.ts","sourceRoot":"","sources":["../../packages/hooks/use-chat-controller/src/mocks/PreviousChat.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHlC,CAAA;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB3C,CAAA;AAuDD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB3B,CAAA;AAiHD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B3B,CAAA;AAuFD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyJ3B,CAAA"}
@@ -0,0 +1,36 @@
1
+ export declare const PREVIOUS_CHAT_LISTING: {
2
+ response: {
3
+ previousChats: {
4
+ type: string;
5
+ data: {
6
+ list: {
7
+ title: string;
8
+ chats: {
9
+ type: string;
10
+ data: {
11
+ title: string;
12
+ status: {
13
+ label: string;
14
+ variant: string;
15
+ };
16
+ dateAndTime: string;
17
+ id: string;
18
+ };
19
+ events: {
20
+ onClick: {
21
+ type: string;
22
+ payload: {
23
+ id: string;
24
+ };
25
+ }[];
26
+ };
27
+ }[];
28
+ }[];
29
+ };
30
+ }[];
31
+ pageData: {
32
+ isActiveChat: boolean;
33
+ };
34
+ };
35
+ };
36
+ //# sourceMappingURL=PreviousChatListing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviousChatListing.d.ts","sourceRoot":"","sources":["../../packages/hooks/use-chat-controller/src/mocks/PreviousChatListing.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FjC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e,t,a=require("tslib"),s=require("react"),n=require("uuid"),r=require("@cleartrip/talos-use-chat"),i=require("@cleartrip/talos-widget-types"),o=require("react/jsx-runtime"),c=function(e){var t=e.sendMessage,n=e.pushToChatStack,r=e.getPreviousChatById,o=e.handleCreateNewChat,c=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){var s,n,c,d;return a.__generator(this,function(a){switch(a.label){case 0:switch(s=e.type,n=e.payload,s){case i.ActionType.SEND_MESSAGE:return[3,1];case i.ActionType.GET_PREVIOUS_CHAT:return[3,3];case i.ActionType.CREATE_NEW_CHAT:return[3,5]}return[3,6];case 1:return c=n.message,[4,t(c)];case 2:return a.sent(),[3,7];case 3:return d=n.id,[4,r(d)];case 4:return a.sent(),[3,7];case 5:return o(),[3,7];case 6:console.warn("[useChatAction] Unhandled action type: ".concat(e.type)),a.label=7;case 7:return[2]}})})},[t,n]),d=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,s,n;return a.__generator(this,function(a){switch(a.label){case 0:t=0,s=e,a.label=1;case 1:return t<s.length?(n=s[t],[4,c(n)]):[3,4];case 2:a.sent(),a.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},[c]);return{dispatch:c,dispatchAll:d}};exports.ChatStatus=void 0,(e=exports.ChatStatus||(exports.ChatStatus={})).ON_GOING="ON_GOING",e.CLOSED="CLOSED",exports.ChatPageType=void 0,(t=exports.ChatPageType||(exports.ChatPageType={})).CHAT="CHAT",t.PREVIOUS_CHAT_LISTING="PREVIOUS_CHAT_LISTING",t.PREVIOUS_CHAT="PREVIOUS_CHAT";var d={previousChats:[{type:"PREVIOUS_CHAT_LISTING",data:{list:[{title:"Today",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Cancel booking",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_1"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_1"}}]}}]},{title:"Last 7 days",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Bus is delayed",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_2"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_2"}}]}},{type:"PREVIOUS_CHAT_CARD",data:{title:"I want to cancel booking for 2 passengers",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_3"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_3"}}]}}]}]}}],pageData:{isActiveChat:!1}},u={type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},l={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[u],metaData:{createdAt:"1777552525693"}}],pageData:{isActiveChat:!0},status:"ON_GOING",id:"chat_id_1"},_={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Cancel booking",isActiveChat:!1},status:"CLOSED",id:"chat_id_1"},p={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Bus is delayed",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_2"},h={type:"BOT_INTERACTION_WIDGET",data:{highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},S={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[h],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"I want to cancel booking for 2 passengers",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_3"},E=function(){return new Promise(function(e){return setTimeout(e,5e3)})},T=s.createContext(null),C=function(){var e,t=(null!==(e=s.useContext(T))&&void 0!==e?e:{}).dispatch;if(!t)throw new Error("useDispatch must be used within ChatDispatchProvider");return t},y=function(){var e,t=(null!==(e=s.useContext(T))&&void 0!==e?e:{}).dispatchAll;if(!t)throw new Error("useDispatchAll must be used within ChatDispatchProvider");return t};exports.ChatDispatchProvider=function(e){var t=e.dispatch,s=e.dispatchAll,n=e.hasPresented,r=e.markPresented,i=e.children;return o.jsx(T.Provider,a.__assign({value:{dispatch:t,dispatchAll:s,hasPresented:n,markPresented:r}},{children:i}))},exports.useAppDispatch=function(){return{dispatch:C(),dispatchAll:y()}},exports.useChatAction=c,exports.useChatContext=function(){var e,t=null!==(e=s.useContext(T))&&void 0!==e?e:{},a=t.dispatch,n=t.dispatchAll,r=t.hasPresented,i=t.markPresented;if(!(a&&n&&r&&i))throw new Error("useChatContext must be used within ChatDispatchProvider");return{dispatch:a,dispatchAll:n,hasPresented:r,markPresented:i}},exports.useChatController=function(e){var t=r.useChat(e),o=t.chat,h=t.status,T=t.sendMessage,C=t.stop,y=s.useState({}),A=y[0],v=y[1],I=s.useState(!1),g=I[0],m=I[1],O=s.useState(!1),f=O[0],D=O[1],P=s.useState([]),N=P[0],k=P[1],M=s.useState(null),G=M[0],w=M[1],b=s.useState(!1),R=b[0],x=b[1],L=s.useRef(new Map),H=s.useCallback(function(e,t){var a,s;return null!==(s=null===(a=L.current.get(e))||void 0===a?void 0:a.has(t))&&void 0!==s&&s},[]),U=s.useCallback(function(e,t){var a=L.current.get(e);a||(a=new Set,L.current.set(e,a)),a.add(t)},[]),B=function(e,t){var a=L.current.get(e);a||(a=new Set,L.current.set(e,a)),t.forEach(function(e){return a.add(e)})},V=s.useMemo(function(){var e;return(null===(e=N[N.length-1])||void 0===e?void 0:e.id)||""},[N]),q=function(){return a.__awaiter(void 0,void 0,void 0,function(){var e,t,s,n,r;return a.__generator(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,3,4]),m(!0),t=(e=l).messages,s=e.status,n=e.id,k([{type:exports.ChatPageType.CHAT,id:n}]),[4,E()];case 1:return i.sent(),B(n,t.map(function(e){return e.id})),v(function(e){var r;return a.__assign(a.__assign({},e),((r={})[n]={messages:t,status:s,id:n},r))}),[3,4];case 2:return r=i.sent(),console.error(r),[3,4];case 3:return m(!1),[7];case 4:return[2]}})})};s.useEffect(function(){q()},[]);var K=s.useCallback(function(e){e.chunk,e.chatId},[]);s.useEffect(function(){var e=o.on(r.ChatEventName.CHUNK,K);return function(){e()}},[o,K]);var W=function(e){var t=function(e){return{type:i.WidgetType.USER_MESSAGE,data:{text:e}}}(e);v(function(e){var s,r,i;return a.__assign(a.__assign({},e),((s={})[V]=a.__assign(a.__assign({},e[V]),{messages:a.__spreadArray(a.__spreadArray([],null!==(i=null===(r=e[V])||void 0===r?void 0:r.messages)&&void 0!==i?i:[],!0),[{id:n.v4(),type:"USER_MESSAGE",chunks:[t],metaData:{createdAt:Date.now()}}],!1)}),s))})},F=s.useCallback(function(e){return a.__awaiter(void 0,void 0,void 0,function(){return a.__generator(this,function(t){switch(t.label){case 0:return W(e),a.__awaiter(void 0,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,3,4]),D(!0),[4,E()];case 1:return t.sent(),v(function(e){var t,s,r;return a.__assign(a.__assign({},e),((t={})[V]=a.__assign(a.__assign({},e[V]),{messages:a.__spreadArray(a.__spreadArray([],null!==(r=null===(s=e[V])||void 0===s?void 0:s.messages)&&void 0!==r?r:[],!0),[{id:n.v4(),type:"BOT_MESSAGE",chunks:[u],metaData:{createdAt:Date.now(),messageId:n.v4()}}],!1)}),t))}),[3,4];case 2:return e=t.sent(),console.error(e),[3,4];case 3:return D(!1),[7];case 4:return[2]}})}),[4,T(e)];case 1:return t.sent(),[2]}})})},[T,W]),Y=function(e){k(function(t){return a.__spreadArray(a.__spreadArray([],t,!0),[e],!1)})},Q=function(){k([])},j=c({sendMessage:F,pushToChatStack:Y,getPreviousChatById:function(e){return a.__awaiter(void 0,void 0,void 0,function(){var t,s,n;return a.__generator(this,function(r){switch(r.label){case 0:if(t=[_,p,S],A.hasOwnProperty(e))return Y({type:exports.ChatPageType.PREVIOUS_CHAT,id:e}),[2];r.label=1;case 1:return r.trys.push([1,3,4,5]),m(!0),Y({type:exports.ChatPageType.PREVIOUS_CHAT,id:e}),[4,E()];case 2:return r.sent(),s=t.find(function(t){return t.id===e}),s&&(B(e,s.messages.map(function(e){return e.id})),v(function(t){var n;return a.__assign(a.__assign({},t),((n={})[e]=a.__assign(a.__assign({},t[e]),{messages:s.messages,status:s.status,pageData:s.pageData}),n))})),[3,5];case 3:return n=r.sent(),console.error(n),[3,5];case 4:return m(!1),[7];case 5:return[2]}})})},handleCreateNewChat:function(){Q(),v({}),q()}}),X=j.dispatch,z=j.dispatchAll;return{chat:o,chatStack:N,messages:A,previousChats:G,previousChatLoading:R,status:h,isInitialLoading:g,isReplyLoading:f,dispatch:X,dispatchAll:z,pushToChatStack:Y,popFromChatStack:function(){k(function(e){return e.slice(0,-1)})},getPreviousChats:function(){return a.__awaiter(void 0,void 0,void 0,function(){var e;return a.__generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,3,4]),x(!0),[4,E()];case 1:return t.sent(),w(d),[3,4];case 2:return e=t.sent(),console.error(e),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})},clearChatStack:Q,sendMessage:F,stop:C,hasPresented:H,markPresented:U}},exports.useDispatch=C,exports.useDispatchAll=y,exports.usePresentation=function(){var e,t=null!==(e=s.useContext(T))&&void 0!==e?e:{},a=t.hasPresented,n=t.markPresented;if(!a||!n)throw new Error("usePresentation must be used within ChatDispatchProvider");return{hasPresented:a,markPresented:n}};
2
+ //# sourceMappingURL=talos-use-chat-controller.browser.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"talos-use-chat-controller.browser.cjs.js","sources":["../packages/hooks/use-chat-controller/src/type.ts","../packages/hooks/use-chat-controller/src/useChatAction.ts","../packages/hooks/use-chat-controller/src/mocks/PreviousChatListing.ts","../packages/hooks/use-chat-controller/src/mocks/PreviousChat.ts","../packages/hooks/use-chat-controller/src/useChatController.tsx","../packages/hooks/use-chat-controller/src/ChatDispatcherProvider.tsx","../packages/hooks/use-chat-controller/src/util.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["ChatStatus","ChatPageType","useChatAction","props","sendMessage","pushToChatStack","getPreviousChatById","handleCreateNewChat","dispatch","useCallback","action","__awaiter","type","payload","ActionType","SEND_MESSAGE","GET_PREVIOUS_CHAT","CREATE_NEW_CHAT","message","_b","sent","id","console","warn","concat","dispatchAll","actions","_i","actions_1","_a","PREVIOUS_CHAT_LISTING","previousChats","data","list","title","chats","status","label","variant","dateAndTime","events","onClick","pageData","isActiveChat","BOT_INTERACTION_WIDGET","heading","content","text","prefixIcon","dynamicSlot","description","icon","origin","name","date","time","destination","duration","tracking","highlight","color","bodyContent","listSelection","options","behavior","workflowOptions","metaData","createdAt","onLoad","INITIAL_CHAT_AND_PREVIOUS_CHATS","messages","chunks","PREVIOUS_CHAT_1","PREVIOUS_CHAT_2","footerSlots","BOT_INTERACTION_WIDGET_3","PREVIOUS_CHAT_3","media","files","sleep","Promise","resolve","setTimeout","ChatDispatchContext","createContext","useDispatch","useContext","Error","useDispatchAll","hasPresented","markPresented","children","_jsx","jsx","Provider","value","config","useChat","chat","baseSendMessage","stop","useState","setMessages","_c","isInitialLoading","setIsInitialLoading","_d","isReplyLoading","setIsReplyLoading","_e","chatStack","setChatStack","_f","setPreviousChats","_g","previousChatLoading","setPreviousChatLoading","presentedRef","useRef","Map","cid","current","get","has","set","Set","add","seedPresented","ids","forEach","currentChatId","useMemo","length","seedInitialChat","initialChatMessages_1","initialChatStatus_1","initialChatId_1","CHAT","map","m","prev","__assign","error","error_1","useEffect","handleChunk","chunk","chatId","removeChunkListener","on","ChatEventName","CHUNK","pushUserMessage","userMessageWidget","WidgetType","USER_MESSAGE","formUserMessageWidget","__spreadArray","uuid","Date","now","v4","messageId","error_2","item","clearChatStack","_h","MOCK_PREVIOUS_CHATS","hasOwnProperty","PREVIOUS_CHAT","previousChat_1","find","error_4","popFromChatStack","slice","getPreviousChats","error_3"],"mappings":"iBAUYA,EA4EAC,2KCzENC,EAAgB,SAACC,GACX,IAAAC,EAA2ED,cAA9DE,EAA8DF,EAAKE,gBAAlDC,EAA6CH,EAA1BG,oBAAEC,EAAwBJ,sBAE7EK,EAAWC,EAAAA,YAAY,SAAOC,GAAe,OAAAC,iBAAA,OAAA,OAAA,EAAA,2FACvCC,EAAkBF,EAAdE,KAAEC,EAAYH,UAClBE,GACC,KAAAE,EAAUA,WAACC,aAAX,MAAuB,CAAA,EAAA,GAKvB,KAAAD,EAAUA,WAACE,kBAAX,MAA4B,CAAA,EAAA,GAK5B,KAAAF,EAAUA,WAACG,gBAAX,MAA0B,CAAA,EAAA,sBAR3B,OADQC,EAAYL,EAA8BK,QAClD,CAAA,EAAMd,EAAYc,WAClB,OADAC,EAAAC,OACM,CAAA,EAAA,UAIN,OADQC,EAAOR,EAAyBQ,GACxC,CAAA,EAAMf,EAAoBe,WAC1B,OADAF,EAAAC,OACM,CAAA,EAAA,UAIN,OADAb,IACM,CAAA,EAAA,UAGNe,QAAQC,KAAK,0CAAAC,OAA0Cd,EAAOE,oCAGzE,EAAA,EAAE,CAACR,EAAaC,IAEXoB,EAAchB,EAAAA,YAAY,SAAOiB,GAAkB,OAAAf,iBAAA,OAAA,OAAA,EAAA,kFACzBgB,EAAA,EAAPC,EAAOF,mBAAP,OAAAC,YAAVjB,EAAMkB,EAAAD,GACb,CAAA,EAAMnB,EAASE,KADS,CAAA,EAAA,UACxBmB,EAAAT,+BADiBO,6BAGxB,EAAA,EAAE,CAACnB,IAEJ,MAAO,CAAEA,SAAQA,EAAEiB,YAAWA,EAClC,EDpCYzB,QAGXA,gBAAA,GAHWA,EAAAA,qBAAAA,QAAAA,WAGX,CAAA,IAFG,SAAA,WACAA,EAAA,OAAA,SA0EQC,QAIXA,kBAAA,GAJWA,EAAAA,QAAYA,eAAZA,qBAIX,CAAA,IAHG,KAAA,OACAA,EAAA,sBAAA,wBACAA,EAAA,cAAA,gBEzFG,IAAM6B,EACC,CACNC,cAAe,CACX,CACInB,KAAM,wBACNoB,KAAM,CACFC,KAAM,CACF,CACIC,MAAO,QACPC,MAAO,CACH,CACIvB,KAAM,qBACNoB,KAAM,CACFE,MAAO,iBACPE,OAAQ,CACJC,MAAO,SACPC,QAAS,UAEbC,YAAa,kBACblB,GAAI,aAERmB,OAAU,CACNC,QAAW,CACP,CACI7B,KAAM,oBACNC,QAAS,CACLQ,GAAI,mBAQhC,CACIa,MAAO,cACPC,MAAO,CACH,CACIvB,KAAM,qBACNoB,KAAM,CACFE,MAAO,iBACPE,OAAQ,CACJC,MAAO,SACPC,QAAS,UAEbC,YAAa,kBACblB,GAAI,aAERmB,OAAU,CACNC,QAAW,CACP,CACI7B,KAAM,oBACNC,QAAS,CACLQ,GAAI,iBAMxB,CACIT,KAAM,qBACNoB,KAAM,CACFE,MAAO,4CACPE,OAAQ,CACJC,MAAO,SACPC,QAAS,UAEbC,YAAa,kBACblB,GAAI,aAERmB,OAAU,CACNC,QAAW,CACP,CACI7B,KAAM,oBACNC,QAAS,CACLQ,GAAI,uBAYhDqB,SAAU,CACNC,cAAc,ICxFbC,EAAyB,CAClChC,KAAQ,yBACRoB,KAAQ,CACJa,QAAW,CACPjC,KAAQ,UACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,+CACRC,WAAc,mBAK9BC,YAAe,CACXrC,KAAQ,YACRoB,KAAQ,CACJE,MAAS,yBACTgB,YAAe,wBACfC,KAAQ,WACRf,OAAU,CACNC,MAAS,YACThB,GAAM,aAEV+B,OAAU,CACNC,KAAQ,qBACRC,KAAQ,aACRC,KAAQ,YAEZC,YAAe,CACXH,KAAQ,YACRC,KAAQ,aACRC,KAAQ,YAEZE,SAAY,WAEhBC,SAAY,CAEX,GAELC,UAAa,CACT/C,KAAQ,YACRoB,KAAQ,CACJe,KAAQ,kBACRT,QAAW,QACXsB,MAAS,WAEbpB,OAAU,CACNC,QAAW,KAGnBoB,YAAe,CACXjD,KAAQ,eACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,6CAEZ,CACIA,KAAQ,kDAKxBe,cAAiB,CACblD,KAAQ,sBACRoB,KAAQ,CACJ+B,QAAW,CACP,CACInD,KAAM,0BACNoB,KAAM,CACFK,MAAS,8BAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,MAKjB,CACID,KAAM,0BACNoB,KAAM,CACFK,MAAS,wBAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,QAWzBmD,SAAY,4BAEhBC,gBAAiB,CAAE,GAEvBC,SAAU,CACNC,UAAW,iBAEf3B,OAAU,CACN4B,OAAU,CACN,CACIxD,KAAM,0BAMTyD,EAAkC,CAC3CC,SAAU,CACN,CACI1D,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJ3B,GAEJsB,SAAU,CACNC,UAAW,mBAIvBzB,SAAU,CACNC,cAAc,GAElBP,OAAQ,WACRf,GAAI,aAwDKmD,EAAkB,CAC3BF,SAAU,CACN,CACI1D,KAAM,cACNS,GAAI,eACJkD,OAAQ,CA1Da,CAC7B3D,KAAQ,yBACRoB,KAAQ,CACJa,QAAW,CACPjC,KAAQ,UACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,+CACRC,WAAc,mBAK9BC,YAAe,CACXrC,KAAQ,YACRoB,KAAQ,CACJE,MAAS,yBACTgB,YAAe,wBACfC,KAAQ,WACRf,OAAU,CACNC,MAAS,YACThB,GAAM,aAEV+B,OAAU,CACNC,KAAQ,qBACRC,KAAQ,aACRC,KAAQ,YAEZC,YAAe,CACXH,KAAQ,YACRC,KAAQ,aACRC,KAAQ,YAEZE,SAAY,WAEhBC,SAAY,CAEX,IAGTQ,SAAU,CACNC,UAAW,iBAEf3B,OAAU,CACN4B,OAAU,CACN,CACIxD,KAAM,2BAcVsD,SAAU,CACNC,UAAW,mBAIvBzB,SAAU,CACNR,MAAO,iBACPS,cAAc,GAElBP,OAAQ,SACRf,GAAI,aAkHKoD,EAAkB,CAC3BH,SAAU,CACN,CACI1D,KAAM,cACNS,GAAI,eACJkD,OAAQ,CApHa,CAC7B3D,KAAQ,yBACRoB,KAAQ,CACJa,QAAW,CACPjC,KAAQ,UACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,+CACRC,WAAc,mBAK9BC,YAAe,CACXrC,KAAQ,YACRoB,KAAQ,CACJE,MAAS,yBACTgB,YAAe,wBACfC,KAAQ,WACRf,OAAU,CACNC,MAAS,YACThB,GAAM,aAEV+B,OAAU,CACNC,KAAQ,qBACRC,KAAQ,aACRC,KAAQ,YAEZC,YAAe,CACXH,KAAQ,YACRC,KAAQ,aACRC,KAAQ,YAEZE,SAAY,WAEhBC,SAAY,CAEX,GAELG,YAAe,CACXjD,KAAQ,eACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,6CAEZ,CACIA,KAAQ,kDAKxBe,cAAiB,CACblD,KAAQ,sBACRoB,KAAQ,CACJ+B,QAAW,CACP,CACInD,KAAM,0BACNoB,KAAM,CACFK,MAAS,8BAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,MAKjB,CACID,KAAM,0BACNoB,KAAM,CACFK,MAAS,wBAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,QAWzBmD,SAAY,4BAEhBC,gBAAiB,CAAE,GAEvBC,SAAU,CACNC,UAAW,iBAEf3B,OAAU,CACN4B,OAAU,CACN,CACIxD,KAAM,2BAcVsD,SAAU,CACNC,UAAW,mBAIvBzB,SAAU,CACNR,MAAO,iBACPwC,YAAa,CACT,CACI9D,KAAM,oBACNoB,KAAM,CACFd,QAAS,uGAEb8C,SAAY,iBAGpBrB,cAAc,GAElBP,OAAQ,SACRf,GAAI,aAGFsD,EAA2B,CAC7B/D,KAAQ,yBACRoB,KAAQ,CACJ2B,UAAa,CACT/C,KAAQ,YACRoB,KAAQ,CACJe,KAAQ,kBACRT,QAAW,QACXsB,MAAS,WAEbpB,OAAU,CACNC,QAAW,KAGnBoB,YAAe,CACXjD,KAAQ,eACRoB,KAAQ,CACJc,QAAW,CACP,CACIC,KAAQ,6CAEZ,CACIA,KAAQ,kDAKxBe,cAAiB,CACblD,KAAQ,sBACRoB,KAAQ,CACJ+B,QAAW,CACP,CACInD,KAAM,0BACNoB,KAAM,CACFK,MAAS,8BAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,MAKjB,CACID,KAAM,0BACNoB,KAAM,CACFK,MAAS,wBAEbG,OAAQ,CACJC,QAAS,CACL,CACI7B,KAAM,eACNC,QAAS,CAER,QAWzBmD,SAAY,4BAEhBC,gBAAiB,CAAE,GAEvBC,SAAU,CACNC,UAAW,iBAEf3B,OAAU,CACN4B,OAAU,CACN,CACIxD,KAAM,0BAMTgE,EAAkB,CAC3BN,SAAU,CACN,CACI1D,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJI,GAEJT,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,eACNS,GAAI,eACJkD,OAAQ,CACJ,CACI3D,KAAM,eACNoB,KAAM,CACFe,KAAM,sBACN8B,MAAO,GACPC,MAAO,MAInBZ,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJI,GAEJT,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,eACNS,GAAI,eACJkD,OAAQ,CACJ,CACI3D,KAAM,eACNoB,KAAM,CACFe,KAAM,sBACN8B,MAAO,GACPC,MAAO,MAInBZ,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJI,GAEJT,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,eACNS,GAAI,eACJkD,OAAQ,CACJ,CACI3D,KAAM,eACNoB,KAAM,CACFe,KAAM,sBACN8B,MAAO,GACPC,MAAO,MAInBZ,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJI,GAEJT,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,eACNS,GAAI,eACJkD,OAAQ,CACJ,CACI3D,KAAM,eACNoB,KAAM,CACFe,KAAM,sBACN8B,MAAO,GACPC,MAAO,MAInBZ,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,cACNS,GAAI,eACJkD,OAAQ,CACJI,GAEJT,SAAU,CACNC,UAAW,kBAGnB,CACIvD,KAAM,eACNS,GAAI,eACJkD,OAAQ,CACJ,CACI3D,KAAM,eACNoB,KAAM,CACFe,KAAM,sBACN8B,MAAO,GACPC,MAAO,MAInBZ,SAAU,CACNC,UAAW,mBAIvBzB,SAAU,CACNR,MAAO,4CACPwC,YAAa,CACT,CACI9D,KAAM,oBACNoB,KAAM,CACFd,QAAS,uGAEb8C,SAAY,iBAGpBrB,cAAc,GAElBP,OAAQ,SACRf,GAAI,aCnkBF0D,EAAQ,WAAM,OAAA,IAAIC,QAAQ,SAAAC,GAAW,OAAAC,WAAWD,EAAS,IAAK,EAAhD,ECEdE,EAAsBC,EAAAA,cAAgD,MAkB/DC,EAAc,iBACf7E,GAAgD,QAAnCqB,EAAAyD,EAAAA,WAAWH,UAAwB,IAAAtD,EAAAA,EAAA,CAAA,GAAErB,SAC1D,IAAKA,EAAU,MAAM,IAAI+E,MAAM,wDAC/B,OAAO/E,CACX,EAEagF,EAAiB,iBAClB/D,GAAmD,QAAnCI,EAAAyD,EAAAA,WAAWH,UAAwB,IAAAtD,EAAAA,EAAA,CAAA,GAAEJ,YAC7D,IAAKA,EAAa,MAAM,IAAI8D,MAAM,2DAClC,OAAO9D,CACX,+BAtBoC,SAACI,GACjC,IAAArB,EAAQqB,EAAArB,SACRiB,EAAWI,EAAAJ,YACXgE,EAAY5D,EAAA4D,aACZC,EAAa7D,EAAA6D,cACbC,EAAQ9D,EAAA8D,SACsB,OAC9BC,EAACC,IAAAV,EAAoBW,qBAASC,MAAO,CAAEvF,SAAQA,EAAEiB,YAAWA,EAAEgE,aAAYA,EAAEC,kBAAe,CAAAC,SACtFA,IAFyB,yBAkBJ,WAG1B,MAAO,CAAEnF,SAFQ6E,IAEE5D,YADC+D,IAExB,iDAQ8B,iBACpBrE,EAAwF,UAA/BmE,EAAAA,WAAWH,UAAoB,IAAAtD,EAAAA,EAAI,CAAE,EAA5FrB,aAAUiB,gBAAagE,iBAAcC,kBAC7C,KAAKlF,GAAaiB,GAAgBgE,GAAiBC,GAAe,MAAM,IAAIH,MAAM,2DAClF,MAAO,CAAE/E,SAAQA,EAAEiB,YAAWA,EAAEgE,aAAYA,EAAEC,cAAaA,EAC/D,4BD9C0B,SACtBM,GAEM,IAAAnE,EAKFoE,EAAAA,QAAQD,GAJRE,EAAIrE,EAAAqE,KACJ9D,WACa+D,gBACbC,SAMEjF,EAA0BkF,EAAAA,SAA4B,CAAE,GAAvD/B,EAAQnD,EAAA,GAAEmF,EAAWnF,EAAA,GAItBoF,EAA0CF,EAAAA,UAAS,GAAlDG,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAItCG,EAAsCL,EAAAA,UAAS,GAA9CM,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GAIlCG,EAA4BR,EAAAA,SAAuB,IAAlDS,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAIxBG,EAAoCX,EAAAA,SAA8C,MAAjFtE,EAAaiF,EAAA,GAAEC,EAAgBD,EAAA,GAIhCE,EAAgDb,EAAAA,UAAS,GAAxDc,EAAmBD,EAAA,GAAEE,EAAsBF,EAAA,GAK5CG,EAAeC,EAAAA,OAAiC,IAAIC,KAEpD9B,EAAehF,EAAAA,YAAY,SAAC+G,EAAanG,WAC3C,OAA6C,kBAAtCQ,EAAAwF,EAAaI,QAAQC,IAAIF,yBAAMG,IAAItG,UAAG,IAAAF,GAAAA,CAChD,EAAE,IAEGuE,EAAgBjF,EAAAA,YAAY,SAAC+G,EAAanG,GAC5C,IAAIuG,EAAMP,EAAaI,QAAQC,IAAIF,GAC9BI,IACDA,EAAM,IAAIC,IACVR,EAAaI,QAAQG,IAAIJ,EAAKI,IAElCA,EAAIE,IAAIzG,EACX,EAAE,IAEG0G,EAAgB,SAACP,EAAaQ,GAChC,IAAIJ,EAAMP,EAAaI,QAAQC,IAAIF,GAC9BI,IACDA,EAAM,IAAIC,IACVR,EAAaI,QAAQG,IAAIJ,EAAKI,IAElCI,EAAIC,QAAQ,SAAA5G,GAAM,OAAAuG,EAAKE,IAAIzG,EAAT,EACtB,EAEM6G,EAAgBC,EAAAA,QAAQ,iBAC1B,OAAsC,QAA/BtG,EAAAiF,EAAUA,EAAUsB,OAAS,UAAE,IAAAvG,OAAA,EAAAA,EAAER,KAAM,EAClD,EAAG,CAACyF,IAEEuB,EAAkB,WAAA,OAAA1H,EAAAA,eAAA,OAAA,OAAA,EAAA,sFAKhB,8BAHA8F,GAAoB,GACZ6B,GAAFzG,EAAkFwC,GAAhFC,SAA+BiE,EAAyB1G,EAAAO,OAAEoG,OAClEzB,EAAa,CAAC,CAAEnG,KAAMX,QAAYA,aAACwI,KAAMpH,GAAImH,KACvC,CAAA,EAAAzD,mBAAN5D,EAAAC,OACA2G,EAAcS,EAAeF,EAAoBI,IAAI,SAAAC,GAAK,OAAAA,EAAEtH,EAAE,IAC9DiF,EAAY,SAAAsC,SAAQ,OACbC,EAAAA,SAAAA,WAAA,CAAA,EAAAD,KACF/G,EAAA,CAAA,GAAA2G,GAAgB,CACblE,SAAUgE,EACVlG,OAAQmG,EACRlH,GAAImH,GAEV3G,GAPkB,kCASpBP,QAAQwH,MAAMC,uBAEdtC,GAAoB,8BAI5BuC,EAAAA,UAAU,WACNX,GACH,EAAE,IAEH,IAAMY,EAAcxI,cAAY,SAACoB,GAAOA,EAAAqH,MAAQrH,EAAAsH,MAO/C,EAAE,IAEHH,EAAAA,UAAU,WACN,IAAMI,EAAsBlD,EAAKmD,GAAGC,EAAAA,cAAcC,MAAON,GAEzD,OAAO,WACHG,GACJ,CACJ,EAAG,CAAClD,EAAM+C,IAEV,IAAMO,EAAkB,SAACtI,GACrB,IAAMuI,EE7HuB,SAACvI,GAOlC,MANwB,CACpBN,KAAM8I,EAAUA,WAACC,aACjB3H,KAAM,CACFe,KAAM7B,GAIlB,CFqHkC0I,CAAsB1I,GAChDoF,EAAY,SAAAsC,aAAQ,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACbD,KAAI/G,EAAA,CAAA,GACNqG,GAAaW,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACPD,EAAKV,IAAc,CACtB5D,SAAQuF,EAAAA,cAAAA,EAAAA,cAAA,GAAoC,QAA7BtD,UAAApF,EAAAyH,EAAKV,yBAAgB5D,gBAAQ,IAAAiC,EAAAA,EAAI,IAAK,GAAA,CAAA,CAAElF,GAAIyI,EAAAA,KAAQlJ,KAAM,eAAgB2D,OAAQ,CAACkF,GAAoBvF,SAAU,CAAEC,UAAW4F,KAAKC,UAAS,KAAAnI,GAEjK,EACN,EAoBMzB,EAAcK,EAAAA,YAChB,SAAOS,GAAe,OAAAP,iBAAA,OAAA,OAAA,EAAA,wEAGlB,OAFA6I,EAAgBtI,GApBCP,EAAAA,eAAA,OAAA,OAAA,EAAA,8EAGjB,8BADAiG,GAAkB,GACZ,CAAA,EAAA7B,mBAANlD,EAAAT,OACAkF,EAAY,SAAAsC,aAAQ,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACbD,KAAI/G,EAAA,CAAA,GACNqG,GAAaW,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACPD,EAAKV,IACR,CAAA5D,SAAcuF,EAAAA,cAAAA,EAAAA,cAAA,GAAkC,QAAjCtD,EAAqB,QAArBpF,EAAAyH,EAAKV,UAAgB,IAAA/G,OAAA,EAAAA,EAAAmD,gBAAY,IAAAiC,EAAAA,EAAA,IAAG,GAAA,CAAE,CAAElF,GAAIyI,EAAIG,KAAIrJ,KAAM,cAAe2D,OAAQ,CAAC3B,GAAoCsB,SAAU,CAAEC,UAAW4F,KAAKC,MAAOE,UAAWJ,EAAAA,SAAU,KAAAjI,GAEnM,kCAEFP,QAAQwH,MAAMqB,uBAEdvD,GAAkB,6BAQlB,CAAA,EAAMT,EAAgBjF,kBAAtBW,EAAAT,aACH,EAAA,EACD,CAAC+E,EAAiBqD,IAehBnJ,EAAkB,SAAC+J,GACrBrD,EAAa,SAAA6B,GAAQ,OAAAiB,EAAAA,cAAAA,EAAAA,cAAA,GAAIjB,GAAI,GAAA,CAAEwB,IAAI,EAAC,EACxC,EAMMC,EAAiB,WACnBtD,EAAa,GACjB,EA6CMuD,EAA4BpK,EAAc,CAAEE,YAAWA,EAAEC,gBAAeA,EAAEC,oBAjCpD,SAAOe,GAAU,OAAAV,EAAAA,eAAA,OAAA,OAAA,EAAA,kFAGzC,GAFM4J,EAAsB,CAAC/F,EAAiBC,EAAiBG,GAE3DN,EAASkG,eAAenJ,GAExB,OADAhB,EAAgB,CAAEO,KAAMX,QAAYA,aAACwK,cAAepJ,GAAEA,IAC/C,CAAA,oBAMP,8BAFAoF,GAAoB,GACpBpG,EAAgB,CAAEO,KAAMX,QAAYA,aAACwK,cAAepJ,GAAEA,IAChD,CAAA,EAAA0D,mBAANlD,EAAAT,OACMsJ,EAAeH,EAAoBI,KAAK,SAAAzE,GAAQ,OAAAA,EAAK7E,KAAOA,CAAZ,GAElDqJ,IACA3C,EAAc1G,EAAIqJ,EAAapG,SAASoE,IAAI,SAAAC,GAAK,OAAAA,EAAEtH,MACnDiF,EAAY,SAAAsC,SAAQ,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,GACbD,KAAI/G,EAAA,IACNR,GAAEwH,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACID,EAAKvH,IACR,CAAAiD,SAAUoG,EAAapG,SACvBlC,OAAQsI,EAAatI,OACrBM,SAAUgI,EAAahI,WAE7Bb,GARkB,mCAWxBP,QAAQwH,MAAM8B,uBAEdnE,GAAoB,8BAIyElG,oBAvCzE,WACxB8J,IAJA/D,EAAY,CAAE,GAMd+B,GACJ,IAmCQ7H,EAAQ8J,EAAA9J,SAAEiB,EAAW6I,EAAA7I,YAE7B,MAAO,CACHyE,KAAIA,EACJY,UAASA,EACTxC,SAAQA,EACRvC,cAAaA,EACboF,oBAAmBA,EACnB/E,OAAMA,EACNoE,iBAAgBA,EAChBG,eAAcA,EACdnG,SAAQA,EACRiB,YAAWA,EACXpB,gBAAeA,EACfwK,iBAjEqB,WACrB9D,EAAa,SAAA6B,GAAQ,OAAAA,EAAKkC,MAAM,GAAI,EAAf,EACzB,EAgEIC,iBAlFqB,WAAA,OAAApK,EAAAA,eAAA,OAAA,OAAA,EAAA,8EAGjB,8BADAyG,GAAuB,GACjB,CAAA,EAAArC,mBAANlD,EAAAT,OACA6F,EAAiBnF,kCAEjBR,QAAQwH,MAAMkC,uBAEd5D,GAAuB,8BA2E3BiD,eAAcA,EACdjK,YAAWA,EACXgG,KAAIA,EACJX,aAAYA,EACZC,cAAaA,EAErB,yECxM+B,iBACrBvE,EAAiE,QAA/BU,EAAAyD,EAAAA,WAAWH,UAAoB,IAAAtD,EAAAA,EAAI,CAAE,EAArE4D,EAAYtE,EAAAsE,aAAEC,kBACtB,IAAKD,IAAiBC,EAAe,MAAM,IAAIH,MAAM,4DACrD,MAAO,CAAEE,aAAYA,EAAEC,cAAaA,EACxC"}
@@ -0,0 +1,2 @@
1
+ import{__awaiter as t,__generator as e,__assign as a,__spreadArray as n}from"tslib";import{useCallback as s,useState as r,useRef as i,useMemo as o,useEffect as c,createContext as d,useContext as u}from"react";import{v4 as l}from"uuid";import{useChat as S,ChatEventName as h}from"@cleartrip/talos-use-chat";import{ActionType as E,WidgetType as p}from"@cleartrip/talos-widget-types";import{jsx as _}from"react/jsx-runtime";var T,y,v=function(a){var n=a.sendMessage,r=a.pushToChatStack,i=a.getPreviousChatById,o=a.handleCreateNewChat,c=s(function(a){return t(void 0,void 0,void 0,function(){var t,s,r,c;return e(this,function(e){switch(e.label){case 0:switch(t=a.type,s=a.payload,t){case E.SEND_MESSAGE:return[3,1];case E.GET_PREVIOUS_CHAT:return[3,3];case E.CREATE_NEW_CHAT:return[3,5]}return[3,6];case 1:return r=s.message,[4,n(r)];case 2:return e.sent(),[3,7];case 3:return c=s.id,[4,i(c)];case 4:return e.sent(),[3,7];case 5:return o(),[3,7];case 6:console.warn("[useChatAction] Unhandled action type: ".concat(a.type)),e.label=7;case 7:return[2]}})})},[n,r]),d=s(function(a){return t(void 0,void 0,void 0,function(){var t,n,s;return e(this,function(e){switch(e.label){case 0:t=0,n=a,e.label=1;case 1:return t<n.length?(s=n[t],[4,c(s)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},[c]);return{dispatch:c,dispatchAll:d}};!function(t){t.ON_GOING="ON_GOING",t.CLOSED="CLOSED"}(T||(T={})),function(t){t.CHAT="CHAT",t.PREVIOUS_CHAT_LISTING="PREVIOUS_CHAT_LISTING",t.PREVIOUS_CHAT="PREVIOUS_CHAT"}(y||(y={}));var A={previousChats:[{type:"PREVIOUS_CHAT_LISTING",data:{list:[{title:"Today",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Cancel booking",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_1"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_1"}}]}}]},{title:"Last 7 days",chats:[{type:"PREVIOUS_CHAT_CARD",data:{title:"Bus is delayed",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_2"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_2"}}]}},{type:"PREVIOUS_CHAT_CARD",data:{title:"I want to cancel booking for 2 passengers",status:{label:"closed",variant:"CLOSED"},dateAndTime:"11 Mar, 1:12 PM",id:"chat_id_3"},events:{onClick:[{type:"GET_PREVIOUS_CHAT",payload:{id:"chat_id_3"}}]}}]}]}}],pageData:{isActiveChat:!1}},C={type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},I={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[C],metaData:{createdAt:"1777552525693"}}],pageData:{isActiveChat:!0},status:"ON_GOING",id:"chat_id_1"},m={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Cancel booking",isActiveChat:!1},status:"CLOSED",id:"chat_id_1"},O={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[{type:"BOT_INTERACTION_WIDGET",data:{heading:{type:"HEADING",data:{content:[{text:"Your ticket has been successfully cancelled!",prefixIcon:"SUCCESS_TICK"}]}},dynamicSlot:{type:"TRIP_CARD",data:{title:"Kaveri Kamaksi Travels",description:"TRIP ID: Q28742382719",icon:"BUS_ICON",status:{label:"completed",id:"COMPLETED"},origin:{name:"Thiruvananthapuram",date:"Sat, 3 Sep",time:"03:30 PM"},destination:{name:"Bangalore",date:"Sun, 4 Sep",time:"12:30 AM"},duration:"10h 20m"},tracking:{}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"Bus is delayed",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_2"},f={type:"BOT_INTERACTION_WIDGET",data:{highlight:{type:"HIGHLIGHT",data:{text:"Refund: ₹580.00",variant:"PHONE",color:"SUCCESS"},events:{onClick:[]}},bodyContent:{type:"BODY_CONTENT",data:{content:[{text:"Please contact your bank for any details."},{text:"Is there anything else I can help you with?"}]}},listSelection:{type:"LIST_SELECT_OPTIONS",data:{options:[{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Operator cancelled the Bus"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}},{type:"LIST_SELECT_OPTION_ITEM",data:{label:"Get driver’s contact"},events:{onClick:[{type:"SEND_MESSAGE",payload:{}}]}}]},behavior:"HIDE_IF_NOT_LAST_MESSAGE"},workflowOptions:{}},metaData:{createdAt:"1777552525693"},events:{onLoad:[{type:"SHOW_NATIVE_ACTIONS"}]}},g={messages:[{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}},{type:"BOT_MESSAGE",id:"message_id_1",chunks:[f],metaData:{createdAt:"1777552525693"}},{type:"USER_MESSAGE",id:"message_id_2",chunks:[{type:"USER_MESSAGE",data:{text:"Hello, how are you?",media:[],files:[]}}],metaData:{createdAt:"1777552525693"}}],pageData:{title:"I want to cancel booking for 2 passengers",footerSlots:[{type:"MESSAGE_CONTAINER",data:{message:"This query was closed on 11 Mar, If you have a query regarding this trip, you can start a new chat."},behavior:"FIXED_BOTTOM"}],isActiveChat:!1},status:"CLOSED",id:"chat_id_3"},D=function(){return new Promise(function(t){return setTimeout(t,5e3)})},P=function(d){var u=S(d),E=u.chat,_=u.status,T=u.sendMessage,f=u.stop,P=r({}),N=P[0],M=P[1],G=r(!1),k=G[0],w=G[1],R=r(!1),b=R[0],L=R[1],H=r([]),U=H[0],B=H[1],x=r(null),V=x[0],K=x[1],W=r(!1),F=W[0],Y=W[1],q=i(new Map),Q=s(function(t,e){var a,n;return null!==(n=null===(a=q.current.get(t))||void 0===a?void 0:a.has(e))&&void 0!==n&&n},[]),X=s(function(t,e){var a=q.current.get(t);a||(a=new Set,q.current.set(t,a)),a.add(e)},[]),j=function(t,e){var a=q.current.get(t);a||(a=new Set,q.current.set(t,a)),e.forEach(function(t){return a.add(t)})},z=o(function(){var t;return(null===(t=U[U.length-1])||void 0===t?void 0:t.id)||""},[U]),J=function(){return t(void 0,void 0,void 0,function(){var t,n,s,r,i;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),w(!0),n=(t=I).messages,s=t.status,r=t.id,B([{type:y.CHAT,id:r}]),[4,D()];case 1:return e.sent(),j(r,n.map(function(t){return t.id})),M(function(t){var e;return a(a({},t),((e={})[r]={messages:n,status:s,id:r},e))}),[3,4];case 2:return i=e.sent(),console.error(i),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})};c(function(){J()},[]);var Z=s(function(t){t.chunk,t.chatId},[]);c(function(){var t=E.on(h.CHUNK,Z);return function(){t()}},[E,Z]);var $=function(t){var e=function(t){return{type:p.USER_MESSAGE,data:{text:t}}}(t);M(function(t){var s,r,i;return a(a({},t),((s={})[z]=a(a({},t[z]),{messages:n(n([],null!==(i=null===(r=t[z])||void 0===r?void 0:r.messages)&&void 0!==i?i:[],!0),[{id:l(),type:"USER_MESSAGE",chunks:[e],metaData:{createdAt:Date.now()}}],!1)}),s))})},tt=s(function(s){return t(void 0,void 0,void 0,function(){return e(this,function(r){switch(r.label){case 0:return $(s),t(void 0,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),L(!0),[4,D()];case 1:return e.sent(),M(function(t){var e,s,r;return a(a({},t),((e={})[z]=a(a({},t[z]),{messages:n(n([],null!==(r=null===(s=t[z])||void 0===s?void 0:s.messages)&&void 0!==r?r:[],!0),[{id:l(),type:"BOT_MESSAGE",chunks:[C],metaData:{createdAt:Date.now(),messageId:l()}}],!1)}),e))}),[3,4];case 2:return t=e.sent(),console.error(t),[3,4];case 3:return L(!1),[7];case 4:return[2]}})}),[4,T(s)];case 1:return r.sent(),[2]}})})},[T,$]),et=function(t){B(function(e){return n(n([],e,!0),[t],!1)})},at=function(){B([])},nt=v({sendMessage:tt,pushToChatStack:et,getPreviousChatById:function(n){return t(void 0,void 0,void 0,function(){var t,s,r;return e(this,function(e){switch(e.label){case 0:if(t=[m,O,g],N.hasOwnProperty(n))return et({type:y.PREVIOUS_CHAT,id:n}),[2];e.label=1;case 1:return e.trys.push([1,3,4,5]),w(!0),et({type:y.PREVIOUS_CHAT,id:n}),[4,D()];case 2:return e.sent(),s=t.find(function(t){return t.id===n}),s&&(j(n,s.messages.map(function(t){return t.id})),M(function(t){var e;return a(a({},t),((e={})[n]=a(a({},t[n]),{messages:s.messages,status:s.status,pageData:s.pageData}),e))})),[3,5];case 3:return r=e.sent(),console.error(r),[3,5];case 4:return w(!1),[7];case 5:return[2]}})})},handleCreateNewChat:function(){at(),M({}),J()}}),st=nt.dispatch,rt=nt.dispatchAll;return{chat:E,chatStack:U,messages:N,previousChats:V,previousChatLoading:F,status:_,isInitialLoading:k,isReplyLoading:b,dispatch:st,dispatchAll:rt,pushToChatStack:et,popFromChatStack:function(){B(function(t){return t.slice(0,-1)})},getPreviousChats:function(){return t(void 0,void 0,void 0,function(){var t;return e(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,3,4]),Y(!0),[4,D()];case 1:return e.sent(),K(A),[3,4];case 2:return t=e.sent(),console.error(t),[3,4];case 3:return Y(!1),[7];case 4:return[2]}})})},clearChatStack:at,sendMessage:tt,stop:f,hasPresented:Q,markPresented:X}},N=d(null),M=function(t){var e=t.dispatch,n=t.dispatchAll,s=t.hasPresented,r=t.markPresented,i=t.children;return _(N.Provider,a({value:{dispatch:e,dispatchAll:n,hasPresented:s,markPresented:r}},{children:i}))},G=function(){var t,e=(null!==(t=u(N))&&void 0!==t?t:{}).dispatch;if(!e)throw new Error("useDispatch must be used within ChatDispatchProvider");return e},k=function(){var t,e=(null!==(t=u(N))&&void 0!==t?t:{}).dispatchAll;if(!e)throw new Error("useDispatchAll must be used within ChatDispatchProvider");return e},w=function(){return{dispatch:G(),dispatchAll:k()}},R=function(){var t,e=null!==(t=u(N))&&void 0!==t?t:{},a=e.hasPresented,n=e.markPresented;if(!a||!n)throw new Error("usePresentation must be used within ChatDispatchProvider");return{hasPresented:a,markPresented:n}},b=function(){var t,e=null!==(t=u(N))&&void 0!==t?t:{},a=e.dispatch,n=e.dispatchAll,s=e.hasPresented,r=e.markPresented;if(!(a&&n&&s&&r))throw new Error("useChatContext must be used within ChatDispatchProvider");return{dispatch:a,dispatchAll:n,hasPresented:s,markPresented:r}};export{M as ChatDispatchProvider,y as ChatPageType,T as ChatStatus,w as useAppDispatch,v as useChatAction,b as useChatContext,P as useChatController,G as useDispatch,k as useDispatchAll,R as usePresentation};
2
+ //# sourceMappingURL=talos-use-chat-controller.browser.esm.js.map