@epicbagel/saas-kit 1.6.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -1
- package/THIRD_PARTY_NOTICES.md +14 -0
- package/dist/chunk-2BSFYU22.cjs +71 -0
- package/dist/{chunk-GTVSRRE3.cjs → chunk-BGCNGYPL.cjs} +2 -2
- package/dist/{chunk-QTWJQQDH.cjs → chunk-FBVZRRA4.cjs} +6 -6
- package/dist/chunk-GJ7S3L6R.js +71 -0
- package/dist/{chunk-LKPM6DQP.cjs → chunk-HTCW6AEH.cjs} +51 -72
- package/dist/{chunk-F3B4M6DU.js → chunk-HTPPNW74.js} +1 -1
- package/dist/chunk-KUG4ONYC.js +127 -0
- package/dist/{chunk-TI57GAQP.js → chunk-KWV5KTOA.js} +48 -69
- package/dist/{chunk-JN6JOSZG.js → chunk-LQPJGZIE.js} +7 -7
- package/dist/chunk-M2ZNC3TK.js +316 -0
- package/dist/chunk-O6F3LVZY.cjs +316 -0
- package/dist/chunk-UW67GSZ4.cjs +127 -0
- package/dist/chunk-VBKJXNEL.js +157 -0
- package/dist/chunk-XB2D4NQK.cjs +157 -0
- package/dist/hooks/use-agent-audio-visualizer-bar.cjs +8 -0
- package/dist/hooks/use-agent-audio-visualizer-bar.d.cts +4 -0
- package/dist/hooks/use-agent-audio-visualizer-bar.d.ts +4 -0
- package/dist/hooks/use-agent-audio-visualizer-bar.js +8 -0
- package/dist/hooks/use-dictation.cjs +10 -0
- package/dist/hooks/use-dictation.d.cts +56 -0
- package/dist/hooks/use-dictation.d.ts +56 -0
- package/dist/hooks/use-dictation.js +10 -0
- package/dist/primitives/activity-feed.cjs +3 -3
- package/dist/primitives/activity-feed.js +4 -4
- package/dist/primitives/agent-audio-visualizer-bar.cjs +16 -0
- package/dist/primitives/agent-audio-visualizer-bar.d.cts +75 -0
- package/dist/primitives/agent-audio-visualizer-bar.d.ts +75 -0
- package/dist/primitives/agent-audio-visualizer-bar.js +16 -0
- package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
- package/dist/primitives/archive-confirmation-dialog.js +3 -3
- package/dist/primitives/board-view.cjs +6 -6
- package/dist/primitives/board-view.js +5 -5
- package/dist/primitives/chat.cjs +127 -48
- package/dist/primitives/chat.d.cts +25 -3
- package/dist/primitives/chat.d.ts +25 -3
- package/dist/primitives/chat.js +122 -43
- package/dist/primitives/code-block.cjs +4 -4
- package/dist/primitives/code-block.js +3 -3
- package/dist/primitives/connection.cjs +6 -6
- package/dist/primitives/connection.js +7 -7
- package/dist/primitives/copy-button.cjs +3 -3
- package/dist/primitives/copy-button.js +2 -2
- package/dist/primitives/dictation-provider.cjs +8 -0
- package/dist/primitives/dictation-provider.d.cts +2 -0
- package/dist/primitives/dictation-provider.d.ts +2 -0
- package/dist/primitives/dictation-provider.js +8 -0
- package/dist/primitives/editable-list.cjs +1 -1
- package/dist/primitives/editable-list.js +1 -1
- package/dist/primitives/file-dropzone.cjs +3 -3
- package/dist/primitives/file-dropzone.js +2 -2
- package/dist/primitives/file-preview.cjs +6 -6
- package/dist/primitives/file-preview.js +5 -5
- package/dist/primitives/filter-bar.cjs +4 -4
- package/dist/primitives/filter-bar.js +3 -3
- package/dist/primitives/input-group.d.cts +1 -1
- package/dist/primitives/input-group.d.ts +1 -1
- package/dist/primitives/resource-list.cjs +6 -6
- package/dist/primitives/resource-list.js +5 -5
- package/dist/primitives/section.cjs +2 -2
- package/dist/primitives/section.js +3 -3
- package/dist/primitives/sheet.d.cts +1 -1
- package/dist/primitives/sheet.d.ts +1 -1
- package/dist/primitives/switch-field.cjs +2 -2
- package/dist/primitives/switch-field.js +3 -3
- package/dist/primitives/theme-selector.cjs +3 -3
- package/dist/primitives/theme-selector.js +4 -4
- package/dist/primitives/voice-dictation-button.cjs +3 -2
- package/dist/primitives/voice-dictation-button.js +2 -1
- package/dist/primitives/voice-session-controls.cjs +12 -0
- package/dist/primitives/voice-session-controls.d.cts +29 -0
- package/dist/primitives/voice-session-controls.d.ts +29 -0
- package/dist/primitives/voice-session-controls.js +12 -0
- package/package.json +51 -1
- package/dist/{chunk-HREEZUKL.js → chunk-DILYV4FI.js} +3 -3
- package/dist/{chunk-MU4F3DSW.cjs → chunk-FARCLWLU.cjs} +2 -2
- package/dist/{chunk-CRTH5GJ5.cjs → chunk-MW67PHAQ.cjs} +3 -3
- package/dist/{chunk-KNKV25WS.js → chunk-UFFHGKI7.js} +3 -3
- package/dist/{chunk-HBRVOGLA.js → chunk-WHDHUYS6.js} +3 -3
- package/dist/{chunk-Z3JJSNR5.cjs → chunk-ZLEM2SAU.cjs} +2 -2
package/dist/primitives/chat.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
|
+
import {
|
|
4
|
+
VoiceSessionControls
|
|
5
|
+
} from "../chunk-KUG4ONYC.js";
|
|
3
6
|
import {
|
|
4
7
|
Trace,
|
|
5
8
|
TraceLine,
|
|
@@ -7,11 +10,15 @@ import {
|
|
|
7
10
|
} from "../chunk-Z45YKVAM.js";
|
|
8
11
|
import {
|
|
9
12
|
VoiceDictationButton
|
|
10
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-KWV5KTOA.js";
|
|
11
14
|
import {
|
|
12
15
|
Suggestion,
|
|
13
16
|
Suggestions
|
|
14
17
|
} from "../chunk-IJG2B3Y2.js";
|
|
18
|
+
import {
|
|
19
|
+
Marker,
|
|
20
|
+
MarkerContent
|
|
21
|
+
} from "../chunk-IW4ZIXXG.js";
|
|
15
22
|
import {
|
|
16
23
|
MessageScroller,
|
|
17
24
|
MessageScrollerButton,
|
|
@@ -26,10 +33,6 @@ import {
|
|
|
26
33
|
MessageActions,
|
|
27
34
|
MessageContent
|
|
28
35
|
} from "../chunk-H4XH2PPU.js";
|
|
29
|
-
import {
|
|
30
|
-
Marker,
|
|
31
|
-
MarkerContent
|
|
32
|
-
} from "../chunk-IW4ZIXXG.js";
|
|
33
36
|
import {
|
|
34
37
|
InputGroup,
|
|
35
38
|
InputGroupAddon,
|
|
@@ -39,7 +42,7 @@ import "../chunk-6FC65AZQ.js";
|
|
|
39
42
|
import {
|
|
40
43
|
FileDropArea,
|
|
41
44
|
FileDropzone
|
|
42
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-WHDHUYS6.js";
|
|
43
46
|
import {
|
|
44
47
|
LazyMarkdown
|
|
45
48
|
} from "../chunk-VY5U4VGV.js";
|
|
@@ -50,6 +53,7 @@ import {
|
|
|
50
53
|
DropdownMenuItem,
|
|
51
54
|
DropdownMenuTrigger
|
|
52
55
|
} from "../chunk-V4LE2HWP.js";
|
|
56
|
+
import "../chunk-ZRLUUZHK.js";
|
|
53
57
|
import {
|
|
54
58
|
Bubble,
|
|
55
59
|
BubbleContent
|
|
@@ -67,26 +71,28 @@ import {
|
|
|
67
71
|
AttachmentTitle,
|
|
68
72
|
AttachmentTrigger
|
|
69
73
|
} from "../chunk-CYDICVH2.js";
|
|
70
|
-
import "../chunk-ZRLUUZHK.js";
|
|
71
74
|
import {
|
|
72
75
|
ActionDock
|
|
73
76
|
} from "../chunk-42RTTHND.js";
|
|
74
77
|
import "../chunk-QMA3WVB7.js";
|
|
78
|
+
import "../chunk-VBKJXNEL.js";
|
|
75
79
|
import {
|
|
76
80
|
Button
|
|
77
81
|
} from "../chunk-W326GKML.js";
|
|
82
|
+
import {
|
|
83
|
+
cn
|
|
84
|
+
} from "../chunk-G6SRSWXB.js";
|
|
85
|
+
import "../chunk-GJ7S3L6R.js";
|
|
78
86
|
import {
|
|
79
87
|
useCopyToClipboard
|
|
80
88
|
} from "../chunk-ZWZAAGQF.js";
|
|
89
|
+
import "../chunk-M2ZNC3TK.js";
|
|
81
90
|
import {
|
|
82
91
|
useIsMobile
|
|
83
92
|
} from "../chunk-PIU5SSUV.js";
|
|
84
93
|
import {
|
|
85
94
|
formatRelativeLong
|
|
86
95
|
} from "../chunk-CS7DM3NV.js";
|
|
87
|
-
import {
|
|
88
|
-
cn
|
|
89
|
-
} from "../chunk-G6SRSWXB.js";
|
|
90
96
|
|
|
91
97
|
// src/primitives/chat.tsx
|
|
92
98
|
import {
|
|
@@ -372,6 +378,7 @@ function ChatInput({
|
|
|
372
378
|
size = "md",
|
|
373
379
|
uploadingLabel,
|
|
374
380
|
voice = true,
|
|
381
|
+
voiceSession,
|
|
375
382
|
voiceTitle,
|
|
376
383
|
voiceLang,
|
|
377
384
|
submitLabel,
|
|
@@ -397,6 +404,7 @@ function ChatInput({
|
|
|
397
404
|
const isDisabled = pending || disabled;
|
|
398
405
|
const attachmentsReady = attachments.length > 0 && attachments.every((item) => item.state !== "uploading");
|
|
399
406
|
const canSubmit = !isDisabled && (Boolean(value.trim()) || attachmentsReady);
|
|
407
|
+
const liveVoiceActive = voiceSession && voiceSession.state !== "disconnected" && voiceSession.state !== "error";
|
|
400
408
|
const submit = () => {
|
|
401
409
|
const trimmed = value.trim();
|
|
402
410
|
if (!trimmed && !attachmentsReady || isDisabled) return;
|
|
@@ -457,6 +465,7 @@ function ChatInput({
|
|
|
457
465
|
className
|
|
458
466
|
),
|
|
459
467
|
children: [
|
|
468
|
+
liveVoiceActive && /* @__PURE__ */ jsx(InputGroupAddon, { align: "block-start", className: "w-full border-b border-border", children: /* @__PURE__ */ jsx(VoiceSessionControls, { ...voiceSession }) }),
|
|
460
469
|
attachments.length > 0 && /* @__PURE__ */ jsx(
|
|
461
470
|
ChatAttachmentList,
|
|
462
471
|
{
|
|
@@ -523,12 +532,21 @@ function ChatInput({
|
|
|
523
532
|
addFilesLabel
|
|
524
533
|
] }) })
|
|
525
534
|
] }),
|
|
535
|
+
helperText ? /* @__PURE__ */ jsx(
|
|
536
|
+
"span",
|
|
537
|
+
{
|
|
538
|
+
"data-slot": "chat-input-helper",
|
|
539
|
+
className: cn("min-w-0 flex-1 truncate px-1 text-center text-xs font-normal text-muted-foreground sm:px-2 sm:text-sm", compact && "hidden"),
|
|
540
|
+
children: helperText
|
|
541
|
+
}
|
|
542
|
+
) : /* @__PURE__ */ jsx("div", { className: compact ? "hidden" : "flex-1" }),
|
|
526
543
|
voice && /* @__PURE__ */ jsx(
|
|
527
544
|
VoiceDictationButton,
|
|
528
545
|
{
|
|
529
546
|
size: "icon",
|
|
530
547
|
title: voiceTitle,
|
|
531
548
|
lang: voiceLang,
|
|
549
|
+
disabled: Boolean(isDisabled || liveVoiceActive),
|
|
532
550
|
onCommit: (text) => onSend(text),
|
|
533
551
|
className: cn(
|
|
534
552
|
spacious && "border-transparent bg-transparent shadow-none hover:bg-muted",
|
|
@@ -537,14 +555,7 @@ function ChatInput({
|
|
|
537
555
|
)
|
|
538
556
|
}
|
|
539
557
|
),
|
|
540
|
-
|
|
541
|
-
"span",
|
|
542
|
-
{
|
|
543
|
-
"data-slot": "chat-input-helper",
|
|
544
|
-
className: cn("min-w-0 flex-1 truncate px-1 text-center text-xs font-normal text-muted-foreground sm:px-2 sm:text-sm", compact && "hidden"),
|
|
545
|
-
children: helperText
|
|
546
|
-
}
|
|
547
|
-
) : /* @__PURE__ */ jsx("div", { className: compact ? "hidden" : "flex-1" }),
|
|
558
|
+
voiceSession && !liveVoiceActive && /* @__PURE__ */ jsx(VoiceSessionControls, { ...voiceSession, disabled: voiceSession.disabled || isDisabled }),
|
|
548
559
|
submitLabel ? /* @__PURE__ */ jsxs(
|
|
549
560
|
Button,
|
|
550
561
|
{
|
|
@@ -593,6 +604,8 @@ function ChatInput({
|
|
|
593
604
|
}
|
|
594
605
|
function VoiceHero({
|
|
595
606
|
onSubmit,
|
|
607
|
+
voice,
|
|
608
|
+
voiceSession,
|
|
596
609
|
voiceTitle,
|
|
597
610
|
voiceLang,
|
|
598
611
|
onSwitchToText,
|
|
@@ -600,7 +613,19 @@ function VoiceHero({
|
|
|
600
613
|
switchLabel
|
|
601
614
|
}) {
|
|
602
615
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-5 py-6", children: [
|
|
603
|
-
/* @__PURE__ */
|
|
616
|
+
voiceSession ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
617
|
+
/* @__PURE__ */ jsx(VoiceSessionControls, { ...voiceSession, size: "hero" }),
|
|
618
|
+
voice && /* @__PURE__ */ jsx(
|
|
619
|
+
VoiceDictationButton,
|
|
620
|
+
{
|
|
621
|
+
size: "icon",
|
|
622
|
+
title: voiceTitle,
|
|
623
|
+
lang: voiceLang,
|
|
624
|
+
onCommit: onSubmit,
|
|
625
|
+
disabled: Boolean(voiceSession.disabled || voiceSession.state !== "disconnected" && voiceSession.state !== "error")
|
|
626
|
+
}
|
|
627
|
+
)
|
|
628
|
+
] }) : /* @__PURE__ */ jsx(
|
|
604
629
|
VoiceDictationButton,
|
|
605
630
|
{
|
|
606
631
|
size: "lg",
|
|
@@ -629,27 +654,40 @@ var EXAMPLE_PROMPT_LAYOUTS = {
|
|
|
629
654
|
row: "row",
|
|
630
655
|
cards: "grid"
|
|
631
656
|
};
|
|
632
|
-
function
|
|
633
|
-
|
|
657
|
+
function ChatSuggestions({
|
|
658
|
+
slot,
|
|
659
|
+
items,
|
|
634
660
|
onSelect,
|
|
635
|
-
label
|
|
661
|
+
label,
|
|
662
|
+
showLabel = true,
|
|
636
663
|
variant = "chips",
|
|
664
|
+
disabled = false,
|
|
637
665
|
className
|
|
638
666
|
}) {
|
|
639
667
|
const labelId = useId();
|
|
640
|
-
if (
|
|
668
|
+
if (items.length === 0) return null;
|
|
641
669
|
const cards = variant === "cards";
|
|
642
|
-
return /* @__PURE__ */ jsxs("div", { "data-slot":
|
|
643
|
-
/* @__PURE__ */ jsx("p", { id: labelId, "data-slot":
|
|
644
|
-
/* @__PURE__ */ jsx(
|
|
645
|
-
|
|
670
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": slot, "data-variant": variant, className, children: [
|
|
671
|
+
showLabel && /* @__PURE__ */ jsx("p", { id: labelId, "data-slot": `${slot}-label`, className: "mb-2 text-left text-xs text-muted-foreground", children: label }),
|
|
672
|
+
/* @__PURE__ */ jsx(
|
|
673
|
+
Suggestions,
|
|
646
674
|
{
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
675
|
+
role: "group",
|
|
676
|
+
"aria-labelledby": showLabel ? labelId : void 0,
|
|
677
|
+
"aria-label": showLabel ? void 0 : label,
|
|
678
|
+
layout: EXAMPLE_PROMPT_LAYOUTS[variant],
|
|
679
|
+
children: items.map((item) => /* @__PURE__ */ jsx(
|
|
680
|
+
Suggestion,
|
|
681
|
+
{
|
|
682
|
+
suggestion: item,
|
|
683
|
+
onClick: onSelect,
|
|
684
|
+
disabled,
|
|
685
|
+
className: cards ? "h-auto min-h-12 px-3 py-2.5 text-xs" : void 0
|
|
686
|
+
},
|
|
687
|
+
item
|
|
688
|
+
))
|
|
689
|
+
}
|
|
690
|
+
)
|
|
653
691
|
] });
|
|
654
692
|
}
|
|
655
693
|
function ExamplePromptsLoading({ label, className }) {
|
|
@@ -693,6 +731,8 @@ var Chat = forwardRef(function Chat2({
|
|
|
693
731
|
examplePromptsVariant = "chips",
|
|
694
732
|
examplePromptsLoading = false,
|
|
695
733
|
examplePromptsLoadingLabel = "Loading suggestions\u2026",
|
|
734
|
+
replySuggestions = [],
|
|
735
|
+
replySuggestionsLabel = "Suggested replies",
|
|
696
736
|
compactEmptyState = false,
|
|
697
737
|
defaultMode,
|
|
698
738
|
placeholder = "Type your message\u2026",
|
|
@@ -715,6 +755,7 @@ var Chat = forwardRef(function Chat2({
|
|
|
715
755
|
fileDropLabel,
|
|
716
756
|
fileDropDescription,
|
|
717
757
|
voice = true,
|
|
758
|
+
voiceSession,
|
|
718
759
|
voiceTitle,
|
|
719
760
|
activeVoiceTitle,
|
|
720
761
|
voiceLang,
|
|
@@ -738,7 +779,15 @@ var Chat = forwardRef(function Chat2({
|
|
|
738
779
|
const inputRef = useRef(null);
|
|
739
780
|
const conversationStarted = messages.length > 0;
|
|
740
781
|
const [userMode, setUserMode] = useState(null);
|
|
741
|
-
const mode = userMode ?? defaultMode ?? (isMobile ? "voice" : "text");
|
|
782
|
+
const mode = !voice && !voiceSession ? "text" : userMode ?? defaultMode ?? (isMobile ? "voice" : "text");
|
|
783
|
+
const reportSendError = useCallback(
|
|
784
|
+
(cause) => {
|
|
785
|
+
if (onSendError) onSendError(cause);
|
|
786
|
+
else if (typeof globalThis.reportError === "function") globalThis.reportError(cause);
|
|
787
|
+
else console.error(cause);
|
|
788
|
+
},
|
|
789
|
+
[onSendError]
|
|
790
|
+
);
|
|
742
791
|
const send = useCallback(
|
|
743
792
|
async (text, sentAttachments = attachments) => {
|
|
744
793
|
const trimmed = text.trim();
|
|
@@ -751,13 +800,24 @@ var Chat = forwardRef(function Chat2({
|
|
|
751
800
|
setInput((current) => current ? current : trimmed);
|
|
752
801
|
if (mode === "voice") setUserMode("text");
|
|
753
802
|
}
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
803
|
+
reportSendError(cause);
|
|
804
|
+
}
|
|
805
|
+
window.setTimeout(() => inputRef.current?.focus(), 0);
|
|
806
|
+
},
|
|
807
|
+
[attachments, mode, onSend, pending, reportSendError]
|
|
808
|
+
);
|
|
809
|
+
const sendSuggestion = useCallback(
|
|
810
|
+
async (text) => {
|
|
811
|
+
const trimmed = text.trim();
|
|
812
|
+
if (!trimmed || pending) return;
|
|
813
|
+
try {
|
|
814
|
+
await onSend(trimmed, []);
|
|
815
|
+
} catch (cause) {
|
|
816
|
+
reportSendError(cause);
|
|
757
817
|
}
|
|
758
818
|
window.setTimeout(() => inputRef.current?.focus(), 0);
|
|
759
819
|
},
|
|
760
|
-
[
|
|
820
|
+
[onSend, pending, reportSendError]
|
|
761
821
|
);
|
|
762
822
|
useImperativeHandle(
|
|
763
823
|
ref,
|
|
@@ -777,7 +837,8 @@ var Chat = forwardRef(function Chat2({
|
|
|
777
837
|
const application = layout === "application";
|
|
778
838
|
const workspace = layout === "workspace";
|
|
779
839
|
const showEmptyFileDropzone = emptyFileDropzone && Boolean(onFilesSelected) && attachments.length === 0;
|
|
780
|
-
const
|
|
840
|
+
const liveVoiceActive = voiceSession && voiceSession.state !== "disconnected" && voiceSession.state !== "error";
|
|
841
|
+
const showEmptyPending = !conversationStarted && pending && Boolean(emptyPendingContent) && !liveVoiceActive;
|
|
781
842
|
return /* @__PURE__ */ jsx(
|
|
782
843
|
FileDropArea,
|
|
783
844
|
{
|
|
@@ -862,6 +923,8 @@ var Chat = forwardRef(function Chat2({
|
|
|
862
923
|
VoiceHero,
|
|
863
924
|
{
|
|
864
925
|
onSubmit: (text) => void send(text),
|
|
926
|
+
voice,
|
|
927
|
+
voiceSession: voiceSession ? { ...voiceSession, disabled: voiceSession.disabled || pending } : void 0,
|
|
865
928
|
voiceTitle,
|
|
866
929
|
voiceLang,
|
|
867
930
|
label: voiceHeroLabel,
|
|
@@ -878,6 +941,7 @@ var Chat = forwardRef(function Chat2({
|
|
|
878
941
|
placeholder,
|
|
879
942
|
size: showEmptyFileDropzone || application && isMobile ? "md" : "lg",
|
|
880
943
|
voice,
|
|
944
|
+
voiceSession,
|
|
881
945
|
voiceTitle,
|
|
882
946
|
voiceLang,
|
|
883
947
|
submitLabel,
|
|
@@ -898,12 +962,14 @@ var Chat = forwardRef(function Chat2({
|
|
|
898
962
|
error && /* @__PURE__ */ jsx(ChatError, { children: error }),
|
|
899
963
|
!pending && examplePromptsLoading && /* @__PURE__ */ jsx(ExamplePromptsLoading, { label: examplePromptsLoadingLabel }),
|
|
900
964
|
!pending && !examplePromptsLoading && examplePrompts.length > 0 && /* @__PURE__ */ jsx(
|
|
901
|
-
|
|
965
|
+
ChatSuggestions,
|
|
902
966
|
{
|
|
903
|
-
|
|
904
|
-
|
|
967
|
+
slot: "chat-examples",
|
|
968
|
+
items: examplePrompts,
|
|
969
|
+
onSelect: (prompt) => void sendSuggestion(prompt),
|
|
905
970
|
label: examplePromptsLabel,
|
|
906
|
-
variant: examplePromptsVariant
|
|
971
|
+
variant: examplePromptsVariant,
|
|
972
|
+
className: examplePromptsVariant === "cards" ? "mt-4" : "mt-3"
|
|
907
973
|
}
|
|
908
974
|
),
|
|
909
975
|
emptyFooter && /* @__PURE__ */ jsx("div", { "data-slot": "chat-empty-footer", className: "mt-5", children: emptyFooter })
|
|
@@ -946,6 +1012,18 @@ var Chat = forwardRef(function Chat2({
|
|
|
946
1012
|
workspace && mobileCompactComposer && "max-md:pb-[max(0.75rem,env(safe-area-inset-bottom))] max-md:pt-3"
|
|
947
1013
|
),
|
|
948
1014
|
children: [
|
|
1015
|
+
/* @__PURE__ */ jsx(
|
|
1016
|
+
ChatSuggestions,
|
|
1017
|
+
{
|
|
1018
|
+
slot: "chat-replies",
|
|
1019
|
+
items: replySuggestions,
|
|
1020
|
+
onSelect: (reply) => void sendSuggestion(reply),
|
|
1021
|
+
label: replySuggestionsLabel,
|
|
1022
|
+
showLabel: false,
|
|
1023
|
+
disabled: pending,
|
|
1024
|
+
className: cn("mb-3", workspace && "mx-auto max-w-3xl")
|
|
1025
|
+
}
|
|
1026
|
+
),
|
|
949
1027
|
/* @__PURE__ */ jsx(
|
|
950
1028
|
ChatInput,
|
|
951
1029
|
{
|
|
@@ -956,6 +1034,7 @@ var Chat = forwardRef(function Chat2({
|
|
|
956
1034
|
placeholder: activePlaceholder,
|
|
957
1035
|
size: composerAppearance === "spacious" ? "lg" : "sm",
|
|
958
1036
|
voice,
|
|
1037
|
+
voiceSession,
|
|
959
1038
|
voiceTitle: activeVoiceTitle ?? voiceTitle,
|
|
960
1039
|
voiceLang,
|
|
961
1040
|
inputRef,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
require('../chunk-
|
|
4
|
+
var _chunkBGCNGYPLcjs = require('../chunk-BGCNGYPL.cjs');
|
|
5
|
+
require('../chunk-FARCLWLU.cjs');
|
|
6
6
|
require('../chunk-JDEXZGIY.cjs');
|
|
7
|
-
require('../chunk-4LXN6GLZ.cjs');
|
|
8
7
|
require('../chunk-KWLSBTB2.cjs');
|
|
8
|
+
require('../chunk-4LXN6GLZ.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.CodeBlock =
|
|
11
|
+
exports.CodeBlock = _chunkBGCNGYPLcjs.CodeBlock;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
CodeBlock
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-HTPPNW74.js";
|
|
5
|
+
import "../chunk-DILYV4FI.js";
|
|
6
6
|
import "../chunk-W326GKML.js";
|
|
7
|
-
import "../chunk-ZWZAAGQF.js";
|
|
8
7
|
import "../chunk-G6SRSWXB.js";
|
|
8
|
+
import "../chunk-ZWZAAGQF.js";
|
|
9
9
|
export {
|
|
10
10
|
CodeBlock
|
|
11
11
|
};
|
|
@@ -12,13 +12,17 @@ var _chunk6YXKFVZUcjs = require('../chunk-6YXKFVZU.cjs');
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
var _chunkWDXEJDMOcjs = require('../chunk-WDXEJDMO.cjs');
|
|
15
|
+
require('../chunk-ZAITUDYD.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
|
|
15
19
|
|
|
16
20
|
|
|
17
21
|
var _chunkCTYOW3V2cjs = require('../chunk-CTYOW3V2.cjs');
|
|
18
|
-
require('../chunk-ZAITUDYD.cjs');
|
|
19
22
|
|
|
20
23
|
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
var _chunk667ZCM4Xcjs = require('../chunk-667ZCM4X.cjs');
|
|
22
26
|
require('../chunk-I6GUOEBO.cjs');
|
|
23
27
|
|
|
24
28
|
|
|
@@ -35,10 +39,6 @@ var _chunkLIUYHYFNcjs = require('../chunk-LIUYHYFN.cjs');
|
|
|
35
39
|
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
36
40
|
|
|
37
41
|
|
|
38
|
-
|
|
39
|
-
var _chunk667ZCM4Xcjs = require('../chunk-667ZCM4X.cjs');
|
|
40
|
-
|
|
41
|
-
|
|
42
42
|
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
43
43
|
|
|
44
44
|
// src/primitives/connection.tsx
|
|
@@ -12,13 +12,17 @@ import {
|
|
|
12
12
|
DialogHeader,
|
|
13
13
|
DialogTitle
|
|
14
14
|
} from "../chunk-3QT5VYZ3.js";
|
|
15
|
-
import {
|
|
16
|
-
Callout
|
|
17
|
-
} from "../chunk-GL5CV4FF.js";
|
|
18
15
|
import "../chunk-V4LE2HWP.js";
|
|
19
16
|
import {
|
|
20
17
|
Text
|
|
21
18
|
} from "../chunk-EIY5LLSP.js";
|
|
19
|
+
import {
|
|
20
|
+
Callout
|
|
21
|
+
} from "../chunk-GL5CV4FF.js";
|
|
22
|
+
import {
|
|
23
|
+
Alert,
|
|
24
|
+
AlertDescription
|
|
25
|
+
} from "../chunk-R4AIM3BQ.js";
|
|
22
26
|
import "../chunk-D4ZL2OEQ.js";
|
|
23
27
|
import {
|
|
24
28
|
AlertDialog,
|
|
@@ -33,10 +37,6 @@ import {
|
|
|
33
37
|
import {
|
|
34
38
|
buttonVariants
|
|
35
39
|
} from "../chunk-W326GKML.js";
|
|
36
|
-
import {
|
|
37
|
-
Alert,
|
|
38
|
-
AlertDescription
|
|
39
|
-
} from "../chunk-R4AIM3BQ.js";
|
|
40
40
|
import {
|
|
41
41
|
cn
|
|
42
42
|
} from "../chunk-G6SRSWXB.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkFARCLWLUcjs = require('../chunk-FARCLWLU.cjs');
|
|
5
5
|
require('../chunk-JDEXZGIY.cjs');
|
|
6
|
-
require('../chunk-4LXN6GLZ.cjs');
|
|
7
6
|
require('../chunk-KWLSBTB2.cjs');
|
|
7
|
+
require('../chunk-4LXN6GLZ.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.CopyButton =
|
|
10
|
+
exports.CopyButton = _chunkFARCLWLUcjs.CopyButton;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
CopyButton
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DILYV4FI.js";
|
|
5
5
|
import "../chunk-W326GKML.js";
|
|
6
|
-
import "../chunk-ZWZAAGQF.js";
|
|
7
6
|
import "../chunk-G6SRSWXB.js";
|
|
7
|
+
import "../chunk-ZWZAAGQF.js";
|
|
8
8
|
export {
|
|
9
9
|
CopyButton
|
|
10
10
|
};
|
|
@@ -5,13 +5,13 @@ var _chunkW5I4FN7Gcjs = require('../chunk-W5I4FN7G.cjs');
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
|
|
8
|
+
require('../chunk-EJP2L5QV.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
var _chunkPQUSJEXLcjs = require('../chunk-PQUSJEXL.cjs');
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
14
|
-
require('../chunk-EJP2L5QV.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
Text
|
|
7
7
|
} from "../chunk-EIY5LLSP.js";
|
|
8
|
+
import "../chunk-F7JHSZNT.js";
|
|
8
9
|
import {
|
|
9
10
|
Input
|
|
10
11
|
} from "../chunk-QMA3WVB7.js";
|
|
11
12
|
import {
|
|
12
13
|
Button
|
|
13
14
|
} from "../chunk-W326GKML.js";
|
|
14
|
-
import "../chunk-F7JHSZNT.js";
|
|
15
15
|
import {
|
|
16
16
|
cn
|
|
17
17
|
} from "../chunk-G6SRSWXB.js";
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('../chunk-373W6VAD.cjs');
|
|
8
|
+
var _chunkZLEM2SAUcjs = require('../chunk-ZLEM2SAU.cjs');
|
|
10
9
|
require('../chunk-U2NES7VR.cjs');
|
|
10
|
+
require('../chunk-373W6VAD.cjs');
|
|
11
11
|
require('../chunk-JDEXZGIY.cjs');
|
|
12
12
|
require('../chunk-KWLSBTB2.cjs');
|
|
13
13
|
|
|
@@ -15,4 +15,4 @@ require('../chunk-KWLSBTB2.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
exports.FileDropArea =
|
|
18
|
+
exports.FileDropArea = _chunkZLEM2SAUcjs.FileDropArea; exports.FileDropzone = _chunkZLEM2SAUcjs.FileDropzone; exports.installFileDropGuard = _chunkZLEM2SAUcjs.installFileDropGuard; exports.useFileDropGuard = _chunkZLEM2SAUcjs.useFileDropGuard;
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
FileDropzone,
|
|
6
6
|
installFileDropGuard,
|
|
7
7
|
useFileDropGuard
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-EIY5LLSP.js";
|
|
8
|
+
} from "../chunk-WHDHUYS6.js";
|
|
10
9
|
import "../chunk-ZRLUUZHK.js";
|
|
10
|
+
import "../chunk-EIY5LLSP.js";
|
|
11
11
|
import "../chunk-W326GKML.js";
|
|
12
12
|
import "../chunk-G6SRSWXB.js";
|
|
13
13
|
export {
|
|
@@ -14,14 +14,14 @@ require('../chunk-2BHI5ZWJ.cjs');
|
|
|
14
14
|
require('../chunk-WDXEJDMO.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var _chunkGTVSRRE3cjs = require('../chunk-GTVSRRE3.cjs');
|
|
18
|
-
require('../chunk-MU4F3DSW.cjs');
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
var _chunkKENBU3NVcjs = require('../chunk-KENBU3NV.cjs');
|
|
22
18
|
require('../chunk-ELPV44S6.cjs');
|
|
23
19
|
|
|
24
20
|
|
|
21
|
+
var _chunkBGCNGYPLcjs = require('../chunk-BGCNGYPL.cjs');
|
|
22
|
+
require('../chunk-FARCLWLU.cjs');
|
|
23
|
+
|
|
24
|
+
|
|
25
25
|
var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
@@ -29,8 +29,8 @@ var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
32
|
-
require('../chunk-4LXN6GLZ.cjs');
|
|
33
32
|
require('../chunk-KWLSBTB2.cjs');
|
|
33
|
+
require('../chunk-4LXN6GLZ.cjs');
|
|
34
34
|
|
|
35
35
|
// src/primitives/file-preview.tsx
|
|
36
36
|
var _lucidereact = require('lucide-react');
|
|
@@ -281,7 +281,7 @@ function FilePreviewBody({
|
|
|
281
281
|
kind === "markdown" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKENBU3NVcjs.LazyMarkdown, { components: { a: NewTabLink, ...markdownComponents }, children: text.text }) : (
|
|
282
282
|
// The theme's relaxed leading is a fixed 1.8rem, which spaces a
|
|
283
283
|
// file's small monospace lines apart; read it at 20px lines.
|
|
284
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
284
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGCNGYPLcjs.CodeBlock, { wrap: true, className: "[&>pre]:leading-5", children: text.text })
|
|
285
285
|
)
|
|
286
286
|
] });
|
|
287
287
|
}
|
|
@@ -12,14 +12,14 @@ import {
|
|
|
12
12
|
import "../chunk-JTI4244T.js";
|
|
13
13
|
import "../chunk-4HWCNRK4.js";
|
|
14
14
|
import "../chunk-3QT5VYZ3.js";
|
|
15
|
-
import {
|
|
16
|
-
CodeBlock
|
|
17
|
-
} from "../chunk-F3B4M6DU.js";
|
|
18
|
-
import "../chunk-HREEZUKL.js";
|
|
19
15
|
import {
|
|
20
16
|
LazyMarkdown
|
|
21
17
|
} from "../chunk-VY5U4VGV.js";
|
|
22
18
|
import "../chunk-INNGGLMZ.js";
|
|
19
|
+
import {
|
|
20
|
+
CodeBlock
|
|
21
|
+
} from "../chunk-HTPPNW74.js";
|
|
22
|
+
import "../chunk-DILYV4FI.js";
|
|
23
23
|
import {
|
|
24
24
|
Text
|
|
25
25
|
} from "../chunk-EIY5LLSP.js";
|
|
@@ -29,8 +29,8 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
Button
|
|
31
31
|
} from "../chunk-W326GKML.js";
|
|
32
|
-
import "../chunk-ZWZAAGQF.js";
|
|
33
32
|
import "../chunk-G6SRSWXB.js";
|
|
33
|
+
import "../chunk-ZWZAAGQF.js";
|
|
34
34
|
|
|
35
35
|
// src/primitives/file-preview.tsx
|
|
36
36
|
import { Download, FileQuestion, FileWarning, Loader2 } from "lucide-react";
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkMW67PHAQcjs = require('../chunk-MW67PHAQ.cjs');
|
|
6
6
|
require('../chunk-PPX2VPGI.cjs');
|
|
7
7
|
require('../chunk-WNXVGUBF.cjs');
|
|
8
8
|
require('../chunk-IQZLUT2Y.cjs');
|
|
9
|
-
require('../chunk-VOTCYG3F.cjs');
|
|
10
9
|
require('../chunk-JH4GAGOQ.cjs');
|
|
11
10
|
require('../chunk-V5SPFLKW.cjs');
|
|
11
|
+
require('../chunk-VOTCYG3F.cjs');
|
|
12
12
|
require('../chunk-PQUSJEXL.cjs');
|
|
13
13
|
require('../chunk-VGTINL5Q.cjs');
|
|
14
14
|
require('../chunk-I6GUOEBO.cjs');
|
|
15
15
|
require('../chunk-JDEXZGIY.cjs');
|
|
16
|
-
require('../chunk-R35FT53G.cjs');
|
|
17
16
|
require('../chunk-KWLSBTB2.cjs');
|
|
17
|
+
require('../chunk-R35FT53G.cjs');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
exports.FilterBar =
|
|
20
|
+
exports.FilterBar = _chunkMW67PHAQcjs.FilterBar;
|