@chainlit/react-client 0.0.1 → 0.0.4
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/README.md +8 -4
- package/dist/index.d.mts +141 -132
- package/dist/index.d.ts +141 -132
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as recoil from 'recoil';
|
|
2
|
-
import * as lodash from 'lodash';
|
|
3
2
|
import { Socket } from 'socket.io-client';
|
|
4
3
|
export { Socket } from 'socket.io-client';
|
|
4
|
+
import * as lodash from 'lodash';
|
|
5
5
|
import * as swr__internal from 'swr/_internal';
|
|
6
6
|
import { SWRConfiguration } from 'swr';
|
|
7
7
|
|
|
@@ -23,57 +23,56 @@ 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
|
-
|
|
46
|
+
page?: number;
|
|
48
47
|
}
|
|
49
48
|
interface IAudioElement extends TMessageElement<'audio'> {
|
|
50
|
-
content?: ArrayBuffer;
|
|
51
49
|
}
|
|
52
50
|
interface IVideoElement extends TMessageElement<'video'> {
|
|
53
|
-
content?: ArrayBuffer;
|
|
54
51
|
size?: IElementSize;
|
|
55
52
|
}
|
|
56
53
|
interface IFileElement extends TMessageElement<'file'> {
|
|
57
54
|
type: 'file';
|
|
58
|
-
mime?: string;
|
|
59
|
-
content?: ArrayBuffer;
|
|
60
55
|
}
|
|
61
56
|
interface IPlotlyElement extends TMessageElement<'plotly'> {
|
|
62
|
-
content?: string;
|
|
63
57
|
}
|
|
64
58
|
interface ITasklistElement extends TElement<'tasklist'> {
|
|
65
|
-
content?: string;
|
|
66
59
|
}
|
|
67
60
|
|
|
68
|
-
interface
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
interface IFeedback {
|
|
62
|
+
id?: string;
|
|
63
|
+
forId?: string;
|
|
64
|
+
comment?: string;
|
|
65
|
+
strategy: 'BINARY';
|
|
66
|
+
value: number;
|
|
72
67
|
}
|
|
73
|
-
|
|
68
|
+
|
|
69
|
+
type GenerationMessageRole = 'system' | 'assistant' | 'user' | 'function' | 'tool';
|
|
74
70
|
type ILLMSettings = Record<string, string | string[] | number | boolean>;
|
|
75
|
-
interface
|
|
76
|
-
|
|
71
|
+
interface IGenerationMessage {
|
|
72
|
+
template?: string;
|
|
73
|
+
formatted?: string;
|
|
74
|
+
templateFormat: string;
|
|
75
|
+
role: GenerationMessageRole;
|
|
77
76
|
name?: string;
|
|
78
77
|
}
|
|
79
78
|
interface IFunction {
|
|
@@ -91,38 +90,49 @@ interface ITool {
|
|
|
91
90
|
type: string;
|
|
92
91
|
function: IFunction;
|
|
93
92
|
}
|
|
94
|
-
interface
|
|
93
|
+
interface IBaseGeneration {
|
|
95
94
|
provider: string;
|
|
96
95
|
id?: string;
|
|
97
96
|
inputs?: Record<string, string>;
|
|
98
97
|
completion?: string;
|
|
99
98
|
settings?: ILLMSettings;
|
|
100
99
|
functions?: IFunction[];
|
|
101
|
-
|
|
100
|
+
tokenCount?: number;
|
|
102
101
|
}
|
|
103
|
-
interface
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
interface ICompletionGeneration extends IBaseGeneration {
|
|
103
|
+
type: 'COMPLETION';
|
|
104
|
+
template?: string;
|
|
105
|
+
formatted?: string;
|
|
106
|
+
templateFormat: string;
|
|
107
|
+
}
|
|
108
|
+
interface IChatGeneration extends IBaseGeneration {
|
|
109
|
+
type: 'CHAT';
|
|
110
|
+
messages?: IGenerationMessage[];
|
|
111
|
+
}
|
|
112
|
+
type IGeneration = ICompletionGeneration | IChatGeneration;
|
|
113
|
+
|
|
114
|
+
type StepType = 'assistant_message' | 'user_message' | 'system_message' | 'run' | 'tool' | 'llm' | 'embedding' | 'retrieval' | 'rerank' | 'undefined';
|
|
115
|
+
interface IStep {
|
|
112
116
|
id: string;
|
|
113
|
-
|
|
117
|
+
name: string;
|
|
118
|
+
type: StepType;
|
|
119
|
+
threadId?: string;
|
|
120
|
+
parentId?: string;
|
|
114
121
|
isError?: boolean;
|
|
122
|
+
showInput?: boolean | string;
|
|
123
|
+
waitForAnswer?: boolean;
|
|
124
|
+
input?: string;
|
|
125
|
+
output: string;
|
|
126
|
+
createdAt: number | string;
|
|
127
|
+
start?: number | string;
|
|
128
|
+
end?: number | string;
|
|
129
|
+
disableFeedback?: boolean;
|
|
130
|
+
feedback?: IFeedback;
|
|
115
131
|
language?: string;
|
|
116
|
-
parentId?: string;
|
|
117
|
-
prompt?: IPrompt;
|
|
118
132
|
streaming?: boolean;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
interface IMessageContent {
|
|
123
|
-
elements: IMessageElement[];
|
|
124
|
-
message: IMessage;
|
|
125
|
-
preserveSize?: boolean;
|
|
133
|
+
generation?: IGeneration;
|
|
134
|
+
steps?: IStep[];
|
|
135
|
+
indent?: number;
|
|
126
136
|
}
|
|
127
137
|
|
|
128
138
|
interface FileSpec {
|
|
@@ -133,57 +143,51 @@ interface FileSpec {
|
|
|
133
143
|
interface ActionSpec {
|
|
134
144
|
keys?: string[];
|
|
135
145
|
}
|
|
136
|
-
interface
|
|
137
|
-
|
|
138
|
-
path?: string;
|
|
139
|
-
size: number;
|
|
140
|
-
type: string;
|
|
141
|
-
content: ArrayBuffer;
|
|
146
|
+
interface IFileRef {
|
|
147
|
+
id: string;
|
|
142
148
|
}
|
|
143
149
|
interface IAsk {
|
|
144
|
-
callback: (payload:
|
|
150
|
+
callback: (payload: IStep | IFileRef[] | IAction) => void;
|
|
145
151
|
spec: {
|
|
146
152
|
type: 'text' | 'file' | 'action';
|
|
147
153
|
timeout: number;
|
|
148
154
|
} & FileSpec & ActionSpec;
|
|
149
155
|
}
|
|
150
156
|
|
|
151
|
-
type
|
|
152
|
-
|
|
153
|
-
interface IAppUser {
|
|
154
|
-
id: string;
|
|
155
|
-
username: string;
|
|
156
|
-
role: Role;
|
|
157
|
+
type AuthProvider = 'credentials' | 'header' | 'github' | 'google' | 'azure-ad';
|
|
158
|
+
interface IUserMetadata extends Record<string, any> {
|
|
157
159
|
tags?: string[];
|
|
158
160
|
image?: string;
|
|
159
|
-
provider?:
|
|
161
|
+
provider?: AuthProvider;
|
|
162
|
+
}
|
|
163
|
+
interface IUser {
|
|
164
|
+
id: string;
|
|
165
|
+
identifier: string;
|
|
166
|
+
metadata: IUserMetadata;
|
|
160
167
|
}
|
|
161
168
|
|
|
162
|
-
interface
|
|
169
|
+
interface IThread {
|
|
163
170
|
id: string;
|
|
164
171
|
createdAt: number | string;
|
|
165
|
-
|
|
172
|
+
user?: IUser;
|
|
166
173
|
metadata?: Record<string, any>;
|
|
167
|
-
|
|
168
|
-
elements
|
|
174
|
+
steps: IStep[];
|
|
175
|
+
elements?: IElement[];
|
|
169
176
|
}
|
|
170
177
|
|
|
171
|
-
type
|
|
178
|
+
type UserInput = {
|
|
172
179
|
content: string;
|
|
173
180
|
createdAt: number;
|
|
174
181
|
};
|
|
175
|
-
type
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
[key: string]:
|
|
182
|
+
type ThreadHistory = {
|
|
183
|
+
threads?: IThread[];
|
|
184
|
+
currentThreadId?: string;
|
|
185
|
+
timeGroupedThreads?: {
|
|
186
|
+
[key: string]: IThread[];
|
|
180
187
|
};
|
|
181
188
|
pageInfo?: IPageInfo;
|
|
182
189
|
};
|
|
183
190
|
|
|
184
|
-
interface IMessageUpdate extends IMessage {
|
|
185
|
-
newId?: string;
|
|
186
|
-
}
|
|
187
191
|
interface IToken {
|
|
188
192
|
id: number | string;
|
|
189
193
|
token: string;
|
|
@@ -204,55 +208,14 @@ declare const useChatData: () => {
|
|
|
204
208
|
tasklists: ITasklistElement[];
|
|
205
209
|
};
|
|
206
210
|
|
|
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
211
|
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
212
|
data: {
|
|
249
213
|
requireLogin: boolean;
|
|
250
214
|
passwordAuth: boolean;
|
|
251
215
|
headerAuth: boolean;
|
|
252
216
|
oauthProviders: string[];
|
|
253
217
|
} | undefined;
|
|
254
|
-
user:
|
|
255
|
-
role: Role | undefined;
|
|
218
|
+
user: IUser | null;
|
|
256
219
|
isAuthenticated: boolean;
|
|
257
220
|
isReady: boolean;
|
|
258
221
|
accessToken: string | undefined;
|
|
@@ -263,8 +226,7 @@ declare const useAuth: (apiClient: ChainlitAPI) => {
|
|
|
263
226
|
declare const fetcher: (client: ChainlitAPI, endpoint: string, token?: string) => Promise<any>;
|
|
264
227
|
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
228
|
|
|
266
|
-
interface
|
|
267
|
-
authorEmail?: string;
|
|
229
|
+
interface IThreadFilters {
|
|
268
230
|
search?: string;
|
|
269
231
|
feedback?: number;
|
|
270
232
|
}
|
|
@@ -299,27 +261,62 @@ declare class APIBase {
|
|
|
299
261
|
declare class ChainlitAPI extends APIBase {
|
|
300
262
|
headerAuth(): Promise<any>;
|
|
301
263
|
passwordAuth(data: FormData): Promise<any>;
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
264
|
+
getGeneration(generation: IGeneration, userEnv: {} | undefined, controller: AbortController, accessToken?: string, tokenCb?: (done: boolean, token: string) => void): Promise<ReadableStream<any>>;
|
|
265
|
+
setFeedback(feedback: IFeedback, accessToken?: string): Promise<{
|
|
266
|
+
success: boolean;
|
|
267
|
+
feedbackId: string;
|
|
268
|
+
}>;
|
|
269
|
+
listThreads(pagination: IPagination, filter: IThreadFilters, accessToken?: string): Promise<{
|
|
305
270
|
pageInfo: IPageInfo;
|
|
306
|
-
data:
|
|
271
|
+
data: IThread[];
|
|
307
272
|
}>;
|
|
308
|
-
|
|
273
|
+
deleteThread(threadId: string, accessToken?: string): Promise<any>;
|
|
274
|
+
uploadFile(file: File, onProgress: (progress: number) => void, sessionId: string, token?: string): {
|
|
275
|
+
xhr: XMLHttpRequest;
|
|
276
|
+
promise: Promise<{
|
|
277
|
+
id: string;
|
|
278
|
+
}>;
|
|
279
|
+
};
|
|
280
|
+
getElementUrl(id: string, sessionId: string, accessToken?: string): string;
|
|
309
281
|
getLogoEndpoint(theme: string): string;
|
|
310
282
|
getOAuthEndpoint(provider: string): string;
|
|
311
283
|
}
|
|
312
284
|
|
|
285
|
+
declare const useChatInteract: () => {
|
|
286
|
+
uploadFile: (client: ChainlitAPI, file: File, onProgress: (progress: number) => void) => {
|
|
287
|
+
xhr: XMLHttpRequest;
|
|
288
|
+
promise: Promise<{
|
|
289
|
+
id: string;
|
|
290
|
+
}>;
|
|
291
|
+
};
|
|
292
|
+
callAction: (action: IAction) => Promise<{
|
|
293
|
+
id: string;
|
|
294
|
+
status: boolean;
|
|
295
|
+
response?: string | undefined;
|
|
296
|
+
}> | undefined;
|
|
297
|
+
clear: () => void;
|
|
298
|
+
replyMessage: (message: IStep) => void;
|
|
299
|
+
sendMessage: (message: IStep, fileReferences?: IFileRef[]) => void;
|
|
300
|
+
stopTask: () => void;
|
|
301
|
+
setIdToResume: recoil.SetterOrUpdater<string | undefined>;
|
|
302
|
+
updateChatSettings: (values: object) => void;
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
declare const useChatMessages: () => {
|
|
306
|
+
messages: IStep[];
|
|
307
|
+
firstInteraction: string | undefined;
|
|
308
|
+
};
|
|
309
|
+
|
|
313
310
|
interface ISession {
|
|
314
311
|
socket: Socket;
|
|
315
312
|
error?: boolean;
|
|
316
313
|
}
|
|
317
|
-
declare const
|
|
314
|
+
declare const threadIdToResumeState: recoil.RecoilState<string | undefined>;
|
|
318
315
|
declare const chatProfileState: recoil.RecoilState<string | undefined>;
|
|
319
316
|
declare const sessionIdState: recoil.RecoilState<string>;
|
|
320
317
|
declare const sessionState: recoil.RecoilState<ISession | undefined>;
|
|
321
318
|
declare const actionState: recoil.RecoilState<IAction[]>;
|
|
322
|
-
declare const messagesState: recoil.RecoilState<
|
|
319
|
+
declare const messagesState: recoil.RecoilState<IStep[]>;
|
|
323
320
|
declare const tokenCountState: recoil.RecoilState<number>;
|
|
324
321
|
declare const loadingState: recoil.RecoilState<boolean>;
|
|
325
322
|
declare const askUserState: recoil.RecoilState<IAsk | undefined>;
|
|
@@ -329,19 +326,31 @@ declare const chatSettingsValueState: recoil.RecoilState<any>;
|
|
|
329
326
|
declare const elementState: recoil.RecoilState<IMessageElement[]>;
|
|
330
327
|
declare const avatarState: recoil.RecoilState<IAvatarElement[]>;
|
|
331
328
|
declare const tasklistState: recoil.RecoilState<ITasklistElement[]>;
|
|
332
|
-
declare const
|
|
329
|
+
declare const firstUserInteraction: recoil.RecoilState<string | undefined>;
|
|
333
330
|
declare const accessTokenState: recoil.RecoilState<string | undefined>;
|
|
334
|
-
declare const
|
|
335
|
-
declare const
|
|
336
|
-
|
|
331
|
+
declare const userState: recoil.RecoilState<IUser | null>;
|
|
332
|
+
declare const threadHistoryState: recoil.RecoilState<ThreadHistory | undefined>;
|
|
333
|
+
|
|
334
|
+
declare const useChatSession: () => {
|
|
335
|
+
connect: lodash.DebouncedFunc<({ client, userEnv, accessToken }: {
|
|
336
|
+
client: ChainlitAPI;
|
|
337
|
+
userEnv: Record<string, string>;
|
|
338
|
+
accessToken?: string | undefined;
|
|
339
|
+
}) => void>;
|
|
340
|
+
disconnect: () => void;
|
|
341
|
+
session: ISession | undefined;
|
|
342
|
+
chatProfile: string | undefined;
|
|
343
|
+
idToResume: string | undefined;
|
|
344
|
+
setChatProfile: recoil.SetterOrUpdater<string | undefined>;
|
|
345
|
+
};
|
|
337
346
|
|
|
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:
|
|
347
|
+
declare const nestMessages: (messages: IStep[]) => IStep[];
|
|
348
|
+
declare const isLastMessage: (messages: IStep[], index: number) => boolean;
|
|
349
|
+
declare const addMessage: (messages: IStep[], message: IStep) => IStep[];
|
|
350
|
+
declare const addMessageToParent: (messages: IStep[], parentId: string, newMessage: IStep) => IStep[];
|
|
351
|
+
declare const hasMessageById: (messages: IStep[], messageId: string) => boolean;
|
|
352
|
+
declare const updateMessageById: (messages: IStep[], messageId: string, updatedMessage: IStep) => IStep[];
|
|
353
|
+
declare const deleteMessageById: (messages: IStep[], messageId: string) => IStep[];
|
|
354
|
+
declare const updateMessageContentById: (messages: IStep[], messageId: number | string, updatedContent: string, isSequence: boolean) => IStep[];
|
|
346
355
|
|
|
347
|
-
export { APIBase, ActionSpec,
|
|
356
|
+
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, firstUserInteraction, 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,u){try{var a=e[i](u);var s=a.value}catch(e){n(e);return}if(a.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 u=e.apply(t,n);function a(e){o(u,r,i,a,s,"next",e)}function s(e){o(u,r,i,a,s,"throw",e)}a(undefined)})}}function u(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(e,t,n){if(_()){a=Reflect.construct}else{a=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 a.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 u,a;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){i=true;a=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}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&&(T(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 E(e){return n(e)||h(e)||I(e)||g()}function T(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 a(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,u={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return(i={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i);function a(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(u)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:u.label++;return{value:i[1],done:false};case 5:u.label++;r=i[1];i=[0];continue;case 7:i=u.ops.pop();u.trys.pop();continue;default:if(!(o=u.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){u=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(i[0]===6&&u.label<o[1]){u.label=o[1];o=i;break}if(o&&u.label<o[2]){u.label=o[2];u.ops.push(i);break}if(o[2])u.ops.pop();u.trys.pop();continue}i=t.call(e,u)}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");var M=require("uuid");var q=require("react");var U=require("socket.io-client");var B=require("jwt-decode");var L=require("swr");function F(e){return e&&e.__esModule?e:{default:e}}var G=/*#__PURE__*/F(U);var H=/*#__PURE__*/F(B);var X=/*#__PURE__*/F(L);var z=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 u=new Date(e.createdAt),a=u.toDateString()===n.toDateString(),s=u.toDateString()===r.toDateString(),c=u>=o,l=u>=i,f;a?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 J=D.atom({key:"ThreadIdToResume",default:void 0}),N=D.atom({key:"ChatProfile",default:void 0}),W=D.atom({key:"SessionId",default:M.v4()}),K=D.selector({key:"SessionIdSelector",get:function(e){var t=e.get;return t(W)},set:function(e,t){var n=e.set;return n(W,v(t,D.DefaultValue)?M.v4():t)}}),Y=D.atom({key:"Session",dangerouslyAllowMutability:!0,default:void 0}),$=D.atom({key:"Actions",default:[]}),Q=D.atom({key:"Messages",dangerouslyAllowMutability:!0,default:[]}),Z=D.atom({key:"TokenCount",default:0}),ee=D.atom({key:"Loading",default:!1}),et=D.atom({key:"AskUser",default:void 0}),en=D.atom({key:"ChatSettings",default:[]}),er=D.selector({key:"ChatSettingsValue/Default",get:function(e){var t=e.get;return t(en).reduce(function(e,t){return e[t.id]=t.initial,e},{})}}),eo=D.atom({key:"ChatSettingsValue",default:er}),ei=D.atom({key:"DisplayElements",default:[]}),eu=D.atom({key:"AvatarElements",default:[]}),ea=D.atom({key:"TasklistElements",default:[]}),es=D.atom({key:"FirstUserInteraction",default:void 0}),ec=D.atom({key:"AccessToken",default:void 0}),el=D.atom({key:"User",default:null}),ef=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)&&!V.isEqual(e.threads,n===null||n===void 0?void 0:n.timeGroupedThreads)&&(r=z(e.threads)),t(k(S({},e),{timeGroupedThreads:r}))})}]});var ed=function(){var e=D.useRecoilValue(ee),t=D.useRecoilValue(ei),n=D.useRecoilValue(eu),r=D.useRecoilValue(ea),o=D.useRecoilValue($),i=D.useRecoilValue(Y),u=D.useRecoilValue(et),a=D.useRecoilValue(en),s=D.useRecoilValue(eo),c=D.useRecoilValue(er),l=(i===null||i===void 0?void 0:i.socket.connected)&&!(i===null||i===void 0?void 0:i.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:a,chatSettingsValue:s,connected:l,disabled:f,elements:t,error:i===null||i===void 0?void 0:i.error,loading:e,tasklists:r}};var ev=function(e){var t=[];var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),u;!(n=(u=i.next()).done);n=true){var a=u.value;t=eh(t,a)}}catch(e){r=true;o=e}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(r){throw o}}}return t},ep=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},eh=function(e,t){return eg(e,t.id)?eS(e,t.id,t):"parentId"in t&&t.parentId?eb(e,t.parentId,t):"indent"in t&&t.indent&&t.indent>0?ey(e,t.indent,t):E(e).concat([t])},ey=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;var o=E(e);if(o.length===0)return E(o).concat([n]);{var i=o.length-1,u=o[i];return u.steps=u.steps||[],r+1===t?(u.steps=E(u.steps).concat([n]),o[i]=S({},u),o):(u.steps=ey(u.steps,t,n,r+1),o[i]=S({},u),o)}},eb=function(e,t,n){var r=E(e);for(var o=0;o<r.length;o++){var i=r[o];V.isEqual(i.id,t)?(i.steps=i.steps?E(i.steps).concat([n]):[n],r[o]=S({},i)):eg(r,t)&&i.steps&&(i.steps=eb(i.steps,t,n),r[o]=S({},i))}return r},eg=function(e,t){var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),u;!(n=(u=i.next()).done);n=true){var a=u.value;if(V.isEqual(a.id,t))return!0;if(a.steps&&a.steps.length>0&&eg(a.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},eS=function(e,t,n){var r=E(e);for(var o=0;o<r.length;o++){var i=r[o];V.isEqual(i.id,t)?r[o]=S({steps:i.steps},n):eg(r,t)&&i.steps&&(i.steps=eS(i.steps,t,n),r[o]=S({},i))}return r},em=function(e,t){var n=E(e);for(var r=0;r<n.length;r++){var o=n[r];o.id===t?n=E(n.slice(0,r)).concat(E(n.slice(r+1))):eg(n,t)&&o.steps&&(o.steps=em(o.steps,t),n[r]=S({},o))}return n},ek=function(e,t,n,r){var o=E(e);for(var i=0;i<o.length;i++){var u=o[i];V.isEqual(u.id,t)?("content"in u&&u.content!==void 0?r?u.content=n:u.content+=n:"output"in u&&u.output!==void 0&&(r?u.output=n:u.output+=n),o[i]=S({},u)):u.steps&&(u.steps=ek(u.steps,t,n,r),o[i]=S({},u))}return o};var ew=function(){var e=D.useRecoilValue(ec),t=D.useRecoilValue(Y),n=D.useRecoilValue(et),r=D.useRecoilValue(K),o=D.useResetRecoilState(en),i=D.useResetRecoilState(K),u=D.useResetRecoilState(eo),a=D.useSetRecoilState(es),s=D.useSetRecoilState(ee),c=D.useSetRecoilState(Q),l=D.useSetRecoilState(ei),f=D.useSetRecoilState(eu),d=D.useSetRecoilState(ea),v=D.useSetRecoilState($),p=D.useSetRecoilState(Z),h=D.useSetRecoilState(J),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(),a(void 0),c([]),l([]),f([]),d([]),v([]),p(0),o(),u()},[t]),b=q.useCallback(function(e,n){c(function(t){return eh(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 eh(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 eR=function(){var e=D.useRecoilValue(Q),t=D.useRecoilValue(es);return{messages:e,firstInteraction:t}};var ex=function(){var e=D.useRecoilValue(K),t=j(D.useRecoilState(Y),2),n=t[0],r=t[1],o=D.useResetRecoilState(eo),i=D.useSetRecoilState(es),u=D.useSetRecoilState(ee),a=D.useSetRecoilState(Q),s=D.useSetRecoilState(et),c=D.useSetRecoilState(ei),l=D.useSetRecoilState(eu),f=D.useSetRecoilState(ea),d=D.useSetRecoilState($),v=D.useSetRecoilState(en),p=D.useSetRecoilState(Z),h=j(D.useRecoilState(N),2),y=h[0],b=h[1],g=D.useRecoilValue(J),m=q.useCallback(function(t){var n=t.client,h=t.userEnv,m=t.accessToken;var w=G.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(){u(!0)}),w.on("task_end",function(){u(!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,u=undefined;try{for(var s=e.steps[Symbol.iterator](),d;!(o=(d=s.next()).done);o=true){var v=d.value;r=eh(r,v)}}catch(e){i=true;u=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(i){throw u}}}((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),a(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){a(function(t){return eh(t,e)})}),w.on("first_interaction",function(e){i(e)}),w.on("update_message",function(e){a(function(t){return eS(t,e.id,e)})}),w.on("delete_message",function(e){a(function(t){return em(t,e.id)})}),w.on("stream_start",function(e){a(function(t){return eh(t,e)})}),w.on("stream_token",function(e){var t=e.id,n=e.token,r=e.isSequence;a(function(e){return ek(e,t,n,r)})}),w.on("ask",function(e,t){var n=e.msg,r=e.spec;s({spec:r,callback:t}),a(function(e){return eh(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(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?E(e).concat([t]):E(e.slice(0,n)).concat([t],E(e.slice(n+1)))}):t.type==="tasklist"?f(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?E(e).concat([t]):E(e.slice(0,n)).concat([t],E(e.slice(n+1)))}):c(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?E(e).concat([t]):E(e.slice(0,n)).concat([t],E(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 E(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:E(t.slice(0,n)).concat(E(t.slice(n+1)))})}),w.on("token_usage",function(e){p(function(t){return t+e})})},[r,e,y]),w=q.useCallback(V.debounce(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,session:n,chatProfile:y,idToResume:g,setChatProfile:b}};var eO="token";function ej(){try{return localStorage.getItem(eO)}catch(e){return}}function eE(e){try{return localStorage.setItem(eO,e)}catch(e){return}}function eT(){try{return localStorage.removeItem(eO)}catch(e){return}}var eI=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 eP(e,t,n){var r=D.useRecoilValue(ec);return X.default(t?[t,r]:null,function(t){var n=j(t,2),r=n[0],o=n[1];return eI(e,r,o)},n)}var e_=function(e){var t=eP(e,"/auth/config"),n=t.data,r=t.isLoading,o=j(D.useRecoilState(ec),2),i=o[0],u=o[1],a=D.useSetRecoilState(ef),s=j(D.useRecoilState(el),2),c=s[0],l=s[1],f=!!(!r&&n),d=function(){l(null),eT(),u(""),a(void 0)},v=function(e){if(!e){d();return}try{var t=H.default(e),n=t.exp,r=w(t,["exp"]);eE(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&&ej()){v(ej());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 eA=/*#__PURE__*/function(e){d(n,e);var t=A(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}(P(Error)),eC=/*#__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 i(function(){var i,a,s,c,l;return C(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);i={};n&&(i.Authorization=u.checkToken(n));v(r,FormData)?a=r:(i["Content-Type"]="application/json",a=r?JSON.stringify(r):null);return[4,fetch(u.buildEndpoint(t),{method:e,headers:i,signal:o,body:a})];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&&(eT(),u.on401()),new eA(s.statusText,c.detail);case 3:return[2,s];case 4:l=f.sent();throw v(l,eA)&&u.onError&&u.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}(),eD=/*#__PURE__*/function(e){d(n,e);var t=A(n);function n(){u(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 u=this;return i(function(){var i,a,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,u.post("/generation",s,r,n.signal)];case 1:c=(a=l.sent())===null||a===void 0?void 0:(i=a.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 u=new TextDecoder("utf-8").decode(i);o&&o(r,u),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,u=new Promise(function(u,a){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);u(e)}else a("Upload failed")},i.onerror=function(){a("Upload error")},i.send(s)});return{xhr:i,promise:u}}},{key:"getElementUrl",value:function e(e,t,n){var r="?session_id=".concat(t);return n&&(n.startsWith("Bearer ")&&(n=n.slice(7)),r+="&token=".concat(n)),this.buildEndpoint("/project/file/".concat(e).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}(eC);Object.defineProperty(exports,"Socket",{enumerable:true,get:function e(){return U.Socket}});exports.APIBase=eC;exports.ChainlitAPI=eD;exports.ClientError=eA;exports.accessTokenState=ec;exports.actionState=$;exports.addMessage=eh;exports.addMessageToParent=eb;exports.askUserState=et;exports.avatarState=eu;exports.chatProfileState=N;exports.chatSettingsDefaultValueSelector=er;exports.chatSettingsInputsState=en;exports.chatSettingsValueState=eo;exports.deleteMessageById=em;exports.elementState=ei;exports.fetcher=eI;exports.firstUserInteraction=es;exports.hasMessageById=eg;exports.isLastMessage=ep;exports.loadingState=ee;exports.messagesState=Q;exports.nestMessages=ev;exports.sessionIdState=K;exports.sessionState=Y;exports.tasklistState=ea;exports.threadHistoryState=ef;exports.threadIdToResumeState=J;exports.tokenCountState=Z;exports.updateMessageById=eS;exports.updateMessageContentById=ek;exports.useApi=eP;exports.useAuth=e_;exports.useChatData=ed;exports.useChatInteract=ew;exports.useChatMessages=eR;exports.useChatSession=ex;exports.userState=el;//# sourceMappingURL=out.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|