@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/LICENSE +203 -0
- package/README.md +7 -3
- package/dist/index.d.mts +138 -131
- package/dist/index.d.ts +138 -131
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
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
|
-
|
|
27
|
-
|
|
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
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
interface IFeedback {
|
|
61
|
+
id?: string;
|
|
62
|
+
forId?: string;
|
|
63
|
+
comment?: string;
|
|
64
|
+
strategy: 'BINARY';
|
|
65
|
+
value: number;
|
|
72
66
|
}
|
|
73
|
-
|
|
67
|
+
|
|
68
|
+
type GenerationMessageRole = 'system' | 'assistant' | 'user' | 'function' | 'tool';
|
|
74
69
|
type ILLMSettings = Record<string, string | string[] | number | boolean>;
|
|
75
|
-
interface
|
|
76
|
-
|
|
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
|
|
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
|
-
|
|
99
|
+
tokenCount?: number;
|
|
102
100
|
}
|
|
103
|
-
interface
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
|
|
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
|
-
|
|
120
|
-
|
|
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
|
|
137
|
-
|
|
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:
|
|
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
|
|
152
|
-
|
|
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?:
|
|
160
|
+
provider?: AuthProvider;
|
|
161
|
+
}
|
|
162
|
+
interface IUser {
|
|
163
|
+
id: string;
|
|
164
|
+
identifier: string;
|
|
165
|
+
metadata: IUserMetadata;
|
|
160
166
|
}
|
|
161
167
|
|
|
162
|
-
interface
|
|
168
|
+
interface IThread {
|
|
163
169
|
id: string;
|
|
164
170
|
createdAt: number | string;
|
|
165
|
-
|
|
171
|
+
user?: IUser;
|
|
166
172
|
metadata?: Record<string, any>;
|
|
167
|
-
|
|
168
|
-
elements
|
|
173
|
+
steps: IStep[];
|
|
174
|
+
elements?: IElement[];
|
|
169
175
|
}
|
|
170
176
|
|
|
171
|
-
type
|
|
177
|
+
type UserInput = {
|
|
172
178
|
content: string;
|
|
173
179
|
createdAt: number;
|
|
174
180
|
};
|
|
175
|
-
type
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
[key: string]:
|
|
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:
|
|
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
|
|
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
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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:
|
|
270
|
+
data: IThread[];
|
|
307
271
|
}>;
|
|
308
|
-
|
|
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
|
|
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<
|
|
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<
|
|
340
|
+
declare const firstUserMessageState: recoil.RecoilState<IStep | undefined>;
|
|
333
341
|
declare const accessTokenState: recoil.RecoilState<string | undefined>;
|
|
334
|
-
declare const
|
|
335
|
-
declare const
|
|
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:
|
|
339
|
-
declare const isLastMessage: (messages:
|
|
340
|
-
declare const addMessage: (messages:
|
|
341
|
-
declare const addMessageToParent: (messages:
|
|
342
|
-
declare const hasMessageById: (messages:
|
|
343
|
-
declare const updateMessageById: (messages:
|
|
344
|
-
declare const deleteMessageById: (messages:
|
|
345
|
-
declare const updateMessageContentById: (messages:
|
|
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,
|
|
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
|