@burtson-labs/bandit-engine 2.0.125 → 2.0.127
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-SC6CFUED.mjs → chat-2XYHFUT2.mjs} +2 -2
- package/dist/{chunk-ID6CTZ3G.mjs → chunk-7NBLIL76.mjs} +2 -2
- package/dist/{chunk-2WFTEJPS.mjs → chunk-RRSACJI2.mjs} +265 -83
- package/dist/chunk-RRSACJI2.mjs.map +1 -0
- package/dist/index.js +343 -161
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/management/management.js +327 -145
- package/dist/management/management.js.map +1 -1
- package/dist/management/management.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-2WFTEJPS.mjs.map +0 -1
- /package/dist/{chat-SC6CFUED.mjs.map → chat-2XYHFUT2.mjs.map} +0 -0
- /package/dist/{chunk-ID6CTZ3G.mjs.map → chunk-7NBLIL76.mjs.map} +0 -0
|
@@ -20570,7 +20570,7 @@ var init_source_chips = __esm({
|
|
|
20570
20570
|
});
|
|
20571
20571
|
|
|
20572
20572
|
// src/chat/chat-messages.tsx
|
|
20573
|
-
var import_material36, import_jsx_runtime36, ChatMessages, chat_messages_default;
|
|
20573
|
+
var import_material36, import_jsx_runtime36, WORKING_TOKEN_RE, ToolWorkingChip, ChatMessages, chat_messages_default;
|
|
20574
20574
|
var init_chat_messages = __esm({
|
|
20575
20575
|
"src/chat/chat-messages.tsx"() {
|
|
20576
20576
|
"use strict";
|
|
@@ -20580,6 +20580,38 @@ var init_chat_messages = __esm({
|
|
|
20580
20580
|
init_source_chips();
|
|
20581
20581
|
init_conversationStore();
|
|
20582
20582
|
import_jsx_runtime36 = require("react/jsx-runtime");
|
|
20583
|
+
WORKING_TOKEN_RE = /\s*<<working:([^>]*)>>\s*$/;
|
|
20584
|
+
ToolWorkingChip = ({ label }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
20585
|
+
import_material36.Box,
|
|
20586
|
+
{
|
|
20587
|
+
sx: (theme) => ({
|
|
20588
|
+
display: "inline-flex",
|
|
20589
|
+
alignItems: "center",
|
|
20590
|
+
gap: 1.25,
|
|
20591
|
+
mt: 1.5,
|
|
20592
|
+
px: 1.75,
|
|
20593
|
+
py: 0.9,
|
|
20594
|
+
borderRadius: 999,
|
|
20595
|
+
bgcolor: theme.palette.action.hover,
|
|
20596
|
+
border: `1px solid ${theme.palette.divider}`
|
|
20597
|
+
}),
|
|
20598
|
+
children: [
|
|
20599
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "typing-only", children: [
|
|
20600
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "dot" }),
|
|
20601
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "dot" }),
|
|
20602
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "dot" })
|
|
20603
|
+
] }),
|
|
20604
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
20605
|
+
import_material36.Box,
|
|
20606
|
+
{
|
|
20607
|
+
component: "span",
|
|
20608
|
+
sx: { fontSize: "0.85rem", fontWeight: 500, color: "text.secondary", userSelect: "none" },
|
|
20609
|
+
children: label || "Working on it"
|
|
20610
|
+
}
|
|
20611
|
+
)
|
|
20612
|
+
]
|
|
20613
|
+
}
|
|
20614
|
+
);
|
|
20583
20615
|
ChatMessages = ({
|
|
20584
20616
|
pendingMessage,
|
|
20585
20617
|
streamBuffer,
|
|
@@ -20605,7 +20637,9 @@ var init_chat_messages = __esm({
|
|
|
20605
20637
|
const isPlaceholder = entry.answer === "...";
|
|
20606
20638
|
const showLoader = isLast && isStreaming && streamBuffer.trim() === "";
|
|
20607
20639
|
const showThinking = showLoader && isThinking;
|
|
20608
|
-
const
|
|
20640
|
+
const rawContent = isLast ? isStreaming ? streamBuffer || "" : isPlaceholder ? "" : entry.answer : entry.answer;
|
|
20641
|
+
const workingMatch = isLast && isStreaming ? rawContent.match(WORKING_TOKEN_RE) : null;
|
|
20642
|
+
const content = workingMatch ? rawContent.replace(WORKING_TOKEN_RE, "") : rawContent;
|
|
20609
20643
|
const rawSources = entry.sourceFiles;
|
|
20610
20644
|
const sourceSummaries = rawSources ? rawSources.filter((doc) => doc && typeof doc.name === "string" && doc.name.trim()).map((doc) => ({ id: doc.id || doc.name, name: doc.name.trim() })) : void 0;
|
|
20611
20645
|
const responseNode = /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
@@ -20678,6 +20712,7 @@ var init_chat_messages = __esm({
|
|
|
20678
20712
|
sources: sourceSummaries
|
|
20679
20713
|
}
|
|
20680
20714
|
),
|
|
20715
|
+
workingMatch && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ToolWorkingChip, { label: workingMatch[1] }),
|
|
20681
20716
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(source_chips_default, { content })
|
|
20682
20717
|
]
|
|
20683
20718
|
}
|
|
@@ -20690,7 +20725,7 @@ var init_chat_messages = __esm({
|
|
|
20690
20725
|
{
|
|
20691
20726
|
question: entry.question,
|
|
20692
20727
|
response: responseNode,
|
|
20693
|
-
responseText:
|
|
20728
|
+
responseText: content,
|
|
20694
20729
|
backgroundColor: "#444",
|
|
20695
20730
|
images: entry.images,
|
|
20696
20731
|
memoryUpdated: entry.memoryUpdated && !isPlaceholder,
|
|
@@ -21627,23 +21662,24 @@ ${sanitize(
|
|
|
21627
21662
|
bgcolor: inputBackground,
|
|
21628
21663
|
borderRadius: "24px",
|
|
21629
21664
|
boxShadow: isMobile ? `0 0 0 1px ${theme.palette.mode === "dark" ? "#444" : "#eee"}` : "0 4px 20px rgba(0, 0, 0, 0.4)",
|
|
21630
|
-
px: isMobile ? compactMobile ? 1 : 1.5 :
|
|
21631
|
-
pt: isMobile ? compactMobile ? 0.6 : 1 :
|
|
21632
|
-
pb: isMobile ? compactMobile ? 0.9 : 1.5 :
|
|
21665
|
+
px: isMobile ? compactMobile ? 1 : 1.5 : 2,
|
|
21666
|
+
pt: isMobile ? compactMobile ? 0.6 : 1 : 0.75,
|
|
21667
|
+
pb: isMobile ? compactMobile ? 0.9 : 1.5 : 0.75,
|
|
21633
21668
|
display: "flex",
|
|
21634
21669
|
flexDirection: "column",
|
|
21635
|
-
gap: isMobile ? compactMobile ? 0.75 : 1 :
|
|
21670
|
+
gap: isMobile ? compactMobile ? 0.75 : 1 : 0.5
|
|
21636
21671
|
},
|
|
21637
21672
|
children: [
|
|
21638
21673
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
21639
21674
|
import_material39.Box,
|
|
21640
21675
|
{
|
|
21641
21676
|
sx: {
|
|
21642
|
-
display: "flex",
|
|
21677
|
+
display: fileInputs.length > 0 || pastedImages.length > 0 ? "flex" : "none",
|
|
21643
21678
|
flexWrap: "wrap",
|
|
21644
21679
|
gap: attachmentsGap,
|
|
21645
21680
|
alignItems: "center",
|
|
21646
|
-
flexDirection: "row"
|
|
21681
|
+
flexDirection: "row",
|
|
21682
|
+
pt: isMobile ? 0 : 0.5
|
|
21647
21683
|
},
|
|
21648
21684
|
children: [
|
|
21649
21685
|
fileInputs.map((file, idx) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
@@ -21767,7 +21803,7 @@ ${sanitize(
|
|
|
21767
21803
|
]
|
|
21768
21804
|
}
|
|
21769
21805
|
),
|
|
21770
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
21806
|
+
isMobile && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
21771
21807
|
import_material39.Box,
|
|
21772
21808
|
{
|
|
21773
21809
|
sx: {
|
|
@@ -21780,7 +21816,7 @@ ${sanitize(
|
|
|
21780
21816
|
{
|
|
21781
21817
|
fullWidth: true,
|
|
21782
21818
|
multiline: true,
|
|
21783
|
-
maxRows:
|
|
21819
|
+
maxRows: compactMobile ? 6 : 12,
|
|
21784
21820
|
placeholder: isIncognito ? "Incognito chat \u2014 not saved" : "What's on your mind?",
|
|
21785
21821
|
value: inputValue,
|
|
21786
21822
|
onChange: (e) => setInputValue(e.target.value),
|
|
@@ -21791,18 +21827,15 @@ ${sanitize(
|
|
|
21791
21827
|
disableUnderline: true,
|
|
21792
21828
|
sx: {
|
|
21793
21829
|
flex: "1 1 auto",
|
|
21794
|
-
maxHeight:
|
|
21830
|
+
maxHeight: compactMobile ? "120px" : "150px",
|
|
21795
21831
|
overflowY: "auto",
|
|
21796
21832
|
color: fileText,
|
|
21797
21833
|
"& .MuiInputBase-inputMultiline": {
|
|
21798
|
-
fontSize:
|
|
21834
|
+
fontSize: compactMobile ? "0.95rem" : "1rem"
|
|
21799
21835
|
}
|
|
21800
21836
|
}
|
|
21801
21837
|
},
|
|
21802
|
-
sx: {
|
|
21803
|
-
flex: 1,
|
|
21804
|
-
"& .MuiInputBase-root": {}
|
|
21805
|
-
}
|
|
21838
|
+
sx: { flex: 1 }
|
|
21806
21839
|
}
|
|
21807
21840
|
)
|
|
21808
21841
|
}
|
|
@@ -21813,9 +21846,9 @@ ${sanitize(
|
|
|
21813
21846
|
sx: {
|
|
21814
21847
|
display: "flex",
|
|
21815
21848
|
justifyContent: "space-between",
|
|
21816
|
-
alignItems: "
|
|
21849
|
+
alignItems: "flex-end",
|
|
21817
21850
|
gap: isMobile ? 0.6 : 1,
|
|
21818
|
-
mt: isMobile ? 0.5 :
|
|
21851
|
+
mt: isMobile ? 0.5 : 0
|
|
21819
21852
|
},
|
|
21820
21853
|
children: [
|
|
21821
21854
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
@@ -21902,6 +21935,30 @@ ${sanitize(
|
|
|
21902
21935
|
]
|
|
21903
21936
|
}
|
|
21904
21937
|
),
|
|
21938
|
+
!isMobile && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
21939
|
+
import_material39.TextField,
|
|
21940
|
+
{
|
|
21941
|
+
fullWidth: true,
|
|
21942
|
+
multiline: true,
|
|
21943
|
+
maxRows: 6,
|
|
21944
|
+
placeholder: isIncognito ? "Incognito chat \u2014 not saved" : "What's on your mind?",
|
|
21945
|
+
value: inputValue,
|
|
21946
|
+
onChange: (e) => setInputValue(e.target.value),
|
|
21947
|
+
onKeyDown: handleKeyPress,
|
|
21948
|
+
inputRef,
|
|
21949
|
+
variant: "standard",
|
|
21950
|
+
InputProps: {
|
|
21951
|
+
disableUnderline: true,
|
|
21952
|
+
sx: {
|
|
21953
|
+
color: fileText,
|
|
21954
|
+
maxHeight: "160px",
|
|
21955
|
+
overflowY: "auto",
|
|
21956
|
+
"& .MuiInputBase-inputMultiline": { fontSize: "1rem" }
|
|
21957
|
+
}
|
|
21958
|
+
},
|
|
21959
|
+
sx: { flex: 1, alignSelf: "center", mx: 0.5 }
|
|
21960
|
+
}
|
|
21961
|
+
),
|
|
21905
21962
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Box, { sx: { display: "flex", alignItems: "center", gap: isMobile ? 0.6 : 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Tooltip, { title: isStreaming ? "Stop response" : "Send message", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
21906
21963
|
import_material39.IconButton,
|
|
21907
21964
|
{
|
|
@@ -22073,13 +22130,14 @@ var init_askUserStore = __esm({
|
|
|
22073
22130
|
});
|
|
22074
22131
|
|
|
22075
22132
|
// src/chat/ask-user-card.tsx
|
|
22076
|
-
var import_react47, import_material40, import_styles25, import_jsx_runtime40, AskUserCard, ask_user_card_default;
|
|
22133
|
+
var import_react47, import_material40, import_styles25, import_lucide_react9, import_jsx_runtime40, AskUserCard, ask_user_card_default;
|
|
22077
22134
|
var init_ask_user_card = __esm({
|
|
22078
22135
|
"src/chat/ask-user-card.tsx"() {
|
|
22079
22136
|
"use strict";
|
|
22080
22137
|
import_react47 = require("react");
|
|
22081
22138
|
import_material40 = require("@mui/material");
|
|
22082
22139
|
import_styles25 = require("@mui/material/styles");
|
|
22140
|
+
import_lucide_react9 = require("lucide-react");
|
|
22083
22141
|
init_askUserStore();
|
|
22084
22142
|
import_jsx_runtime40 = require("react/jsx-runtime");
|
|
22085
22143
|
AskUserCard = () => {
|
|
@@ -22107,57 +22165,142 @@ var init_ask_user_card = __esm({
|
|
|
22107
22165
|
});
|
|
22108
22166
|
submit(final);
|
|
22109
22167
|
};
|
|
22110
|
-
|
|
22168
|
+
const isSingleQuestion = pending.questions.length === 1;
|
|
22169
|
+
const handleOptionTap = (qid, label) => {
|
|
22170
|
+
setFreeform((p) => ({ ...p, [qid]: "" }));
|
|
22171
|
+
if (isSingleQuestion) {
|
|
22172
|
+
submit({ [qid]: label });
|
|
22173
|
+
return;
|
|
22174
|
+
}
|
|
22175
|
+
setSelected((p) => ({ ...p, [qid]: label }));
|
|
22176
|
+
};
|
|
22177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Grow, { in: true, timeout: 300, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Box, { sx: { width: "100%", display: "flex", justifyContent: "center", px: { xs: 1, sm: 2 }, mb: 1.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
22111
22178
|
import_material40.Paper,
|
|
22112
22179
|
{
|
|
22113
22180
|
elevation: 0,
|
|
22114
22181
|
sx: {
|
|
22115
22182
|
width: "100%",
|
|
22116
22183
|
maxWidth: 760,
|
|
22117
|
-
p: { xs:
|
|
22118
|
-
borderRadius:
|
|
22119
|
-
border: `1px solid ${
|
|
22120
|
-
bgcolor:
|
|
22184
|
+
p: { xs: 2, sm: 2.5 },
|
|
22185
|
+
borderRadius: 3,
|
|
22186
|
+
border: `1px solid ${theme.palette.divider}`,
|
|
22187
|
+
bgcolor: theme.palette.background.paper,
|
|
22188
|
+
boxShadow: `0 8px 32px ${(0, import_styles25.alpha)(theme.palette.common.black, theme.palette.mode === "dark" ? 0.35 : 0.1)}`
|
|
22121
22189
|
},
|
|
22122
22190
|
children: [
|
|
22123
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.
|
|
22124
|
-
|
|
22125
|
-
|
|
22126
|
-
|
|
22127
|
-
|
|
22128
|
-
|
|
22129
|
-
|
|
22130
|
-
|
|
22191
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { display: "flex", alignItems: "center", gap: 1, mb: 0.5 }, children: [
|
|
22192
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22193
|
+
import_material40.Box,
|
|
22194
|
+
{
|
|
22195
|
+
sx: {
|
|
22196
|
+
width: 26,
|
|
22197
|
+
height: 26,
|
|
22198
|
+
borderRadius: "50%",
|
|
22199
|
+
display: "flex",
|
|
22200
|
+
alignItems: "center",
|
|
22201
|
+
justifyContent: "center",
|
|
22202
|
+
bgcolor: (0, import_styles25.alpha)(theme.palette.primary.main, 0.12),
|
|
22203
|
+
color: theme.palette.primary.main,
|
|
22204
|
+
flexShrink: 0
|
|
22205
|
+
},
|
|
22206
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.CircleHelp, { size: 16 })
|
|
22207
|
+
}
|
|
22208
|
+
),
|
|
22209
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Typography, { variant: "body2", sx: { color: theme.palette.text.secondary, fontWeight: 600 }, children: "Quick question before I continue" })
|
|
22210
|
+
] }),
|
|
22211
|
+
pending.questions.map((q) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { mt: 1.75 }, children: [
|
|
22212
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { display: "flex", alignItems: "baseline", gap: 1, flexWrap: "wrap", mb: 1.25 }, children: [
|
|
22213
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Typography, { sx: { fontWeight: 600, fontSize: "1.02rem", color: theme.palette.text.primary }, children: q.question }),
|
|
22214
|
+
q.header && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22215
|
+
import_material40.Chip,
|
|
22131
22216
|
{
|
|
22132
|
-
|
|
22133
|
-
|
|
22134
|
-
setFreeform((p) => ({ ...p, [q.id]: "" }));
|
|
22135
|
-
},
|
|
22136
|
-
variant: isSel ? "contained" : "outlined",
|
|
22137
|
-
color: "primary",
|
|
22217
|
+
label: q.header,
|
|
22218
|
+
size: "small",
|
|
22138
22219
|
sx: {
|
|
22139
|
-
|
|
22140
|
-
|
|
22141
|
-
|
|
22142
|
-
|
|
22143
|
-
|
|
22144
|
-
|
|
22145
|
-
|
|
22146
|
-
|
|
22147
|
-
|
|
22148
|
-
|
|
22149
|
-
|
|
22150
|
-
|
|
22151
|
-
|
|
22152
|
-
|
|
22153
|
-
|
|
22154
|
-
|
|
22155
|
-
)
|
|
22156
|
-
] })
|
|
22220
|
+
height: 20,
|
|
22221
|
+
fontSize: "0.7rem",
|
|
22222
|
+
fontWeight: 600,
|
|
22223
|
+
color: theme.palette.text.secondary,
|
|
22224
|
+
bgcolor: (0, import_styles25.alpha)(theme.palette.text.primary, 0.06)
|
|
22225
|
+
}
|
|
22226
|
+
}
|
|
22227
|
+
)
|
|
22228
|
+
] }),
|
|
22229
|
+
q.options && q.options.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22230
|
+
import_material40.Box,
|
|
22231
|
+
{
|
|
22232
|
+
sx: {
|
|
22233
|
+
display: "grid",
|
|
22234
|
+
gridTemplateColumns: { xs: "1fr", sm: q.options.length > 1 ? "1fr 1fr" : "1fr" },
|
|
22235
|
+
gap: 1
|
|
22157
22236
|
},
|
|
22158
|
-
opt
|
|
22159
|
-
|
|
22160
|
-
|
|
22237
|
+
children: q.options.map((opt) => {
|
|
22238
|
+
const isSel = selected[q.id] === opt.label && !freeform[q.id]?.trim();
|
|
22239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
22240
|
+
import_material40.Box,
|
|
22241
|
+
{
|
|
22242
|
+
component: "button",
|
|
22243
|
+
type: "button",
|
|
22244
|
+
onClick: () => handleOptionTap(q.id, opt.label),
|
|
22245
|
+
sx: {
|
|
22246
|
+
font: "inherit",
|
|
22247
|
+
textAlign: "left",
|
|
22248
|
+
cursor: "pointer",
|
|
22249
|
+
display: "flex",
|
|
22250
|
+
alignItems: "flex-start",
|
|
22251
|
+
gap: 1,
|
|
22252
|
+
px: 1.5,
|
|
22253
|
+
py: 1.25,
|
|
22254
|
+
borderRadius: 2,
|
|
22255
|
+
border: `1.5px solid ${isSel ? theme.palette.primary.main : theme.palette.divider}`,
|
|
22256
|
+
bgcolor: isSel ? (0, import_styles25.alpha)(theme.palette.primary.main, 0.08) : "transparent",
|
|
22257
|
+
color: "inherit",
|
|
22258
|
+
transition: "border-color 0.15s ease, background-color 0.15s ease, transform 0.1s ease",
|
|
22259
|
+
"&:hover": {
|
|
22260
|
+
borderColor: theme.palette.primary.main,
|
|
22261
|
+
bgcolor: (0, import_styles25.alpha)(theme.palette.primary.main, 0.05)
|
|
22262
|
+
},
|
|
22263
|
+
"&:active": { transform: "scale(0.99)" }
|
|
22264
|
+
},
|
|
22265
|
+
children: [
|
|
22266
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22267
|
+
import_material40.Box,
|
|
22268
|
+
{
|
|
22269
|
+
sx: {
|
|
22270
|
+
width: 18,
|
|
22271
|
+
height: 18,
|
|
22272
|
+
mt: "2px",
|
|
22273
|
+
borderRadius: "50%",
|
|
22274
|
+
flexShrink: 0,
|
|
22275
|
+
display: "flex",
|
|
22276
|
+
alignItems: "center",
|
|
22277
|
+
justifyContent: "center",
|
|
22278
|
+
border: `1.5px solid ${isSel ? theme.palette.primary.main : (0, import_styles25.alpha)(theme.palette.text.secondary, 0.5)}`,
|
|
22279
|
+
bgcolor: isSel ? theme.palette.primary.main : "transparent",
|
|
22280
|
+
color: theme.palette.getContrastText(theme.palette.primary.main),
|
|
22281
|
+
transition: "all 0.15s ease"
|
|
22282
|
+
},
|
|
22283
|
+
children: isSel && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.Check, { size: 12, strokeWidth: 3 })
|
|
22284
|
+
}
|
|
22285
|
+
),
|
|
22286
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { minWidth: 0 }, children: [
|
|
22287
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Typography, { sx: { fontWeight: 600, lineHeight: 1.35, fontSize: "0.92rem" }, children: opt.label }),
|
|
22288
|
+
opt.description && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22289
|
+
import_material40.Typography,
|
|
22290
|
+
{
|
|
22291
|
+
variant: "caption",
|
|
22292
|
+
sx: { color: theme.palette.text.secondary, display: "block", mt: 0.25 },
|
|
22293
|
+
children: opt.description
|
|
22294
|
+
}
|
|
22295
|
+
)
|
|
22296
|
+
] })
|
|
22297
|
+
]
|
|
22298
|
+
},
|
|
22299
|
+
opt.label
|
|
22300
|
+
);
|
|
22301
|
+
})
|
|
22302
|
+
}
|
|
22303
|
+
),
|
|
22161
22304
|
q.allowFreeform !== false && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22162
22305
|
import_material40.TextField,
|
|
22163
22306
|
{
|
|
@@ -22166,17 +22309,45 @@ var init_ask_user_card = __esm({
|
|
|
22166
22309
|
placeholder: q.options && q.options.length ? "Or type your own answer\u2026" : "Type your answer\u2026",
|
|
22167
22310
|
value: freeform[q.id] ?? "",
|
|
22168
22311
|
onChange: (e) => setFreeform((p) => ({ ...p, [q.id]: e.target.value })),
|
|
22169
|
-
|
|
22312
|
+
onKeyDown: (e) => {
|
|
22313
|
+
if (e.key === "Enter" && !e.shiftKey && answerFor(q.id)) {
|
|
22314
|
+
e.preventDefault();
|
|
22315
|
+
if (allAnswered) handleSubmit();
|
|
22316
|
+
}
|
|
22317
|
+
},
|
|
22318
|
+
sx: {
|
|
22319
|
+
mt: q.options && q.options.length ? 1.25 : 0,
|
|
22320
|
+
"& .MuiOutlinedInput-root": { borderRadius: 2 }
|
|
22321
|
+
}
|
|
22170
22322
|
}
|
|
22171
22323
|
)
|
|
22172
22324
|
] }, q.id)),
|
|
22173
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { display: "flex", justifyContent: "flex-end", gap: 1, mt: 2 }, children: [
|
|
22174
|
-
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22175
|
-
|
|
22325
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 1, mt: 2 }, children: [
|
|
22326
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22327
|
+
import_material40.Button,
|
|
22328
|
+
{
|
|
22329
|
+
onClick: cancel,
|
|
22330
|
+
color: "inherit",
|
|
22331
|
+
size: "small",
|
|
22332
|
+
sx: { textTransform: "none", color: theme.palette.text.secondary },
|
|
22333
|
+
children: "Skip \u2014 use your best judgment"
|
|
22334
|
+
}
|
|
22335
|
+
),
|
|
22336
|
+
(!isSingleQuestion || Object.values(freeform).some((v) => v.trim())) && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
22337
|
+
import_material40.Button,
|
|
22338
|
+
{
|
|
22339
|
+
onClick: handleSubmit,
|
|
22340
|
+
disabled: !allAnswered,
|
|
22341
|
+
variant: "contained",
|
|
22342
|
+
size: "small",
|
|
22343
|
+
sx: { textTransform: "none", borderRadius: 999, px: 2.5 },
|
|
22344
|
+
children: "Answer"
|
|
22345
|
+
}
|
|
22346
|
+
)
|
|
22176
22347
|
] })
|
|
22177
22348
|
]
|
|
22178
22349
|
}
|
|
22179
|
-
) });
|
|
22350
|
+
) }) });
|
|
22180
22351
|
};
|
|
22181
22352
|
ask_user_card_default = AskUserCard;
|
|
22182
22353
|
}
|
|
@@ -24177,14 +24348,14 @@ TOOL USAGE PROTOCOL (conservative approach)
|
|
|
24177
24348
|
* web_fetch() - to read the FULL contents of a specific URL you already have. Reach for this when the user wants to "tell me more", "go deeper", "read/open that article", or asks for details about a specific source, link, or article from an EARLIER answer: take that item's URL from the previous Sources list in this conversation and fetch it, then answer from the page's actual content (not just the prior summary)
|
|
24178
24349
|
* image_generation() - ONLY when explicitly asked to create or generate an image
|
|
24179
24350
|
* create_file({"content": "...", "filename": "report.docx", "format": "docx"}) - when the user asks for a downloadable FILE (a document, spreadsheet, slides, markdown, code, etc.) or to "export"/"download"/"save" something. Formats: md, txt, csv, json, html, xml, yaml, docx, pptx. PDF is NOT a supported format \u2014 if the user asks for a PDF, create a docx instead. For docx/pptx write well-structured Markdown (use "## " headings to start each slide for pptx). It returns a temporary download link \u2014 ALWAYS tell the user the file expires (~1 hour). If it is unclear whether they want it shown inline vs. as a downloadable file, use ask_user first.
|
|
24180
|
-
* ask_user({"questions": [{"question": "...", "header": "Format", "options": [{"label": "Inline (Recommended)"}, {"label": "Download a file"}]}]}) - when you are
|
|
24351
|
+
* ask_user({"questions": [{"question": "...", "header": "Format", "options": [{"label": "Inline (Recommended)"}, {"label": "Download a file"}]}]}) - when the request is AMBIGUOUS or missing a detail you need to do a good job (unclear scope, audience, format, tone, which of several interpretations they meant), or you are blocked on a decision that is the user's to make and cannot resolve from the request, context, or sensible defaults. Renders clickable options the user answers in one step \u2014 ALWAYS prefer this over asking a clarifying question in prose and ending your turn. Give 1-4 questions, each with 2-4 short options; if one is clearly best, list it first and append " (Recommended)". The user may also type their own answer; act on it directly. Don't overuse it \u2014 when a sensible default exists, take it and note the assumption instead.
|
|
24181
24352
|
- For general questions about concepts, definitions, explanations, or how-to topics, use your built-in knowledge WITHOUT calling tools.
|
|
24182
24353
|
- Examples of what NOT to use tools for: "who are you?", "what is React?", "explain machine learning", "how does X work?", general programming questions.
|
|
24183
24354
|
- When a tool is truly needed, call exactly ONE tool that best matches the request.
|
|
24184
24355
|
- Begin tool usage with a fenced code block: \`\`\`tool_code
|
|
24185
24356
|
functionName({"param": "value"})
|
|
24186
24357
|
\`\`\`
|
|
24187
|
-
- If you cannot answer with your knowledge and context, and no suitable tool exists, ask a clarifying question.
|
|
24358
|
+
- If you cannot answer with your knowledge and context, and no suitable tool exists, use ask_user to ask a clarifying question with clickable options.
|
|
24188
24359
|
|
|
24189
24360
|
Examples of appropriate tool usage:
|
|
24190
24361
|
|
|
@@ -24239,8 +24410,20 @@ ${protocol}`;
|
|
|
24239
24410
|
return result.trimStart();
|
|
24240
24411
|
};
|
|
24241
24412
|
const stripToolBlocks = (text) => text.replace(/```(?:tool_code|TOOL_CODE)\s*\n[\s\S]*?\n```/gi, "").trim();
|
|
24413
|
+
const truncateAtToolApparatus = (text) => {
|
|
24414
|
+
let t = text;
|
|
24415
|
+
const fenceIdx = t.search(/```(?:tool_code|TOOL_CODE)/);
|
|
24416
|
+
if (fenceIdx !== -1) t = t.slice(0, fenceIdx);
|
|
24417
|
+
const callIdx = t.search(
|
|
24418
|
+
/\b(?:web_search|web_fetch|image_generation|create_file|ask_user)\s*\(/
|
|
24419
|
+
);
|
|
24420
|
+
if (callIdx !== -1) t = t.slice(0, callIdx);
|
|
24421
|
+
t = t.replace(/```[\w-]*\s*$/, "");
|
|
24422
|
+
const fenceCount = (t.match(/```/g) || []).length;
|
|
24423
|
+
if (fenceCount % 2 === 1) t = t.slice(0, t.lastIndexOf("```"));
|
|
24424
|
+
return t.trim();
|
|
24425
|
+
};
|
|
24242
24426
|
let workingLabel = "Working on it";
|
|
24243
|
-
let workingPreamble = "";
|
|
24244
24427
|
const stopWorking = () => {
|
|
24245
24428
|
if (workingTimer) {
|
|
24246
24429
|
clearInterval(workingTimer);
|
|
@@ -24249,17 +24432,10 @@ ${protocol}`;
|
|
|
24249
24432
|
};
|
|
24250
24433
|
const startWorking = (label = "Working on it") => {
|
|
24251
24434
|
workingLabel = label.replace(/[.…]+\s*$/, "").trim() || "Working on it";
|
|
24252
|
-
|
|
24253
|
-
|
|
24254
|
-
|
|
24255
|
-
|
|
24256
|
-
dots = (dots + 1) % 4;
|
|
24257
|
-
setStreamBuffer(
|
|
24258
|
-
`${workingPreamble}${workingPreamble ? "\n\n" : ""}_${workingLabel}${".".repeat(dots)}_`
|
|
24259
|
-
);
|
|
24260
|
-
};
|
|
24261
|
-
render();
|
|
24262
|
-
workingTimer = setInterval(render, 450);
|
|
24435
|
+
const preamble = truncateAtToolApparatus(stripToolBlocks(stripThinking(fullMessage)));
|
|
24436
|
+
setStreamBuffer(
|
|
24437
|
+
`${preamble}${preamble ? "\n\n" : ""}<<working:${workingLabel}>>`
|
|
24438
|
+
);
|
|
24263
24439
|
};
|
|
24264
24440
|
const flushNow = () => {
|
|
24265
24441
|
clearFlushTimer();
|
|
@@ -24305,10 +24481,16 @@ ${protocol}`;
|
|
|
24305
24481
|
const inThinkBlock = /<think>/.test(fullMessage) && !/<think>[\s\S]*<\/think>/.test(fullMessage);
|
|
24306
24482
|
setIsThinking?.(inThinkBlock);
|
|
24307
24483
|
const visibleMessage = stripThinking(fullMessage);
|
|
24308
|
-
|
|
24484
|
+
const bareToolMatch = visibleMessage.match(
|
|
24485
|
+
/\b(web_search|web_fetch|image_generation|create_file|ask_user)\s*\(/
|
|
24486
|
+
);
|
|
24487
|
+
if (/```(?:tool_code|TOOL_CODE)/.test(visibleMessage) || bareToolMatch) {
|
|
24309
24488
|
sawToolBlock = true;
|
|
24310
24489
|
clearFlushTimer();
|
|
24311
|
-
|
|
24490
|
+
const fn = bareToolMatch?.[1];
|
|
24491
|
+
startWorking(
|
|
24492
|
+
fn === "create_file" ? "Creating your file" : fn === "web_search" ? "Searching the web" : fn === "web_fetch" ? "Reading the page" : fn === "image_generation" ? "Generating the image" : "Working on it"
|
|
24493
|
+
);
|
|
24312
24494
|
}
|
|
24313
24495
|
latestDisplayMessage = visibleMessage;
|
|
24314
24496
|
if (!sawToolBlock) {
|
|
@@ -25164,13 +25346,13 @@ var init_useNetworkStatus = __esm({
|
|
|
25164
25346
|
});
|
|
25165
25347
|
|
|
25166
25348
|
// src/chat/project-management-modal.tsx
|
|
25167
|
-
var import_react53, import_material42,
|
|
25349
|
+
var import_react53, import_material42, import_lucide_react10, import_styles26, import_jsx_runtime42, DEFAULT_COLORS2, ProjectManagementModal, project_management_modal_default;
|
|
25168
25350
|
var init_project_management_modal = __esm({
|
|
25169
25351
|
"src/chat/project-management-modal.tsx"() {
|
|
25170
25352
|
"use strict";
|
|
25171
25353
|
import_react53 = require("react");
|
|
25172
25354
|
import_material42 = require("@mui/material");
|
|
25173
|
-
|
|
25355
|
+
import_lucide_react10 = require("lucide-react");
|
|
25174
25356
|
import_styles26 = require("@mui/material/styles");
|
|
25175
25357
|
init_projectStore();
|
|
25176
25358
|
init_conversationStore();
|
|
@@ -25399,7 +25581,7 @@ var init_project_management_modal = __esm({
|
|
|
25399
25581
|
flex: 1
|
|
25400
25582
|
},
|
|
25401
25583
|
children: [
|
|
25402
|
-
showCreateForm && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: resetForm, size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25584
|
+
showCreateForm && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: resetForm, size: "small", sx: { mr: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.ArrowLeft, { size: 16 }) }),
|
|
25403
25585
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25404
25586
|
import_material42.Typography,
|
|
25405
25587
|
{
|
|
@@ -25417,7 +25599,7 @@ var init_project_management_modal = __esm({
|
|
|
25417
25599
|
]
|
|
25418
25600
|
}
|
|
25419
25601
|
),
|
|
25420
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25602
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.X, {}) })
|
|
25421
25603
|
]
|
|
25422
25604
|
}
|
|
25423
25605
|
),
|
|
@@ -25504,7 +25686,7 @@ var init_project_management_modal = __esm({
|
|
|
25504
25686
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25505
25687
|
import_material42.Button,
|
|
25506
25688
|
{
|
|
25507
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25689
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Plus, {}),
|
|
25508
25690
|
onClick: () => setShowCreateForm(true),
|
|
25509
25691
|
variant: "contained",
|
|
25510
25692
|
sx: {
|
|
@@ -25529,7 +25711,7 @@ var init_project_management_modal = __esm({
|
|
|
25529
25711
|
backgroundColor: subtleSurface
|
|
25530
25712
|
},
|
|
25531
25713
|
children: [
|
|
25532
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25714
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Folder, { size: 48, style: { marginBottom: 8, opacity: 0.5 } }),
|
|
25533
25715
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body1", sx: { fontWeight: 600 }, children: "No projects yet" }),
|
|
25534
25716
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", children: "Create your first project to organize conversations." })
|
|
25535
25717
|
]
|
|
@@ -25564,7 +25746,7 @@ var init_project_management_modal = __esm({
|
|
|
25564
25746
|
height: 36,
|
|
25565
25747
|
fontSize: "1rem"
|
|
25566
25748
|
},
|
|
25567
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25749
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Folder, { size: 16 })
|
|
25568
25750
|
}
|
|
25569
25751
|
),
|
|
25570
25752
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { flex: 1, minWidth: 0 }, children: [
|
|
@@ -25615,7 +25797,7 @@ var init_project_management_modal = __esm({
|
|
|
25615
25797
|
mt: 0.25,
|
|
25616
25798
|
zIndex: 1
|
|
25617
25799
|
},
|
|
25618
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25800
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.MoreVertical, { size: 16 })
|
|
25619
25801
|
}
|
|
25620
25802
|
)
|
|
25621
25803
|
]
|
|
@@ -25691,7 +25873,7 @@ var init_project_management_modal = __esm({
|
|
|
25691
25873
|
startEdit(selectedProject);
|
|
25692
25874
|
},
|
|
25693
25875
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
25694
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25876
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Pencil, { size: 16 }),
|
|
25695
25877
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", color: "inherit", children: "Edit" })
|
|
25696
25878
|
] })
|
|
25697
25879
|
}
|
|
@@ -25705,7 +25887,7 @@ var init_project_management_modal = __esm({
|
|
|
25705
25887
|
},
|
|
25706
25888
|
sx: { color: theme.palette.error.main },
|
|
25707
25889
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
25708
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
25890
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Trash2, { size: 16 }),
|
|
25709
25891
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", color: "inherit", children: "Delete" })
|
|
25710
25892
|
] })
|
|
25711
25893
|
}
|
|
@@ -25757,13 +25939,13 @@ var init_project_management_modal = __esm({
|
|
|
25757
25939
|
});
|
|
25758
25940
|
|
|
25759
25941
|
// src/chat/move-conversation-modal.tsx
|
|
25760
|
-
var import_react54, import_material43,
|
|
25942
|
+
var import_react54, import_material43, import_lucide_react11, import_styles27, import_jsx_runtime43, MoveConversationModal, move_conversation_modal_default;
|
|
25761
25943
|
var init_move_conversation_modal = __esm({
|
|
25762
25944
|
"src/chat/move-conversation-modal.tsx"() {
|
|
25763
25945
|
"use strict";
|
|
25764
25946
|
import_react54 = require("react");
|
|
25765
25947
|
import_material43 = require("@mui/material");
|
|
25766
|
-
|
|
25948
|
+
import_lucide_react11 = require("lucide-react");
|
|
25767
25949
|
import_styles27 = require("@mui/material/styles");
|
|
25768
25950
|
init_projectStore();
|
|
25769
25951
|
init_conversationStore();
|
|
@@ -25848,7 +26030,7 @@ var init_move_conversation_modal = __esm({
|
|
|
25848
26030
|
width: 32,
|
|
25849
26031
|
height: 32
|
|
25850
26032
|
},
|
|
25851
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
26033
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react11.Inbox, {})
|
|
25852
26034
|
}
|
|
25853
26035
|
) }),
|
|
25854
26036
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
@@ -25884,7 +26066,7 @@ var init_move_conversation_modal = __esm({
|
|
|
25884
26066
|
width: 32,
|
|
25885
26067
|
height: 32
|
|
25886
26068
|
},
|
|
25887
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
26069
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react11.Folder, {})
|
|
25888
26070
|
}
|
|
25889
26071
|
) }),
|
|
25890
26072
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
@@ -25928,13 +26110,13 @@ var init_move_conversation_modal = __esm({
|
|
|
25928
26110
|
});
|
|
25929
26111
|
|
|
25930
26112
|
// src/chat/simple-conversation-item.tsx
|
|
25931
|
-
var import_react55, import_material44,
|
|
26113
|
+
var import_react55, import_material44, import_lucide_react12, import_styles28, import_jsx_runtime44, SimpleConversationItem, simple_conversation_item_default;
|
|
25932
26114
|
var init_simple_conversation_item = __esm({
|
|
25933
26115
|
"src/chat/simple-conversation-item.tsx"() {
|
|
25934
26116
|
"use strict";
|
|
25935
26117
|
import_react55 = require("react");
|
|
25936
26118
|
import_material44 = require("@mui/material");
|
|
25937
|
-
|
|
26119
|
+
import_lucide_react12 = require("lucide-react");
|
|
25938
26120
|
import_styles28 = require("@mui/material/styles");
|
|
25939
26121
|
import_jsx_runtime44 = require("react/jsx-runtime");
|
|
25940
26122
|
SimpleConversationItem = ({
|
|
@@ -26162,7 +26344,7 @@ var init_simple_conversation_item = __esm({
|
|
|
26162
26344
|
},
|
|
26163
26345
|
children: [
|
|
26164
26346
|
!isMobile && !isEditing && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
26165
|
-
|
|
26347
|
+
import_lucide_react12.GripVertical,
|
|
26166
26348
|
{
|
|
26167
26349
|
size: 16,
|
|
26168
26350
|
color: theme.palette.text.disabled,
|
|
@@ -26256,7 +26438,7 @@ var init_simple_conversation_item = __esm({
|
|
|
26256
26438
|
}
|
|
26257
26439
|
}
|
|
26258
26440
|
},
|
|
26259
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
26441
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.MoreVertical, { size: 16 })
|
|
26260
26442
|
}
|
|
26261
26443
|
),
|
|
26262
26444
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
@@ -26287,15 +26469,15 @@ var init_simple_conversation_item = __esm({
|
|
|
26287
26469
|
},
|
|
26288
26470
|
children: [
|
|
26289
26471
|
onRename && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleEdit, children: [
|
|
26290
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
26472
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.Pencil, { size: 16 }) }),
|
|
26291
26473
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Rename" })
|
|
26292
26474
|
] }),
|
|
26293
26475
|
onMove && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleMove, children: [
|
|
26294
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
26476
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.MailOpen, { size: 16 }) }),
|
|
26295
26477
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Move to Project" })
|
|
26296
26478
|
] }),
|
|
26297
26479
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleDelete, children: [
|
|
26298
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
26480
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.Trash2, { size: 16 }) }),
|
|
26299
26481
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Delete" })
|
|
26300
26482
|
] })
|
|
26301
26483
|
]
|
|
@@ -26368,13 +26550,13 @@ var init_simple_conversation_item = __esm({
|
|
|
26368
26550
|
});
|
|
26369
26551
|
|
|
26370
26552
|
// src/chat/project-header.tsx
|
|
26371
|
-
var import_react56, import_material45,
|
|
26553
|
+
var import_react56, import_material45, import_lucide_react13, import_styles29, import_jsx_runtime45, ProjectHeader, project_header_default;
|
|
26372
26554
|
var init_project_header = __esm({
|
|
26373
26555
|
"src/chat/project-header.tsx"() {
|
|
26374
26556
|
"use strict";
|
|
26375
26557
|
import_react56 = require("react");
|
|
26376
26558
|
import_material45 = require("@mui/material");
|
|
26377
|
-
|
|
26559
|
+
import_lucide_react13 = require("lucide-react");
|
|
26378
26560
|
import_styles29 = require("@mui/material/styles");
|
|
26379
26561
|
init_conversationStore();
|
|
26380
26562
|
init_projectStore();
|
|
@@ -26401,7 +26583,7 @@ var init_project_header = __esm({
|
|
|
26401
26583
|
const [renameDraft, setRenameDraft] = (0, import_react56.useState)(projectName);
|
|
26402
26584
|
const renameActionRef = (0, import_react56.useRef)("none");
|
|
26403
26585
|
const isUngrouped = projectId === null;
|
|
26404
|
-
const Icon = isCollapsed ?
|
|
26586
|
+
const Icon = isCollapsed ? import_lucide_react13.Folder : import_lucide_react13.FolderOpen;
|
|
26405
26587
|
const handleAddConversation = (e) => {
|
|
26406
26588
|
e.stopPropagation();
|
|
26407
26589
|
createNewConversation(projectId || void 0);
|
|
@@ -26482,7 +26664,7 @@ var init_project_header = __esm({
|
|
|
26482
26664
|
mr: 1.5
|
|
26483
26665
|
},
|
|
26484
26666
|
children: isUngrouped ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
26485
|
-
|
|
26667
|
+
import_lucide_react13.Inbox,
|
|
26486
26668
|
{
|
|
26487
26669
|
size: 16,
|
|
26488
26670
|
color: theme.palette.text.disabled,
|
|
@@ -26598,7 +26780,7 @@ var init_project_header = __esm({
|
|
|
26598
26780
|
onRenameCancelDelete ? onRenameCancelDelete() : cancelRename();
|
|
26599
26781
|
},
|
|
26600
26782
|
sx: { color: (0, import_material45.alpha)(theme.palette.error.main, 0.9) },
|
|
26601
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
26783
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.X, { size: 16 })
|
|
26602
26784
|
}
|
|
26603
26785
|
) }),
|
|
26604
26786
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material45.Tooltip, { title: "Save", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
@@ -26611,7 +26793,7 @@ var init_project_header = __esm({
|
|
|
26611
26793
|
commitRename();
|
|
26612
26794
|
},
|
|
26613
26795
|
sx: { color: theme.palette.success.main },
|
|
26614
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
26796
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.Check, { size: 16 })
|
|
26615
26797
|
}
|
|
26616
26798
|
) })
|
|
26617
26799
|
] }),
|
|
@@ -26632,7 +26814,7 @@ var init_project_header = __esm({
|
|
|
26632
26814
|
},
|
|
26633
26815
|
transition: "all 0.2s ease"
|
|
26634
26816
|
},
|
|
26635
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
26817
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.Plus, { size: 16 })
|
|
26636
26818
|
}
|
|
26637
26819
|
) }),
|
|
26638
26820
|
!isUngrouped && !isRenaming && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
@@ -26643,7 +26825,7 @@ var init_project_header = __esm({
|
|
|
26643
26825
|
color: theme.palette.text.secondary,
|
|
26644
26826
|
transition: "transform 0.2s ease"
|
|
26645
26827
|
},
|
|
26646
|
-
children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
26828
|
+
children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.ChevronDown, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.ChevronUp, { size: 16 })
|
|
26647
26829
|
}
|
|
26648
26830
|
)
|
|
26649
26831
|
]
|
|
@@ -26673,13 +26855,13 @@ var init_tooltips = __esm({
|
|
|
26673
26855
|
});
|
|
26674
26856
|
|
|
26675
26857
|
// src/chat/conversation-drawer.tsx
|
|
26676
|
-
var import_react57, import_material46,
|
|
26858
|
+
var import_react57, import_material46, import_lucide_react14, import_styles30, import_jsx_runtime46, BANDIT_AVATAR, coerceOptionalString, deriveInitials, ConversationDrawer, conversation_drawer_default;
|
|
26677
26859
|
var init_conversation_drawer = __esm({
|
|
26678
26860
|
"src/chat/conversation-drawer.tsx"() {
|
|
26679
26861
|
"use strict";
|
|
26680
26862
|
import_react57 = require("react");
|
|
26681
26863
|
import_material46 = require("@mui/material");
|
|
26682
|
-
|
|
26864
|
+
import_lucide_react14 = require("lucide-react");
|
|
26683
26865
|
import_styles30 = require("@mui/material/styles");
|
|
26684
26866
|
init_conversationStore();
|
|
26685
26867
|
init_projectStore();
|
|
@@ -27052,7 +27234,7 @@ var init_conversation_drawer = __esm({
|
|
|
27052
27234
|
bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
|
|
27053
27235
|
}
|
|
27054
27236
|
},
|
|
27055
|
-
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27237
|
+
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.RefreshCw, {})
|
|
27056
27238
|
}
|
|
27057
27239
|
) }),
|
|
27058
27240
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: "Memories", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27068,7 +27250,7 @@ var init_conversation_drawer = __esm({
|
|
|
27068
27250
|
bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
|
|
27069
27251
|
}
|
|
27070
27252
|
},
|
|
27071
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27253
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Brain, {})
|
|
27072
27254
|
}
|
|
27073
27255
|
) }),
|
|
27074
27256
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("manageProjects"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27084,7 +27266,7 @@ var init_conversation_drawer = __esm({
|
|
|
27084
27266
|
bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
|
|
27085
27267
|
}
|
|
27086
27268
|
},
|
|
27087
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27269
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Folder, {})
|
|
27088
27270
|
}
|
|
27089
27271
|
) }),
|
|
27090
27272
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("conversationOptions"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27100,7 +27282,7 @@ var init_conversation_drawer = __esm({
|
|
|
27100
27282
|
bgcolor: (0, import_material46.alpha)(theme.palette.text.primary, 0.1)
|
|
27101
27283
|
}
|
|
27102
27284
|
},
|
|
27103
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27285
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.MoreVertical, {})
|
|
27104
27286
|
}
|
|
27105
27287
|
) }),
|
|
27106
27288
|
isMobile && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("closeConversationsPanel"), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27120,7 +27302,7 @@ var init_conversation_drawer = __esm({
|
|
|
27120
27302
|
bgcolor: (0, import_material46.alpha)(theme.palette.error.main, 0.1)
|
|
27121
27303
|
}
|
|
27122
27304
|
},
|
|
27123
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27305
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.X, {})
|
|
27124
27306
|
}
|
|
27125
27307
|
) })
|
|
27126
27308
|
]
|
|
@@ -27136,7 +27318,7 @@ var init_conversation_drawer = __esm({
|
|
|
27136
27318
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
27137
27319
|
variant: "outlined",
|
|
27138
27320
|
InputProps: {
|
|
27139
|
-
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27321
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Search, { size: 16, color: theme.palette.text.secondary }) }),
|
|
27140
27322
|
endAdornment: searchQuery && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.InputAdornment, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("clearSearch"), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27141
27323
|
import_material46.IconButton,
|
|
27142
27324
|
{
|
|
@@ -27145,7 +27327,7 @@ var init_conversation_drawer = __esm({
|
|
|
27145
27327
|
edge: "end",
|
|
27146
27328
|
"aria-label": tooltip("clearSearch"),
|
|
27147
27329
|
sx: { color: theme.palette.text.secondary },
|
|
27148
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27330
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.X, { size: 16 })
|
|
27149
27331
|
}
|
|
27150
27332
|
) }) })
|
|
27151
27333
|
},
|
|
@@ -27211,7 +27393,7 @@ var init_conversation_drawer = __esm({
|
|
|
27211
27393
|
justifyContent: "center",
|
|
27212
27394
|
flexShrink: 0
|
|
27213
27395
|
},
|
|
27214
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27396
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Folder, { size: 16, color: theme.palette.success.main })
|
|
27215
27397
|
}
|
|
27216
27398
|
),
|
|
27217
27399
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27228,7 +27410,7 @@ var init_conversation_drawer = __esm({
|
|
|
27228
27410
|
size: "small",
|
|
27229
27411
|
"aria-label": tooltip("addProject"),
|
|
27230
27412
|
sx: { color: theme.palette.success.main },
|
|
27231
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27413
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Plus, { size: 16 })
|
|
27232
27414
|
}
|
|
27233
27415
|
) })
|
|
27234
27416
|
]
|
|
@@ -27250,7 +27432,7 @@ var init_conversation_drawer = __esm({
|
|
|
27250
27432
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Divider, { sx: { flex: 1, opacity: 0.6 } }),
|
|
27251
27433
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_material46.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
27252
27434
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27253
|
-
|
|
27435
|
+
import_lucide_react14.Inbox,
|
|
27254
27436
|
{
|
|
27255
27437
|
size: 14,
|
|
27256
27438
|
color: theme.palette.text.disabled,
|
|
@@ -27490,7 +27672,7 @@ var init_conversation_drawer = __esm({
|
|
|
27490
27672
|
border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
|
|
27491
27673
|
color: theme.palette.text.secondary
|
|
27492
27674
|
},
|
|
27493
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27675
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.House, { size: 16 })
|
|
27494
27676
|
}
|
|
27495
27677
|
),
|
|
27496
27678
|
user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27509,7 +27691,7 @@ var init_conversation_drawer = __esm({
|
|
|
27509
27691
|
border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
|
|
27510
27692
|
color: theme.palette.text.secondary
|
|
27511
27693
|
},
|
|
27512
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27694
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.SlidersHorizontal, { size: 16 })
|
|
27513
27695
|
}
|
|
27514
27696
|
),
|
|
27515
27697
|
user2 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
@@ -27527,7 +27709,7 @@ var init_conversation_drawer = __esm({
|
|
|
27527
27709
|
border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
|
|
27528
27710
|
color: theme.palette.text.secondary
|
|
27529
27711
|
},
|
|
27530
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27712
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Settings, { size: 16 })
|
|
27531
27713
|
}
|
|
27532
27714
|
),
|
|
27533
27715
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -27548,7 +27730,7 @@ var init_conversation_drawer = __esm({
|
|
|
27548
27730
|
color: theme.palette.error.main,
|
|
27549
27731
|
"&:hover": { bgcolor: (0, import_material46.alpha)(theme.palette.error.main, 0.1) }
|
|
27550
27732
|
},
|
|
27551
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27733
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.LogOut, { size: 16 })
|
|
27552
27734
|
}
|
|
27553
27735
|
)
|
|
27554
27736
|
] })
|
|
@@ -27598,7 +27780,7 @@ var init_conversation_drawer = __esm({
|
|
|
27598
27780
|
},
|
|
27599
27781
|
sx: { color: theme.palette.error.main },
|
|
27600
27782
|
children: [
|
|
27601
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
27783
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Trash2, { size: 16, color: theme.palette.error.main }) }),
|
|
27602
27784
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemText, { children: "Clear All Conversations" })
|
|
27603
27785
|
]
|
|
27604
27786
|
}
|
|
@@ -27637,13 +27819,13 @@ var init_conversation_drawer = __esm({
|
|
|
27637
27819
|
});
|
|
27638
27820
|
|
|
27639
27821
|
// src/chat/enhanced-mobile-conversations-modal.tsx
|
|
27640
|
-
var import_react58, import_material47,
|
|
27822
|
+
var import_react58, import_material47, import_lucide_react15, import_styles31, import_jsx_runtime47, BANDIT_AVATAR2, coerceOptionalString2, deriveInitials2, EnhancedMobileConversationsModal, enhanced_mobile_conversations_modal_default;
|
|
27641
27823
|
var init_enhanced_mobile_conversations_modal = __esm({
|
|
27642
27824
|
"src/chat/enhanced-mobile-conversations-modal.tsx"() {
|
|
27643
27825
|
"use strict";
|
|
27644
27826
|
import_react58 = require("react");
|
|
27645
27827
|
import_material47 = require("@mui/material");
|
|
27646
|
-
|
|
27828
|
+
import_lucide_react15 = require("lucide-react");
|
|
27647
27829
|
import_styles31 = require("@mui/material/styles");
|
|
27648
27830
|
init_conversationStore();
|
|
27649
27831
|
init_projectStore();
|
|
@@ -28086,7 +28268,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28086
28268
|
}
|
|
28087
28269
|
}
|
|
28088
28270
|
},
|
|
28089
|
-
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28271
|
+
children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.RefreshCw, {})
|
|
28090
28272
|
}
|
|
28091
28273
|
),
|
|
28092
28274
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28095,7 +28277,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28095
28277
|
onClick: () => setMemoryModalOpen(true),
|
|
28096
28278
|
"aria-label": "Memory",
|
|
28097
28279
|
sx: { color: theme.palette.text.secondary },
|
|
28098
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28280
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Brain, {})
|
|
28099
28281
|
}
|
|
28100
28282
|
),
|
|
28101
28283
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28103,7 +28285,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28103
28285
|
{
|
|
28104
28286
|
onClick: () => setProjectManagementOpen(true),
|
|
28105
28287
|
sx: { color: theme.palette.text.secondary },
|
|
28106
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28288
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Folder, {})
|
|
28107
28289
|
}
|
|
28108
28290
|
),
|
|
28109
28291
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28111,7 +28293,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28111
28293
|
{
|
|
28112
28294
|
onClick: handleMenuOpen,
|
|
28113
28295
|
sx: { color: theme.palette.text.secondary },
|
|
28114
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.MoreVertical, {})
|
|
28115
28297
|
}
|
|
28116
28298
|
),
|
|
28117
28299
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28119,7 +28301,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28119
28301
|
{
|
|
28120
28302
|
onClick: onClose,
|
|
28121
28303
|
sx: { color: theme.palette.text.secondary },
|
|
28122
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28304
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.X, {})
|
|
28123
28305
|
}
|
|
28124
28306
|
)
|
|
28125
28307
|
] })
|
|
@@ -28135,7 +28317,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28135
28317
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
28136
28318
|
variant: "outlined",
|
|
28137
28319
|
InputProps: {
|
|
28138
|
-
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28320
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.InputAdornment, { position: "start", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Search, { size: 16, color: theme.palette.text.secondary }) }),
|
|
28139
28321
|
endAdornment: searchQuery && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.InputAdornment, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28140
28322
|
import_material47.IconButton,
|
|
28141
28323
|
{
|
|
@@ -28143,7 +28325,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28143
28325
|
size: "small",
|
|
28144
28326
|
edge: "end",
|
|
28145
28327
|
sx: { color: theme.palette.text.secondary },
|
|
28146
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28328
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.X, { size: 16 })
|
|
28147
28329
|
}
|
|
28148
28330
|
) })
|
|
28149
28331
|
}
|
|
@@ -28299,7 +28481,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28299
28481
|
justifyContent: "center",
|
|
28300
28482
|
flexShrink: 0
|
|
28301
28483
|
},
|
|
28302
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28484
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Folder, { size: 16, color: theme.palette.success.main })
|
|
28303
28485
|
}
|
|
28304
28486
|
),
|
|
28305
28487
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28310,7 +28492,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28310
28492
|
children: "New Project"
|
|
28311
28493
|
}
|
|
28312
28494
|
),
|
|
28313
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.IconButton, { size: "small", sx: { color: theme.palette.success.main }, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28495
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.IconButton, { size: "small", sx: { color: theme.palette.success.main }, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Plus, { size: 16 }) })
|
|
28314
28496
|
]
|
|
28315
28497
|
}
|
|
28316
28498
|
),
|
|
@@ -28330,7 +28512,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28330
28512
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.Divider, { sx: { flex: 1, opacity: 0.6 } }),
|
|
28331
28513
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_material47.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
28332
28514
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28333
|
-
|
|
28515
|
+
import_lucide_react15.Inbox,
|
|
28334
28516
|
{
|
|
28335
28517
|
size: 14,
|
|
28336
28518
|
color: theme.palette.text.disabled,
|
|
@@ -28525,7 +28707,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28525
28707
|
createNewConversation();
|
|
28526
28708
|
onClose();
|
|
28527
28709
|
},
|
|
28528
|
-
startIcon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28710
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Plus, { size: 18 }),
|
|
28529
28711
|
sx: {
|
|
28530
28712
|
pointerEvents: "auto",
|
|
28531
28713
|
textTransform: "none",
|
|
@@ -28616,7 +28798,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28616
28798
|
border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
|
|
28617
28799
|
color: theme.palette.text.secondary
|
|
28618
28800
|
},
|
|
28619
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28801
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.House, { size: 16 })
|
|
28620
28802
|
}
|
|
28621
28803
|
),
|
|
28622
28804
|
user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28635,7 +28817,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28635
28817
|
border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
|
|
28636
28818
|
color: theme.palette.text.secondary
|
|
28637
28819
|
},
|
|
28638
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28820
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.SlidersHorizontal, { size: 16 })
|
|
28639
28821
|
}
|
|
28640
28822
|
),
|
|
28641
28823
|
user2 && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
|
|
@@ -28653,7 +28835,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28653
28835
|
border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
|
|
28654
28836
|
color: theme.palette.text.secondary
|
|
28655
28837
|
},
|
|
28656
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28838
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Settings, { size: 16 })
|
|
28657
28839
|
}
|
|
28658
28840
|
),
|
|
28659
28841
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
@@ -28674,7 +28856,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28674
28856
|
color: theme.palette.error.main,
|
|
28675
28857
|
"&:hover": { bgcolor: (0, import_styles31.alpha)(theme.palette.error.main, 0.1) }
|
|
28676
28858
|
},
|
|
28677
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28859
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.LogOut, { size: 16 })
|
|
28678
28860
|
}
|
|
28679
28861
|
)
|
|
28680
28862
|
] })
|
|
@@ -28727,7 +28909,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
|
|
|
28727
28909
|
disabled: visibleConversationCount === 0,
|
|
28728
28910
|
sx: { color: theme.palette.error.main },
|
|
28729
28911
|
children: [
|
|
28730
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28912
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Trash2, { size: 16, color: theme.palette.error.main }) }),
|
|
28731
28913
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.ListItemText, { children: "Clear All Conversations" })
|
|
28732
28914
|
]
|
|
28733
28915
|
}
|