@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.
@@ -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 content = isLast ? isStreaming ? streamBuffer || "" : isPlaceholder ? "" : entry.answer : entry.answer;
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: isLast ? isStreaming ? streamBuffer || "" : isPlaceholder ? "" : entry.answer : entry.answer,
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 : 3,
21631
- pt: isMobile ? compactMobile ? 0.6 : 1 : 1,
21632
- pb: isMobile ? compactMobile ? 0.9 : 1.5 : 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 : 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: isMobile ? compactMobile ? 6 : 12 : 6,
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: isMobile ? compactMobile ? "120px" : "150px" : "none",
21830
+ maxHeight: compactMobile ? "120px" : "150px",
21795
21831
  overflowY: "auto",
21796
21832
  color: fileText,
21797
21833
  "& .MuiInputBase-inputMultiline": {
21798
- fontSize: isMobile ? compactMobile ? "0.95rem" : "1rem" : "1rem"
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: "center",
21849
+ alignItems: "flex-end",
21817
21850
  gap: isMobile ? 0.6 : 1,
21818
- mt: isMobile ? 0.5 : 1
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
- return /* @__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)(
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: 1.75, sm: 2.25 },
22118
- borderRadius: 2,
22119
- border: `1px solid ${(0, import_styles25.alpha)(theme.palette.primary.main, 0.45)}`,
22120
- bgcolor: (0, import_styles25.alpha)(theme.palette.primary.main, 0.06)
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.jsx)(import_material40.Typography, { variant: "caption", sx: { color: theme.palette.primary.main, fontWeight: 700, letterSpacing: 0.4 }, children: "BANDIT NEEDS A QUICK DECISION" }),
22124
- pending.questions.map((q) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { mt: 1.5 }, children: [
22125
- q.header && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Chip, { label: q.header, size: "small", sx: { mb: 0.75, fontWeight: 600 }, color: "primary", variant: "outlined" }),
22126
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Typography, { sx: { fontWeight: 600, color: theme.palette.text.primary, mb: 1 }, children: q.question }),
22127
- q.options && q.options.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Stack, { spacing: 1, children: q.options.map((opt) => {
22128
- const isSel = selected[q.id] === opt.label && !freeform[q.id]?.trim();
22129
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
22130
- import_material40.Button,
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
- onClick: () => {
22133
- setSelected((p) => ({ ...p, [q.id]: opt.label }));
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
- justifyContent: "flex-start",
22140
- textAlign: "left",
22141
- textTransform: "none",
22142
- py: 1,
22143
- px: 1.5,
22144
- borderColor: (0, import_styles25.alpha)(theme.palette.primary.main, 0.4)
22145
- },
22146
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { children: [
22147
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Typography, { sx: { fontWeight: 600, lineHeight: 1.3 }, children: opt.label }),
22148
- opt.description && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
22149
- import_material40.Typography,
22150
- {
22151
- variant: "caption",
22152
- sx: { color: isSel ? (0, import_styles25.alpha)("#fff", 0.85) : theme.palette.text.secondary, display: "block" },
22153
- children: opt.description
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.label
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
- sx: { mt: q.options && q.options.length ? 1.25 : 0 }
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)(import_material40.Button, { onClick: cancel, color: "inherit", sx: { textTransform: "none", color: theme.palette.text.secondary }, children: "Skip" }),
22175
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_material40.Button, { onClick: handleSubmit, disabled: !allAnswered, variant: "contained", sx: { textTransform: "none" }, children: "Submit" })
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 genuinely BLOCKED on a decision that is the USER's to make and cannot resolve from the request, context, or sensible defaults (e.g. show content inline vs. let them download it, which format/option they want). Renders clickable options the user answers in one step \u2014 better than asking in prose and ending your turn. Give 1-4 questions, each with 2-4 options; if one is clearly best, list it first and append " (Recommended)". The user may also type their own answer; act on it directly.
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
- workingPreamble = stripToolBlocks(stripThinking(fullMessage)).trim();
24253
- if (workingTimer) return;
24254
- let dots = 0;
24255
- const render = () => {
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
- if (/```(?:tool_code|TOOL_CODE)/.test(visibleMessage) || /\b(?:web_search|web_fetch|image_generation|create_file|ask_user)\s*\(/.test(visibleMessage)) {
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
- startWorking();
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, import_lucide_react9, import_styles26, import_jsx_runtime42, DEFAULT_COLORS2, ProjectManagementModal, project_management_modal_default;
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
- import_lucide_react9 = require("lucide-react");
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)(import_lucide_react9.ArrowLeft, { size: 16 }) }),
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)(import_lucide_react9.X, {}) })
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)(import_lucide_react9.Plus, {}),
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)(import_lucide_react9.Folder, { size: 48, style: { marginBottom: 8, opacity: 0.5 } }),
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)(import_lucide_react9.Folder, { size: 16 })
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)(import_lucide_react9.MoreVertical, { size: 16 })
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)(import_lucide_react9.Pencil, { size: 16 }),
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)(import_lucide_react9.Trash2, { size: 16 }),
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, import_lucide_react10, import_styles27, import_jsx_runtime43, MoveConversationModal, move_conversation_modal_default;
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
- import_lucide_react10 = require("lucide-react");
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)(import_lucide_react10.Inbox, {})
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)(import_lucide_react10.Folder, {})
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, import_lucide_react11, import_styles28, import_jsx_runtime44, SimpleConversationItem, simple_conversation_item_default;
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
- import_lucide_react11 = require("lucide-react");
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
- import_lucide_react11.GripVertical,
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)(import_lucide_react11.MoreVertical, { size: 16 })
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)(import_lucide_react11.Pencil, { size: 16 }) }),
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)(import_lucide_react11.MailOpen, { size: 16 }) }),
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)(import_lucide_react11.Trash2, { size: 16 }) }),
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, import_lucide_react12, import_styles29, import_jsx_runtime45, ProjectHeader, project_header_default;
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
- import_lucide_react12 = require("lucide-react");
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 ? import_lucide_react12.Folder : import_lucide_react12.FolderOpen;
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
- import_lucide_react12.Inbox,
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)(import_lucide_react12.X, { size: 16 })
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)(import_lucide_react12.Check, { size: 16 })
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)(import_lucide_react12.Plus, { size: 16 })
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)(import_lucide_react12.ChevronDown, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.ChevronUp, { size: 16 })
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, import_lucide_react13, import_styles30, import_jsx_runtime46, BANDIT_AVATAR, coerceOptionalString, deriveInitials, ConversationDrawer, conversation_drawer_default;
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
- import_lucide_react13 = require("lucide-react");
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)(import_lucide_react13.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.RefreshCw, {})
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)(import_lucide_react13.Brain, {})
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)(import_lucide_react13.Folder, {})
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)(import_lucide_react13.MoreVertical, {})
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)(import_lucide_react13.X, {})
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)(import_lucide_react13.Search, { size: 16, color: theme.palette.text.secondary }) }),
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)(import_lucide_react13.X, { size: 16 })
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)(import_lucide_react13.Folder, { size: 16, color: theme.palette.success.main })
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)(import_lucide_react13.Plus, { size: 16 })
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
- import_lucide_react13.Inbox,
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)(import_lucide_react13.House, { size: 16 })
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)(import_lucide_react13.SlidersHorizontal, { size: 16 })
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)(import_lucide_react13.Settings, { size: 16 })
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)(import_lucide_react13.LogOut, { size: 16 })
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)(import_lucide_react13.Trash2, { size: 16, color: theme.palette.error.main }) }),
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, import_lucide_react14, import_styles31, import_jsx_runtime47, BANDIT_AVATAR2, coerceOptionalString2, deriveInitials2, EnhancedMobileConversationsModal, enhanced_mobile_conversations_modal_default;
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
- import_lucide_react14 = require("lucide-react");
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)(import_lucide_react14.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.RefreshCw, {})
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)(import_lucide_react14.Brain, {})
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)(import_lucide_react14.Folder, {})
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)(import_lucide_react14.MoreVertical, {})
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)(import_lucide_react14.X, {})
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)(import_lucide_react14.Search, { size: 16, color: theme.palette.text.secondary }) }),
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)(import_lucide_react14.X, { size: 16 })
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)(import_lucide_react14.Folder, { size: 16, color: theme.palette.success.main })
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)(import_lucide_react14.Plus, { size: 16 }) })
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
- import_lucide_react14.Inbox,
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)(import_lucide_react14.Plus, { size: 18 }),
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)(import_lucide_react14.House, { size: 16 })
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)(import_lucide_react14.SlidersHorizontal, { size: 16 })
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)(import_lucide_react14.Settings, { size: 16 })
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)(import_lucide_react14.LogOut, { size: 16 })
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)(import_lucide_react14.Trash2, { size: 16, color: theme.palette.error.main }) }),
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
  }