@burtson-labs/bandit-engine 2.0.122 → 2.0.124
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-OWN4ESDC.mjs → chat-QBDECLF3.mjs} +4 -4
- package/dist/{chunk-W2Q2AF45.mjs → chunk-4RRQQPFZ.mjs} +2 -2
- package/dist/{chunk-LR55TJK5.mjs → chunk-JJTUEC2E.mjs} +86 -246
- package/dist/chunk-JJTUEC2E.mjs.map +1 -0
- package/dist/{chunk-AYFWADUJ.mjs → chunk-K5HAVOPD.mjs} +5 -5
- package/dist/{chunk-42TFNHCE.mjs → chunk-QPZC6GTA.mjs} +115 -192
- package/dist/chunk-QPZC6GTA.mjs.map +1 -0
- package/dist/{chunk-CY6WSCRS.mjs → chunk-WSNV6EX5.mjs} +2 -2
- package/dist/index.js +268 -492
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/management/management.js +252 -476
- package/dist/management/management.js.map +1 -1
- package/dist/management/management.mjs +4 -4
- package/dist/modals/chat-modal/chat-modal.js +84 -240
- 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-42TFNHCE.mjs.map +0 -1
- package/dist/chunk-LR55TJK5.mjs.map +0 -1
- /package/dist/{chat-OWN4ESDC.mjs.map → chat-QBDECLF3.mjs.map} +0 -0
- /package/dist/{chunk-W2Q2AF45.mjs.map → chunk-4RRQQPFZ.mjs.map} +0 -0
- /package/dist/{chunk-AYFWADUJ.mjs.map → chunk-K5HAVOPD.mjs.map} +0 -0
- /package/dist/{chunk-CY6WSCRS.mjs.map → chunk-WSNV6EX5.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -18311,7 +18311,7 @@ var init_FeedbackModal = __esm({
|
|
|
18311
18311
|
sx: {
|
|
18312
18312
|
display: "grid",
|
|
18313
18313
|
gridTemplateRows: "auto auto auto auto",
|
|
18314
|
-
rowGap: "
|
|
18314
|
+
rowGap: "16px",
|
|
18315
18315
|
columnGap: "0px",
|
|
18316
18316
|
width: "100%"
|
|
18317
18317
|
},
|
|
@@ -18327,35 +18327,6 @@ var init_FeedbackModal = __esm({
|
|
|
18327
18327
|
mb: 0
|
|
18328
18328
|
},
|
|
18329
18329
|
children: [
|
|
18330
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
18331
|
-
import_material17.Box,
|
|
18332
|
-
{
|
|
18333
|
-
sx: {
|
|
18334
|
-
gridColumn: "1 / -1",
|
|
18335
|
-
display: "flex",
|
|
18336
|
-
alignItems: "center",
|
|
18337
|
-
gap: "8px",
|
|
18338
|
-
mb: 0,
|
|
18339
|
-
mt: 2,
|
|
18340
|
-
alignSelf: "end"
|
|
18341
|
-
},
|
|
18342
|
-
children: [
|
|
18343
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.MessageSquare, { size: 20, color: theme.palette.text.primary }),
|
|
18344
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18345
|
-
import_material17.Typography,
|
|
18346
|
-
{
|
|
18347
|
-
variant: "h6",
|
|
18348
|
-
sx: {
|
|
18349
|
-
fontWeight: 600,
|
|
18350
|
-
color: theme.palette.text.primary,
|
|
18351
|
-
mb: 0
|
|
18352
|
-
},
|
|
18353
|
-
children: "Feedback Details"
|
|
18354
|
-
}
|
|
18355
|
-
)
|
|
18356
|
-
]
|
|
18357
|
-
}
|
|
18358
|
-
),
|
|
18359
18330
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18360
18331
|
import_material17.TextField,
|
|
18361
18332
|
{
|
|
@@ -18497,7 +18468,7 @@ var init_FeedbackModal = __esm({
|
|
|
18497
18468
|
{
|
|
18498
18469
|
fullWidth: true,
|
|
18499
18470
|
multiline: true,
|
|
18500
|
-
rows:
|
|
18471
|
+
rows: 3,
|
|
18501
18472
|
label: "Description",
|
|
18502
18473
|
value: formData.description,
|
|
18503
18474
|
onChange: handleInputChange("description"),
|
|
@@ -18548,118 +18519,37 @@ var init_FeedbackModal = __esm({
|
|
|
18548
18519
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
18549
18520
|
import_material17.Box,
|
|
18550
18521
|
{
|
|
18551
|
-
className: "impact-
|
|
18552
|
-
sx: {
|
|
18553
|
-
flex: 1,
|
|
18554
|
-
minWidth: 300,
|
|
18555
|
-
display: "flex",
|
|
18556
|
-
flexDirection: "column",
|
|
18557
|
-
height: "100%",
|
|
18558
|
-
p: 0
|
|
18559
|
-
},
|
|
18522
|
+
className: "impact-section",
|
|
18523
|
+
sx: { flex: 1, minWidth: 260, display: "flex", flexDirection: "column" },
|
|
18560
18524
|
children: [
|
|
18561
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.
|
|
18562
|
-
|
|
18563
|
-
|
|
18525
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Typography, { variant: "body2", sx: { fontWeight: 600, mb: 0.5 }, children: [
|
|
18526
|
+
"How annoying is this?",
|
|
18527
|
+
" ",
|
|
18528
|
+
["\u{1F60A}", "\u{1F610}", "\u{1F644}", "\u{1F620}", "\u{1F92C}"][(formData.annoyanceLevel ?? 3) - 1],
|
|
18529
|
+
" ",
|
|
18530
|
+
"(",
|
|
18531
|
+
formData.annoyanceLevel ?? 3,
|
|
18532
|
+
"/5)"
|
|
18564
18533
|
] }),
|
|
18565
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18566
|
-
import_material17.
|
|
18534
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Box, { sx: { px: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18535
|
+
import_material17.Slider,
|
|
18567
18536
|
{
|
|
18568
|
-
|
|
18537
|
+
size: "small",
|
|
18538
|
+
value: formData.annoyanceLevel,
|
|
18539
|
+
onChange: (_, value) => setFormData((prev) => ({ ...prev, annoyanceLevel: value })),
|
|
18540
|
+
min: 1,
|
|
18541
|
+
max: 5,
|
|
18542
|
+
step: 1,
|
|
18543
|
+
marks: true,
|
|
18569
18544
|
sx: {
|
|
18570
|
-
|
|
18571
|
-
|
|
18572
|
-
|
|
18573
|
-
|
|
18574
|
-
|
|
18575
|
-
|
|
18576
|
-
display: "flex",
|
|
18577
|
-
flexDirection: "column",
|
|
18578
|
-
flex: 1,
|
|
18579
|
-
justifyContent: "center",
|
|
18580
|
-
height: "100%",
|
|
18581
|
-
"&:hover": {
|
|
18582
|
-
transform: "translateY(-2px)",
|
|
18583
|
-
boxShadow: theme.palette.mode === "dark" ? "0 8px 24px rgba(0,0,0,0.4)" : "0 8px 24px rgba(0,0,0,0.12)"
|
|
18545
|
+
"& .MuiSlider-track": {
|
|
18546
|
+
background: `linear-gradient(90deg, ${theme.palette.success.main}, ${theme.palette.warning.main}, ${theme.palette.error.main})`,
|
|
18547
|
+
border: "none"
|
|
18548
|
+
},
|
|
18549
|
+
"& .MuiSlider-thumb": {
|
|
18550
|
+
background: `linear-gradient(135deg, ${theme.palette.warning.main}, ${theme.palette.warning.dark})`
|
|
18584
18551
|
}
|
|
18585
|
-
}
|
|
18586
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Stack, { spacing: 3, children: [
|
|
18587
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Typography, { variant: "subtitle1", sx: { fontWeight: 600, display: "flex", alignItems: "center", gap: 2 }, children: [
|
|
18588
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18589
|
-
import_material17.Box,
|
|
18590
|
-
{
|
|
18591
|
-
sx: {
|
|
18592
|
-
width: 28,
|
|
18593
|
-
height: 28,
|
|
18594
|
-
borderRadius: "50%",
|
|
18595
|
-
bgcolor: theme.palette.warning.main + "20",
|
|
18596
|
-
display: "flex",
|
|
18597
|
-
alignItems: "center",
|
|
18598
|
-
justifyContent: "center",
|
|
18599
|
-
fontSize: "14px"
|
|
18600
|
-
},
|
|
18601
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Brain, { size: 22, color: theme.palette.warning.main })
|
|
18602
|
-
}
|
|
18603
|
-
),
|
|
18604
|
-
"How annoying is this issue? (",
|
|
18605
|
-
formData.annoyanceLevel,
|
|
18606
|
-
"/5)"
|
|
18607
|
-
] }),
|
|
18608
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Box, { sx: { px: 2, py: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18609
|
-
import_material17.Slider,
|
|
18610
|
-
{
|
|
18611
|
-
value: formData.annoyanceLevel,
|
|
18612
|
-
onChange: (_, value) => setFormData((prev) => ({ ...prev, annoyanceLevel: value })),
|
|
18613
|
-
min: 1,
|
|
18614
|
-
max: 5,
|
|
18615
|
-
step: 1,
|
|
18616
|
-
marks: [
|
|
18617
|
-
{ value: 1, label: "\u{1F60A} Not at all" },
|
|
18618
|
-
{ value: 2, label: "\u{1F610} Slightly" },
|
|
18619
|
-
{ value: 3, label: "\u{1F644} Moderately" },
|
|
18620
|
-
{ value: 4, label: "\u{1F620} Very" },
|
|
18621
|
-
{ value: 5, label: "\u{1F92C} Extremely" }
|
|
18622
|
-
],
|
|
18623
|
-
sx: {
|
|
18624
|
-
height: 8,
|
|
18625
|
-
"& .MuiSlider-mark": {
|
|
18626
|
-
backgroundColor: theme.palette.divider,
|
|
18627
|
-
width: 3,
|
|
18628
|
-
height: 3
|
|
18629
|
-
},
|
|
18630
|
-
"& .MuiSlider-markLabel": {
|
|
18631
|
-
fontSize: "0.8rem",
|
|
18632
|
-
color: theme.palette.text.secondary,
|
|
18633
|
-
transform: "translateX(-50%)",
|
|
18634
|
-
whiteSpace: "nowrap",
|
|
18635
|
-
top: 32,
|
|
18636
|
-
fontWeight: 500
|
|
18637
|
-
},
|
|
18638
|
-
"& .MuiSlider-thumb": {
|
|
18639
|
-
width: 24,
|
|
18640
|
-
height: 24,
|
|
18641
|
-
background: `linear-gradient(135deg, ${theme.palette.warning.main}, ${theme.palette.warning.dark})`,
|
|
18642
|
-
boxShadow: `0 4px 12px ${theme.palette.warning.main}40`,
|
|
18643
|
-
"&:hover, &.Mui-focusVisible": {
|
|
18644
|
-
boxShadow: `0 0 0 12px ${theme.palette.warning.main}20, 0 4px 12px ${theme.palette.warning.main}40`
|
|
18645
|
-
}
|
|
18646
|
-
},
|
|
18647
|
-
"& .MuiSlider-track": {
|
|
18648
|
-
background: `linear-gradient(90deg, ${theme.palette.success.main}, ${theme.palette.warning.main}, ${theme.palette.error.main})`,
|
|
18649
|
-
height: 6,
|
|
18650
|
-
border: "none"
|
|
18651
|
-
},
|
|
18652
|
-
"& .MuiSlider-rail": {
|
|
18653
|
-
height: 6,
|
|
18654
|
-
backgroundColor: theme.palette.divider,
|
|
18655
|
-
opacity: 0.3
|
|
18656
|
-
},
|
|
18657
|
-
mb: 5
|
|
18658
|
-
// Space for labels
|
|
18659
|
-
}
|
|
18660
|
-
}
|
|
18661
|
-
) })
|
|
18662
|
-
] })
|
|
18552
|
+
}
|
|
18663
18553
|
}
|
|
18664
18554
|
) })
|
|
18665
18555
|
]
|
|
@@ -18678,109 +18568,63 @@ var init_FeedbackModal = __esm({
|
|
|
18678
18568
|
p: 0
|
|
18679
18569
|
},
|
|
18680
18570
|
children: [
|
|
18681
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.
|
|
18682
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18683
|
-
|
|
18684
|
-
|
|
18685
|
-
|
|
18686
|
-
|
|
18687
|
-
|
|
18688
|
-
|
|
18689
|
-
|
|
18690
|
-
|
|
18691
|
-
|
|
18692
|
-
|
|
18693
|
-
|
|
18694
|
-
|
|
18695
|
-
|
|
18696
|
-
|
|
18697
|
-
|
|
18698
|
-
|
|
18699
|
-
|
|
18700
|
-
|
|
18701
|
-
|
|
18702
|
-
|
|
18703
|
-
|
|
18704
|
-
|
|
18705
|
-
|
|
18706
|
-
|
|
18707
|
-
|
|
18708
|
-
|
|
18709
|
-
}
|
|
18710
|
-
|
|
18711
|
-
|
|
18712
|
-
|
|
18713
|
-
|
|
18714
|
-
|
|
18715
|
-
|
|
18716
|
-
|
|
18717
|
-
|
|
18718
|
-
|
|
18719
|
-
|
|
18720
|
-
|
|
18721
|
-
|
|
18722
|
-
|
|
18723
|
-
|
|
18724
|
-
|
|
18725
|
-
|
|
18726
|
-
|
|
18727
|
-
|
|
18728
|
-
|
|
18729
|
-
|
|
18730
|
-
|
|
18731
|
-
|
|
18732
|
-
{
|
|
18733
|
-
sx: {
|
|
18734
|
-
width: 56,
|
|
18735
|
-
height: 56,
|
|
18736
|
-
bgcolor: theme.palette.primary.main + "15",
|
|
18737
|
-
color: theme.palette.primary.main,
|
|
18738
|
-
boxShadow: `0 4px 16px ${theme.palette.primary.main}20`,
|
|
18739
|
-
transition: "all 0.3s ease"
|
|
18740
|
-
},
|
|
18741
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Paperclip, { size: 28 })
|
|
18742
|
-
}
|
|
18743
|
-
),
|
|
18744
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Box, { sx: { textAlign: "center" }, children: [
|
|
18745
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "h6", sx: { fontWeight: 600, mb: 1, fontSize: "1.1rem" }, children: "Attach One Image" }),
|
|
18746
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "body2", color: "text.secondary", sx: { mb: 1, fontSize: "0.95rem" }, children: "Click here to upload a single image" }),
|
|
18747
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "caption", color: "text.secondary", sx: {
|
|
18748
|
-
opacity: 0.8,
|
|
18749
|
-
fontSize: "0.85rem",
|
|
18750
|
-
background: theme.palette.mode === "dark" ? "rgba(255,255,255,0.05)" : "rgba(0,0,0,0.05)",
|
|
18751
|
-
px: 2,
|
|
18752
|
-
py: 0.5,
|
|
18753
|
-
borderRadius: 1
|
|
18754
|
-
}, children: "Support: Images only (JPG, PNG, GIF) - Max 10MB" })
|
|
18755
|
-
] })
|
|
18756
|
-
]
|
|
18757
|
-
}
|
|
18758
|
-
),
|
|
18759
|
-
(formData.images && formData.images.length > 0 || formData.attachments && formData.attachments.length > 0) && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18760
|
-
import_material17.Alert,
|
|
18761
|
-
{
|
|
18762
|
-
severity: "info",
|
|
18763
|
-
sx: {
|
|
18764
|
-
mt: "auto",
|
|
18765
|
-
textAlign: "left",
|
|
18766
|
-
fontSize: "0.75rem",
|
|
18767
|
-
py: 0.5,
|
|
18768
|
-
background: theme.palette.mode === "dark" ? "linear-gradient(135deg, rgba(33,150,243,0.1) 0%, rgba(25,118,210,0.1) 100%)" : "linear-gradient(135deg, rgba(33,150,243,0.05) 0%, rgba(25,118,210,0.05) 100%)",
|
|
18769
|
-
border: `1px solid ${theme.palette.info.main}30`,
|
|
18770
|
-
"& .MuiAlert-icon": {
|
|
18771
|
-
color: theme.palette.info.main,
|
|
18772
|
-
fontSize: "0.875rem"
|
|
18773
|
-
},
|
|
18774
|
-
"& .MuiAlert-message": {
|
|
18775
|
-
fontSize: "0.75rem"
|
|
18776
|
-
}
|
|
18777
|
-
},
|
|
18778
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "caption", sx: { fontWeight: 600, display: "block" }, children: formData.images && formData.images.length > 0 ? "\u{1F4CE} Image will be copied to clipboard - paste in email!" : "\u{1F4CE} Files ready for email attachment" })
|
|
18571
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Box, { onClick: () => fileInputRef.current?.click(), children: [
|
|
18572
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18573
|
+
"input",
|
|
18574
|
+
{
|
|
18575
|
+
ref: fileInputRef,
|
|
18576
|
+
type: "file",
|
|
18577
|
+
accept: "image/*",
|
|
18578
|
+
style: { display: "none" },
|
|
18579
|
+
onChange: handleFileUpload
|
|
18580
|
+
}
|
|
18581
|
+
),
|
|
18582
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
18583
|
+
import_material17.Box,
|
|
18584
|
+
{
|
|
18585
|
+
sx: {
|
|
18586
|
+
display: "flex",
|
|
18587
|
+
alignItems: "center",
|
|
18588
|
+
gap: 1,
|
|
18589
|
+
px: 1.5,
|
|
18590
|
+
py: 1,
|
|
18591
|
+
border: "1px dashed",
|
|
18592
|
+
borderColor: (theme2) => theme2.palette.divider,
|
|
18593
|
+
borderRadius: 2,
|
|
18594
|
+
cursor: "pointer",
|
|
18595
|
+
color: theme.palette.text.secondary,
|
|
18596
|
+
"&:hover": { borderColor: theme.palette.primary.main, color: theme.palette.primary.main }
|
|
18597
|
+
},
|
|
18598
|
+
children: [
|
|
18599
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Paperclip, { size: 18 }),
|
|
18600
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "body2", sx: { fontWeight: 500 }, children: "Attach an image" }),
|
|
18601
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "caption", color: "text.secondary", sx: { ml: "auto" }, children: "JPG/PNG/GIF \xB7 10MB" })
|
|
18602
|
+
]
|
|
18603
|
+
}
|
|
18604
|
+
),
|
|
18605
|
+
(formData.images && formData.images.length > 0 || formData.attachments && formData.attachments.length > 0) && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
18606
|
+
import_material17.Alert,
|
|
18607
|
+
{
|
|
18608
|
+
severity: "info",
|
|
18609
|
+
sx: {
|
|
18610
|
+
mt: "auto",
|
|
18611
|
+
textAlign: "left",
|
|
18612
|
+
fontSize: "0.75rem",
|
|
18613
|
+
py: 0.5,
|
|
18614
|
+
background: theme.palette.mode === "dark" ? "linear-gradient(135deg, rgba(33,150,243,0.1) 0%, rgba(25,118,210,0.1) 100%)" : "linear-gradient(135deg, rgba(33,150,243,0.05) 0%, rgba(25,118,210,0.05) 100%)",
|
|
18615
|
+
border: `1px solid ${theme.palette.info.main}30`,
|
|
18616
|
+
"& .MuiAlert-icon": {
|
|
18617
|
+
color: theme.palette.info.main,
|
|
18618
|
+
fontSize: "0.875rem"
|
|
18619
|
+
},
|
|
18620
|
+
"& .MuiAlert-message": {
|
|
18621
|
+
fontSize: "0.75rem"
|
|
18779
18622
|
}
|
|
18780
|
-
|
|
18781
|
-
|
|
18782
|
-
|
|
18783
|
-
|
|
18623
|
+
},
|
|
18624
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material17.Typography, { variant: "caption", sx: { fontWeight: 600, display: "block" }, children: formData.images && formData.images.length > 0 ? "\u{1F4CE} Image will be copied to clipboard - paste in email!" : "\u{1F4CE} Files ready for email attachment" })
|
|
18625
|
+
}
|
|
18626
|
+
)
|
|
18627
|
+
] }) }),
|
|
18784
18628
|
formData.images && formData.images.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Box, { sx: { mt: 2 }, children: [
|
|
18785
18629
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material17.Box, { sx: { display: "flex", alignItems: "center", gap: 1, mb: 1.5 }, children: [
|
|
18786
18630
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Camera, { size: 16 }),
|
|
@@ -19130,7 +18974,7 @@ var init_voiceModeStore = __esm({
|
|
|
19130
18974
|
});
|
|
19131
18975
|
|
|
19132
18976
|
// src/chat/chat-input.tsx
|
|
19133
|
-
var import_react23, import_material18, import_styles10, import_shallow, import_jsx_runtime20, ChatInput, chat_input_default;
|
|
18977
|
+
var import_react23, import_material18, import_lucide_react6, import_styles10, import_shallow, import_jsx_runtime20, ChatInput, chat_input_default;
|
|
19134
18978
|
var init_chat_input = __esm({
|
|
19135
18979
|
"src/chat/chat-input.tsx"() {
|
|
19136
18980
|
"use strict";
|
|
@@ -19139,6 +18983,7 @@ var init_chat_input = __esm({
|
|
|
19139
18983
|
init_conversationStore();
|
|
19140
18984
|
init_engine_picker();
|
|
19141
18985
|
init_util();
|
|
18986
|
+
import_lucide_react6 = require("lucide-react");
|
|
19142
18987
|
init_preferencesStore();
|
|
19143
18988
|
init_packageSettingsStore();
|
|
19144
18989
|
init_transcriber();
|
|
@@ -19504,7 +19349,7 @@ ${sanitize(
|
|
|
19504
19349
|
"&:hover": { bgcolor: hoverBadgeBackground }
|
|
19505
19350
|
},
|
|
19506
19351
|
"aria-label": "Change voice",
|
|
19507
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
19352
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Volume2, { size: 18 })
|
|
19508
19353
|
}
|
|
19509
19354
|
) }, key ?? "voice");
|
|
19510
19355
|
};
|
|
@@ -23074,13 +22919,13 @@ var init_useNetworkStatus = __esm({
|
|
|
23074
22919
|
});
|
|
23075
22920
|
|
|
23076
22921
|
// src/chat/project-management-modal.tsx
|
|
23077
|
-
var import_react30, import_material21,
|
|
22922
|
+
var import_react30, import_material21, import_lucide_react7, import_styles12, import_jsx_runtime23, DEFAULT_COLORS2, ProjectManagementModal, project_management_modal_default;
|
|
23078
22923
|
var init_project_management_modal = __esm({
|
|
23079
22924
|
"src/chat/project-management-modal.tsx"() {
|
|
23080
22925
|
"use strict";
|
|
23081
22926
|
import_react30 = require("react");
|
|
23082
22927
|
import_material21 = require("@mui/material");
|
|
23083
|
-
|
|
22928
|
+
import_lucide_react7 = require("lucide-react");
|
|
23084
22929
|
import_styles12 = require("@mui/material/styles");
|
|
23085
22930
|
init_projectStore();
|
|
23086
22931
|
init_conversationStore();
|
|
@@ -23309,7 +23154,7 @@ var init_project_management_modal = __esm({
|
|
|
23309
23154
|
flex: 1
|
|
23310
23155
|
},
|
|
23311
23156
|
children: [
|
|
23312
|
-
showCreateForm && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.IconButton, { onClick: resetForm, size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23157
|
+
showCreateForm && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.IconButton, { onClick: resetForm, size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.ArrowLeft, { size: 16 }) }),
|
|
23313
23158
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23314
23159
|
import_material21.Typography,
|
|
23315
23160
|
{
|
|
@@ -23327,7 +23172,7 @@ var init_project_management_modal = __esm({
|
|
|
23327
23172
|
]
|
|
23328
23173
|
}
|
|
23329
23174
|
),
|
|
23330
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23175
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.X, {}) })
|
|
23331
23176
|
]
|
|
23332
23177
|
}
|
|
23333
23178
|
),
|
|
@@ -23414,7 +23259,7 @@ var init_project_management_modal = __esm({
|
|
|
23414
23259
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23415
23260
|
import_material21.Button,
|
|
23416
23261
|
{
|
|
23417
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23262
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Plus, {}),
|
|
23418
23263
|
onClick: () => setShowCreateForm(true),
|
|
23419
23264
|
variant: "contained",
|
|
23420
23265
|
sx: {
|
|
@@ -23439,7 +23284,7 @@ var init_project_management_modal = __esm({
|
|
|
23439
23284
|
backgroundColor: subtleSurface
|
|
23440
23285
|
},
|
|
23441
23286
|
children: [
|
|
23442
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23287
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Folder, { size: 48, style: { marginBottom: 8, opacity: 0.5 } }),
|
|
23443
23288
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.Typography, { variant: "body1", sx: { fontWeight: 600 }, children: "No projects yet" }),
|
|
23444
23289
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.Typography, { variant: "body2", children: "Create your first project to organize conversations." })
|
|
23445
23290
|
]
|
|
@@ -23474,7 +23319,7 @@ var init_project_management_modal = __esm({
|
|
|
23474
23319
|
height: 36,
|
|
23475
23320
|
fontSize: "1rem"
|
|
23476
23321
|
},
|
|
23477
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23322
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Folder, { size: 16 })
|
|
23478
23323
|
}
|
|
23479
23324
|
),
|
|
23480
23325
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_material21.Box, { sx: { flex: 1, minWidth: 0 }, children: [
|
|
@@ -23525,7 +23370,7 @@ var init_project_management_modal = __esm({
|
|
|
23525
23370
|
mt: 0.25,
|
|
23526
23371
|
zIndex: 1
|
|
23527
23372
|
},
|
|
23528
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23373
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.MoreVertical, { size: 16 })
|
|
23529
23374
|
}
|
|
23530
23375
|
)
|
|
23531
23376
|
]
|
|
@@ -23601,7 +23446,7 @@ var init_project_management_modal = __esm({
|
|
|
23601
23446
|
startEdit(selectedProject);
|
|
23602
23447
|
},
|
|
23603
23448
|
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_material21.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
23604
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23449
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Pencil, { size: 16 }),
|
|
23605
23450
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.Typography, { variant: "body2", color: "inherit", children: "Edit" })
|
|
23606
23451
|
] })
|
|
23607
23452
|
}
|
|
@@ -23615,7 +23460,7 @@ var init_project_management_modal = __esm({
|
|
|
23615
23460
|
},
|
|
23616
23461
|
sx: { color: theme.palette.error.main },
|
|
23617
23462
|
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_material21.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
23618
|
-
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
23463
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react7.Trash2, { size: 16 }),
|
|
23619
23464
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_material21.Typography, { variant: "body2", color: "inherit", children: "Delete" })
|
|
23620
23465
|
] })
|
|
23621
23466
|
}
|
|
@@ -23667,13 +23512,13 @@ var init_project_management_modal = __esm({
|
|
|
23667
23512
|
});
|
|
23668
23513
|
|
|
23669
23514
|
// src/chat/move-conversation-modal.tsx
|
|
23670
|
-
var import_react31, import_material22,
|
|
23515
|
+
var import_react31, import_material22, import_lucide_react8, import_styles13, import_jsx_runtime24, MoveConversationModal, move_conversation_modal_default;
|
|
23671
23516
|
var init_move_conversation_modal = __esm({
|
|
23672
23517
|
"src/chat/move-conversation-modal.tsx"() {
|
|
23673
23518
|
"use strict";
|
|
23674
23519
|
import_react31 = require("react");
|
|
23675
23520
|
import_material22 = require("@mui/material");
|
|
23676
|
-
|
|
23521
|
+
import_lucide_react8 = require("lucide-react");
|
|
23677
23522
|
import_styles13 = require("@mui/material/styles");
|
|
23678
23523
|
init_projectStore();
|
|
23679
23524
|
init_conversationStore();
|
|
@@ -23758,7 +23603,7 @@ var init_move_conversation_modal = __esm({
|
|
|
23758
23603
|
width: 32,
|
|
23759
23604
|
height: 32
|
|
23760
23605
|
},
|
|
23761
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
23606
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react8.Inbox, {})
|
|
23762
23607
|
}
|
|
23763
23608
|
) }),
|
|
23764
23609
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
@@ -23794,7 +23639,7 @@ var init_move_conversation_modal = __esm({
|
|
|
23794
23639
|
width: 32,
|
|
23795
23640
|
height: 32
|
|
23796
23641
|
},
|
|
23797
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
23642
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react8.Folder, {})
|
|
23798
23643
|
}
|
|
23799
23644
|
) }),
|
|
23800
23645
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
@@ -23838,13 +23683,13 @@ var init_move_conversation_modal = __esm({
|
|
|
23838
23683
|
});
|
|
23839
23684
|
|
|
23840
23685
|
// src/chat/simple-conversation-item.tsx
|
|
23841
|
-
var import_react32, import_material23,
|
|
23686
|
+
var import_react32, import_material23, import_lucide_react9, import_styles14, import_jsx_runtime25, SimpleConversationItem, simple_conversation_item_default;
|
|
23842
23687
|
var init_simple_conversation_item = __esm({
|
|
23843
23688
|
"src/chat/simple-conversation-item.tsx"() {
|
|
23844
23689
|
"use strict";
|
|
23845
23690
|
import_react32 = require("react");
|
|
23846
23691
|
import_material23 = require("@mui/material");
|
|
23847
|
-
|
|
23692
|
+
import_lucide_react9 = require("lucide-react");
|
|
23848
23693
|
import_styles14 = require("@mui/material/styles");
|
|
23849
23694
|
import_jsx_runtime25 = require("react/jsx-runtime");
|
|
23850
23695
|
SimpleConversationItem = ({
|
|
@@ -24072,7 +23917,7 @@ var init_simple_conversation_item = __esm({
|
|
|
24072
23917
|
},
|
|
24073
23918
|
children: [
|
|
24074
23919
|
!isMobile && !isEditing && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
24075
|
-
|
|
23920
|
+
import_lucide_react9.GripVertical,
|
|
24076
23921
|
{
|
|
24077
23922
|
size: 16,
|
|
24078
23923
|
color: theme.palette.text.disabled,
|
|
@@ -24166,7 +24011,7 @@ var init_simple_conversation_item = __esm({
|
|
|
24166
24011
|
}
|
|
24167
24012
|
}
|
|
24168
24013
|
},
|
|
24169
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
24014
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react9.MoreVertical, { size: 16 })
|
|
24170
24015
|
}
|
|
24171
24016
|
),
|
|
24172
24017
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
@@ -24197,15 +24042,15 @@ var init_simple_conversation_item = __esm({
|
|
|
24197
24042
|
},
|
|
24198
24043
|
children: [
|
|
24199
24044
|
onRename && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_material23.MenuItem, { onClick: handleEdit, children: [
|
|
24200
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
24045
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react9.Pencil, { size: 16 }) }),
|
|
24201
24046
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemText, { children: "Rename" })
|
|
24202
24047
|
] }),
|
|
24203
24048
|
onMove && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_material23.MenuItem, { onClick: handleMove, children: [
|
|
24204
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
24049
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react9.MailOpen, { size: 16 }) }),
|
|
24205
24050
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemText, { children: "Move to Project" })
|
|
24206
24051
|
] }),
|
|
24207
24052
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_material23.MenuItem, { onClick: handleDelete, children: [
|
|
24208
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
24053
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react9.Trash2, { size: 16 }) }),
|
|
24209
24054
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_material23.ListItemText, { children: "Delete" })
|
|
24210
24055
|
] })
|
|
24211
24056
|
]
|
|
@@ -24278,13 +24123,13 @@ var init_simple_conversation_item = __esm({
|
|
|
24278
24123
|
});
|
|
24279
24124
|
|
|
24280
24125
|
// src/chat/project-header.tsx
|
|
24281
|
-
var import_react33, import_material24,
|
|
24126
|
+
var import_react33, import_material24, import_lucide_react10, import_styles15, import_jsx_runtime26, ProjectHeader, project_header_default;
|
|
24282
24127
|
var init_project_header = __esm({
|
|
24283
24128
|
"src/chat/project-header.tsx"() {
|
|
24284
24129
|
"use strict";
|
|
24285
24130
|
import_react33 = require("react");
|
|
24286
24131
|
import_material24 = require("@mui/material");
|
|
24287
|
-
|
|
24132
|
+
import_lucide_react10 = require("lucide-react");
|
|
24288
24133
|
import_styles15 = require("@mui/material/styles");
|
|
24289
24134
|
init_conversationStore();
|
|
24290
24135
|
init_projectStore();
|
|
@@ -24311,7 +24156,7 @@ var init_project_header = __esm({
|
|
|
24311
24156
|
const [renameDraft, setRenameDraft] = (0, import_react33.useState)(projectName);
|
|
24312
24157
|
const renameActionRef = (0, import_react33.useRef)("none");
|
|
24313
24158
|
const isUngrouped = projectId === null;
|
|
24314
|
-
const Icon = isCollapsed ?
|
|
24159
|
+
const Icon = isCollapsed ? import_lucide_react10.Folder : import_lucide_react10.FolderOpen;
|
|
24315
24160
|
const handleAddConversation = (e) => {
|
|
24316
24161
|
e.stopPropagation();
|
|
24317
24162
|
createNewConversation(projectId || void 0);
|
|
@@ -24392,7 +24237,7 @@ var init_project_header = __esm({
|
|
|
24392
24237
|
mr: 1.5
|
|
24393
24238
|
},
|
|
24394
24239
|
children: isUngrouped ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
24395
|
-
|
|
24240
|
+
import_lucide_react10.Inbox,
|
|
24396
24241
|
{
|
|
24397
24242
|
size: 16,
|
|
24398
24243
|
color: theme.palette.text.disabled,
|
|
@@ -24508,7 +24353,7 @@ var init_project_header = __esm({
|
|
|
24508
24353
|
onRenameCancelDelete ? onRenameCancelDelete() : cancelRename();
|
|
24509
24354
|
},
|
|
24510
24355
|
sx: { color: (0, import_material24.alpha)(theme.palette.error.main, 0.9) },
|
|
24511
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
24356
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react10.X, { size: 16 })
|
|
24512
24357
|
}
|
|
24513
24358
|
) }),
|
|
24514
24359
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_material24.Tooltip, { title: "Save", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
@@ -24521,7 +24366,7 @@ var init_project_header = __esm({
|
|
|
24521
24366
|
commitRename();
|
|
24522
24367
|
},
|
|
24523
24368
|
sx: { color: theme.palette.success.main },
|
|
24524
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
24369
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react10.Check, { size: 16 })
|
|
24525
24370
|
}
|
|
24526
24371
|
) })
|
|
24527
24372
|
] }),
|
|
@@ -24542,7 +24387,7 @@ var init_project_header = __esm({
|
|
|
24542
24387
|
},
|
|
24543
24388
|
transition: "all 0.2s ease"
|
|
24544
24389
|
},
|
|
24545
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
24390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react10.Plus, { size: 16 })
|
|
24546
24391
|
}
|
|
24547
24392
|
) }),
|
|
24548
24393
|
!isUngrouped && !isRenaming && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
@@ -24553,7 +24398,7 @@ var init_project_header = __esm({
|
|
|
24553
24398
|
color: theme.palette.text.secondary,
|
|
24554
24399
|
transition: "transform 0.2s ease"
|
|
24555
24400
|
},
|
|
24556
|
-
children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
24401
|
+
children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react10.ChevronDown, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react10.ChevronUp, { size: 16 })
|
|
24557
24402
|
}
|
|
24558
24403
|
)
|
|
24559
24404
|
]
|
|
@@ -24583,13 +24428,13 @@ var init_tooltips = __esm({
|
|
|
24583
24428
|
});
|
|
24584
24429
|
|
|
24585
24430
|
// src/chat/conversation-drawer.tsx
|
|
24586
|
-
var import_react34, import_material25,
|
|
24431
|
+
var import_react34, import_material25, import_lucide_react11, import_styles16, import_jsx_runtime27, BANDIT_AVATAR, coerceOptionalString, deriveInitials, ConversationDrawer, conversation_drawer_default;
|
|
24587
24432
|
var init_conversation_drawer = __esm({
|
|
24588
24433
|
"src/chat/conversation-drawer.tsx"() {
|
|
24589
24434
|
"use strict";
|
|
24590
24435
|
import_react34 = require("react");
|
|
24591
24436
|
import_material25 = require("@mui/material");
|
|
24592
|
-
|
|
24437
|
+
import_lucide_react11 = require("lucide-react");
|
|
24593
24438
|
import_styles16 = require("@mui/material/styles");
|
|
24594
24439
|
init_conversationStore();
|
|
24595
24440
|
init_projectStore();
|
|
@@ -24604,6 +24449,9 @@ var init_conversation_drawer = __esm({
|
|
|
24604
24449
|
init_project_header();
|
|
24605
24450
|
init_debugLogger();
|
|
24606
24451
|
init_tooltips();
|
|
24452
|
+
init_conversationSyncStore();
|
|
24453
|
+
init_preferencesStore();
|
|
24454
|
+
init_useFeatures();
|
|
24607
24455
|
import_jsx_runtime27 = require("react/jsx-runtime");
|
|
24608
24456
|
BANDIT_AVATAR = "https://cdn.burtson.ai/images/bandit-head.png";
|
|
24609
24457
|
coerceOptionalString = (value) => {
|
|
@@ -24830,6 +24678,30 @@ var init_conversation_drawer = __esm({
|
|
|
24830
24678
|
onClose();
|
|
24831
24679
|
}
|
|
24832
24680
|
};
|
|
24681
|
+
const { preferences } = usePreferencesStore();
|
|
24682
|
+
const { showLimitedAdminPanel } = useFeatureVisibility();
|
|
24683
|
+
const syncEnabled = useConversationSyncStore((s) => s.syncEnabled);
|
|
24684
|
+
const syncStatus = useConversationSyncStore((s) => s.status);
|
|
24685
|
+
const runSync = useConversationSyncStore((s) => s.runSync);
|
|
24686
|
+
const goToHome = () => {
|
|
24687
|
+
const resolvedHomeUrl = preferences.homeUrl?.trim() || usePackageSettingsStore.getState().settings?.homeUrl?.trim() || "";
|
|
24688
|
+
if (resolvedHomeUrl) {
|
|
24689
|
+
window.location.href = resolvedHomeUrl;
|
|
24690
|
+
return;
|
|
24691
|
+
}
|
|
24692
|
+
const navigatorWithStandalone = window.navigator;
|
|
24693
|
+
const isStandalone = window.matchMedia?.("(display-mode: standalone)").matches || navigatorWithStandalone.standalone === true;
|
|
24694
|
+
if (isStandalone) {
|
|
24695
|
+
try {
|
|
24696
|
+
sessionStorage.setItem("banditPwaStayOnHome", "true");
|
|
24697
|
+
} catch {
|
|
24698
|
+
}
|
|
24699
|
+
window.location.href = "/?mode=home";
|
|
24700
|
+
return;
|
|
24701
|
+
}
|
|
24702
|
+
window.location.href = "/";
|
|
24703
|
+
};
|
|
24704
|
+
const managementPath = typeof window !== "undefined" && window.location.pathname.startsWith("/playground") ? "/playground/management" : "/management";
|
|
24833
24705
|
const handleSearchClear = () => {
|
|
24834
24706
|
setSearchQuery("");
|
|
24835
24707
|
};
|
|
@@ -24913,6 +24785,31 @@ var init_conversation_drawer = __esm({
|
|
|
24913
24785
|
gap: 1
|
|
24914
24786
|
},
|
|
24915
24787
|
children: [
|
|
24788
|
+
syncEnabled && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: syncStatus === "error" ? "Sync needs attention \u2014 tap to retry" : "Sync conversations", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24789
|
+
import_material25.IconButton,
|
|
24790
|
+
{
|
|
24791
|
+
onClick: () => {
|
|
24792
|
+
if (syncStatus !== "syncing") void runSync({ force: true });
|
|
24793
|
+
},
|
|
24794
|
+
size: "small",
|
|
24795
|
+
"aria-label": "Sync conversations",
|
|
24796
|
+
sx: {
|
|
24797
|
+
color: syncStatus === "error" ? theme.palette.error.main : theme.palette.text.secondary,
|
|
24798
|
+
...syncStatus === "syncing" && {
|
|
24799
|
+
animation: "bandit-sync-spin 1s linear infinite",
|
|
24800
|
+
"@keyframes bandit-sync-spin": {
|
|
24801
|
+
"0%": { transform: "rotate(0deg)" },
|
|
24802
|
+
"100%": { transform: "rotate(360deg)" }
|
|
24803
|
+
}
|
|
24804
|
+
},
|
|
24805
|
+
"&:hover": {
|
|
24806
|
+
color: theme.palette.primary.main,
|
|
24807
|
+
bgcolor: (0, import_material25.alpha)(theme.palette.primary.main, 0.1)
|
|
24808
|
+
}
|
|
24809
|
+
},
|
|
24810
|
+
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.RefreshCw, {})
|
|
24811
|
+
}
|
|
24812
|
+
) }),
|
|
24916
24813
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: "Memories", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24917
24814
|
import_material25.IconButton,
|
|
24918
24815
|
{
|
|
@@ -24926,7 +24823,7 @@ var init_conversation_drawer = __esm({
|
|
|
24926
24823
|
bgcolor: (0, import_material25.alpha)(theme.palette.primary.main, 0.1)
|
|
24927
24824
|
}
|
|
24928
24825
|
},
|
|
24929
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24826
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Brain, {})
|
|
24930
24827
|
}
|
|
24931
24828
|
) }),
|
|
24932
24829
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: tooltip("manageProjects"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -24942,7 +24839,7 @@ var init_conversation_drawer = __esm({
|
|
|
24942
24839
|
bgcolor: (0, import_material25.alpha)(theme.palette.primary.main, 0.1)
|
|
24943
24840
|
}
|
|
24944
24841
|
},
|
|
24945
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24842
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Folder, {})
|
|
24946
24843
|
}
|
|
24947
24844
|
) }),
|
|
24948
24845
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: tooltip("conversationOptions"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -24958,7 +24855,7 @@ var init_conversation_drawer = __esm({
|
|
|
24958
24855
|
bgcolor: (0, import_material25.alpha)(theme.palette.text.primary, 0.1)
|
|
24959
24856
|
}
|
|
24960
24857
|
},
|
|
24961
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24858
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.MoreVertical, {})
|
|
24962
24859
|
}
|
|
24963
24860
|
) }),
|
|
24964
24861
|
isMobile && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: tooltip("closeConversationsPanel"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -24978,7 +24875,7 @@ var init_conversation_drawer = __esm({
|
|
|
24978
24875
|
bgcolor: (0, import_material25.alpha)(theme.palette.error.main, 0.1)
|
|
24979
24876
|
}
|
|
24980
24877
|
},
|
|
24981
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24878
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.X, {})
|
|
24982
24879
|
}
|
|
24983
24880
|
) })
|
|
24984
24881
|
]
|
|
@@ -24994,7 +24891,7 @@ var init_conversation_drawer = __esm({
|
|
|
24994
24891
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
24995
24892
|
variant: "outlined",
|
|
24996
24893
|
InputProps: {
|
|
24997
|
-
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24894
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Search, { size: 16, color: theme.palette.text.secondary }) }),
|
|
24998
24895
|
endAdornment: searchQuery && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.InputAdornment, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Tooltip, { title: tooltip("clearSearch"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24999
24896
|
import_material25.IconButton,
|
|
25000
24897
|
{
|
|
@@ -25003,7 +24900,7 @@ var init_conversation_drawer = __esm({
|
|
|
25003
24900
|
edge: "end",
|
|
25004
24901
|
"aria-label": tooltip("clearSearch"),
|
|
25005
24902
|
sx: { color: theme.palette.text.secondary },
|
|
25006
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24903
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.X, { size: 16 })
|
|
25007
24904
|
}
|
|
25008
24905
|
) }) })
|
|
25009
24906
|
},
|
|
@@ -25069,7 +24966,7 @@ var init_conversation_drawer = __esm({
|
|
|
25069
24966
|
justifyContent: "center",
|
|
25070
24967
|
flexShrink: 0
|
|
25071
24968
|
},
|
|
25072
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24969
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Folder, { size: 16, color: theme.palette.success.main })
|
|
25073
24970
|
}
|
|
25074
24971
|
),
|
|
25075
24972
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -25086,7 +24983,7 @@ var init_conversation_drawer = __esm({
|
|
|
25086
24983
|
size: "small",
|
|
25087
24984
|
"aria-label": tooltip("addProject"),
|
|
25088
24985
|
sx: { color: theme.palette.success.main },
|
|
25089
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
24986
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Plus, { size: 16 })
|
|
25090
24987
|
}
|
|
25091
24988
|
) })
|
|
25092
24989
|
]
|
|
@@ -25108,7 +25005,7 @@ var init_conversation_drawer = __esm({
|
|
|
25108
25005
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.Divider, { sx: { flex: 1, opacity: 0.6 } }),
|
|
25109
25006
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_material25.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
25110
25007
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25111
|
-
|
|
25008
|
+
import_lucide_react11.Inbox,
|
|
25112
25009
|
{
|
|
25113
25010
|
size: 14,
|
|
25114
25011
|
color: theme.palette.text.disabled,
|
|
@@ -25332,6 +25229,44 @@ var init_conversation_drawer = __esm({
|
|
|
25332
25229
|
]
|
|
25333
25230
|
}
|
|
25334
25231
|
),
|
|
25232
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25233
|
+
import_material25.IconButton,
|
|
25234
|
+
{
|
|
25235
|
+
"aria-label": "Go to home page",
|
|
25236
|
+
title: "Home",
|
|
25237
|
+
onClick: (event) => {
|
|
25238
|
+
event.stopPropagation();
|
|
25239
|
+
goToHome();
|
|
25240
|
+
},
|
|
25241
|
+
sx: {
|
|
25242
|
+
flexShrink: 0,
|
|
25243
|
+
width: 30,
|
|
25244
|
+
height: 30,
|
|
25245
|
+
border: `1px solid ${(0, import_material25.alpha)(theme.palette.divider, 0.8)}`,
|
|
25246
|
+
color: theme.palette.text.secondary
|
|
25247
|
+
},
|
|
25248
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.House, { size: 16 })
|
|
25249
|
+
}
|
|
25250
|
+
),
|
|
25251
|
+
user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25252
|
+
import_material25.IconButton,
|
|
25253
|
+
{
|
|
25254
|
+
"aria-label": "Management & settings",
|
|
25255
|
+
title: "Management & settings",
|
|
25256
|
+
onClick: (event) => {
|
|
25257
|
+
event.stopPropagation();
|
|
25258
|
+
window.location.href = managementPath;
|
|
25259
|
+
},
|
|
25260
|
+
sx: {
|
|
25261
|
+
flexShrink: 0,
|
|
25262
|
+
width: 30,
|
|
25263
|
+
height: 30,
|
|
25264
|
+
border: `1px solid ${(0, import_material25.alpha)(theme.palette.divider, 0.8)}`,
|
|
25265
|
+
color: theme.palette.text.secondary
|
|
25266
|
+
},
|
|
25267
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.SlidersHorizontal, { size: 16 })
|
|
25268
|
+
}
|
|
25269
|
+
),
|
|
25335
25270
|
user2 && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
25336
25271
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25337
25272
|
import_material25.Box,
|
|
@@ -25347,7 +25282,7 @@ var init_conversation_drawer = __esm({
|
|
|
25347
25282
|
border: `1px solid ${(0, import_material25.alpha)(theme.palette.divider, 0.8)}`,
|
|
25348
25283
|
color: theme.palette.text.secondary
|
|
25349
25284
|
},
|
|
25350
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25285
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Settings, { size: 16 })
|
|
25351
25286
|
}
|
|
25352
25287
|
),
|
|
25353
25288
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -25368,7 +25303,7 @@ var init_conversation_drawer = __esm({
|
|
|
25368
25303
|
color: theme.palette.error.main,
|
|
25369
25304
|
"&:hover": { bgcolor: (0, import_material25.alpha)(theme.palette.error.main, 0.1) }
|
|
25370
25305
|
},
|
|
25371
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25306
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.LogOut, { size: 16 })
|
|
25372
25307
|
}
|
|
25373
25308
|
)
|
|
25374
25309
|
] })
|
|
@@ -25418,7 +25353,7 @@ var init_conversation_drawer = __esm({
|
|
|
25418
25353
|
},
|
|
25419
25354
|
sx: { color: theme.palette.error.main },
|
|
25420
25355
|
children: [
|
|
25421
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
25356
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Trash2, { size: 16, color: theme.palette.error.main }) }),
|
|
25422
25357
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_material25.ListItemText, { children: "Clear All Conversations" })
|
|
25423
25358
|
]
|
|
25424
25359
|
}
|
|
@@ -25457,13 +25392,13 @@ var init_conversation_drawer = __esm({
|
|
|
25457
25392
|
});
|
|
25458
25393
|
|
|
25459
25394
|
// src/chat/enhanced-mobile-conversations-modal.tsx
|
|
25460
|
-
var import_react35, import_material26,
|
|
25395
|
+
var import_react35, import_material26, import_lucide_react12, import_styles17, import_jsx_runtime28, BANDIT_AVATAR2, coerceOptionalString2, deriveInitials2, EnhancedMobileConversationsModal, enhanced_mobile_conversations_modal_default;
|
|
25461
25396
|
var init_enhanced_mobile_conversations_modal = __esm({
|
|
25462
25397
|
"src/chat/enhanced-mobile-conversations-modal.tsx"() {
|
|
25463
25398
|
"use strict";
|
|
25464
25399
|
import_react35 = require("react");
|
|
25465
25400
|
import_material26 = require("@mui/material");
|
|
25466
|
-
|
|
25401
|
+
import_lucide_react12 = require("lucide-react");
|
|
25467
25402
|
import_styles17 = require("@mui/material/styles");
|
|
25468
25403
|
init_conversationStore();
|
|
25469
25404
|
init_projectStore();
|
|
@@ -25906,7 +25841,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25906
25841
|
}
|
|
25907
25842
|
}
|
|
25908
25843
|
},
|
|
25909
|
-
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25844
|
+
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.RefreshCw, {})
|
|
25910
25845
|
}
|
|
25911
25846
|
),
|
|
25912
25847
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -25915,7 +25850,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25915
25850
|
onClick: () => setMemoryModalOpen(true),
|
|
25916
25851
|
"aria-label": "Memory",
|
|
25917
25852
|
sx: { color: theme.palette.text.secondary },
|
|
25918
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25853
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Brain, {})
|
|
25919
25854
|
}
|
|
25920
25855
|
),
|
|
25921
25856
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -25923,7 +25858,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25923
25858
|
{
|
|
25924
25859
|
onClick: () => setProjectManagementOpen(true),
|
|
25925
25860
|
sx: { color: theme.palette.text.secondary },
|
|
25926
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25861
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Folder, {})
|
|
25927
25862
|
}
|
|
25928
25863
|
),
|
|
25929
25864
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -25931,7 +25866,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25931
25866
|
{
|
|
25932
25867
|
onClick: handleMenuOpen,
|
|
25933
25868
|
sx: { color: theme.palette.text.secondary },
|
|
25934
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25869
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.MoreVertical, {})
|
|
25935
25870
|
}
|
|
25936
25871
|
),
|
|
25937
25872
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -25939,7 +25874,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25939
25874
|
{
|
|
25940
25875
|
onClick: onClose,
|
|
25941
25876
|
sx: { color: theme.palette.text.secondary },
|
|
25942
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25877
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.X, {})
|
|
25943
25878
|
}
|
|
25944
25879
|
)
|
|
25945
25880
|
] })
|
|
@@ -25955,7 +25890,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25955
25890
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
25956
25891
|
variant: "outlined",
|
|
25957
25892
|
InputProps: {
|
|
25958
|
-
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25893
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Search, { size: 16, color: theme.palette.text.secondary }) }),
|
|
25959
25894
|
endAdornment: searchQuery && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.InputAdornment, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25960
25895
|
import_material26.IconButton,
|
|
25961
25896
|
{
|
|
@@ -25963,7 +25898,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
25963
25898
|
size: "small",
|
|
25964
25899
|
edge: "end",
|
|
25965
25900
|
sx: { color: theme.palette.text.secondary },
|
|
25966
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
25901
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.X, { size: 16 })
|
|
25967
25902
|
}
|
|
25968
25903
|
) })
|
|
25969
25904
|
}
|
|
@@ -26119,7 +26054,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26119
26054
|
justifyContent: "center",
|
|
26120
26055
|
flexShrink: 0
|
|
26121
26056
|
},
|
|
26122
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26057
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Folder, { size: 16, color: theme.palette.success.main })
|
|
26123
26058
|
}
|
|
26124
26059
|
),
|
|
26125
26060
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -26130,7 +26065,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26130
26065
|
children: "New Project"
|
|
26131
26066
|
}
|
|
26132
26067
|
),
|
|
26133
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.IconButton, { size: "small", sx: { color: theme.palette.success.main }, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26068
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.IconButton, { size: "small", sx: { color: theme.palette.success.main }, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Plus, { size: 16 }) })
|
|
26134
26069
|
]
|
|
26135
26070
|
}
|
|
26136
26071
|
),
|
|
@@ -26150,7 +26085,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26150
26085
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.Divider, { sx: { flex: 1, opacity: 0.6 } }),
|
|
26151
26086
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material26.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
26152
26087
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26153
|
-
|
|
26088
|
+
import_lucide_react12.Inbox,
|
|
26154
26089
|
{
|
|
26155
26090
|
size: 14,
|
|
26156
26091
|
color: theme.palette.text.disabled,
|
|
@@ -26345,7 +26280,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26345
26280
|
createNewConversation();
|
|
26346
26281
|
onClose();
|
|
26347
26282
|
},
|
|
26348
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26283
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Plus, { size: 18 }),
|
|
26349
26284
|
sx: {
|
|
26350
26285
|
pointerEvents: "auto",
|
|
26351
26286
|
textTransform: "none",
|
|
@@ -26436,7 +26371,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26436
26371
|
border: `1px solid ${(0, import_styles17.alpha)(theme.palette.divider, 0.8)}`,
|
|
26437
26372
|
color: theme.palette.text.secondary
|
|
26438
26373
|
},
|
|
26439
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.House, { size: 16 })
|
|
26440
26375
|
}
|
|
26441
26376
|
),
|
|
26442
26377
|
user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -26455,7 +26390,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26455
26390
|
border: `1px solid ${(0, import_styles17.alpha)(theme.palette.divider, 0.8)}`,
|
|
26456
26391
|
color: theme.palette.text.secondary
|
|
26457
26392
|
},
|
|
26458
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26393
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.SlidersHorizontal, { size: 16 })
|
|
26459
26394
|
}
|
|
26460
26395
|
),
|
|
26461
26396
|
user2 && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
|
|
@@ -26473,7 +26408,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26473
26408
|
border: `1px solid ${(0, import_styles17.alpha)(theme.palette.divider, 0.8)}`,
|
|
26474
26409
|
color: theme.palette.text.secondary
|
|
26475
26410
|
},
|
|
26476
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26411
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Settings, { size: 16 })
|
|
26477
26412
|
}
|
|
26478
26413
|
),
|
|
26479
26414
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
@@ -26494,7 +26429,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26494
26429
|
color: theme.palette.error.main,
|
|
26495
26430
|
"&:hover": { bgcolor: (0, import_styles17.alpha)(theme.palette.error.main, 0.1) }
|
|
26496
26431
|
},
|
|
26497
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26432
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.LogOut, { size: 16 })
|
|
26498
26433
|
}
|
|
26499
26434
|
)
|
|
26500
26435
|
] })
|
|
@@ -26547,7 +26482,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
26547
26482
|
disabled: visibleConversationCount === 0,
|
|
26548
26483
|
sx: { color: theme.palette.error.main },
|
|
26549
26484
|
children: [
|
|
26550
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
26485
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Trash2, { size: 16, color: theme.palette.error.main }) }),
|
|
26551
26486
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material26.ListItemText, { children: "Clear All Conversations" })
|
|
26552
26487
|
]
|
|
26553
26488
|
}
|
|
@@ -26677,24 +26612,8 @@ var init_chat_app_bar = __esm({
|
|
|
26677
26612
|
const { settings: packageSettings } = usePackageSettingsStore();
|
|
26678
26613
|
const isPlaygroundRoute = typeof window !== "undefined" && window.location.pathname.includes("/playground");
|
|
26679
26614
|
const isPlaygroundMode3 = Boolean(packageSettings?.playgroundMode) || (packageSettings?.gatewayApiUrl ?? "").toLowerCase().startsWith("playground://") || typeof window !== "undefined" && window.location.pathname.startsWith("/playground");
|
|
26680
|
-
const
|
|
26681
|
-
const {
|
|
26682
|
-
syncEnabled,
|
|
26683
|
-
syncStatus,
|
|
26684
|
-
lastSyncAt,
|
|
26685
|
-
pendingCount,
|
|
26686
|
-
warningConversations,
|
|
26687
|
-
oversizedConversations,
|
|
26688
|
-
triggerSync,
|
|
26689
|
-
setSyncEnabled
|
|
26690
|
-
} = useConversationSyncStore((state) => ({
|
|
26615
|
+
const { syncEnabled, setSyncEnabled } = useConversationSyncStore((state) => ({
|
|
26691
26616
|
syncEnabled: state.syncEnabled,
|
|
26692
|
-
syncStatus: state.status,
|
|
26693
|
-
lastSyncAt: state.lastSyncAt,
|
|
26694
|
-
pendingCount: state.pendingConversationUpserts.size + state.pendingConversationDeletes.size + state.pendingProjectUpserts.size + state.pendingProjectDeletes.size,
|
|
26695
|
-
warningConversations: state.warningConversations,
|
|
26696
|
-
oversizedConversations: state.oversizedConversations,
|
|
26697
|
-
triggerSync: state.runSync,
|
|
26698
26617
|
setSyncEnabled: state.setSyncEnabled
|
|
26699
26618
|
}), import_shallow2.shallow);
|
|
26700
26619
|
(0, import_react36.useEffect)(() => {
|
|
@@ -26706,57 +26625,6 @@ var init_chat_app_bar = __esm({
|
|
|
26706
26625
|
});
|
|
26707
26626
|
}
|
|
26708
26627
|
}, [isPlaygroundMode3, syncEnabled, setSyncEnabled]);
|
|
26709
|
-
const syncSpinSx = {
|
|
26710
|
-
animation: "spin 1s linear infinite",
|
|
26711
|
-
"@keyframes spin": {
|
|
26712
|
-
"0%": { transform: "rotate(0deg)" },
|
|
26713
|
-
"100%": { transform: "rotate(360deg)" }
|
|
26714
|
-
}
|
|
26715
|
-
};
|
|
26716
|
-
const syncIndicatorIcon = (() => {
|
|
26717
|
-
if (isPlaygroundMode3 || !syncEnabled) {
|
|
26718
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CloudOffIcon, { fontSize: "small", color: "disabled" });
|
|
26719
|
-
}
|
|
26720
|
-
switch (syncStatus) {
|
|
26721
|
-
case "syncing":
|
|
26722
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SyncIcon, { fontSize: "small", sx: syncSpinSx, color: "primary" });
|
|
26723
|
-
case "error":
|
|
26724
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ErrorOutlineIcon, { fontSize: "small", color: "error" });
|
|
26725
|
-
case "idle":
|
|
26726
|
-
default:
|
|
26727
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CloudDoneIcon, { fontSize: "small", color: "success" });
|
|
26728
|
-
}
|
|
26729
|
-
})();
|
|
26730
|
-
const syncTooltip = (() => {
|
|
26731
|
-
if (isPlaygroundMode3) {
|
|
26732
|
-
return "Cloud sync is unavailable in playground mode.";
|
|
26733
|
-
}
|
|
26734
|
-
if (!syncEnabled) {
|
|
26735
|
-
return "Cloud sync is disabled. Enable it from Management > Preferences.";
|
|
26736
|
-
}
|
|
26737
|
-
let base;
|
|
26738
|
-
if (oversizedConversations.length > 0) {
|
|
26739
|
-
base = "Some conversations are too large for Bandit Cloud. Start a new conversation to keep syncing.";
|
|
26740
|
-
} else if (syncStatus === "syncing") {
|
|
26741
|
-
base = "Syncing changes to Bandit Cloud\u2026";
|
|
26742
|
-
} else if (warningConversations.length > 0) {
|
|
26743
|
-
base = "Conversations are nearing the Bandit Cloud limit. Consider starting a new one soon.";
|
|
26744
|
-
} else if (syncStatus === "error") {
|
|
26745
|
-
base = "Sync needs attention. Visit Management > Preferences for details.";
|
|
26746
|
-
} else {
|
|
26747
|
-
base = "Conversations are in sync with Bandit Cloud.";
|
|
26748
|
-
}
|
|
26749
|
-
const pending = pendingCount > 0 ? ` ${pendingCount} change${pendingCount === 1 ? "" : "s"} queued.` : "";
|
|
26750
|
-
const last = lastSyncAt ? ` Last sync ${new Date(lastSyncAt).toLocaleTimeString()}.` : "";
|
|
26751
|
-
return `${base}${pending}${last}`;
|
|
26752
|
-
})();
|
|
26753
|
-
const syncButtonDisabled = isPlaygroundMode3 || !syncEnabled;
|
|
26754
|
-
const handleSyncBadgeClick = () => {
|
|
26755
|
-
if (isPlaygroundMode3 || !syncEnabled || syncStatus === "syncing") {
|
|
26756
|
-
return;
|
|
26757
|
-
}
|
|
26758
|
-
void triggerSync({ force: true });
|
|
26759
|
-
};
|
|
26760
26628
|
const { hasTTS, hasSTT, isAdmin, getCurrentTier, hasLimitedAdminDashboard, isSubscribed } = useFeatures();
|
|
26761
26629
|
const { showVoiceControls, showLimitedAdminPanel } = useFeatureVisibility();
|
|
26762
26630
|
const frontierEligible = (() => {
|
|
@@ -26807,37 +26675,6 @@ var init_chat_app_bar = __esm({
|
|
|
26807
26675
|
useEngineStore.getState().fetchEngines();
|
|
26808
26676
|
}, []);
|
|
26809
26677
|
const pendingModelAvatar = useModelStore.getState().availableModels.find((m) => m.name === pendingModel)?.avatarBase64 || modelAvatars2[pendingModel || ""] || banditHead2;
|
|
26810
|
-
const resolvedHomeUrl = preferences.homeUrl?.trim() || packageSettings?.homeUrl?.trim() || "";
|
|
26811
|
-
const homeTooltip = (() => {
|
|
26812
|
-
if (!resolvedHomeUrl) return "Home";
|
|
26813
|
-
try {
|
|
26814
|
-
return `Home (${new URL(resolvedHomeUrl).hostname})`;
|
|
26815
|
-
} catch {
|
|
26816
|
-
return "Home";
|
|
26817
|
-
}
|
|
26818
|
-
})();
|
|
26819
|
-
function goToHome() {
|
|
26820
|
-
if (resolvedHomeUrl) {
|
|
26821
|
-
window.location.href = resolvedHomeUrl;
|
|
26822
|
-
return;
|
|
26823
|
-
}
|
|
26824
|
-
if (typeof window !== "undefined") {
|
|
26825
|
-
const navigatorWithStandalone = window.navigator;
|
|
26826
|
-
const isStandalone = window.matchMedia?.("(display-mode: standalone)").matches || navigatorWithStandalone.standalone === true;
|
|
26827
|
-
if (isStandalone) {
|
|
26828
|
-
try {
|
|
26829
|
-
sessionStorage.setItem("banditPwaStayOnHome", "true");
|
|
26830
|
-
} catch (error) {
|
|
26831
|
-
debugLogger.warn("[chat-app-bar] Unable to persist home preference", {
|
|
26832
|
-
error: error instanceof Error ? error.message : String(error)
|
|
26833
|
-
});
|
|
26834
|
-
}
|
|
26835
|
-
safeNavigate("/?mode=home");
|
|
26836
|
-
return;
|
|
26837
|
-
}
|
|
26838
|
-
}
|
|
26839
|
-
safeNavigate("/");
|
|
26840
|
-
}
|
|
26841
26678
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
26842
26679
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
26843
26680
|
import_material28.Box,
|
|
@@ -26964,72 +26801,6 @@ var init_chat_app_bar = __esm({
|
|
|
26964
26801
|
}
|
|
26965
26802
|
},
|
|
26966
26803
|
children: [
|
|
26967
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material28.Tooltip, { title: homeTooltip, arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
26968
|
-
import_material28.IconButton,
|
|
26969
|
-
{
|
|
26970
|
-
onClick: goToHome,
|
|
26971
|
-
sx: pillButtonStyles,
|
|
26972
|
-
"aria-label": "Go to home page",
|
|
26973
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(HomeIcon, {})
|
|
26974
|
-
}
|
|
26975
|
-
) }),
|
|
26976
|
-
showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material28.Tooltip, { title: "Management & Settings", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
26977
|
-
import_material28.IconButton,
|
|
26978
|
-
{
|
|
26979
|
-
onClick: () => safeNavigate(managementPath),
|
|
26980
|
-
sx: {
|
|
26981
|
-
...pillButtonStyles,
|
|
26982
|
-
...typeof window !== "undefined" && window.location.pathname === managementPath && {
|
|
26983
|
-
bgcolor: theme.palette.primary.main + "20",
|
|
26984
|
-
color: theme.palette.primary.main
|
|
26985
|
-
}
|
|
26986
|
-
},
|
|
26987
|
-
"aria-label": "Open management settings",
|
|
26988
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SettingsIcon, {})
|
|
26989
|
-
}
|
|
26990
|
-
) }),
|
|
26991
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material28.Tooltip, { title: syncTooltip, arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
26992
|
-
import_material28.IconButton,
|
|
26993
|
-
{
|
|
26994
|
-
onClick: handleSyncBadgeClick,
|
|
26995
|
-
disabled: syncButtonDisabled,
|
|
26996
|
-
sx: {
|
|
26997
|
-
...pillButtonStyles,
|
|
26998
|
-
color: syncButtonDisabled ? theme.palette.action.disabled : theme.palette.primary.main,
|
|
26999
|
-
bgcolor: syncButtonDisabled ? "transparent" : syncStatus === "error" ? theme.palette.error.main + "20" : theme.palette.primary.main + "12",
|
|
27000
|
-
"&:hover": syncButtonDisabled ? {} : {
|
|
27001
|
-
bgcolor: syncStatus === "error" ? theme.palette.error.main + "30" : theme.palette.primary.main + "20"
|
|
27002
|
-
}
|
|
27003
|
-
},
|
|
27004
|
-
"aria-label": "Conversation sync status",
|
|
27005
|
-
children: [
|
|
27006
|
-
syncIndicatorIcon,
|
|
27007
|
-
pendingCount > 0 && !syncButtonDisabled && syncStatus !== "syncing" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
27008
|
-
import_material28.Box,
|
|
27009
|
-
{
|
|
27010
|
-
sx: {
|
|
27011
|
-
position: "absolute",
|
|
27012
|
-
top: -2,
|
|
27013
|
-
right: -2,
|
|
27014
|
-
minWidth: 16,
|
|
27015
|
-
height: 16,
|
|
27016
|
-
px: 0.3,
|
|
27017
|
-
bgcolor: theme.palette.warning.main,
|
|
27018
|
-
color: theme.palette.getContrastText(theme.palette.warning.main),
|
|
27019
|
-
borderRadius: "999px",
|
|
27020
|
-
display: "flex",
|
|
27021
|
-
alignItems: "center",
|
|
27022
|
-
justifyContent: "center",
|
|
27023
|
-
fontSize: "0.6rem",
|
|
27024
|
-
fontWeight: 600,
|
|
27025
|
-
border: `2px solid ${background}`
|
|
27026
|
-
},
|
|
27027
|
-
children: pendingCount > 9 ? "9+" : pendingCount
|
|
27028
|
-
}
|
|
27029
|
-
)
|
|
27030
|
-
]
|
|
27031
|
-
}
|
|
27032
|
-
) }),
|
|
27033
26804
|
!isMobile && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_material28.Tooltip, { title: `${drawerOpen ? "Close" : "Open"} Conversations`, arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
27034
26805
|
import_material28.IconButton,
|
|
27035
26806
|
{
|
|
@@ -27044,7 +26815,7 @@ var init_chat_app_bar = __esm({
|
|
|
27044
26815
|
"aria-label": `${drawerOpen ? "Close" : "Open"} conversations drawer`,
|
|
27045
26816
|
"aria-pressed": drawerOpen,
|
|
27046
26817
|
children: [
|
|
27047
|
-
|
|
26818
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeftIcon, {}),
|
|
27048
26819
|
conversations.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
27049
26820
|
import_material28.Box,
|
|
27050
26821
|
{
|
|
@@ -30378,13 +30149,13 @@ var init_feedback = __esm({
|
|
|
30378
30149
|
});
|
|
30379
30150
|
|
|
30380
30151
|
// src/components/feedback/FeedbackButton.tsx
|
|
30381
|
-
var import_react38, import_material31,
|
|
30152
|
+
var import_react38, import_material31, import_lucide_react13, import_jsx_runtime32, FeedbackButton;
|
|
30382
30153
|
var init_FeedbackButton = __esm({
|
|
30383
30154
|
"src/components/feedback/FeedbackButton.tsx"() {
|
|
30384
30155
|
"use strict";
|
|
30385
30156
|
import_react38 = require("react");
|
|
30386
30157
|
import_material31 = require("@mui/material");
|
|
30387
|
-
|
|
30158
|
+
import_lucide_react13 = require("lucide-react");
|
|
30388
30159
|
init_feedback();
|
|
30389
30160
|
import_jsx_runtime32 = require("react/jsx-runtime");
|
|
30390
30161
|
FeedbackButton = ({
|
|
@@ -30408,7 +30179,7 @@ var init_FeedbackButton = __esm({
|
|
|
30408
30179
|
import_material31.Button,
|
|
30409
30180
|
{
|
|
30410
30181
|
variant: "outlined",
|
|
30411
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
30182
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react13.MessageCircle, {}),
|
|
30412
30183
|
onClick: handleOpen,
|
|
30413
30184
|
className,
|
|
30414
30185
|
size,
|
|
@@ -30437,7 +30208,7 @@ var init_FeedbackButton = __esm({
|
|
|
30437
30208
|
transform: "translateY(-1px)"
|
|
30438
30209
|
}
|
|
30439
30210
|
},
|
|
30440
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
30211
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react13.MessageCircle, {})
|
|
30441
30212
|
}
|
|
30442
30213
|
) }),
|
|
30443
30214
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
@@ -30496,7 +30267,7 @@ var init_FeedbackButton = __esm({
|
|
|
30496
30267
|
}
|
|
30497
30268
|
}
|
|
30498
30269
|
},
|
|
30499
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
30270
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react13.MessageCircle, {})
|
|
30500
30271
|
}
|
|
30501
30272
|
)
|
|
30502
30273
|
}
|
|
@@ -31946,13 +31717,18 @@ var init_chat2 = __esm({
|
|
|
31946
31717
|
left: drawerOpen && !isMobile ? "340px" : 0,
|
|
31947
31718
|
width: !isMobile && canvasOpen ? `calc(100vw - ${drawerOpen ? "340px" : "0px"} - ${CANVAS_WIDTH})` : drawerOpen && !isMobile ? "calc(100vw - 340px)" : "100vw",
|
|
31948
31719
|
zIndex: 0,
|
|
31949
|
-
// Claude
|
|
31950
|
-
//
|
|
31951
|
-
//
|
|
31952
|
-
//
|
|
31953
|
-
|
|
31954
|
-
|
|
31955
|
-
|
|
31720
|
+
// Claude-style push (mobile only; desktop stays flush): the chat
|
|
31721
|
+
// shell slides right and shrinks slightly into a rounded card. The
|
|
31722
|
+
// scale insets the card from every screen edge so all four rounded
|
|
31723
|
+
// corners stay visible — a full-height 100dvh card had its bottom
|
|
31724
|
+
// corners clipped at the device edge in the PWA. Width kept in sync
|
|
31725
|
+
// with the drawer in enhanced-mobile-conversations-modal.tsx.
|
|
31726
|
+
transform: isMobile && mobileConversationsOpen ? "translateX(min(calc(100vw - 56px), 360px)) scale(0.96)" : "none",
|
|
31727
|
+
borderRadius: isMobile && mobileConversationsOpen ? "24px" : 0,
|
|
31728
|
+
// Hairline border so the rounded card reads even when the backdrop
|
|
31729
|
+
// is the same near-black as the shell.
|
|
31730
|
+
border: isMobile && mobileConversationsOpen ? `1px solid ${theme.palette.mode === "dark" ? "rgba(255,255,255,0.14)" : "rgba(0,0,0,0.12)"}` : "none",
|
|
31731
|
+
boxShadow: isMobile && mobileConversationsOpen ? `0 12px 40px ${theme.palette.mode === "dark" ? "rgba(0,0,0,0.55)" : "rgba(0,0,0,0.25)"}` : "none",
|
|
31956
31732
|
transition: "left 0.3s ease-in-out, width 0.3s ease-in-out, transform 0.3s ease-in-out, border-radius 0.3s ease-in-out"
|
|
31957
31733
|
}),
|
|
31958
31734
|
children: [
|
|
@@ -39499,7 +39275,7 @@ init_useFeatures();
|
|
|
39499
39275
|
// src/components/shared/ProcessingOverlay.tsx
|
|
39500
39276
|
var import_react55 = require("react");
|
|
39501
39277
|
var import_material46 = require("@mui/material");
|
|
39502
|
-
var
|
|
39278
|
+
var import_lucide_react14 = require("lucide-react");
|
|
39503
39279
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
39504
39280
|
var ninjaFloat = import_material46.keyframes`
|
|
39505
39281
|
0%, 100% { transform: translateY(0px) rotate(0deg); }
|
|
@@ -39524,28 +39300,28 @@ var defaultSteps = [
|
|
|
39524
39300
|
id: "upload",
|
|
39525
39301
|
title: "Uploading to Cloud",
|
|
39526
39302
|
description: "Our digital ninjas are securely transferring your file...",
|
|
39527
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39303
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.CloudUpload, {}),
|
|
39528
39304
|
duration: 5
|
|
39529
39305
|
},
|
|
39530
39306
|
{
|
|
39531
39307
|
id: "analyze",
|
|
39532
39308
|
title: "AI Analysis",
|
|
39533
39309
|
description: "Advanced AI robots are reading and understanding your content...",
|
|
39534
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39310
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Brain, {}),
|
|
39535
39311
|
duration: 15
|
|
39536
39312
|
},
|
|
39537
39313
|
{
|
|
39538
39314
|
id: "embed",
|
|
39539
39315
|
title: "Making It Searchable",
|
|
39540
39316
|
description: "We turn the content into a private, searchable index...",
|
|
39541
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39317
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Cpu, {}),
|
|
39542
39318
|
duration: 10
|
|
39543
39319
|
},
|
|
39544
39320
|
{
|
|
39545
39321
|
id: "optimize",
|
|
39546
39322
|
title: "Optimizing Search",
|
|
39547
39323
|
description: "Organizing everything for quick, reliable answers...",
|
|
39548
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39324
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Sparkles, {}),
|
|
39549
39325
|
duration: 8
|
|
39550
39326
|
}
|
|
39551
39327
|
];
|
|
@@ -39691,7 +39467,7 @@ var ProcessingOverlay = ({
|
|
|
39691
39467
|
animation: `${pulse} 3s ease-in-out infinite`,
|
|
39692
39468
|
color: theme.palette.secondary.main
|
|
39693
39469
|
},
|
|
39694
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39470
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Bot, {})
|
|
39695
39471
|
}
|
|
39696
39472
|
),
|
|
39697
39473
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -39705,7 +39481,7 @@ var ProcessingOverlay = ({
|
|
|
39705
39481
|
color: theme.palette.primary.main,
|
|
39706
39482
|
animationDelay: "1s"
|
|
39707
39483
|
},
|
|
39708
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
39484
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Zap, {})
|
|
39709
39485
|
}
|
|
39710
39486
|
)
|
|
39711
39487
|
] }),
|
|
@@ -46690,7 +46466,7 @@ init_streaming_tts();
|
|
|
46690
46466
|
|
|
46691
46467
|
// src/modals/SubscriptionExpiredModal.tsx
|
|
46692
46468
|
var import_material56 = require("@mui/material");
|
|
46693
|
-
var
|
|
46469
|
+
var import_lucide_react15 = require("lucide-react");
|
|
46694
46470
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
46695
46471
|
var SubscriptionExpiredModal = ({
|
|
46696
46472
|
open,
|
|
@@ -46729,7 +46505,7 @@ var SubscriptionExpiredModal = ({
|
|
|
46729
46505
|
},
|
|
46730
46506
|
children: [
|
|
46731
46507
|
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material56.DialogTitle, { sx: { textAlign: "center", pb: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_material56.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "center", gap: 1, mb: 1 }, children: [
|
|
46732
|
-
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
46508
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react15.AlertTriangle, { size: 32, color: "warning" }),
|
|
46733
46509
|
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material56.Typography, { variant: "h5", component: "span", fontWeight: "bold", children: "Subscription Expired" })
|
|
46734
46510
|
] }) }),
|
|
46735
46511
|
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_material56.DialogContent, { sx: { pt: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_material56.Stack, { spacing: 2, children: [
|
|
@@ -46757,7 +46533,7 @@ var SubscriptionExpiredModal = ({
|
|
|
46757
46533
|
{
|
|
46758
46534
|
onClick: handleNavigateHome,
|
|
46759
46535
|
variant: "outlined",
|
|
46760
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
46536
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react15.Home, {}),
|
|
46761
46537
|
size: "large",
|
|
46762
46538
|
sx: { minWidth: 140 },
|
|
46763
46539
|
children: "Go Home"
|
|
@@ -46768,7 +46544,7 @@ var SubscriptionExpiredModal = ({
|
|
|
46768
46544
|
{
|
|
46769
46545
|
onClick: handleManageSubscription,
|
|
46770
46546
|
variant: "contained",
|
|
46771
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
46547
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react15.CreditCard, {}),
|
|
46772
46548
|
size: "large",
|
|
46773
46549
|
color: "primary",
|
|
46774
46550
|
sx: { minWidth: 140 },
|