@chainlit/react-client 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -23,57 +23,55 @@ type IElementSize = 'small' | 'medium' | 'large';
23
23
  interface TElement<T> {
24
24
  id: string;
25
25
  type: T;
26
- conversationId?: string;
27
- forIds?: string[];
26
+ threadId?: string;
27
+ forId: string;
28
+ mime?: string;
28
29
  url?: string;
30
+ chainlitKey?: string;
29
31
  }
30
32
  interface TMessageElement<T> extends TElement<T> {
31
33
  name: string;
32
34
  display: 'inline' | 'side' | 'page';
33
35
  }
34
36
  interface IImageElement extends TMessageElement<'image'> {
35
- content?: ArrayBuffer;
36
37
  size?: IElementSize;
37
38
  }
38
39
  interface IAvatarElement extends TElement<'avatar'> {
39
40
  name: string;
40
- content?: ArrayBuffer;
41
41
  }
42
42
  interface ITextElement extends TMessageElement<'text'> {
43
- content?: string;
44
43
  language?: string;
45
44
  }
46
45
  interface IPdfElement extends TMessageElement<'pdf'> {
47
- content?: string;
48
46
  }
49
47
  interface IAudioElement extends TMessageElement<'audio'> {
50
- content?: ArrayBuffer;
51
48
  }
52
49
  interface IVideoElement extends TMessageElement<'video'> {
53
- content?: ArrayBuffer;
54
50
  size?: IElementSize;
55
51
  }
56
52
  interface IFileElement extends TMessageElement<'file'> {
57
53
  type: 'file';
58
- mime?: string;
59
- content?: ArrayBuffer;
60
54
  }
61
55
  interface IPlotlyElement extends TMessageElement<'plotly'> {
62
- content?: string;
63
56
  }
64
57
  interface ITasklistElement extends TElement<'tasklist'> {
65
- content?: string;
66
58
  }
67
59
 
68
- interface IBaseTemplate {
69
- template?: string;
70
- formatted?: string;
71
- template_format: string;
60
+ interface IFeedback {
61
+ id?: string;
62
+ forId?: string;
63
+ comment?: string;
64
+ strategy: 'BINARY';
65
+ value: number;
72
66
  }
73
- type PromptMessageRole = 'system' | 'assistant' | 'user' | 'function';
67
+
68
+ type GenerationMessageRole = 'system' | 'assistant' | 'user' | 'function' | 'tool';
74
69
  type ILLMSettings = Record<string, string | string[] | number | boolean>;
75
- interface IPromptMessage extends IBaseTemplate {
76
- role: PromptMessageRole;
70
+ interface IGenerationMessage {
71
+ template?: string;
72
+ formatted?: string;
73
+ templateFormat: string;
74
+ role: GenerationMessageRole;
77
75
  name?: string;
78
76
  }
79
77
  interface IFunction {
@@ -91,38 +89,49 @@ interface ITool {
91
89
  type: string;
92
90
  function: IFunction;
93
91
  }
94
- interface IPrompt extends IBaseTemplate {
92
+ interface IBaseGeneration {
95
93
  provider: string;
96
94
  id?: string;
97
95
  inputs?: Record<string, string>;
98
96
  completion?: string;
99
97
  settings?: ILLMSettings;
100
98
  functions?: IFunction[];
101
- messages?: IPromptMessage[];
99
+ tokenCount?: number;
102
100
  }
103
- interface IMessage {
104
- author: string;
105
- authorIsUser?: boolean;
106
- content?: string;
107
- createdAt: number | string;
108
- disableHumanFeedback?: boolean;
109
- elements?: IFileElement[];
110
- humanFeedback?: number;
111
- humanFeedbackComment?: string;
101
+ interface ICompletionGeneration extends IBaseGeneration {
102
+ type: 'COMPLETION';
103
+ template?: string;
104
+ formatted?: string;
105
+ templateFormat: string;
106
+ }
107
+ interface IChatGeneration extends IBaseGeneration {
108
+ type: 'CHAT';
109
+ messages?: IGenerationMessage[];
110
+ }
111
+ type IGeneration = ICompletionGeneration | IChatGeneration;
112
+
113
+ type StepType = 'assistant_message' | 'user_message' | 'system_message' | 'run' | 'tool' | 'llm' | 'embedding' | 'retrieval' | 'rerank' | 'undefined';
114
+ interface IStep {
112
115
  id: string;
113
- indent?: number;
116
+ name: string;
117
+ type: StepType;
118
+ threadId?: string;
119
+ parentId?: string;
114
120
  isError?: boolean;
121
+ showInput?: boolean | string;
122
+ waitForAnswer?: boolean;
123
+ input?: string;
124
+ output: string;
125
+ createdAt: number | string;
126
+ start?: number | string;
127
+ end?: number | string;
128
+ disableFeedback?: boolean;
129
+ feedback?: IFeedback;
115
130
  language?: string;
116
- parentId?: string;
117
- prompt?: IPrompt;
118
131
  streaming?: boolean;
119
- waitForAnswer?: boolean;
120
- subMessages?: IMessage[];
121
- }
122
- interface IMessageContent {
123
- elements: IMessageElement[];
124
- message: IMessage;
125
- preserveSize?: boolean;
132
+ generation?: IGeneration;
133
+ steps?: IStep[];
134
+ indent?: number;
126
135
  }
127
136
 
128
137
  interface FileSpec {
@@ -133,57 +142,51 @@ interface FileSpec {
133
142
  interface ActionSpec {
134
143
  keys?: string[];
135
144
  }
136
- interface IFileResponse {
137
- name: string;
138
- path?: string;
139
- size: number;
140
- type: string;
141
- content: ArrayBuffer;
145
+ interface IFileRef {
146
+ id: string;
142
147
  }
143
148
  interface IAsk {
144
- callback: (payload: IMessage | IFileResponse[] | IAction) => void;
149
+ callback: (payload: IStep | IFileRef[] | IAction) => void;
145
150
  spec: {
146
151
  type: 'text' | 'file' | 'action';
147
152
  timeout: number;
148
153
  } & FileSpec & ActionSpec;
149
154
  }
150
155
 
151
- type Role = 'USER' | 'ADMIN' | 'OWNER' | 'ANONYMOUS';
152
- type AppUserProvider = 'credentials' | 'header' | 'github' | 'google' | 'azure-ad';
153
- interface IAppUser {
154
- id: string;
155
- username: string;
156
- role: Role;
156
+ type AuthProvider = 'credentials' | 'header' | 'github' | 'google' | 'azure-ad';
157
+ interface IUserMetadata extends Record<string, any> {
157
158
  tags?: string[];
158
159
  image?: string;
159
- provider?: AppUserProvider;
160
+ provider?: AuthProvider;
161
+ }
162
+ interface IUser {
163
+ id: string;
164
+ identifier: string;
165
+ metadata: IUserMetadata;
160
166
  }
161
167
 
162
- interface IConversation {
168
+ interface IThread {
163
169
  id: string;
164
170
  createdAt: number | string;
165
- appUser?: IAppUser;
171
+ user?: IUser;
166
172
  metadata?: Record<string, any>;
167
- messages: IMessage[];
168
- elements: IElement[];
173
+ steps: IStep[];
174
+ elements?: IElement[];
169
175
  }
170
176
 
171
- type MessageHistory = {
177
+ type UserInput = {
172
178
  content: string;
173
179
  createdAt: number;
174
180
  };
175
- type ConversationsHistory = {
176
- conversations?: IConversation[];
177
- currentConversationId?: string;
178
- groupedConversations?: {
179
- [key: string]: IConversation[];
181
+ type ThreadHistory = {
182
+ threads?: IThread[];
183
+ currentThreadId?: string;
184
+ timeGroupedThreads?: {
185
+ [key: string]: IThread[];
180
186
  };
181
187
  pageInfo?: IPageInfo;
182
188
  };
183
189
 
184
- interface IMessageUpdate extends IMessage {
185
- newId?: string;
186
- }
187
190
  interface IToken {
188
191
  id: number | string;
189
192
  token: string;
@@ -204,55 +207,14 @@ declare const useChatData: () => {
204
207
  tasklists: ITasklistElement[];
205
208
  };
206
209
 
207
- declare const useChatInteract: () => {
208
- callAction: (action: IAction) => void;
209
- clear: () => void;
210
- replyMessage: (message: IMessage) => void;
211
- sendMessage: (message: IMessage, files?: IFileElement[]) => void;
212
- stopTask: () => void;
213
- setIdToResume: recoil.SetterOrUpdater<string | undefined>;
214
- updateChatSettings: (values: object) => void;
215
- };
216
-
217
- declare const useChatMessages: () => {
218
- messages: IMessage[];
219
- firstUserMessage: IMessage | undefined;
220
- };
221
-
222
- declare const useChatSession: () => {
223
- connect: lodash.DebouncedFunc<({ wsEndpoint, userEnv, accessToken }: {
224
- wsEndpoint: string;
225
- userEnv: Record<string, string>;
226
- accessToken?: string | undefined;
227
- }) => void>;
228
- disconnect: () => void;
229
- chatProfile: string | undefined;
230
- setChatProfile: recoil.SetterOrUpdater<string | undefined>;
231
- };
232
-
233
210
  declare const useAuth: (apiClient: ChainlitAPI) => {
234
- data: {
235
- requireLogin: boolean;
236
- passwordAuth: boolean;
237
- headerAuth: boolean;
238
- oauthProviders: string[];
239
- };
240
- user: null;
241
- role: string;
242
- isReady: boolean;
243
- isAuthenticated: boolean;
244
- accessToken: string;
245
- logout: () => void;
246
- setAccessToken: () => void;
247
- } | {
248
211
  data: {
249
212
  requireLogin: boolean;
250
213
  passwordAuth: boolean;
251
214
  headerAuth: boolean;
252
215
  oauthProviders: string[];
253
216
  } | undefined;
254
- user: IAppUser | null;
255
- role: Role | undefined;
217
+ user: IUser | null;
256
218
  isAuthenticated: boolean;
257
219
  isReady: boolean;
258
220
  accessToken: string | undefined;
@@ -263,8 +225,7 @@ declare const useAuth: (apiClient: ChainlitAPI) => {
263
225
  declare const fetcher: (client: ChainlitAPI, endpoint: string, token?: string) => Promise<any>;
264
226
  declare function useApi<T>(client: ChainlitAPI, path: string | null, options?: SWRConfiguration): swr__internal.SWRResponse<T, Error, Partial<swr__internal.PublicConfiguration<T, Error, swr__internal.BareFetcher<T>>> | undefined>;
265
227
 
266
- interface IConversationsFilters {
267
- authorEmail?: string;
228
+ interface IThreadFilters {
268
229
  search?: string;
269
230
  feedback?: number;
270
231
  }
@@ -299,27 +260,74 @@ declare class APIBase {
299
260
  declare class ChainlitAPI extends APIBase {
300
261
  headerAuth(): Promise<any>;
301
262
  passwordAuth(data: FormData): Promise<any>;
302
- getCompletion(prompt: IPrompt, userEnv: {} | undefined, controller: AbortController, accessToken?: string, tokenCb?: (done: boolean, token: string) => void): Promise<ReadableStream<any>>;
303
- setHumanFeedback(messageId: string, feedback: number, feedbackComment?: string, accessToken?: string): Promise<void>;
304
- getConversations(pagination: IPagination, filter: IConversationsFilters, accessToken?: string): Promise<{
263
+ getGeneration(generation: IGeneration, userEnv: {} | undefined, controller: AbortController, accessToken?: string, tokenCb?: (done: boolean, token: string) => void): Promise<ReadableStream<any>>;
264
+ setFeedback(feedback: IFeedback, accessToken?: string): Promise<{
265
+ success: boolean;
266
+ feedbackId: string;
267
+ }>;
268
+ listThreads(pagination: IPagination, filter: IThreadFilters, accessToken?: string): Promise<{
305
269
  pageInfo: IPageInfo;
306
- data: IConversation[];
270
+ data: IThread[];
307
271
  }>;
308
- deleteConversation(conversationId: string, accessToken?: string): Promise<any>;
272
+ deleteThread(threadId: string, accessToken?: string): Promise<any>;
273
+ uploadFile(file: File, onProgress: (progress: number) => void, sessionId: string, token?: string): {
274
+ xhr: XMLHttpRequest;
275
+ promise: Promise<{
276
+ id: string;
277
+ }>;
278
+ };
279
+ getElementUrl(id: string, sessionId: string, accessToken?: string): string;
309
280
  getLogoEndpoint(theme: string): string;
310
281
  getOAuthEndpoint(provider: string): string;
311
282
  }
312
283
 
284
+ declare const useChatInteract: () => {
285
+ uploadFile: (client: ChainlitAPI, file: File, onProgress: (progress: number) => void) => {
286
+ xhr: XMLHttpRequest;
287
+ promise: Promise<{
288
+ id: string;
289
+ }>;
290
+ };
291
+ callAction: (action: IAction) => Promise<{
292
+ id: string;
293
+ status: boolean;
294
+ response?: string | undefined;
295
+ }> | undefined;
296
+ clear: () => void;
297
+ replyMessage: (message: IStep) => void;
298
+ sendMessage: (message: IStep, fileReferences?: IFileRef[]) => void;
299
+ stopTask: () => void;
300
+ setIdToResume: recoil.SetterOrUpdater<string | undefined>;
301
+ updateChatSettings: (values: object) => void;
302
+ };
303
+
304
+ declare const useChatMessages: () => {
305
+ messages: IStep[];
306
+ firstUserMessage: IStep | undefined;
307
+ };
308
+
309
+ declare const useChatSession: () => {
310
+ connect: lodash.DebouncedFunc<({ client, userEnv, accessToken }: {
311
+ client: ChainlitAPI;
312
+ userEnv: Record<string, string>;
313
+ accessToken?: string | undefined;
314
+ }) => void>;
315
+ disconnect: () => void;
316
+ chatProfile: string | undefined;
317
+ idToResume: string | undefined;
318
+ setChatProfile: recoil.SetterOrUpdater<string | undefined>;
319
+ };
320
+
313
321
  interface ISession {
314
322
  socket: Socket;
315
323
  error?: boolean;
316
324
  }
317
- declare const conversationIdToResumeState: recoil.RecoilState<string | undefined>;
325
+ declare const threadIdToResumeState: recoil.RecoilState<string | undefined>;
318
326
  declare const chatProfileState: recoil.RecoilState<string | undefined>;
319
327
  declare const sessionIdState: recoil.RecoilState<string>;
320
328
  declare const sessionState: recoil.RecoilState<ISession | undefined>;
321
329
  declare const actionState: recoil.RecoilState<IAction[]>;
322
- declare const messagesState: recoil.RecoilState<IMessage[]>;
330
+ declare const messagesState: recoil.RecoilState<IStep[]>;
323
331
  declare const tokenCountState: recoil.RecoilState<number>;
324
332
  declare const loadingState: recoil.RecoilState<boolean>;
325
333
  declare const askUserState: recoil.RecoilState<IAsk | undefined>;
@@ -329,19 +337,18 @@ declare const chatSettingsValueState: recoil.RecoilState<any>;
329
337
  declare const elementState: recoil.RecoilState<IMessageElement[]>;
330
338
  declare const avatarState: recoil.RecoilState<IAvatarElement[]>;
331
339
  declare const tasklistState: recoil.RecoilState<ITasklistElement[]>;
332
- declare const firstUserMessageState: recoil.RecoilState<IMessage | undefined>;
340
+ declare const firstUserMessageState: recoil.RecoilState<IStep | undefined>;
333
341
  declare const accessTokenState: recoil.RecoilState<string | undefined>;
334
- declare const roleState: recoil.RecoilState<Role>;
335
- declare const userState: recoil.RecoilState<IAppUser | null>;
336
- declare const conversationsHistoryState: recoil.RecoilState<ConversationsHistory | undefined>;
342
+ declare const userState: recoil.RecoilState<IUser | null>;
343
+ declare const threadHistoryState: recoil.RecoilState<ThreadHistory | undefined>;
337
344
 
338
- declare const nestMessages: (messages: IMessage[]) => IMessage[];
339
- declare const isLastMessage: (messages: IMessage[], index: number) => boolean;
340
- declare const addMessage: (messages: IMessage[], message: IMessage) => IMessage[];
341
- declare const addMessageToParent: (messages: IMessage[], parentId: string, newMessage: IMessage) => IMessage[];
342
- declare const hasMessageById: (messages: IMessage[], messageId: string) => boolean;
343
- declare const updateMessageById: (messages: IMessage[], messageId: string, updatedMessage: IMessage) => IMessage[];
344
- declare const deleteMessageById: (messages: IMessage[], messageId: string) => IMessage[];
345
- declare const updateMessageContentById: (messages: IMessage[], messageId: number | string, updatedContent: string, isSequence: boolean) => IMessage[];
345
+ declare const nestMessages: (messages: IStep[]) => IStep[];
346
+ declare const isLastMessage: (messages: IStep[], index: number) => boolean;
347
+ declare const addMessage: (messages: IStep[], message: IStep) => IStep[];
348
+ declare const addMessageToParent: (messages: IStep[], parentId: string, newMessage: IStep) => IStep[];
349
+ declare const hasMessageById: (messages: IStep[], messageId: string) => boolean;
350
+ declare const updateMessageById: (messages: IStep[], messageId: string, updatedMessage: IStep) => IStep[];
351
+ declare const deleteMessageById: (messages: IStep[], messageId: string) => IStep[];
352
+ declare const updateMessageContentById: (messages: IStep[], messageId: number | string, updatedContent: string, isSequence: boolean) => IStep[];
346
353
 
347
- export { APIBase, ActionSpec, AppUserProvider, ChainlitAPI, ClientError, ConversationsHistory, ElementType, FileSpec, IAction, IAppUser, IAsk, IAudioElement, IAvatarElement, IConversation, IConversationsFilters, IElement, IElementSize, IFileElement, IFileResponse, IFunction, IImageElement, ILLMSettings, IMessage, IMessageContent, IMessageElement, IMessageUpdate, IPageInfo, IPagination, IPdfElement, IPlotlyElement, IPrompt, IPromptMessage, ISession, ITasklistElement, ITextElement, IToken, ITool, IVideoElement, MessageHistory, PromptMessageRole, Role, accessTokenState, actionState, addMessage, addMessageToParent, askUserState, avatarState, chatProfileState, chatSettingsDefaultValueSelector, chatSettingsInputsState, chatSettingsValueState, conversationIdToResumeState, conversationsHistoryState, deleteMessageById, elementState, fetcher, firstUserMessageState, hasMessageById, isLastMessage, loadingState, messagesState, nestMessages, roleState, sessionIdState, sessionState, tasklistState, tokenCountState, updateMessageById, updateMessageContentById, useApi, useAuth, useChatData, useChatInteract, useChatMessages, useChatSession, userState };
354
+ export { APIBase, ActionSpec, AuthProvider, ChainlitAPI, ClientError, ElementType, FileSpec, GenerationMessageRole, IAction, IAsk, IAudioElement, IAvatarElement, IBaseGeneration, IChatGeneration, ICompletionGeneration, IElement, IElementSize, IFeedback, IFileElement, IFileRef, IFunction, IGeneration, IGenerationMessage, IImageElement, ILLMSettings, IMessageElement, IPageInfo, IPagination, IPdfElement, IPlotlyElement, ISession, IStep, ITasklistElement, ITextElement, IThread, IThreadFilters, IToken, ITool, IUser, IUserMetadata, IVideoElement, ThreadHistory, UserInput, accessTokenState, actionState, addMessage, addMessageToParent, askUserState, avatarState, chatProfileState, chatSettingsDefaultValueSelector, chatSettingsInputsState, chatSettingsValueState, deleteMessageById, elementState, fetcher, firstUserMessageState, hasMessageById, isLastMessage, loadingState, messagesState, nestMessages, sessionIdState, sessionState, tasklistState, threadHistoryState, threadIdToResumeState, tokenCountState, updateMessageById, updateMessageContentById, useApi, useAuth, useChatData, useChatInteract, useChatMessages, useChatSession, userState };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function o(e,t,n,r,o,a,u){try{var i=e[a](u);var s=i.value}catch(e){n(e);return}if(i.done){t(s)}else{Promise.resolve(s).then(r,o)}}function a(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var u=e.apply(t,n);function i(e){o(u,r,a,i,s,"next",e)}function s(e){o(u,r,a,i,s,"throw",e)}i(undefined)})}}function u(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function i(e,t,n){if(P()){i=Reflect.construct}else{i=function e(e,t,n){var r=[null];r.push.apply(r,t);var o=Function.bind.apply(e,r);var a=new o;if(n)O(a,n.prototype);return a}}return i.apply(null,arguments)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)s(e.prototype,t);if(n)s(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)O(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function h(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function y(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var u,i;try{for(n=n.call(e);!(o=(u=n.next()).done);o=true){r.push(u.value);if(t&&r.length===t)break}}catch(e){a=true;i=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw i}}return r}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function k(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function w(e,t){if(e==null)return{};var n=R(e,t);var r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++){r=a[o];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function R(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var o,a;for(a=0;a<r.length;a++){o=r[a];if(t.indexOf(o)>=0)continue;n[o]=e[o]}return n}function x(e,t){if(t&&(j(t)==="object"||typeof t==="function")){return t}return r(e)}function O(e,t){O=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return O(e,t)}function M(e,n){return t(e)||y(e,n)||I(e,n)||g()}function C(e){return n(e)||h(e)||I(e)||b()}function j(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function I(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function E(e){var t=typeof Map==="function"?new Map:undefined;E=function e(e){if(e===null||!p(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return i(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return O(n,e)};return E(e)}function P(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _(e){var t=P();return function n(){var n=f(e),r;if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else{r=n.apply(this,arguments)}return x(this,r)}}function A(e,t){var n,r,o,a,u={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return(a={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a);function i(e){return function(t){return s([e,t])}}function s(a){if(n)throw new TypeError("Generator is already executing.");while(u)try{if(n=1,r&&(o=a[0]&2?r["return"]:a[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;if(r=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:u.label++;return{value:a[1],done:false};case 5:u.label++;r=a[1];a=[0];continue;case 7:a=u.ops.pop();u.trys.pop();continue;default:if(!(o=u.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){u=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){u.label=a[1];break}if(a[0]===6&&u.label<o[1]){u.label=o[1];o=a;break}if(o&&u.label<o[2]){u.label=o[2];u.ops.push(a);break}if(o[2])u.ops.pop();u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e];r=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var T=require("recoil");var D=require("lodash/isEqual");var V=require("uuid");var q=require("react");var U=require("lodash/debounce");var B=require("socket.io-client");var L=require("jwt-decode");var F=require("swr");function H(e){return e&&e.__esModule?e:{default:e}}var N=/*#__PURE__*/H(D);var X=/*#__PURE__*/H(U);var z=/*#__PURE__*/H(B);var G=/*#__PURE__*/H(L);var J=/*#__PURE__*/H(F);var W=function(e){var t={},n=new Date,r=new Date;r.setDate(n.getDate()-1);var o=new Date;o.setDate(n.getDate()-7);var a=new Date;return a.setDate(n.getDate()-30),e.forEach(function(e){var u=new Date(e.createdAt),i=u.toDateString()===n.toDateString(),s=u.toDateString()===r.toDateString(),c=u>=o,l=u>=a,f;i?f="Today":s?f="Yesterday":c?f="Previous 7 days":l?f="Previous 30 days":f=u.toLocaleString("default",{month:"long",year:"numeric"}).split(" ").slice(0,1).join(" "),t[f]||(t[f]=[]),t[f].push(e)}),t};var Y=T.atom({key:"ConversationIdToResume",default:void 0}),$=T.atom({key:"ChatProfile",default:void 0}),K=T.atom({key:"SessionId",default:V.v4()}),Q=T.selector({key:"SessionIdSelector",get:function(e){var t=e.get;return t(K)},set:function(e,t){var n=e.set;return n(K,v(t,T.DefaultValue)?V.v4():t)}}),Z=T.atom({key:"Session",dangerouslyAllowMutability:!0,default:void 0}),ee=T.atom({key:"Actions",default:[]}),et=T.atom({key:"Messages",dangerouslyAllowMutability:!0,default:[]}),en=T.atom({key:"TokenCount",default:0}),er=T.atom({key:"Loading",default:!1}),eo=T.atom({key:"AskUser",default:void 0}),ea=T.atom({key:"ChatSettings",default:[]}),eu=T.selector({key:"ChatSettingsValue/Default",get:function(e){var t=e.get;return t(ea).reduce(function(e,t){return e[t.id]=t.initial,e},{})}}),ei=T.atom({key:"ChatSettingsValue",default:eu}),es=T.atom({key:"DisplayElements",default:[]}),ec=T.atom({key:"AvatarElements",default:[]}),el=T.atom({key:"TasklistElements",default:[]}),ef=T.atom({key:"FirstUserMessage",default:void 0}),ed=T.atom({key:"AccessToken",default:void 0}),ev=T.atom({key:"Role",default:void 0}),ep=T.atom({key:"User",default:null}),eh=T.atom({key:"ConversationsHistory",default:{conversations:void 0,currentConversationId:void 0,groupedConversations:void 0,pageInfo:void 0},effects:[function(e){var t=e.setSelf,n=e.onSet;n(function(e,n){var r=e===null||e===void 0?void 0:e.groupedConversations;(e===null||e===void 0?void 0:e.conversations)&&!N.default(e.conversations,n===null||n===void 0?void 0:n.groupedConversations)&&(r=W(e.conversations)),t(k(S({},e),{groupedConversations:r}))})}]});var ey=function(){var e=T.useRecoilValue(er),t=T.useRecoilValue(es),n=T.useRecoilValue(ec),r=T.useRecoilValue(el),o=T.useRecoilValue(ee),a=T.useRecoilValue(Z),u=T.useRecoilValue(eo),i=T.useRecoilValue(ea),s=T.useRecoilValue(ei),c=T.useRecoilValue(eu),l=(a===null||a===void 0?void 0:a.socket.connected)&&!(a===null||a===void 0?void 0:a.error),f=!l||e||(u===null||u===void 0?void 0:u.spec.type)==="file"||(u===null||u===void 0?void 0:u.spec.type)==="action";return{actions:o,askUser:u,avatars:n,chatSettingsDefaultValue:c,chatSettingsInputs:i,chatSettingsValue:s,connected:l,disabled:f,elements:t,error:a===null||a===void 0?void 0:a.error,loading:e,tasklists:r}};var eg=function(e){var t=[];var n=true,r=false,o=undefined;try{for(var a=e[Symbol.iterator](),u;!(n=(u=a.next()).done);n=true){var i=u.value;t=eS(t,i)}}catch(e){r=true;o=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return t},eb=function(e,t){if(e.length-1===t)return!0;for(var n=t+1;n<e.length;n++)if(!e[n].streaming)return!1;return!0},eS=function(e,t){return ew(e,t.id)?eR(e,t.id,t):t.parentId?ek(e,t.parentId,t):t.indent&&t.indent>0?em(e,t.indent,t):C(e).concat([t])},em=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;var o=C(e);if(o.length===0)return C(o).concat([n]);{var a=o.length-1,u=o[a];return u.subMessages=u.subMessages||[],r+1===t?(u.subMessages=C(u.subMessages).concat([n]),o[a]=S({},u),o):(u.subMessages=em(u.subMessages,t,n,r+1),o[a]=S({},u),o)}},ek=function(e,t,n){var r=C(e);for(var o=0;o<r.length;o++){var a=r[o];N.default(a.id,t)?(a.subMessages=a.subMessages?C(a.subMessages).concat([n]):[n],r[o]=S({},a)):ew(r,t)&&a.subMessages&&(a.subMessages=ek(a.subMessages,t,n),r[o]=S({},a))}return r},ew=function(e,t){var n=true,r=false,o=undefined;try{for(var a=e[Symbol.iterator](),u;!(n=(u=a.next()).done);n=true){var i=u.value;if(N.default(i.id,t))return!0;if(i.subMessages&&i.subMessages.length>0&&ew(i.subMessages,t))return!0}}catch(e){r=true;o=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return!1},eR=function(e,t,n){var r=C(e);for(var o=0;o<r.length;o++){var a=r[o];N.default(a.id,t)?r[o]=S({subMessages:a.subMessages},n):ew(r,t)&&a.subMessages&&(a.subMessages=eR(a.subMessages,t,n),r[o]=S({},a))}return r},ex=function(e,t){var n=C(e);for(var r=0;r<n.length;r++){var o=n[r];o.id===t?n=C(n.slice(0,r)).concat(C(n.slice(r+1))):ew(n,t)&&o.subMessages&&(o.subMessages=ex(o.subMessages,t),n[r]=S({},o))}return n},eO=function(e,t,n,r){var o=C(e);for(var a=0;a<o.length;a++){var u=o[a];N.default(u.id,t)?(r?u.content=n:u.content+=n,o[a]=S({},u)):u.subMessages&&(u.subMessages=eO(u.subMessages,t,n,r),o[a]=S({},u))}return o};var eM=function(){var e=T.useRecoilValue(Z),t=T.useRecoilValue(eo),n=T.useResetRecoilState(ea),r=T.useResetRecoilState(Q),o=T.useResetRecoilState(ei),a=T.useSetRecoilState(ef),u=T.useSetRecoilState(er),i=T.useSetRecoilState(et),s=T.useSetRecoilState(es),c=T.useSetRecoilState(ec),l=T.useSetRecoilState(el),f=T.useSetRecoilState(ee),d=T.useSetRecoilState(en),v=T.useSetRecoilState(Y),p=q.useCallback(function(){e===null||e===void 0?void 0:e.socket.emit("clear_session"),e===null||e===void 0?void 0:e.socket.disconnect(),v(void 0),r(),a(void 0),i([]),s([]),c([]),l([]),f([]),d(0),n(),o()},[e]),h=q.useCallback(function(t,n){i(function(e){return eS(e,t)}),e===null||e===void 0?void 0:e.socket.emit("ui_message",{message:t,files:n})},[e]),y=q.useCallback(function(e){t&&(i(function(t){return eS(t,e)}),t.callback(e))},[t,e]),g=q.useCallback(function(t){e===null||e===void 0?void 0:e.socket.emit("chat_settings_change",t)},[e]),b=q.useCallback(function(){u(!1),e===null||e===void 0?void 0:e.socket.emit("stop")},[e]);return{callAction:q.useCallback(function(t){e===null||e===void 0?void 0:e.socket.emit("action_call",t)},[e]),clear:p,replyMessage:y,sendMessage:h,stopTask:b,setIdToResume:v,updateChatSettings:g}};var eC=function(){var e=T.useRecoilValue(et),t=T.useRecoilValue(ef);return{messages:e,firstUserMessage:t}};var ej=function(){var e=T.useRecoilValue(Q),t=M(T.useRecoilState(Z),2),n=t[0],r=t[1],o=T.useResetRecoilState(ei),a=T.useSetRecoilState(ef),u=T.useSetRecoilState(er),i=T.useSetRecoilState(et),s=T.useSetRecoilState(eo),c=T.useSetRecoilState(es),l=T.useSetRecoilState(ec),f=T.useSetRecoilState(el),d=T.useSetRecoilState(ee),v=T.useSetRecoilState(ea),p=T.useSetRecoilState(en),h=M(T.useRecoilState($),2),y=h[0],g=h[1],b=T.useRecoilValue(Y),m=q.useCallback(function(t){var n=t.wsEndpoint,h=t.userEnv,m=t.accessToken;var w=z.default(n,{path:"/ws/socket.io",extraHeaders:{Authorization:m||"","X-Chainlit-Session-Id":e,"X-Chainlit-Conversation-Id":b||"","user-env":JSON.stringify(h),"X-Chainlit-Chat-Profile":y||""}});r(function(e){var t,n;return e===null||e===void 0?void 0:(t=e.socket)===null||t===void 0?void 0:t.removeAllListeners(),e===null||e===void 0?void 0:(n=e.socket)===null||n===void 0?void 0:n.close(),{socket:w}}),w.on("connect",function(){w.emit("connection_successful"),r(function(e){return k(S({},e),{error:!1})})}),w.on("connect_error",function(e){r(function(e){return k(S({},e),{error:!0})})}),w.on("task_start",function(){u(!0)}),w.on("task_end",function(){u(!1)}),w.on("reload",function(){w.emit("clear_session"),window.location.reload()}),w.on("resume_conversation",function(e){var t,n;var r=[];var o=true,a=false,u=undefined;try{for(var s=e.messages[Symbol.iterator](),d;!(o=(d=s.next()).done);o=true){var v=d.value;r=eS(r,v)}}catch(e){a=true;u=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(a){throw u}}}((t=e.metadata)===null||t===void 0?void 0:t.chat_profile)&&g((n=e.metadata)===null||n===void 0?void 0:n.chat_profile),i(r),l(e.elements.filter(function(e){return e.type==="avatar"})),f(e.elements.filter(function(e){return e.type==="tasklist"})),c(e.elements.filter(function(e){return["avatar","tasklist"].indexOf(e.type)===-1}))}),w.on("new_message",function(e){i(function(t){return eS(t,e)})}),w.on("init_conversation",function(e){a(e)}),w.on("update_message",function(e){i(function(t){return eR(t,e.id,e)})}),w.on("delete_message",function(e){i(function(t){return ex(t,e.id)})}),w.on("stream_start",function(e){i(function(t){return eS(t,e)})}),w.on("stream_token",function(e){var t=e.id,n=e.token,r=e.isSequence;i(function(e){return eO(e,t,n,r)})}),w.on("ask",function(e,t){var n=e.msg,r=e.spec;s({spec:r,callback:t}),i(function(e){return eS(e,n)}),u(!1)}),w.on("ask_timeout",function(){s(void 0),u(!1)}),w.on("clear_ask",function(){s(void 0)}),w.on("chat_settings",function(e){v(e),o()}),w.on("element",function(e){e.type==="avatar"?l(function(t){return C(t).concat([e])}):e.type==="tasklist"?f(function(t){return C(t).concat([e])}):c(function(t){return C(t).concat([e])})}),w.on("update_element",function(e){c(function(t){var n=t.findIndex(function(t){return t.id===e.id});if(n===-1)return t;var r=k(S({},t[n]),{forIds:e.forIds});return C(t.slice(0,n)).concat([r],C(t.slice(n+1)))})}),w.on("remove_element",function(e){c(function(t){return t.filter(function(t){return t.id!==e.id})}),f(function(t){return t.filter(function(t){return t.id!==e.id})}),l(function(t){return t.filter(function(t){return t.id!==e.id})})}),w.on("action",function(e){d(function(t){return C(t).concat([e])})}),w.on("remove_action",function(e){d(function(t){var n=t.findIndex(function(t){return t.id===e.id});return n===-1?t:C(t.slice(0,n)).concat(C(t.slice(n+1)))})}),w.on("token_usage",function(e){p(function(t){return t+e})})},[r,e,y]),w=q.useCallback(X.default(m,200),[m]),R=q.useCallback(function(){(n===null||n===void 0?void 0:n.socket)&&(n.socket.removeAllListeners(),n.socket.close())},[n]);return{connect:w,disconnect:R,chatProfile:y,setChatProfile:g}};var eI="token";function eE(){try{return localStorage.getItem(eI)}catch(e){return}}function eP(e){try{return localStorage.setItem(eI,e)}catch(e){return}}function e_(){try{return localStorage.removeItem(eI)}catch(e){return}}var eA=function(){var e=a(function(e,t,n){var r;return A(this,function(o){switch(o.label){case 0:return[4,e.get(t,n)];case 1:return[2,(r=o.sent())===null||r===void 0?void 0:r.json()]}})});return function t(t,n,r){return e.apply(this,arguments)}}();function eT(e,t,n){var r=T.useRecoilValue(ed);return J.default(t?[t,r]:null,function(t){var n=M(t,2),r=n[0],o=n[1];return eA(e,r,o)},n)}var eD=function(e){var t=eT(e,"/auth/config"),n=t.data,r=t.isLoading,o=M(T.useRecoilState(ed),2),a=o[0],u=o[1],i=T.useSetRecoilState(eh),s=M(T.useRecoilState(ep),2),c=s[0],l=s[1],f=!!(!r&&n),d=function(){l(null),e_(),u(""),i(void 0)},v=function(e){if(!e){d();return}try{var t=G.default(e),n=t.exp,r=w(t,["exp"]);eP(e),u("Bearer ".concat(e)),l(r)}catch(e){console.error("Invalid token, clearing token from local storage","error:",e),d()}};q.useEffect(function(){if(!c&&eE()){v(eE());return}},[]);var p=!!a;return n&&!n.requireLogin?{data:n,user:null,role:"ANONYMOUS",isReady:f,isAuthenticated:!0,accessToken:"",logout:function(){},setAccessToken:function(){}}:{data:n,user:c,role:c===null||c===void 0?void 0:c.role,isAuthenticated:p,isReady:f,accessToken:a,logout:d,setAccessToken:v}};var eV=/*#__PURE__*/function(e){d(n,e);var t=_(n);function n(e,r){u(this,n);var o;o=t.call(this,e);o.detail=r;return o}c(n,[{key:"toString",value:function e(){return this.detail?"".concat(this.message,": ").concat(this.detail):this.message}}]);return n}(E(Error)),eq=/*#__PURE__*/function(){function e(t,n,r){u(this,e);this.httpEndpoint=t;this.on401=n;this.onError=r}c(e,[{key:"buildEndpoint",value:function e(e){return this.httpEndpoint.endsWith("/")?"".concat(this.httpEndpoint.slice(0,-1)).concat(e):"".concat(this.httpEndpoint).concat(e)}},{key:"checkToken",value:function e(e){var t="Bearer ";return e.startsWith(t)?e:t+e}},{key:"fetch",value:function e(e,t,n,r,o){var u=this;return a(function(){var a,i,s,c,l;return A(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);a={};n&&(a.Authorization=u.checkToken(n));v(r,FormData)?i=r:(a["Content-Type"]="application/json",i=r?JSON.stringify(r):null);return[4,fetch(u.buildEndpoint(t),{method:e,headers:a,signal:o,body:i})];case 1:s=f.sent();if(!!s.ok)return[3,3];return[4,s.json()];case 2:c=f.sent();throw s.status===401&&u.on401&&(e_(),u.on401()),new eV(s.statusText,c.detail);case 3:return[2,s];case 4:l=f.sent();throw v(l,eV)&&u.onError&&u.onError(l),console.error(l),l;case 5:return[2]}})})()}},{key:"get",value:function e(e,t){var n=this;return a(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.fetch("GET",e,t)];case 1:return[2,r.sent()]}})})()}},{key:"post",value:function e(e,t,n,r){var o=this;return a(function(){return A(this,function(a){switch(a.label){case 0:return[4,o.fetch("POST",e,n,t,r)];case 1:return[2,a.sent()]}})})()}},{key:"put",value:function e(e,t,n){var r=this;return a(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("PUT",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"patch",value:function e(e,t,n){var r=this;return a(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("PATCH",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"delete",value:function e(e,t,n){var r=this;return a(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("DELETE",e,n,t)];case 1:return[2,o.sent()]}})})()}}]);return e}(),eU=/*#__PURE__*/function(e){d(n,e);var t=_(n);function n(){u(this,n);return t.apply(this,arguments)}c(n,[{key:"headerAuth",value:function e(){var e=this;return a(function(){return A(this,function(t){switch(t.label){case 0:return[4,e.post("/auth/header",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"passwordAuth",value:function e(e){var t=this;return a(function(){return A(this,function(n){switch(n.label){case 0:return[4,t.post("/login",e)];case 1:return[2,n.sent().json()]}})})()}},{key:"getCompletion",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;var u=this;return a(function(){var a,i,s;return A(this,function(c){switch(c.label){case 0:return[4,u.post("/completion",{prompt:e,userEnv:t},r,n.signal)];case 1:s=(i=c.sent())===null||i===void 0?void 0:(a=i.body)===null||a===void 0?void 0:a.getReader();return[2,new ReadableStream({start:function e(e){function t(){s.read().then(function(n){var r=n.done,a=n.value;if(r){e.close(),o&&o(r,"");return}var u=new TextDecoder("utf-8").decode(a);o&&o(r,u),e.enqueue(a),t()}).catch(function(t){e.close(),o&&o(!0,""),console.error(t)})}t()}})]}})})()}},{key:"setHumanFeedback",value:function e(e,t,n,r){var o=this;return a(function(){return A(this,function(a){switch(a.label){case 0:return[4,o.put("/message/feedback",{messageId:e,feedback:t,feedbackComment:n},r)];case 1:a.sent();return[2]}})})()}},{key:"getConversations",value:function e(e,t,n){var r=this;return a(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.post("/project/conversations",{pagination:e,filter:t},n)];case 1:return[2,o.sent().json()]}})})()}},{key:"deleteConversation",value:function e(e,t){var n=this;return a(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.delete("/project/conversation",{conversationId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"getLogoEndpoint",value:function e(e){return this.buildEndpoint("/logo?theme=".concat(e))}},{key:"getOAuthEndpoint",value:function e(e){return this.buildEndpoint("/auth/oauth/".concat(e))}}]);return n}(eq);Object.defineProperty(exports,"Socket",{enumerable:true,get:function e(){return B.Socket}});exports.APIBase=eq;exports.ChainlitAPI=eU;exports.ClientError=eV;exports.accessTokenState=ed;exports.actionState=ee;exports.addMessage=eS;exports.addMessageToParent=ek;exports.askUserState=eo;exports.avatarState=ec;exports.chatProfileState=$;exports.chatSettingsDefaultValueSelector=eu;exports.chatSettingsInputsState=ea;exports.chatSettingsValueState=ei;exports.conversationIdToResumeState=Y;exports.conversationsHistoryState=eh;exports.deleteMessageById=ex;exports.elementState=es;exports.fetcher=eA;exports.firstUserMessageState=ef;exports.hasMessageById=ew;exports.isLastMessage=eb;exports.loadingState=er;exports.messagesState=et;exports.nestMessages=eg;exports.roleState=ev;exports.sessionIdState=Q;exports.sessionState=Z;exports.tasklistState=el;exports.tokenCountState=en;exports.updateMessageById=eR;exports.updateMessageContentById=eO;exports.useApi=eT;exports.useAuth=eD;exports.useChatData=ey;exports.useChatInteract=eM;exports.useChatMessages=eC;exports.useChatSession=ej;exports.userState=ep;//# sourceMappingURL=out.js.map
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function o(e,t,n,r,o,i,a){try{var u=e[i](a);var s=u.value}catch(e){n(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(r,o)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function u(e){o(a,r,i,u,s,"next",e)}function s(e){o(a,r,i,u,s,"throw",e)}u(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t,n){if(_()){u=Reflect.construct}else{u=function e(e,t,n){var r=[null];r.push.apply(r,t);var o=Function.bind.apply(e,r);var i=new o;if(n)O(i,n.prototype);return i}}return u.apply(null,arguments)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)s(e.prototype,t);if(n)s(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)O(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function h(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function y(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var i=false;var a,u;try{for(n=n.call(e);!(o=(a=n.next()).done);o=true){r.push(a.value);if(t&&r.length===t)break}}catch(e){i=true;u=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(i)throw u}}return r}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function k(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{m(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function w(e,t){if(e==null)return{};var n=R(e,t);var r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++){r=i[o];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function R(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var o,i;for(i=0;i<r.length;i++){o=r[i];if(t.indexOf(o)>=0)continue;n[o]=e[o]}return n}function x(e,t){if(t&&(E(t)==="object"||typeof t==="function")){return t}return r(e)}function O(e,t){O=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return O(e,t)}function j(e,n){return t(e)||y(e,n)||I(e,n)||b()}function T(e){return n(e)||h(e)||I(e)||g()}function E(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function I(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function P(e){var t=typeof Map==="function"?new Map:undefined;P=function e(e){if(e===null||!p(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return O(n,e)};return P(e)}function _(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function A(e){var t=_();return function n(){var n=f(e),r;if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else{r=n.apply(this,arguments)}return x(this,r)}}function C(e,t){var n,r,o,i,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return(i={next:u(0),"throw":u(1),"return":u(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i);function u(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var D=require("recoil");var V=require("lodash/isEqual");var M=require("uuid");var q=require("react");var U=require("lodash/debounce");var L=require("socket.io-client");var B=require("jwt-decode");var F=require("swr");function G(e){return e&&e.__esModule?e:{default:e}}var H=/*#__PURE__*/G(V);var X=/*#__PURE__*/G(U);var z=/*#__PURE__*/G(L);var J=/*#__PURE__*/G(B);var N=/*#__PURE__*/G(F);var K=function(e){var t={},n=new Date,r=new Date;r.setDate(n.getDate()-1);var o=new Date;o.setDate(n.getDate()-7);var i=new Date;return i.setDate(n.getDate()-30),e.forEach(function(e){var a=new Date(e.createdAt),u=a.toDateString()===n.toDateString(),s=a.toDateString()===r.toDateString(),c=a>=o,l=a>=i,f;u?f="Today":s?f="Yesterday":c?f="Previous 7 days":l?f="Previous 30 days":f=a.toLocaleString("default",{month:"long",year:"numeric"}).split(" ").slice(0,1).join(" "),t[f]||(t[f]=[]),t[f].push(e)}),t};var W=D.atom({key:"ThreadIdToResume",default:void 0}),Y=D.atom({key:"ChatProfile",default:void 0}),$=D.atom({key:"SessionId",default:M.v4()}),Q=D.selector({key:"SessionIdSelector",get:function(e){var t=e.get;return t($)},set:function(e,t){var n=e.set;return n($,v(t,D.DefaultValue)?M.v4():t)}}),Z=D.atom({key:"Session",dangerouslyAllowMutability:!0,default:void 0}),ee=D.atom({key:"Actions",default:[]}),et=D.atom({key:"Messages",dangerouslyAllowMutability:!0,default:[]}),en=D.atom({key:"TokenCount",default:0}),er=D.atom({key:"Loading",default:!1}),eo=D.atom({key:"AskUser",default:void 0}),ei=D.atom({key:"ChatSettings",default:[]}),ea=D.selector({key:"ChatSettingsValue/Default",get:function(e){var t=e.get;return t(ei).reduce(function(e,t){return e[t.id]=t.initial,e},{})}}),eu=D.atom({key:"ChatSettingsValue",default:ea}),es=D.atom({key:"DisplayElements",default:[]}),ec=D.atom({key:"AvatarElements",default:[]}),el=D.atom({key:"TasklistElements",default:[]}),ef=D.atom({key:"FirstUserMessage",default:void 0}),ed=D.atom({key:"AccessToken",default:void 0}),ev=D.atom({key:"User",default:null}),ep=D.atom({key:"ThreadHistory",default:{threads:void 0,currentThreadId:void 0,timeGroupedThreads:void 0,pageInfo:void 0},effects:[function(e){var t=e.setSelf,n=e.onSet;n(function(e,n){var r=e===null||e===void 0?void 0:e.timeGroupedThreads;(e===null||e===void 0?void 0:e.threads)&&!H.default(e.threads,n===null||n===void 0?void 0:n.timeGroupedThreads)&&(r=K(e.threads)),t(k(S({},e),{timeGroupedThreads:r}))})}]});var eh=function(){var e=D.useRecoilValue(er),t=D.useRecoilValue(es),n=D.useRecoilValue(ec),r=D.useRecoilValue(el),o=D.useRecoilValue(ee),i=D.useRecoilValue(Z),a=D.useRecoilValue(eo),u=D.useRecoilValue(ei),s=D.useRecoilValue(eu),c=D.useRecoilValue(ea),l=(i===null||i===void 0?void 0:i.socket.connected)&&!(i===null||i===void 0?void 0:i.error),f=!l||e||(a===null||a===void 0?void 0:a.spec.type)==="file"||(a===null||a===void 0?void 0:a.spec.type)==="action";return{actions:o,askUser:a,avatars:n,chatSettingsDefaultValue:c,chatSettingsInputs:u,chatSettingsValue:s,connected:l,disabled:f,elements:t,error:i===null||i===void 0?void 0:i.error,loading:e,tasklists:r}};var ey=function(e){var t=[];var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),a;!(n=(a=i.next()).done);n=true){var u=a.value;t=eg(t,u)}}catch(e){r=true;o=e}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(r){throw o}}}return t},eb=function(e,t){if(e.length-1===t)return!0;for(var n=t+1;n<e.length;n++)if(!e[n].streaming)return!1;return!0},eg=function(e,t){return ek(e,t.id)?ew(e,t.id,t):"parentId"in t&&t.parentId?em(e,t.parentId,t):"indent"in t&&t.indent&&t.indent>0?eS(e,t.indent,t):T(e).concat([t])},eS=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;var o=T(e);if(o.length===0)return T(o).concat([n]);{var i=o.length-1,a=o[i];return a.steps=a.steps||[],r+1===t?(a.steps=T(a.steps).concat([n]),o[i]=S({},a),o):(a.steps=eS(a.steps,t,n,r+1),o[i]=S({},a),o)}},em=function(e,t,n){var r=T(e);for(var o=0;o<r.length;o++){var i=r[o];H.default(i.id,t)?(i.steps=i.steps?T(i.steps).concat([n]):[n],r[o]=S({},i)):ek(r,t)&&i.steps&&(i.steps=em(i.steps,t,n),r[o]=S({},i))}return r},ek=function(e,t){var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),a;!(n=(a=i.next()).done);n=true){var u=a.value;if(H.default(u.id,t))return!0;if(u.steps&&u.steps.length>0&&ek(u.steps,t))return!0}}catch(e){r=true;o=e}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(r){throw o}}}return!1},ew=function(e,t,n){var r=T(e);for(var o=0;o<r.length;o++){var i=r[o];H.default(i.id,t)?r[o]=S({steps:i.steps},n):ek(r,t)&&i.steps&&(i.steps=ew(i.steps,t,n),r[o]=S({},i))}return r},eR=function(e,t){var n=T(e);for(var r=0;r<n.length;r++){var o=n[r];o.id===t?n=T(n.slice(0,r)).concat(T(n.slice(r+1))):ek(n,t)&&o.steps&&(o.steps=eR(o.steps,t),n[r]=S({},o))}return n},ex=function(e,t,n,r){var o=T(e);for(var i=0;i<o.length;i++){var a=o[i];H.default(a.id,t)?("content"in a&&a.content!==void 0?r?a.content=n:a.content+=n:"output"in a&&a.output!==void 0&&(r?a.output=n:a.output+=n),o[i]=S({},a)):a.steps&&(a.steps=ex(a.steps,t,n,r),o[i]=S({},a))}return o};var eO=function(){var e=D.useRecoilValue(ed),t=D.useRecoilValue(Z),n=D.useRecoilValue(eo),r=D.useRecoilValue(Q),o=D.useResetRecoilState(ei),i=D.useResetRecoilState(Q),a=D.useResetRecoilState(eu),u=D.useSetRecoilState(ef),s=D.useSetRecoilState(er),c=D.useSetRecoilState(et),l=D.useSetRecoilState(es),f=D.useSetRecoilState(ec),d=D.useSetRecoilState(el),v=D.useSetRecoilState(ee),p=D.useSetRecoilState(en),h=D.useSetRecoilState(W),y=q.useCallback(function(){t===null||t===void 0?void 0:t.socket.emit("clear_session"),t===null||t===void 0?void 0:t.socket.disconnect(),h(void 0),i(),u(void 0),c([]),l([]),f([]),d([]),v([]),p(0),o(),a()},[t]),b=q.useCallback(function(e,n){c(function(t){return eg(t,e)}),t===null||t===void 0?void 0:t.socket.emit("ui_message",{message:e,fileReferences:n})},[t===null||t===void 0?void 0:t.socket]),g=q.useCallback(function(e){n&&(c(function(t){return eg(t,e)}),n.callback(e))},[n]),S=q.useCallback(function(e){t===null||t===void 0?void 0:t.socket.emit("chat_settings_change",e)},[t===null||t===void 0?void 0:t.socket]),m=q.useCallback(function(){s(!1),t===null||t===void 0?void 0:t.socket.emit("stop")},[t===null||t===void 0?void 0:t.socket]),k=q.useCallback(function(e){var n=t===null||t===void 0?void 0:t.socket;if(!n)return;var r=new Promise(function(e,t){n.once("action_response",function(n){n.status?e(n):t(n)})});return n.emit("action_call",e),r},[t===null||t===void 0?void 0:t.socket]);return{uploadFile:q.useCallback(function(t,n,o){return t.uploadFile(n,o,r,e)},[r,e]),callAction:k,clear:y,replyMessage:g,sendMessage:b,stopTask:m,setIdToResume:h,updateChatSettings:S}};var ej=function(){var e=D.useRecoilValue(et),t=D.useRecoilValue(ef);return{messages:e,firstUserMessage:t}};var eT=function(){var e=D.useRecoilValue(Q),t=j(D.useRecoilState(Z),2),n=t[0],r=t[1],o=D.useResetRecoilState(eu),i=D.useSetRecoilState(ef),a=D.useSetRecoilState(er),u=D.useSetRecoilState(et),s=D.useSetRecoilState(eo),c=D.useSetRecoilState(es),l=D.useSetRecoilState(ec),f=D.useSetRecoilState(el),d=D.useSetRecoilState(ee),v=D.useSetRecoilState(ei),p=D.useSetRecoilState(en),h=j(D.useRecoilState(Y),2),y=h[0],b=h[1],g=D.useRecoilValue(W),m=q.useCallback(function(t){var n=t.client,h=t.userEnv,m=t.accessToken;var w=z.default(n.httpEndpoint,{path:"/ws/socket.io",extraHeaders:{Authorization:m||"","X-Chainlit-Session-Id":e,"X-Chainlit-Thread-Id":g||"","user-env":JSON.stringify(h),"X-Chainlit-Chat-Profile":y||""}});r(function(e){var t,n;return e===null||e===void 0?void 0:(t=e.socket)===null||t===void 0?void 0:t.removeAllListeners(),e===null||e===void 0?void 0:(n=e.socket)===null||n===void 0?void 0:n.close(),{socket:w}}),w.on("connect",function(){w.emit("connection_successful"),r(function(e){return k(S({},e),{error:!1})})}),w.on("connect_error",function(e){r(function(e){return k(S({},e),{error:!0})})}),w.on("task_start",function(){a(!0)}),w.on("task_end",function(){a(!1)}),w.on("reload",function(){w.emit("clear_session"),window.location.reload()}),w.on("resume_thread",function(e){var t,n;var r=[];var o=true,i=false,a=undefined;try{for(var s=e.steps[Symbol.iterator](),d;!(o=(d=s.next()).done);o=true){var v=d.value;r=eg(r,v)}}catch(e){i=true;a=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(i){throw a}}}((t=e.metadata)===null||t===void 0?void 0:t.chat_profile)&&b((n=e.metadata)===null||n===void 0?void 0:n.chat_profile),u(r);var p=e.elements||[];l(p.filter(function(e){return e.type==="avatar"})),f(p.filter(function(e){return e.type==="tasklist"})),c(p.filter(function(e){return["avatar","tasklist"].indexOf(e.type)===-1}))}),w.on("new_message",function(e){u(function(t){return eg(t,e)})}),w.on("init_thread",function(e){i(e)}),w.on("update_message",function(e){u(function(t){return ew(t,e.id,e)})}),w.on("delete_message",function(e){u(function(t){return eR(t,e.id)})}),w.on("stream_start",function(e){u(function(t){return eg(t,e)})}),w.on("stream_token",function(e){var t=e.id,n=e.token,r=e.isSequence;u(function(e){return ex(e,t,n,r)})}),w.on("ask",function(e,t){var n=e.msg,r=e.spec;s({spec:r,callback:t}),u(function(e){return eg(e,n)}),a(!1)}),w.on("ask_timeout",function(){s(void 0),a(!1)}),w.on("clear_ask",function(){s(void 0)}),w.on("chat_settings",function(e){v(e),o()}),w.on("element",function(t){!t.url&&t.chainlitKey&&(t.url=n.getElementUrl(t.chainlitKey,e,m)),t.type==="avatar"?l(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?T(e).concat([t]):T(e.slice(0,n)).concat([t],T(e.slice(n+1)))}):t.type==="tasklist"?f(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?T(e).concat([t]):T(e.slice(0,n)).concat([t],T(e.slice(n+1)))}):c(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?T(e).concat([t]):T(e.slice(0,n)).concat([t],T(e.slice(n+1)))})}),w.on("remove_element",function(e){c(function(t){return t.filter(function(t){return t.id!==e.id})}),f(function(t){return t.filter(function(t){return t.id!==e.id})}),l(function(t){return t.filter(function(t){return t.id!==e.id})})}),w.on("action",function(e){d(function(t){return T(t).concat([e])})}),w.on("remove_action",function(e){d(function(t){var n=t.findIndex(function(t){return t.id===e.id});return n===-1?t:T(t.slice(0,n)).concat(T(t.slice(n+1)))})}),w.on("token_usage",function(e){p(function(t){return t+e})})},[r,e,y]),w=q.useCallback(X.default(m,200),[m]),R=q.useCallback(function(){(n===null||n===void 0?void 0:n.socket)&&(n.socket.removeAllListeners(),n.socket.close())},[n]);return{connect:w,disconnect:R,chatProfile:y,idToResume:g,setChatProfile:b}};var eE="token";function eI(){try{return localStorage.getItem(eE)}catch(e){return}}function eP(e){try{return localStorage.setItem(eE,e)}catch(e){return}}function e_(){try{return localStorage.removeItem(eE)}catch(e){return}}var eA=function(){var e=i(function(e,t,n){var r;return C(this,function(o){switch(o.label){case 0:return[4,e.get(t,n)];case 1:return[2,(r=o.sent())===null||r===void 0?void 0:r.json()]}})});return function t(t,n,r){return e.apply(this,arguments)}}();function eC(e,t,n){var r=D.useRecoilValue(ed);return N.default(t?[t,r]:null,function(t){var n=j(t,2),r=n[0],o=n[1];return eA(e,r,o)},n)}var eD=function(e){var t=eC(e,"/auth/config"),n=t.data,r=t.isLoading,o=j(D.useRecoilState(ed),2),i=o[0],a=o[1],u=D.useSetRecoilState(ep),s=j(D.useRecoilState(ev),2),c=s[0],l=s[1],f=!!(!r&&n),d=function(){l(null),e_(),a(""),u(void 0)},v=function(e){if(!e){d();return}try{var t=J.default(e),n=t.exp,r=w(t,["exp"]);eP(e),a("Bearer ".concat(e)),l(r)}catch(e){console.error("Invalid token, clearing token from local storage","error:",e),d()}};q.useEffect(function(){if(!c&&eI()){v(eI());return}},[]);var p=!!i;return n&&!n.requireLogin?{data:n,user:null,isReady:f,isAuthenticated:!0,accessToken:"",logout:function(){},setAccessToken:function(){}}:{data:n,user:c,isAuthenticated:p,isReady:f,accessToken:i,logout:d,setAccessToken:v}};var eV=/*#__PURE__*/function(e){d(n,e);var t=A(n);function n(e,r){a(this,n);var o;o=t.call(this,e);o.detail=r;return o}c(n,[{key:"toString",value:function e(){return this.detail?"".concat(this.message,": ").concat(this.detail):this.message}}]);return n}(P(Error)),eM=/*#__PURE__*/function(){function e(t,n,r){a(this,e);this.httpEndpoint=t;this.on401=n;this.onError=r}c(e,[{key:"buildEndpoint",value:function e(e){return this.httpEndpoint.endsWith("/")?"".concat(this.httpEndpoint.slice(0,-1)).concat(e):"".concat(this.httpEndpoint).concat(e)}},{key:"checkToken",value:function e(e){var t="Bearer ";return e.startsWith(t)?e:t+e}},{key:"fetch",value:function e(e,t,n,r,o){var a=this;return i(function(){var i,u,s,c,l;return C(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);i={};n&&(i.Authorization=a.checkToken(n));v(r,FormData)?u=r:(i["Content-Type"]="application/json",u=r?JSON.stringify(r):null);return[4,fetch(a.buildEndpoint(t),{method:e,headers:i,signal:o,body:u})];case 1:s=f.sent();if(!!s.ok)return[3,3];return[4,s.json()];case 2:c=f.sent();throw s.status===401&&a.on401&&(e_(),a.on401()),new eV(s.statusText,c.detail);case 3:return[2,s];case 4:l=f.sent();throw v(l,eV)&&a.onError&&a.onError(l),console.error(l),l;case 5:return[2]}})})()}},{key:"get",value:function e(e,t){var n=this;return i(function(){return C(this,function(r){switch(r.label){case 0:return[4,n.fetch("GET",e,t)];case 1:return[2,r.sent()]}})})()}},{key:"post",value:function e(e,t,n,r){var o=this;return i(function(){return C(this,function(i){switch(i.label){case 0:return[4,o.fetch("POST",e,n,t,r)];case 1:return[2,i.sent()]}})})()}},{key:"put",value:function e(e,t,n){var r=this;return i(function(){return C(this,function(o){switch(o.label){case 0:return[4,r.fetch("PUT",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"patch",value:function e(e,t,n){var r=this;return i(function(){return C(this,function(o){switch(o.label){case 0:return[4,r.fetch("PATCH",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"delete",value:function e(e,t,n){var r=this;return i(function(){return C(this,function(o){switch(o.label){case 0:return[4,r.fetch("DELETE",e,n,t)];case 1:return[2,o.sent()]}})})()}}]);return e}(),eq=/*#__PURE__*/function(e){d(n,e);var t=A(n);function n(){a(this,n);return t.apply(this,arguments)}c(n,[{key:"headerAuth",value:function e(){var e=this;return i(function(){return C(this,function(t){switch(t.label){case 0:return[4,e.post("/auth/header",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"passwordAuth",value:function e(e){var t=this;return i(function(){return C(this,function(n){switch(n.label){case 0:return[4,t.post("/login",e)];case 1:return[2,n.sent().json()]}})})()}},{key:"getGeneration",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;var a=this;return i(function(){var i,u,s,c;return C(this,function(l){switch(l.label){case 0:s={userEnv:t};e.type==="CHAT"?s.chatGeneration=e:s.completionGeneration=e;return[4,a.post("/generation",s,r,n.signal)];case 1:c=(u=l.sent())===null||u===void 0?void 0:(i=u.body)===null||i===void 0?void 0:i.getReader();return[2,new ReadableStream({start:function e(e){function t(){c.read().then(function(n){var r=n.done,i=n.value;if(r){e.close(),o&&o(r,"");return}var a=new TextDecoder("utf-8").decode(i);o&&o(r,a),e.enqueue(i),t()}).catch(function(t){e.close(),o&&o(!0,""),console.error(t)})}t()}})]}})})()}},{key:"setFeedback",value:function e(e,t){var n=this;return i(function(){return C(this,function(r){switch(r.label){case 0:return[4,n.put("/feedback",{feedback:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"listThreads",value:function e(e,t,n){var r=this;return i(function(){return C(this,function(o){switch(o.label){case 0:return[4,r.post("/project/threads",{pagination:e,filter:t},n)];case 1:return[2,o.sent().json()]}})})()}},{key:"deleteThread",value:function e(e,t){var n=this;return i(function(){return C(this,function(r){switch(r.label){case 0:return[4,n.delete("/project/thread",{threadId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"uploadFile",value:function e(e,t,n,r){var o=this;var i=new XMLHttpRequest,a=new Promise(function(a,u){var s=new FormData;s.append("file",e),i.open("POST",o.buildEndpoint("/project/file?session_id=".concat(n)),!0),r&&i.setRequestHeader("Authorization",o.checkToken(r)),i.upload.onprogress=function(e){if(e.lengthComputable){var n=e.loaded/e.total*100;t(n)}},i.onload=function(){if(i.status===200){var e=JSON.parse(i.responseText);a(e)}else u("Upload failed")},i.onerror=function(){u("Upload error")},i.send(s)});return{xhr:i,promise:a}}},{key:"getElementUrl",value:function e(e,t,n){var r="";return n&&(r="?token=".concat(n)),this.buildEndpoint("/project/file/".concat(e,"?session_id=").concat(t).concat(r))}},{key:"getLogoEndpoint",value:function e(e){return this.buildEndpoint("/logo?theme=".concat(e))}},{key:"getOAuthEndpoint",value:function e(e){return this.buildEndpoint("/auth/oauth/".concat(e))}}]);return n}(eM);Object.defineProperty(exports,"Socket",{enumerable:true,get:function e(){return L.Socket}});exports.APIBase=eM;exports.ChainlitAPI=eq;exports.ClientError=eV;exports.accessTokenState=ed;exports.actionState=ee;exports.addMessage=eg;exports.addMessageToParent=em;exports.askUserState=eo;exports.avatarState=ec;exports.chatProfileState=Y;exports.chatSettingsDefaultValueSelector=ea;exports.chatSettingsInputsState=ei;exports.chatSettingsValueState=eu;exports.deleteMessageById=eR;exports.elementState=es;exports.fetcher=eA;exports.firstUserMessageState=ef;exports.hasMessageById=ek;exports.isLastMessage=eb;exports.loadingState=er;exports.messagesState=et;exports.nestMessages=ey;exports.sessionIdState=Q;exports.sessionState=Z;exports.tasklistState=el;exports.threadHistoryState=ep;exports.threadIdToResumeState=W;exports.tokenCountState=en;exports.updateMessageById=ew;exports.updateMessageContentById=ex;exports.useApi=eC;exports.useAuth=eD;exports.useChatData=eh;exports.useChatInteract=eO;exports.useChatMessages=ej;exports.useChatSession=eT;exports.userState=ev;//# sourceMappingURL=out.js.map
2
2
  //# sourceMappingURL=index.js.map