@admin-layout/demo-perplexity-browser 12.2.4-alpha.2 → 12.2.4-alpha.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.
Files changed (79) hide show
  1. package/lib/api/index.d.ts +2 -0
  2. package/lib/api/index.d.ts.map +1 -0
  3. package/lib/api/llm.d.ts +34 -0
  4. package/lib/api/llm.d.ts.map +1 -0
  5. package/lib/api/llm.js +200 -0
  6. package/lib/api/llm.js.map +1 -0
  7. package/lib/api/stt.d.ts +21 -0
  8. package/lib/api/stt.d.ts.map +1 -0
  9. package/lib/api/stt.js +111 -0
  10. package/lib/api/stt.js.map +1 -0
  11. package/lib/components/AttachmentPreview.d.ts +10 -0
  12. package/lib/components/AttachmentPreview.d.ts.map +1 -0
  13. package/lib/components/AttachmentPreview.js +50 -0
  14. package/lib/components/AttachmentPreview.js.map +1 -0
  15. package/lib/components/AudioRecorder.d.ts +8 -0
  16. package/lib/components/AudioRecorder.d.ts.map +1 -0
  17. package/lib/components/AudioRecorder.js +221 -0
  18. package/lib/components/AudioRecorder.js.map +1 -0
  19. package/lib/components/AudioVisualizer.d.ts +7 -0
  20. package/lib/components/AudioVisualizer.d.ts.map +1 -0
  21. package/lib/components/AudioVisualizer.js +116 -0
  22. package/lib/components/AudioVisualizer.js.map +1 -0
  23. package/lib/components/ChatFiles.d.ts +8 -0
  24. package/lib/components/ChatFiles.d.ts.map +1 -0
  25. package/lib/components/ChatFiles.js +76 -0
  26. package/lib/components/ChatFiles.js.map +1 -0
  27. package/lib/components/ChatScreenshot.d.ts +7 -0
  28. package/lib/components/ChatScreenshot.d.ts.map +1 -0
  29. package/lib/components/ChatScreenshot.js +113 -0
  30. package/lib/components/ChatScreenshot.js.map +1 -0
  31. package/lib/components/SearchBar.d.ts +9 -1
  32. package/lib/components/SearchBar.d.ts.map +1 -1
  33. package/lib/components/SearchBar.js +176 -240
  34. package/lib/components/SearchBar.js.map +1 -1
  35. package/lib/config/constants.d.ts +108 -0
  36. package/lib/config/constants.d.ts.map +1 -0
  37. package/lib/config/constants.js +115 -0
  38. package/lib/config/constants.js.map +1 -0
  39. package/lib/config/env.d.ts +20 -0
  40. package/lib/config/env.d.ts.map +1 -0
  41. package/lib/config/env.js +22 -0
  42. package/lib/config/env.js.map +1 -0
  43. package/lib/config/index.d.ts +4 -0
  44. package/lib/config/index.d.ts.map +1 -0
  45. package/lib/config/providers.d.ts +54 -0
  46. package/lib/config/providers.d.ts.map +1 -0
  47. package/lib/config/providers.js +65 -0
  48. package/lib/config/providers.js.map +1 -0
  49. package/lib/pages/home/HomePage.d.ts +1 -3
  50. package/lib/pages/home/HomePage.d.ts.map +1 -1
  51. package/lib/pages/home/HomePage.js +232 -4
  52. package/lib/pages/home/HomePage.js.map +1 -1
  53. package/lib/platform/browser.d.ts +18 -0
  54. package/lib/platform/browser.d.ts.map +1 -0
  55. package/lib/platform/context.d.ts +76 -0
  56. package/lib/platform/context.d.ts.map +1 -0
  57. package/lib/platform/index.d.ts +25 -0
  58. package/lib/platform/index.d.ts.map +1 -0
  59. package/lib/platform/tauri.d.ts +35 -0
  60. package/lib/platform/tauri.d.ts.map +1 -0
  61. package/lib/platform/types.d.ts +164 -0
  62. package/lib/platform/types.d.ts.map +1 -0
  63. package/lib/state/chatMachine.d.ts +554 -0
  64. package/lib/state/chatMachine.d.ts.map +1 -0
  65. package/lib/state/chatMachine.js +458 -0
  66. package/lib/state/chatMachine.js.map +1 -0
  67. package/lib/state/index.d.ts +3 -0
  68. package/lib/state/index.d.ts.map +1 -0
  69. package/lib/state/useChatWithPlatform.d.ts +43 -0
  70. package/lib/state/useChatWithPlatform.d.ts.map +1 -0
  71. package/lib/types/chat.d.ts +56 -0
  72. package/lib/types/chat.d.ts.map +1 -0
  73. package/lib/types/index.d.ts +2 -0
  74. package/lib/types/index.d.ts.map +1 -0
  75. package/lib/utils/chatStorage.d.ts +25 -0
  76. package/lib/utils/chatStorage.d.ts.map +1 -0
  77. package/lib/utils/chatStorage.js +17 -0
  78. package/lib/utils/chatStorage.js.map +1 -0
  79. package/package.json +9 -5
@@ -0,0 +1,554 @@
1
+ /**
2
+ * Chat State Machine
3
+ *
4
+ * This XState machine manages the chat state and is platform-agnostic.
5
+ * It uses injected platform services for storage, screenshot, and microphone
6
+ * functionality, allowing the same machine to work on both browser and Tauri desktop.
7
+ *
8
+ * Architecture:
9
+ * - The machine itself is pure and doesn't import any platform-specific code
10
+ * - Platform services are passed via the machine's input or context factory
11
+ * - Actions use the services from context for persistence
12
+ */
13
+ import type { ChatMessage } from '../types/chat';
14
+ import type { IPlatformServices, IStorageService } from '../platform/types';
15
+ export type AttachedFile = {
16
+ id: string;
17
+ name: string;
18
+ type: string;
19
+ base64?: string;
20
+ dataUrl?: string;
21
+ size?: number;
22
+ };
23
+ export type MessageAttachment = {
24
+ id: string;
25
+ name: string;
26
+ type: 'file' | 'screenshot';
27
+ dataUrl?: string;
28
+ };
29
+ export type Message = {
30
+ role: 'user' | 'assistant' | 'system';
31
+ content: string;
32
+ attachedFiles?: AttachedFile[];
33
+ attachments?: MessageAttachment[];
34
+ };
35
+ export type ChatContext = {
36
+ storageService: IStorageService | null;
37
+ systemPrompt: string;
38
+ screenshot: string | null;
39
+ attachedFiles: AttachedFile[];
40
+ messages: Message[];
41
+ response: string;
42
+ isStreaming: boolean;
43
+ error: string | null;
44
+ };
45
+ export type ChatEvent = {
46
+ type: 'INPUT_SYSTEMPROMPT';
47
+ value: string;
48
+ } | {
49
+ type: 'INPUT_SCREENSHOT';
50
+ value: string | null;
51
+ } | {
52
+ type: 'INPUT_FILES';
53
+ value: AttachedFile[];
54
+ } | {
55
+ type: 'SEND_MESSAGE';
56
+ content: string;
57
+ attachments?: MessageAttachment[];
58
+ } | {
59
+ type: 'STREAM_CHUNK';
60
+ chunk: string;
61
+ } | {
62
+ type: 'STREAM_COMPLETE';
63
+ response: string;
64
+ } | {
65
+ type: 'STREAM_ERROR';
66
+ error: string;
67
+ } | {
68
+ type: 'LOAD_MESSAGES';
69
+ messages: Message[];
70
+ } | {
71
+ type: 'CLEAR_MESSAGES';
72
+ } | {
73
+ type: 'CLEAR_ATTACHMENTS';
74
+ } | {
75
+ type: 'RETRY';
76
+ } | {
77
+ type: 'CAPTURE_SCREENSHOT';
78
+ } | {
79
+ type: 'SCREENSHOT_CAPTURED';
80
+ base64: string;
81
+ dataUrl: string;
82
+ } | {
83
+ type: 'SCREENSHOT_ERROR';
84
+ error: string;
85
+ } | {
86
+ type: 'START_RECORDING';
87
+ } | {
88
+ type: 'STOP_RECORDING';
89
+ } | {
90
+ type: 'RECORDING_COMPLETE';
91
+ transcription: string;
92
+ } | {
93
+ type: 'RECORDING_ERROR';
94
+ error: string;
95
+ };
96
+ export type ChatInput = {
97
+ storageService?: IStorageService;
98
+ };
99
+ /**
100
+ * Create the chat machine with optional platform services
101
+ * @param platformServices - Optional platform services for storage, etc.
102
+ */
103
+ export declare function createChatMachine(platformServices?: IPlatformServices): import("xstate").StateMachine<ChatContext, ChatEvent, {
104
+ [x: string]: import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>>;
105
+ }, {
106
+ src: "sendToAI";
107
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
108
+ id: string;
109
+ }, import("xstate").Values<{
110
+ persistMessages: {
111
+ type: "persistMessages";
112
+ params: unknown;
113
+ };
114
+ clearStoredChat: {
115
+ type: "clearStoredChat";
116
+ params: unknown;
117
+ };
118
+ }>, never, never, "error" | "idle" | "sending", string, ChatInput, {}, import("xstate").EventObject, import("xstate").MetaObject, {
119
+ readonly id: "chat";
120
+ readonly initial: "idle";
121
+ readonly context: ({ input }: {
122
+ spawn: {
123
+ <TSrc extends "sendToAI">(logic: TSrc, ...[options]: {
124
+ src: "sendToAI";
125
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
126
+ id: string;
127
+ } extends infer T ? T extends {
128
+ src: "sendToAI";
129
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
130
+ id: string;
131
+ } ? T extends {
132
+ src: TSrc;
133
+ } ? import("xstate").ConditionalRequired<[options?: {
134
+ id?: T["id"];
135
+ systemId?: string;
136
+ input?: import("xstate").InputFrom<T["logic"]>;
137
+ syncSnapshot?: boolean;
138
+ } & { [K in import("xstate").RequiredActorOptions<T>]: unknown; }], import("xstate").IsNotNever<import("xstate").RequiredActorOptions<T>>> : never : never : never): import("xstate").ActorRefFromLogic<import("xstate").GetConcreteByKey<{
139
+ src: "sendToAI";
140
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
141
+ id: string;
142
+ }, "src", TSrc>["logic"]>;
143
+ <TLogic extends import("xstate").AnyActorLogic>(src: TLogic, ...[options]: import("xstate").ConditionalRequired<[options?: {
144
+ id?: never;
145
+ systemId?: string;
146
+ input?: import("xstate").InputFrom<TLogic>;
147
+ syncSnapshot?: boolean;
148
+ } & { [K in import("xstate").RequiredLogicInput<TLogic>]: unknown; }], import("xstate").IsNotNever<import("xstate").RequiredLogicInput<TLogic>>>): import("xstate").ActorRefFromLogic<TLogic>;
149
+ };
150
+ input: ChatInput;
151
+ self: import("xstate").ActorRef<import("xstate").MachineSnapshot<ChatContext, ChatEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, ChatEvent, import("xstate").AnyEventObject>;
152
+ }) => {
153
+ storageService: IStorageService;
154
+ systemPrompt: string;
155
+ screenshot: any;
156
+ attachedFiles: any[];
157
+ messages: any[];
158
+ response: string;
159
+ isStreaming: false;
160
+ error: any;
161
+ };
162
+ readonly states: {
163
+ readonly idle: {
164
+ readonly on: {
165
+ readonly LOAD_MESSAGES: {
166
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
167
+ type: "LOAD_MESSAGES";
168
+ messages: Message[];
169
+ }, ChatEvent, undefined, {
170
+ src: "sendToAI";
171
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
172
+ id: string;
173
+ }, never, never, never, never>;
174
+ };
175
+ readonly INPUT_SYSTEMPROMPT: {
176
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
177
+ type: "INPUT_SYSTEMPROMPT";
178
+ value: string;
179
+ }, ChatEvent, undefined, {
180
+ src: "sendToAI";
181
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
182
+ id: string;
183
+ }, never, never, never, never>;
184
+ };
185
+ readonly INPUT_SCREENSHOT: {
186
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
187
+ type: "INPUT_SCREENSHOT";
188
+ value: string | null;
189
+ }, ChatEvent, undefined, {
190
+ src: "sendToAI";
191
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
192
+ id: string;
193
+ }, never, never, never, never>;
194
+ };
195
+ readonly SCREENSHOT_CAPTURED: {
196
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
197
+ type: "SCREENSHOT_CAPTURED";
198
+ base64: string;
199
+ dataUrl: string;
200
+ }, ChatEvent, undefined, {
201
+ src: "sendToAI";
202
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
203
+ id: string;
204
+ }, never, never, never, never>;
205
+ };
206
+ readonly INPUT_FILES: {
207
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
208
+ type: "INPUT_FILES";
209
+ value: AttachedFile[];
210
+ }, ChatEvent, undefined, {
211
+ src: "sendToAI";
212
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
213
+ id: string;
214
+ }, never, never, never, never>;
215
+ };
216
+ readonly SEND_MESSAGE: {
217
+ readonly target: "sending";
218
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
219
+ type: "SEND_MESSAGE";
220
+ content: string;
221
+ attachments?: MessageAttachment[];
222
+ }, ChatEvent, undefined, {
223
+ src: "sendToAI";
224
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
225
+ id: string;
226
+ }, never, never, never, never>;
227
+ };
228
+ readonly CLEAR_MESSAGES: {
229
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
230
+ type: "CLEAR_MESSAGES";
231
+ }, ChatEvent, undefined, {
232
+ src: "sendToAI";
233
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
234
+ id: string;
235
+ }, never, never, never, never>, "clearStoredChat"];
236
+ };
237
+ readonly CLEAR_ATTACHMENTS: {
238
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
239
+ type: "CLEAR_ATTACHMENTS";
240
+ }, ChatEvent, undefined, {
241
+ src: "sendToAI";
242
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
243
+ id: string;
244
+ }, never, never, never, never>;
245
+ };
246
+ };
247
+ };
248
+ readonly sending: {
249
+ readonly entry: import("xstate").ActionFunction<ChatContext, ChatEvent, ChatEvent, undefined, {
250
+ src: "sendToAI";
251
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
252
+ id: string;
253
+ }, never, never, never, never>;
254
+ readonly invoke: {
255
+ readonly src: "sendToAI";
256
+ readonly input: ({ context }: {
257
+ context: ChatContext;
258
+ event: ChatEvent;
259
+ self: import("xstate").ActorRef<import("xstate").MachineSnapshot<ChatContext, ChatEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, ChatEvent, import("xstate").AnyEventObject>;
260
+ }) => ChatContext;
261
+ };
262
+ readonly on: {
263
+ readonly STREAM_CHUNK: {
264
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
265
+ type: "STREAM_CHUNK";
266
+ chunk: string;
267
+ }, ChatEvent, undefined, {
268
+ src: "sendToAI";
269
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
270
+ id: string;
271
+ }, never, never, never, never>;
272
+ };
273
+ readonly STREAM_COMPLETE: {
274
+ readonly target: "idle";
275
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
276
+ type: "STREAM_COMPLETE";
277
+ response: string;
278
+ }, ChatEvent, undefined, {
279
+ src: "sendToAI";
280
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
281
+ id: string;
282
+ }, never, never, never, never>];
283
+ };
284
+ readonly STREAM_ERROR: {
285
+ readonly target: "error";
286
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
287
+ type: "STREAM_ERROR";
288
+ error: string;
289
+ }, ChatEvent, undefined, {
290
+ src: "sendToAI";
291
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
292
+ id: string;
293
+ }, never, never, never, never>;
294
+ };
295
+ };
296
+ };
297
+ readonly error: {
298
+ readonly on: {
299
+ readonly RETRY: "sending";
300
+ readonly CLEAR_MESSAGES: {
301
+ readonly target: "idle";
302
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
303
+ type: "CLEAR_MESSAGES";
304
+ }, ChatEvent, undefined, {
305
+ src: "sendToAI";
306
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
307
+ id: string;
308
+ }, never, never, never, never>, "clearStoredChat"];
309
+ };
310
+ readonly SEND_MESSAGE: {
311
+ readonly target: "sending";
312
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
313
+ type: "SEND_MESSAGE";
314
+ content: string;
315
+ attachments?: MessageAttachment[];
316
+ }, ChatEvent, undefined, {
317
+ src: "sendToAI";
318
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
319
+ id: string;
320
+ }, never, never, never, never>;
321
+ };
322
+ };
323
+ };
324
+ };
325
+ }>;
326
+ /**
327
+ * Default chat machine (backward compatible - no platform services injected)
328
+ * For new code, use createChatMachine(platformServices) instead
329
+ */
330
+ export declare const chatMachine: import("xstate").StateMachine<ChatContext, ChatEvent, {
331
+ [x: string]: import("xstate").ActorRefFromLogic<import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>>;
332
+ }, {
333
+ src: "sendToAI";
334
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
335
+ id: string;
336
+ }, import("xstate").Values<{
337
+ persistMessages: {
338
+ type: "persistMessages";
339
+ params: unknown;
340
+ };
341
+ clearStoredChat: {
342
+ type: "clearStoredChat";
343
+ params: unknown;
344
+ };
345
+ }>, never, never, "error" | "idle" | "sending", string, ChatInput, {}, import("xstate").EventObject, import("xstate").MetaObject, {
346
+ readonly id: "chat";
347
+ readonly initial: "idle";
348
+ readonly context: ({ input }: {
349
+ spawn: {
350
+ <TSrc extends "sendToAI">(logic: TSrc, ...[options]: {
351
+ src: "sendToAI";
352
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
353
+ id: string;
354
+ } extends infer T ? T extends {
355
+ src: "sendToAI";
356
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
357
+ id: string;
358
+ } ? T extends {
359
+ src: TSrc;
360
+ } ? import("xstate").ConditionalRequired<[options?: {
361
+ id?: T["id"];
362
+ systemId?: string;
363
+ input?: import("xstate").InputFrom<T["logic"]>;
364
+ syncSnapshot?: boolean;
365
+ } & { [K in import("xstate").RequiredActorOptions<T>]: unknown; }], import("xstate").IsNotNever<import("xstate").RequiredActorOptions<T>>> : never : never : never): import("xstate").ActorRefFromLogic<import("xstate").GetConcreteByKey<{
366
+ src: "sendToAI";
367
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
368
+ id: string;
369
+ }, "src", TSrc>["logic"]>;
370
+ <TLogic extends import("xstate").AnyActorLogic>(src: TLogic, ...[options]: import("xstate").ConditionalRequired<[options?: {
371
+ id?: never;
372
+ systemId?: string;
373
+ input?: import("xstate").InputFrom<TLogic>;
374
+ syncSnapshot?: boolean;
375
+ } & { [K in import("xstate").RequiredLogicInput<TLogic>]: unknown; }], import("xstate").IsNotNever<import("xstate").RequiredLogicInput<TLogic>>>): import("xstate").ActorRefFromLogic<TLogic>;
376
+ };
377
+ input: ChatInput;
378
+ self: import("xstate").ActorRef<import("xstate").MachineSnapshot<ChatContext, ChatEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, ChatEvent, import("xstate").AnyEventObject>;
379
+ }) => {
380
+ storageService: IStorageService;
381
+ systemPrompt: string;
382
+ screenshot: any;
383
+ attachedFiles: any[];
384
+ messages: any[];
385
+ response: string;
386
+ isStreaming: false;
387
+ error: any;
388
+ };
389
+ readonly states: {
390
+ readonly idle: {
391
+ readonly on: {
392
+ readonly LOAD_MESSAGES: {
393
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
394
+ type: "LOAD_MESSAGES";
395
+ messages: Message[];
396
+ }, ChatEvent, undefined, {
397
+ src: "sendToAI";
398
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
399
+ id: string;
400
+ }, never, never, never, never>;
401
+ };
402
+ readonly INPUT_SYSTEMPROMPT: {
403
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
404
+ type: "INPUT_SYSTEMPROMPT";
405
+ value: string;
406
+ }, ChatEvent, undefined, {
407
+ src: "sendToAI";
408
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
409
+ id: string;
410
+ }, never, never, never, never>;
411
+ };
412
+ readonly INPUT_SCREENSHOT: {
413
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
414
+ type: "INPUT_SCREENSHOT";
415
+ value: string | null;
416
+ }, ChatEvent, undefined, {
417
+ src: "sendToAI";
418
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
419
+ id: string;
420
+ }, never, never, never, never>;
421
+ };
422
+ readonly SCREENSHOT_CAPTURED: {
423
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
424
+ type: "SCREENSHOT_CAPTURED";
425
+ base64: string;
426
+ dataUrl: string;
427
+ }, ChatEvent, undefined, {
428
+ src: "sendToAI";
429
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
430
+ id: string;
431
+ }, never, never, never, never>;
432
+ };
433
+ readonly INPUT_FILES: {
434
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
435
+ type: "INPUT_FILES";
436
+ value: AttachedFile[];
437
+ }, ChatEvent, undefined, {
438
+ src: "sendToAI";
439
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
440
+ id: string;
441
+ }, never, never, never, never>;
442
+ };
443
+ readonly SEND_MESSAGE: {
444
+ readonly target: "sending";
445
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
446
+ type: "SEND_MESSAGE";
447
+ content: string;
448
+ attachments?: MessageAttachment[];
449
+ }, ChatEvent, undefined, {
450
+ src: "sendToAI";
451
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
452
+ id: string;
453
+ }, never, never, never, never>;
454
+ };
455
+ readonly CLEAR_MESSAGES: {
456
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
457
+ type: "CLEAR_MESSAGES";
458
+ }, ChatEvent, undefined, {
459
+ src: "sendToAI";
460
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
461
+ id: string;
462
+ }, never, never, never, never>, "clearStoredChat"];
463
+ };
464
+ readonly CLEAR_ATTACHMENTS: {
465
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
466
+ type: "CLEAR_ATTACHMENTS";
467
+ }, ChatEvent, undefined, {
468
+ src: "sendToAI";
469
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
470
+ id: string;
471
+ }, never, never, never, never>;
472
+ };
473
+ };
474
+ };
475
+ readonly sending: {
476
+ readonly entry: import("xstate").ActionFunction<ChatContext, ChatEvent, ChatEvent, undefined, {
477
+ src: "sendToAI";
478
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
479
+ id: string;
480
+ }, never, never, never, never>;
481
+ readonly invoke: {
482
+ readonly src: "sendToAI";
483
+ readonly input: ({ context }: {
484
+ context: ChatContext;
485
+ event: ChatEvent;
486
+ self: import("xstate").ActorRef<import("xstate").MachineSnapshot<ChatContext, ChatEvent, Record<string, import("xstate").AnyActorRef>, import("xstate").StateValue, string, unknown, any, any>, ChatEvent, import("xstate").AnyEventObject>;
487
+ }) => ChatContext;
488
+ };
489
+ readonly on: {
490
+ readonly STREAM_CHUNK: {
491
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
492
+ type: "STREAM_CHUNK";
493
+ chunk: string;
494
+ }, ChatEvent, undefined, {
495
+ src: "sendToAI";
496
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
497
+ id: string;
498
+ }, never, never, never, never>;
499
+ };
500
+ readonly STREAM_COMPLETE: {
501
+ readonly target: "idle";
502
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
503
+ type: "STREAM_COMPLETE";
504
+ response: string;
505
+ }, ChatEvent, undefined, {
506
+ src: "sendToAI";
507
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
508
+ id: string;
509
+ }, never, never, never, never>];
510
+ };
511
+ readonly STREAM_ERROR: {
512
+ readonly target: "error";
513
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
514
+ type: "STREAM_ERROR";
515
+ error: string;
516
+ }, ChatEvent, undefined, {
517
+ src: "sendToAI";
518
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
519
+ id: string;
520
+ }, never, never, never, never>;
521
+ };
522
+ };
523
+ };
524
+ readonly error: {
525
+ readonly on: {
526
+ readonly RETRY: "sending";
527
+ readonly CLEAR_MESSAGES: {
528
+ readonly target: "idle";
529
+ readonly actions: readonly [import("xstate").ActionFunction<ChatContext, {
530
+ type: "CLEAR_MESSAGES";
531
+ }, ChatEvent, undefined, {
532
+ src: "sendToAI";
533
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
534
+ id: string;
535
+ }, never, never, never, never>, "clearStoredChat"];
536
+ };
537
+ readonly SEND_MESSAGE: {
538
+ readonly target: "sending";
539
+ readonly actions: import("xstate").ActionFunction<ChatContext, {
540
+ type: "SEND_MESSAGE";
541
+ content: string;
542
+ attachments?: MessageAttachment[];
543
+ }, ChatEvent, undefined, {
544
+ src: "sendToAI";
545
+ logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, ChatContext, import("xstate").EventObject>;
546
+ id: string;
547
+ }, never, never, never, never>;
548
+ };
549
+ };
550
+ };
551
+ };
552
+ }>;
553
+ export type { ChatMessage };
554
+ //# sourceMappingURL=chatMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatMachine.d.ts","sourceRoot":"","sources":["../../src/state/chatMachine.ts"],"names":[],"mappings":"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"}