@burtson-labs/bandit-engine 2.0.129 → 2.0.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chat-TO26ORKD.mjs → chat-3O4KKYCG.mjs} +4 -4
- package/dist/{chunk-3LOS2EAN.mjs → chunk-BVMTZTGQ.mjs} +343 -156
- package/dist/chunk-BVMTZTGQ.mjs.map +1 -0
- package/dist/{chunk-FWFDOSRM.mjs → chunk-BVYSGIWG.mjs} +2 -2
- package/dist/{chunk-BQW7DSJ6.mjs → chunk-JONBKV2S.mjs} +177 -302
- package/dist/chunk-JONBKV2S.mjs.map +1 -0
- package/dist/{chunk-N3TVVQVS.mjs → chunk-PA4VYO4R.mjs} +207 -69
- package/dist/chunk-PA4VYO4R.mjs.map +1 -0
- package/dist/{chunk-VXGJ4XH6.mjs → chunk-VNIDC6VZ.mjs} +57 -35
- package/dist/chunk-VNIDC6VZ.mjs.map +1 -0
- package/dist/index.js +2195 -1981
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -6
- package/dist/management/management.js +628 -413
- package/dist/management/management.js.map +1 -1
- package/dist/management/management.mjs +4 -4
- package/dist/modals/chat-modal/chat-modal.js +16 -3
- package/dist/modals/chat-modal/chat-modal.js.map +1 -1
- package/dist/modals/chat-modal/chat-modal.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-3LOS2EAN.mjs.map +0 -1
- package/dist/chunk-BQW7DSJ6.mjs.map +0 -1
- package/dist/chunk-N3TVVQVS.mjs.map +0 -1
- package/dist/chunk-VXGJ4XH6.mjs.map +0 -1
- /package/dist/{chat-TO26ORKD.mjs.map → chat-3O4KKYCG.mjs.map} +0 -0
- /package/dist/{chunk-FWFDOSRM.mjs.map → chunk-BVYSGIWG.mjs.map} +0 -0
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
DragIndicatorIcon,
|
|
6
6
|
ExpandLessIcon,
|
|
7
7
|
ExpandMoreIcon,
|
|
8
|
-
|
|
8
|
+
FeedbackModal,
|
|
9
9
|
FullscreenExitIcon,
|
|
10
10
|
FullscreenIcon,
|
|
11
11
|
HistoryIcon,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
useNotificationService,
|
|
25
25
|
useTTS,
|
|
26
26
|
useVoiceStore
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-JONBKV2S.mjs";
|
|
28
28
|
import {
|
|
29
29
|
brandingService_default,
|
|
30
30
|
toTitleCase,
|
|
@@ -46,12 +46,12 @@ import {
|
|
|
46
46
|
} from "./chunk-KCI46M23.mjs";
|
|
47
47
|
|
|
48
48
|
// src/modals/chat-modal/chat-modal.tsx
|
|
49
|
-
import { useEffect as useEffect5, useLayoutEffect, useRef as useRef3, useState as
|
|
49
|
+
import { useEffect as useEffect5, useLayoutEffect, useRef as useRef3, useState as useState7 } from "react";
|
|
50
50
|
import {
|
|
51
51
|
Modal,
|
|
52
52
|
InputAdornment as InputAdornment3,
|
|
53
|
-
Tooltip as
|
|
54
|
-
IconButton as
|
|
53
|
+
Tooltip as Tooltip5,
|
|
54
|
+
IconButton as IconButton5,
|
|
55
55
|
Box as Box6,
|
|
56
56
|
Avatar as Avatar2,
|
|
57
57
|
Menu,
|
|
@@ -1986,18 +1986,155 @@ var GenericLoader = ({
|
|
|
1986
1986
|
};
|
|
1987
1987
|
var generic_loader_default = GenericLoader;
|
|
1988
1988
|
|
|
1989
|
+
// src/components/feedback/FeedbackButton.tsx
|
|
1990
|
+
import { useState as useState4 } from "react";
|
|
1991
|
+
import {
|
|
1992
|
+
Fab,
|
|
1993
|
+
Tooltip as Tooltip4,
|
|
1994
|
+
useTheme as useTheme6,
|
|
1995
|
+
Zoom,
|
|
1996
|
+
Button as Button2,
|
|
1997
|
+
IconButton as IconButton4
|
|
1998
|
+
} from "@mui/material";
|
|
1999
|
+
import { MessageCircle as FeedbackIcon } from "lucide-react";
|
|
2000
|
+
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
2001
|
+
var FeedbackButton = ({
|
|
2002
|
+
fullScreen = false,
|
|
2003
|
+
className,
|
|
2004
|
+
zIndex = 1400,
|
|
2005
|
+
feedbackEmail,
|
|
2006
|
+
inline = false,
|
|
2007
|
+
buttonText = "Send Feedback",
|
|
2008
|
+
size = "small",
|
|
2009
|
+
position,
|
|
2010
|
+
absolute = false
|
|
2011
|
+
}) => {
|
|
2012
|
+
const theme = useTheme6();
|
|
2013
|
+
const [open, setOpen] = useState4(false);
|
|
2014
|
+
const handleOpen = () => setOpen(true);
|
|
2015
|
+
const handleClose = () => setOpen(false);
|
|
2016
|
+
if (inline) {
|
|
2017
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2018
|
+
buttonText ? /* @__PURE__ */ jsx6(
|
|
2019
|
+
Button2,
|
|
2020
|
+
{
|
|
2021
|
+
variant: "outlined",
|
|
2022
|
+
startIcon: /* @__PURE__ */ jsx6(FeedbackIcon, {}),
|
|
2023
|
+
onClick: handleOpen,
|
|
2024
|
+
className,
|
|
2025
|
+
size,
|
|
2026
|
+
sx: {
|
|
2027
|
+
borderRadius: 2,
|
|
2028
|
+
textTransform: "none",
|
|
2029
|
+
"&:hover": {
|
|
2030
|
+
transform: "translateY(-1px)",
|
|
2031
|
+
boxShadow: theme.shadows[4]
|
|
2032
|
+
}
|
|
2033
|
+
},
|
|
2034
|
+
children: buttonText
|
|
2035
|
+
}
|
|
2036
|
+
) : /* @__PURE__ */ jsx6(Tooltip4, { title: "Send Feedback", arrow: true, children: /* @__PURE__ */ jsx6(
|
|
2037
|
+
IconButton4,
|
|
2038
|
+
{
|
|
2039
|
+
onClick: handleOpen,
|
|
2040
|
+
className,
|
|
2041
|
+
size,
|
|
2042
|
+
sx: {
|
|
2043
|
+
color: theme.palette.primary.main,
|
|
2044
|
+
borderRadius: 2,
|
|
2045
|
+
transition: "all 0.2s ease",
|
|
2046
|
+
"&:hover": {
|
|
2047
|
+
bgcolor: theme.palette.primary.main + "15",
|
|
2048
|
+
transform: "translateY(-1px)"
|
|
2049
|
+
}
|
|
2050
|
+
},
|
|
2051
|
+
children: /* @__PURE__ */ jsx6(FeedbackIcon, {})
|
|
2052
|
+
}
|
|
2053
|
+
) }),
|
|
2054
|
+
/* @__PURE__ */ jsx6(
|
|
2055
|
+
FeedbackModal,
|
|
2056
|
+
{
|
|
2057
|
+
open,
|
|
2058
|
+
onClose: handleClose,
|
|
2059
|
+
feedbackEmail
|
|
2060
|
+
}
|
|
2061
|
+
)
|
|
2062
|
+
] });
|
|
2063
|
+
}
|
|
2064
|
+
return /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
2065
|
+
/* @__PURE__ */ jsx6(Zoom, { in: true, timeout: 300, children: /* @__PURE__ */ jsx6(
|
|
2066
|
+
Tooltip4,
|
|
2067
|
+
{
|
|
2068
|
+
title: "Send Feedback",
|
|
2069
|
+
placement: "left",
|
|
2070
|
+
arrow: true,
|
|
2071
|
+
children: /* @__PURE__ */ jsx6(
|
|
2072
|
+
Fab,
|
|
2073
|
+
{
|
|
2074
|
+
size,
|
|
2075
|
+
onClick: handleOpen,
|
|
2076
|
+
className,
|
|
2077
|
+
sx: {
|
|
2078
|
+
position: absolute ? "absolute" : "relative",
|
|
2079
|
+
...absolute && {
|
|
2080
|
+
bottom: position?.bottom ?? (fullScreen ? 16 : 20),
|
|
2081
|
+
right: position?.right ?? 16,
|
|
2082
|
+
top: position?.top,
|
|
2083
|
+
left: position?.left
|
|
2084
|
+
},
|
|
2085
|
+
zIndex,
|
|
2086
|
+
bgcolor: theme.palette.primary.main,
|
|
2087
|
+
color: theme.palette.primary.contrastText,
|
|
2088
|
+
boxShadow: theme.palette.mode === "dark" ? "0 8px 32px rgba(0,0,0,0.4)" : "0 8px 32px rgba(0,0,0,0.15)",
|
|
2089
|
+
border: `1px solid ${theme.palette.divider}`,
|
|
2090
|
+
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
|
|
2091
|
+
"&:hover": {
|
|
2092
|
+
bgcolor: theme.palette.primary.dark,
|
|
2093
|
+
transform: "scale(1.05) translateY(-2px)",
|
|
2094
|
+
boxShadow: theme.palette.mode === "dark" ? "0 12px 40px rgba(0,0,0,0.5)" : "0 12px 40px rgba(0,0,0,0.2)"
|
|
2095
|
+
},
|
|
2096
|
+
"&:active": {
|
|
2097
|
+
transform: "scale(0.98) translateY(0px)"
|
|
2098
|
+
},
|
|
2099
|
+
// Subtle pulsing animation
|
|
2100
|
+
animation: "feedbackPulse 3s ease-in-out infinite",
|
|
2101
|
+
"@keyframes feedbackPulse": {
|
|
2102
|
+
"0%, 100%": {
|
|
2103
|
+
boxShadow: theme.palette.mode === "dark" ? "0 8px 32px rgba(0,0,0,0.4)" : "0 8px 32px rgba(0,0,0,0.15)"
|
|
2104
|
+
},
|
|
2105
|
+
"50%": {
|
|
2106
|
+
boxShadow: theme.palette.mode === "dark" ? `0 8px 32px ${theme.palette.primary.main}40` : `0 8px 32px ${theme.palette.primary.main}30`
|
|
2107
|
+
}
|
|
2108
|
+
}
|
|
2109
|
+
},
|
|
2110
|
+
children: /* @__PURE__ */ jsx6(FeedbackIcon, {})
|
|
2111
|
+
}
|
|
2112
|
+
)
|
|
2113
|
+
}
|
|
2114
|
+
) }),
|
|
2115
|
+
/* @__PURE__ */ jsx6(
|
|
2116
|
+
FeedbackModal,
|
|
2117
|
+
{
|
|
2118
|
+
open,
|
|
2119
|
+
onClose: handleClose,
|
|
2120
|
+
feedbackEmail
|
|
2121
|
+
}
|
|
2122
|
+
)
|
|
2123
|
+
] });
|
|
2124
|
+
};
|
|
2125
|
+
|
|
1989
2126
|
// src/hooks/useAiChat.ts
|
|
1990
|
-
import { useState as
|
|
2127
|
+
import { useState as useState5, useEffect as useEffect3 } from "react";
|
|
1991
2128
|
import { useMediaQuery as useMediaQuery3 } from "@mui/material";
|
|
1992
2129
|
var useAIChat = () => {
|
|
1993
2130
|
const isMobile = useMediaQuery3((theme) => theme.breakpoints.down("sm"));
|
|
1994
2131
|
const provider = useAIProviderStore((state) => state.provider);
|
|
1995
2132
|
const SYSTEM_PROMPT = useModelStore((state) => state.systemPrompt);
|
|
1996
2133
|
const OLLAMA_MODEL = usePackageSettingsStore((state) => state.settings?.defaultModel || "");
|
|
1997
|
-
const [fullScreen, setFullScreen] =
|
|
1998
|
-
const [drawerOpen, setDrawerOpen] =
|
|
1999
|
-
const [showSettings, setShowSettings] =
|
|
2000
|
-
const [, setAutoFullscreenTriggered] =
|
|
2134
|
+
const [fullScreen, setFullScreen] = useState5(isMobile);
|
|
2135
|
+
const [drawerOpen, setDrawerOpen] = useState5(false);
|
|
2136
|
+
const [showSettings, setShowSettings] = useState5(false);
|
|
2137
|
+
const [, setAutoFullscreenTriggered] = useState5(false);
|
|
2001
2138
|
const {
|
|
2002
2139
|
apiKey,
|
|
2003
2140
|
inputValue,
|
|
@@ -2101,12 +2238,12 @@ var useAIChat = () => {
|
|
|
2101
2238
|
var useAiChat_default = useAIChat;
|
|
2102
2239
|
|
|
2103
2240
|
// src/hooks/useDraggable.ts
|
|
2104
|
-
import { useCallback, useEffect as useEffect4, useRef as useRef2, useState as
|
|
2241
|
+
import { useCallback, useEffect as useEffect4, useRef as useRef2, useState as useState6 } from "react";
|
|
2105
2242
|
var useDraggable = () => {
|
|
2106
2243
|
const modalRef = useRef2(null);
|
|
2107
|
-
const [dragging, setDragging] =
|
|
2108
|
-
const [offset, setOffset] =
|
|
2109
|
-
const [position, setPosition] =
|
|
2244
|
+
const [dragging, setDragging] = useState6(false);
|
|
2245
|
+
const [offset, setOffset] = useState6({ x: 0, y: 0 });
|
|
2246
|
+
const [position, setPosition] = useState6({ x: 0, y: 0 });
|
|
2110
2247
|
const handleHeaderMouseDown = (e) => {
|
|
2111
2248
|
const rect = modalRef.current?.getBoundingClientRect();
|
|
2112
2249
|
if (rect) {
|
|
@@ -2150,7 +2287,7 @@ var useDraggable_default = useDraggable;
|
|
|
2150
2287
|
|
|
2151
2288
|
// src/modals/chat-modal/chat-modal.tsx
|
|
2152
2289
|
import { Subscription as Subscription2 } from "rxjs";
|
|
2153
|
-
import { Fragment as
|
|
2290
|
+
import { Fragment as Fragment3, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
2154
2291
|
var FULL_SCREEN_THRESHOLD = 100;
|
|
2155
2292
|
var MIN_WINDOWED_HEIGHT = 400;
|
|
2156
2293
|
var MAX_WINDOWED_HEIGHT = 600;
|
|
@@ -2213,17 +2350,17 @@ var ChatModal = ({
|
|
|
2213
2350
|
handleSend
|
|
2214
2351
|
} = useAiChat_default();
|
|
2215
2352
|
const { modalRef, position, setPosition, handleDrag, handleHeaderMouseDown } = useDraggable_default();
|
|
2216
|
-
const [pastedImages, setPastedImages] =
|
|
2217
|
-
const [responseStarted, setResponseStarted] =
|
|
2218
|
-
const [modalLogo, setModalLogo] =
|
|
2219
|
-
const [modelAnchorEl, setModelAnchorEl] =
|
|
2220
|
-
const [voiceAnchorEl, setVoiceAnchorEl] =
|
|
2221
|
-
const [audioSub, setAudioSub] =
|
|
2222
|
-
const [selectedTheme, setSelectedTheme] =
|
|
2223
|
-
const [themeLoading, setThemeLoading] =
|
|
2224
|
-
const [autoFullscreenTriggered, setAutoFullscreenTriggered] =
|
|
2225
|
-
const [userHasDragged, setUserHasDragged] =
|
|
2226
|
-
const [manualFullscreenToggleTime, setManualFullscreenToggleTime] =
|
|
2353
|
+
const [pastedImages, setPastedImages] = useState7([]);
|
|
2354
|
+
const [responseStarted, setResponseStarted] = useState7(false);
|
|
2355
|
+
const [modalLogo, setModalLogo] = useState7("https://cdn.burtson.ai/logos/bandit-ai-logo.png");
|
|
2356
|
+
const [modelAnchorEl, setModelAnchorEl] = useState7(null);
|
|
2357
|
+
const [voiceAnchorEl, setVoiceAnchorEl] = useState7(null);
|
|
2358
|
+
const [audioSub, setAudioSub] = useState7(new Subscription2());
|
|
2359
|
+
const [selectedTheme, setSelectedTheme] = useState7(null);
|
|
2360
|
+
const [themeLoading, setThemeLoading] = useState7(true);
|
|
2361
|
+
const [autoFullscreenTriggered, setAutoFullscreenTriggered] = useState7(false);
|
|
2362
|
+
const [userHasDragged, setUserHasDragged] = useState7(false);
|
|
2363
|
+
const [manualFullscreenToggleTime, setManualFullscreenToggleTime] = useState7(0);
|
|
2227
2364
|
const handleExitFullscreen = () => {
|
|
2228
2365
|
setPosition({
|
|
2229
2366
|
x: Math.max(0, window.innerWidth / 2 - 300),
|
|
@@ -2400,7 +2537,7 @@ var ChatModal = ({
|
|
|
2400
2537
|
if (themeLoading) {
|
|
2401
2538
|
return null;
|
|
2402
2539
|
}
|
|
2403
|
-
return /* @__PURE__ */
|
|
2540
|
+
return /* @__PURE__ */ jsx7(ThemeProvider, { theme: activeTheme, children: /* @__PURE__ */ jsx7(Modal, { open, onClose: handleClose, children: /* @__PURE__ */ jsxs4(
|
|
2404
2541
|
draggable_box_default,
|
|
2405
2542
|
{
|
|
2406
2543
|
ref: modalRef,
|
|
@@ -2409,7 +2546,7 @@ var ChatModal = ({
|
|
|
2409
2546
|
fullScreen,
|
|
2410
2547
|
onDrag: handleCustomDrag,
|
|
2411
2548
|
children: [
|
|
2412
|
-
/* @__PURE__ */
|
|
2549
|
+
/* @__PURE__ */ jsx7(
|
|
2413
2550
|
modal_header_default,
|
|
2414
2551
|
{
|
|
2415
2552
|
fullScreen,
|
|
@@ -2426,7 +2563,7 @@ var ChatModal = ({
|
|
|
2426
2563
|
onExitFullscreen: handleExitFullscreen
|
|
2427
2564
|
}
|
|
2428
2565
|
),
|
|
2429
|
-
/* @__PURE__ */
|
|
2566
|
+
/* @__PURE__ */ jsx7(
|
|
2430
2567
|
Box6,
|
|
2431
2568
|
{
|
|
2432
2569
|
sx: {
|
|
@@ -2438,7 +2575,7 @@ var ChatModal = ({
|
|
|
2438
2575
|
minHeight: 0
|
|
2439
2576
|
// Important for flex scrolling
|
|
2440
2577
|
},
|
|
2441
|
-
children: /* @__PURE__ */
|
|
2578
|
+
children: /* @__PURE__ */ jsxs4(
|
|
2442
2579
|
Box6,
|
|
2443
2580
|
{
|
|
2444
2581
|
sx: {
|
|
@@ -2468,7 +2605,7 @@ var ChatModal = ({
|
|
|
2468
2605
|
}
|
|
2469
2606
|
},
|
|
2470
2607
|
children: [
|
|
2471
|
-
/* @__PURE__ */
|
|
2608
|
+
/* @__PURE__ */ jsx7(
|
|
2472
2609
|
query_input_default,
|
|
2473
2610
|
{
|
|
2474
2611
|
inputValue,
|
|
@@ -2478,9 +2615,9 @@ var ChatModal = ({
|
|
|
2478
2615
|
showSettings,
|
|
2479
2616
|
setShowSettings,
|
|
2480
2617
|
setApiKey,
|
|
2481
|
-
startAdornment: /* @__PURE__ */
|
|
2482
|
-
/* @__PURE__ */
|
|
2483
|
-
|
|
2618
|
+
startAdornment: /* @__PURE__ */ jsxs4(InputAdornment3, { position: "start", sx: { gap: 1 }, children: [
|
|
2619
|
+
/* @__PURE__ */ jsx7(Tooltip5, { title: `Current AI: ${selectedModel.replace("Bandit-", "")}`, arrow: true, children: /* @__PURE__ */ jsx7(
|
|
2620
|
+
IconButton5,
|
|
2484
2621
|
{
|
|
2485
2622
|
onClick: (e) => setModelAnchorEl(e.currentTarget),
|
|
2486
2623
|
sx: {
|
|
@@ -2492,7 +2629,7 @@ var ChatModal = ({
|
|
|
2492
2629
|
transform: "scale(1.05)"
|
|
2493
2630
|
}
|
|
2494
2631
|
},
|
|
2495
|
-
children: /* @__PURE__ */
|
|
2632
|
+
children: /* @__PURE__ */ jsx7(
|
|
2496
2633
|
Avatar2,
|
|
2497
2634
|
{
|
|
2498
2635
|
src: currentAvatar,
|
|
@@ -2508,7 +2645,7 @@ var ChatModal = ({
|
|
|
2508
2645
|
)
|
|
2509
2646
|
}
|
|
2510
2647
|
) }),
|
|
2511
|
-
/* @__PURE__ */
|
|
2648
|
+
/* @__PURE__ */ jsx7(
|
|
2512
2649
|
Menu,
|
|
2513
2650
|
{
|
|
2514
2651
|
anchorEl: modelAnchorEl,
|
|
@@ -2545,7 +2682,7 @@ var ChatModal = ({
|
|
|
2545
2682
|
}
|
|
2546
2683
|
}
|
|
2547
2684
|
},
|
|
2548
|
-
children: availableModels.map((model) => /* @__PURE__ */
|
|
2685
|
+
children: availableModels.map((model) => /* @__PURE__ */ jsxs4(
|
|
2549
2686
|
MenuItem2,
|
|
2550
2687
|
{
|
|
2551
2688
|
selected: model.name === selectedModel,
|
|
@@ -2562,7 +2699,7 @@ var ChatModal = ({
|
|
|
2562
2699
|
px: 2
|
|
2563
2700
|
},
|
|
2564
2701
|
children: [
|
|
2565
|
-
/* @__PURE__ */
|
|
2702
|
+
/* @__PURE__ */ jsx7(
|
|
2566
2703
|
Avatar2,
|
|
2567
2704
|
{
|
|
2568
2705
|
src: model.avatarBase64 || modelAvatars[model.name] || banditHead2,
|
|
@@ -2575,11 +2712,11 @@ var ChatModal = ({
|
|
|
2575
2712
|
}
|
|
2576
2713
|
}
|
|
2577
2714
|
),
|
|
2578
|
-
/* @__PURE__ */
|
|
2579
|
-
/* @__PURE__ */
|
|
2580
|
-
/* @__PURE__ */
|
|
2715
|
+
/* @__PURE__ */ jsxs4(Box6, { sx: { flex: 1 }, children: [
|
|
2716
|
+
/* @__PURE__ */ jsx7(Typography3, { variant: "body2", sx: { fontWeight: 500 }, children: model.name.replace("Bandit-", "") }),
|
|
2717
|
+
/* @__PURE__ */ jsx7(Typography3, { variant: "caption", sx: { color: activeTheme.palette.text.secondary }, children: model.name === selectedModel ? "Currently active" : "Switch to this AI" })
|
|
2581
2718
|
] }),
|
|
2582
|
-
model.name === selectedModel && /* @__PURE__ */
|
|
2719
|
+
model.name === selectedModel && /* @__PURE__ */ jsx7(
|
|
2583
2720
|
Box6,
|
|
2584
2721
|
{
|
|
2585
2722
|
sx: {
|
|
@@ -2596,9 +2733,9 @@ var ChatModal = ({
|
|
|
2596
2733
|
))
|
|
2597
2734
|
}
|
|
2598
2735
|
),
|
|
2599
|
-
isTTSAvailable && /* @__PURE__ */
|
|
2600
|
-
/* @__PURE__ */
|
|
2601
|
-
|
|
2736
|
+
isTTSAvailable && /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
2737
|
+
/* @__PURE__ */ jsx7(Tooltip5, { title: `Voice: ${selectedVoice ? toTitleCase2(selectedVoice.split("-")[1]) : "Default"}`, arrow: true, children: /* @__PURE__ */ jsx7(
|
|
2738
|
+
IconButton5,
|
|
2602
2739
|
{
|
|
2603
2740
|
onClick: (e) => setVoiceAnchorEl(e.currentTarget),
|
|
2604
2741
|
sx: {
|
|
@@ -2613,10 +2750,10 @@ var ChatModal = ({
|
|
|
2613
2750
|
}
|
|
2614
2751
|
},
|
|
2615
2752
|
"aria-label": `Change voice. Currently using ${selectedVoice ? toTitleCase2(selectedVoice.split("-")[1]) : "default"}`,
|
|
2616
|
-
children: /* @__PURE__ */
|
|
2753
|
+
children: /* @__PURE__ */ jsx7(RecordVoiceOverIcon, { fontSize: "small" })
|
|
2617
2754
|
}
|
|
2618
2755
|
) }),
|
|
2619
|
-
/* @__PURE__ */
|
|
2756
|
+
/* @__PURE__ */ jsx7(
|
|
2620
2757
|
Menu,
|
|
2621
2758
|
{
|
|
2622
2759
|
anchorEl: voiceAnchorEl,
|
|
@@ -2650,7 +2787,7 @@ var ChatModal = ({
|
|
|
2650
2787
|
}
|
|
2651
2788
|
}
|
|
2652
2789
|
},
|
|
2653
|
-
children: availableVoices.length > 0 ? availableVoices.map((voice) => /* @__PURE__ */
|
|
2790
|
+
children: availableVoices.length > 0 ? availableVoices.map((voice) => /* @__PURE__ */ jsx7(
|
|
2654
2791
|
MenuItem2,
|
|
2655
2792
|
{
|
|
2656
2793
|
selected: voice === selectedVoice,
|
|
@@ -2658,13 +2795,13 @@ var ChatModal = ({
|
|
|
2658
2795
|
handleVoiceChange(voice);
|
|
2659
2796
|
setVoiceAnchorEl(null);
|
|
2660
2797
|
},
|
|
2661
|
-
children: /* @__PURE__ */
|
|
2662
|
-
/* @__PURE__ */
|
|
2663
|
-
/* @__PURE__ */
|
|
2664
|
-
/* @__PURE__ */
|
|
2665
|
-
/* @__PURE__ */
|
|
2798
|
+
children: /* @__PURE__ */ jsxs4(Box6, { sx: { display: "flex", alignItems: "center", gap: 1, width: "100%" }, children: [
|
|
2799
|
+
/* @__PURE__ */ jsx7(RecordVoiceOverIcon, { fontSize: "small", sx: { color: activeTheme.palette.text.secondary } }),
|
|
2800
|
+
/* @__PURE__ */ jsxs4(Box6, { sx: { flex: 1 }, children: [
|
|
2801
|
+
/* @__PURE__ */ jsx7(Typography3, { variant: "body2", children: toTitleCase2(voice.split("-")[1]) }),
|
|
2802
|
+
/* @__PURE__ */ jsx7(Typography3, { variant: "caption", sx: { color: activeTheme.palette.text.secondary }, children: voice === selectedVoice ? "Currently active" : "Switch to this voice" })
|
|
2666
2803
|
] }),
|
|
2667
|
-
voice === selectedVoice && /* @__PURE__ */
|
|
2804
|
+
voice === selectedVoice && /* @__PURE__ */ jsx7(
|
|
2668
2805
|
Box6,
|
|
2669
2806
|
{
|
|
2670
2807
|
sx: {
|
|
@@ -2678,11 +2815,11 @@ var ChatModal = ({
|
|
|
2678
2815
|
] })
|
|
2679
2816
|
},
|
|
2680
2817
|
voice
|
|
2681
|
-
)) : /* @__PURE__ */
|
|
2818
|
+
)) : /* @__PURE__ */ jsx7(MenuItem2, { disabled: true, children: /* @__PURE__ */ jsx7(Typography3, { variant: "body2", color: "text.secondary", children: "No voices available" }) })
|
|
2682
2819
|
}
|
|
2683
2820
|
)
|
|
2684
2821
|
] }),
|
|
2685
|
-
pastedImages.map((img, idx) => /* @__PURE__ */
|
|
2822
|
+
pastedImages.map((img, idx) => /* @__PURE__ */ jsxs4(
|
|
2686
2823
|
Box6,
|
|
2687
2824
|
{
|
|
2688
2825
|
sx: {
|
|
@@ -2693,7 +2830,7 @@ var ChatModal = ({
|
|
|
2693
2830
|
}
|
|
2694
2831
|
},
|
|
2695
2832
|
children: [
|
|
2696
|
-
/* @__PURE__ */
|
|
2833
|
+
/* @__PURE__ */ jsx7(
|
|
2697
2834
|
Avatar2,
|
|
2698
2835
|
{
|
|
2699
2836
|
src: img,
|
|
@@ -2707,8 +2844,8 @@ var ChatModal = ({
|
|
|
2707
2844
|
}
|
|
2708
2845
|
}
|
|
2709
2846
|
),
|
|
2710
|
-
/* @__PURE__ */
|
|
2711
|
-
|
|
2847
|
+
/* @__PURE__ */ jsx7(Tooltip5, { title: "Remove image", arrow: true, children: /* @__PURE__ */ jsx7(
|
|
2848
|
+
IconButton5,
|
|
2712
2849
|
{
|
|
2713
2850
|
size: "small",
|
|
2714
2851
|
onClick: () => removeImage(idx),
|
|
@@ -2727,7 +2864,7 @@ var ChatModal = ({
|
|
|
2727
2864
|
// Removed transform to prevent jitter
|
|
2728
2865
|
}
|
|
2729
2866
|
},
|
|
2730
|
-
children: /* @__PURE__ */
|
|
2867
|
+
children: /* @__PURE__ */ jsx7(CloseIcon, { sx: { fontSize: 12 } })
|
|
2731
2868
|
}
|
|
2732
2869
|
) })
|
|
2733
2870
|
]
|
|
@@ -2735,8 +2872,8 @@ var ChatModal = ({
|
|
|
2735
2872
|
idx
|
|
2736
2873
|
))
|
|
2737
2874
|
] }),
|
|
2738
|
-
endAdornment: /* @__PURE__ */
|
|
2739
|
-
preferences.feedbackEnabled && /* @__PURE__ */
|
|
2875
|
+
endAdornment: /* @__PURE__ */ jsxs4(InputAdornment3, { position: "end", sx: { gap: 1 }, children: [
|
|
2876
|
+
preferences.feedbackEnabled && /* @__PURE__ */ jsx7(
|
|
2740
2877
|
FeedbackButton,
|
|
2741
2878
|
{
|
|
2742
2879
|
inline: true,
|
|
@@ -2744,8 +2881,8 @@ var ChatModal = ({
|
|
|
2744
2881
|
buttonText: ""
|
|
2745
2882
|
}
|
|
2746
2883
|
),
|
|
2747
|
-
/* @__PURE__ */
|
|
2748
|
-
|
|
2884
|
+
/* @__PURE__ */ jsx7(Tooltip5, { title: inputValue.trim() === "" ? "Type a message first" : "Send Message", arrow: true, children: /* @__PURE__ */ jsx7("span", { children: /* @__PURE__ */ jsx7(
|
|
2885
|
+
IconButton5,
|
|
2749
2886
|
{
|
|
2750
2887
|
onClick: handleSend,
|
|
2751
2888
|
disabled: inputValue.trim() === "",
|
|
@@ -2766,20 +2903,20 @@ var ChatModal = ({
|
|
|
2766
2903
|
color: activeTheme.palette.action.disabled
|
|
2767
2904
|
}
|
|
2768
2905
|
},
|
|
2769
|
-
children: /* @__PURE__ */
|
|
2906
|
+
children: /* @__PURE__ */ jsx7(SendIcon, {})
|
|
2770
2907
|
}
|
|
2771
2908
|
) }) })
|
|
2772
2909
|
] })
|
|
2773
2910
|
}
|
|
2774
2911
|
),
|
|
2775
|
-
!responseStarted && componentStatus === "Loading" && /* @__PURE__ */
|
|
2776
|
-
responseStarted && response && !showSettings && /* @__PURE__ */
|
|
2912
|
+
!responseStarted && componentStatus === "Loading" && /* @__PURE__ */ jsx7(generic_loader_default, { variant: "dots" }),
|
|
2913
|
+
responseStarted && response && !showSettings && /* @__PURE__ */ jsx7(ai_response_text_field_default, { question: previousQuestion, response })
|
|
2777
2914
|
]
|
|
2778
2915
|
}
|
|
2779
2916
|
)
|
|
2780
2917
|
}
|
|
2781
2918
|
),
|
|
2782
|
-
/* @__PURE__ */
|
|
2919
|
+
/* @__PURE__ */ jsx7(
|
|
2783
2920
|
chat_drawer_default,
|
|
2784
2921
|
{
|
|
2785
2922
|
drawerOpen,
|
|
@@ -2798,9 +2935,10 @@ var ChatModal = ({
|
|
|
2798
2935
|
var chat_modal_default = ChatModal;
|
|
2799
2936
|
|
|
2800
2937
|
export {
|
|
2938
|
+
FeedbackButton,
|
|
2801
2939
|
FULL_SCREEN_THRESHOLD,
|
|
2802
2940
|
MIN_WINDOWED_HEIGHT,
|
|
2803
2941
|
MAX_WINDOWED_HEIGHT,
|
|
2804
2942
|
chat_modal_default
|
|
2805
2943
|
};
|
|
2806
|
-
//# sourceMappingURL=chunk-
|
|
2944
|
+
//# sourceMappingURL=chunk-PA4VYO4R.mjs.map
|