@burtson-labs/bandit-engine 2.0.141 → 2.0.143

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.
@@ -21142,7 +21142,7 @@ var init_voiceModeStore = __esm({
21142
21142
  });
21143
21143
 
21144
21144
  // src/chat/chat-input.tsx
21145
- var import_react46, import_material39, import_lucide_react8, import_styles24, import_shallow, import_jsx_runtime39, ChatInput, chat_input_default;
21145
+ var import_react46, import_material39, import_styles24, import_shallow, import_jsx_runtime39, ChatInput, chat_input_default;
21146
21146
  var init_chat_input = __esm({
21147
21147
  "src/chat/chat-input.tsx"() {
21148
21148
  "use strict";
@@ -21150,8 +21150,6 @@ var init_chat_input = __esm({
21150
21150
  import_material39 = require("@mui/material");
21151
21151
  init_conversationStore();
21152
21152
  init_engine_picker();
21153
- init_util();
21154
- import_lucide_react8 = require("lucide-react");
21155
21153
  init_preferencesStore();
21156
21154
  init_packageSettingsStore();
21157
21155
  init_transcriber();
@@ -21159,7 +21157,6 @@ var init_chat_input = __esm({
21159
21157
  import_styles24 = require("@mui/material/styles");
21160
21158
  init_debugLogger();
21161
21159
  init_brandingService();
21162
- init_FeedbackModal();
21163
21160
  init_useFeatures();
21164
21161
  init_voiceStore();
21165
21162
  init_voiceModeStore();
@@ -21213,14 +21210,11 @@ var init_chat_input = __esm({
21213
21210
  );
21214
21211
  const [memoryOpen, setMemoryOpen] = (0, import_react46.useState)(false);
21215
21212
  const [fileInputs, setFileInputs] = (0, import_react46.useState)([]);
21216
- const [voiceAnchorEl, setVoiceAnchorEl] = (0, import_react46.useState)(null);
21217
21213
  const isIncognito = useConversationStore(
21218
21214
  (s) => Boolean(s.conversations.find((c) => c.id === s.currentId)?.incognito)
21219
21215
  );
21220
21216
  const fileInputRef = (0, import_react46.useRef)(null);
21221
21217
  const [brandingText, setBrandingText] = (0, import_react46.useState)("");
21222
- const [feedbackModalOpen, setFeedbackModalOpen] = (0, import_react46.useState)(false);
21223
- const [moreActionsOpen, setMoreActionsOpen] = (0, import_react46.useState)(false);
21224
21218
  const compactMobile = isMobile;
21225
21219
  const primaryIconSize = isMobile ? 32 : 40;
21226
21220
  const sendIconSize = isMobile ? 36 : 44;
@@ -21240,7 +21234,6 @@ var init_chat_input = __esm({
21240
21234
  const isVoiceModeEligible = isSTTAvailable && isTTSAvailable;
21241
21235
  const isMemoryEnabled = preferences.memoryEnabled && showMemoryToggle();
21242
21236
  const isDocumentUploadEnabled = showDocumentUpload();
21243
- const isFeedbackEnabled = preferences.feedbackEnabled;
21244
21237
  const gatewayUrlLower = packageSettings?.gatewayApiUrl?.toLowerCase?.() ?? "";
21245
21238
  const isPlaygroundMode3 = packageSettings?.playgroundMode === true || gatewayUrlLower.startsWith("playground://") || typeof window !== "undefined" && window.location.pathname.includes("/playground");
21246
21239
  (0, import_react46.useEffect)(() => {
@@ -21435,17 +21428,9 @@ ${sanitize(
21435
21428
  const memory = localStorage.getItem("bandit-memory");
21436
21429
  const hasAttachmentAction = !isPlaygroundMode3 && fileInputs.length < 3 && isDocumentUploadEnabled;
21437
21430
  const hasMemoryAction = false;
21438
- const hasFeedbackAction = isFeedbackEnabled && isMobile;
21439
21431
  const hasSttAction = isSTTAvailable && !isVoiceModeEnabled;
21440
- const hasVoicePickerAction = isMobile && isTTSAvailable && availableVoices.length > 0;
21441
21432
  const hasComposeContent = !!inputValue.trim() || pastedImages.length > 0 || fileInputs.length > 0;
21442
21433
  const showSendButton = streamingActive || hasComposeContent || !isVoiceModeEligible;
21443
- const hasSecondaryActions = isMobile && (hasAttachmentAction || hasMemoryAction || hasFeedbackAction || hasSttAction || hasVoicePickerAction);
21444
- (0, import_react46.useEffect)(() => {
21445
- if (!isMobile || !hasSecondaryActions) {
21446
- setMoreActionsOpen(false);
21447
- }
21448
- }, [isMobile, hasSecondaryActions]);
21449
21434
  const renderAttachmentButton = (key) => {
21450
21435
  if (!hasAttachmentAction) return null;
21451
21436
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Tooltip, { title: "Attach files or images", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
@@ -21482,24 +21467,6 @@ ${sanitize(
21482
21467
  }
21483
21468
  ) }, key ?? "memory");
21484
21469
  };
21485
- const renderFeedbackButton = (key) => {
21486
- if (!hasFeedbackAction) return null;
21487
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Tooltip, { title: "Send Feedback", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21488
- import_material39.IconButton,
21489
- {
21490
- onClick: () => setFeedbackModalOpen(true),
21491
- sx: {
21492
- bgcolor: badgeBackground,
21493
- color: fileText,
21494
- width: primaryIconSize,
21495
- height: primaryIconSize,
21496
- borderRadius: "50%",
21497
- "&:hover": { bgcolor: hoverBadgeBackground }
21498
- },
21499
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(FeedbackIcon, { fontSize: "small" })
21500
- }
21501
- ) }, key ?? "feedback");
21502
- };
21503
21470
  const renderSttButton = (key) => {
21504
21471
  if (!hasSttAction) return null;
21505
21472
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Box, { sx: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(transcriber_default, { onTranscriptionCompleted: handleTranscriptionCompleted }) }, key ?? "stt");
@@ -21531,25 +21498,6 @@ ${sanitize(
21531
21498
  },
21532
21499
  key ?? "voice-mode"
21533
21500
  );
21534
- const renderVoicePickerButton = (key) => {
21535
- if (!hasVoicePickerAction) return null;
21536
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Tooltip, { title: `Voice: ${selectedVoice ? toTitleCase(selectedVoice.split("-")[1] ?? selectedVoice) : "Default"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21537
- import_material39.IconButton,
21538
- {
21539
- onClick: (e) => setVoiceAnchorEl(e.currentTarget),
21540
- sx: {
21541
- bgcolor: badgeBackground,
21542
- color: fileText,
21543
- width: primaryIconSize,
21544
- height: primaryIconSize,
21545
- borderRadius: "50%",
21546
- "&:hover": { bgcolor: hoverBadgeBackground }
21547
- },
21548
- "aria-label": "Change voice",
21549
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react8.Volume2, { size: 18 })
21550
- }
21551
- ) }, key ?? "voice");
21552
- };
21553
21501
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
21554
21502
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
21555
21503
  import_material39.Box,
@@ -21794,31 +21742,7 @@ ${sanitize(
21794
21742
  children: voiceStatus === "error" ? voiceError || "Voice mode unavailable" : voiceStatus === "initializing" ? "Starting voice mode..." : voiceStatus === "recording" ? "Recording..." : voiceStatus === "processing" ? "Transcribing..." : voiceLastTranscript ? `Heard: "${voiceLastTranscript.length > 60 ? `${voiceLastTranscript.slice(0, 57)}...` : voiceLastTranscript}"` : "Listening..."
21795
21743
  }
21796
21744
  ),
21797
- isMobile && hasSecondaryActions && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21798
- import_material39.IconButton,
21799
- {
21800
- onClick: () => setMoreActionsOpen((prev) => !prev),
21801
- sx: {
21802
- bgcolor: badgeBackground,
21803
- color: fileText,
21804
- width: primaryIconSize,
21805
- height: primaryIconSize,
21806
- borderRadius: "50%",
21807
- transition: "background-color 0.2s ease",
21808
- "&:hover": { bgcolor: hoverBadgeBackground }
21809
- },
21810
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21811
- ExpandMoreIcon,
21812
- {
21813
- fontSize: "small",
21814
- sx: {
21815
- transition: "transform 0.2s ease",
21816
- transform: moreActionsOpen ? "rotate(0deg)" : "rotate(180deg)"
21817
- }
21818
- }
21819
- )
21820
- }
21821
- ),
21745
+ isMobile && renderAttachmentButton("attach-mobile"),
21822
21746
  isMobile && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(engine_picker_default, {})
21823
21747
  ]
21824
21748
  }
@@ -21849,7 +21773,7 @@ ${sanitize(
21849
21773
  ),
21850
21774
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_material39.Box, { sx: { display: "flex", alignItems: "center", gap: isMobile ? 0.6 : 1 }, children: [
21851
21775
  !isMobile && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(engine_picker_default, {}),
21852
- !isMobile && renderSttButton("stt-right"),
21776
+ renderSttButton("stt-right"),
21853
21777
  isVoiceModeEligible && !showSendButton && renderVoiceModeButton("voice-right"),
21854
21778
  showSendButton && /* @__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)(
21855
21779
  import_material39.IconButton,
@@ -21874,46 +21798,6 @@ ${sanitize(
21874
21798
  ] })
21875
21799
  ]
21876
21800
  }
21877
- ),
21878
- isMobile && hasSecondaryActions && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Collapse, { in: moreActionsOpen, unmountOnExit: true, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
21879
- import_material39.Box,
21880
- {
21881
- sx: {
21882
- display: "flex",
21883
- alignItems: "center",
21884
- gap: 0.7,
21885
- mt: 0.6,
21886
- flexWrap: "wrap",
21887
- justifyContent: "flex-end"
21888
- },
21889
- children: [
21890
- renderAttachmentButton("attach-tray"),
21891
- renderMemoryButton("memory-tray"),
21892
- renderSttButton("stt-tray"),
21893
- renderVoicePickerButton("voice-tray"),
21894
- renderFeedbackButton("feedback-tray")
21895
- ]
21896
- }
21897
- ) }),
21898
- hasVoicePickerAction && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21899
- import_material39.Menu,
21900
- {
21901
- anchorEl: voiceAnchorEl,
21902
- open: Boolean(voiceAnchorEl),
21903
- onClose: () => setVoiceAnchorEl(null),
21904
- children: availableVoices.map((voice) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21905
- import_material39.MenuItem,
21906
- {
21907
- selected: voice === selectedVoice,
21908
- onClick: () => {
21909
- handleVoiceChange(voice);
21910
- setVoiceAnchorEl(null);
21911
- },
21912
- children: toTitleCase(voice.split("-")[1] ?? voice)
21913
- },
21914
- voice
21915
- ))
21916
- }
21917
21801
  )
21918
21802
  ]
21919
21803
  }
@@ -21936,15 +21820,7 @@ ${sanitize(
21936
21820
  ]
21937
21821
  }
21938
21822
  ),
21939
- isMemoryEnabled && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(memory_modal_default, { open: memoryOpen, onClose: () => setMemoryOpen(false) }),
21940
- isFeedbackEnabled && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
21941
- FeedbackModal,
21942
- {
21943
- open: feedbackModalOpen,
21944
- onClose: () => setFeedbackModalOpen(false),
21945
- feedbackEmail: packageSettings?.feedbackEmail
21946
- }
21947
- )
21823
+ isMemoryEnabled && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(memory_modal_default, { open: memoryOpen, onClose: () => setMemoryOpen(false) })
21948
21824
  ] });
21949
21825
  };
21950
21826
  chat_input_default = ChatInput;
@@ -22020,14 +21896,14 @@ var init_askUserStore = __esm({
22020
21896
  });
22021
21897
 
22022
21898
  // src/chat/ask-user-card.tsx
22023
- var import_react47, import_material40, import_styles25, import_lucide_react9, import_jsx_runtime40, AskUserCard, ask_user_card_default;
21899
+ var import_react47, import_material40, import_styles25, import_lucide_react8, import_jsx_runtime40, AskUserCard, ask_user_card_default;
22024
21900
  var init_ask_user_card = __esm({
22025
21901
  "src/chat/ask-user-card.tsx"() {
22026
21902
  "use strict";
22027
21903
  import_react47 = require("react");
22028
21904
  import_material40 = require("@mui/material");
22029
21905
  import_styles25 = require("@mui/material/styles");
22030
- import_lucide_react9 = require("lucide-react");
21906
+ import_lucide_react8 = require("lucide-react");
22031
21907
  init_askUserStore();
22032
21908
  import_jsx_runtime40 = require("react/jsx-runtime");
22033
21909
  AskUserCard = () => {
@@ -22093,7 +21969,7 @@ var init_ask_user_card = __esm({
22093
21969
  color: theme.palette.primary.main,
22094
21970
  flexShrink: 0
22095
21971
  },
22096
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.CircleHelp, { size: 16 })
21972
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react8.CircleHelp, { size: 16 })
22097
21973
  }
22098
21974
  ),
22099
21975
  /* @__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" })
@@ -22170,7 +22046,7 @@ var init_ask_user_card = __esm({
22170
22046
  color: theme.palette.getContrastText(theme.palette.primary.main),
22171
22047
  transition: "all 0.15s ease"
22172
22048
  },
22173
- children: isSel && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.Check, { size: 12, strokeWidth: 3 })
22049
+ children: isSel && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react8.Check, { size: 12, strokeWidth: 3 })
22174
22050
  }
22175
22051
  ),
22176
22052
  /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_material40.Box, { sx: { minWidth: 0 }, children: [
@@ -25236,13 +25112,13 @@ var init_useNetworkStatus = __esm({
25236
25112
  });
25237
25113
 
25238
25114
  // src/chat/project-management-modal.tsx
25239
- var import_react53, import_material42, import_lucide_react10, import_styles26, import_jsx_runtime42, DEFAULT_COLORS2, ProjectManagementModal, project_management_modal_default;
25115
+ var import_react53, import_material42, import_lucide_react9, import_styles26, import_jsx_runtime42, DEFAULT_COLORS2, ProjectManagementModal, project_management_modal_default;
25240
25116
  var init_project_management_modal = __esm({
25241
25117
  "src/chat/project-management-modal.tsx"() {
25242
25118
  "use strict";
25243
25119
  import_react53 = require("react");
25244
25120
  import_material42 = require("@mui/material");
25245
- import_lucide_react10 = require("lucide-react");
25121
+ import_lucide_react9 = require("lucide-react");
25246
25122
  import_styles26 = require("@mui/material/styles");
25247
25123
  init_projectStore();
25248
25124
  init_conversationStore();
@@ -25471,7 +25347,7 @@ var init_project_management_modal = __esm({
25471
25347
  flex: 1
25472
25348
  },
25473
25349
  children: [
25474
- 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 }) }),
25350
+ 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 }) }),
25475
25351
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25476
25352
  import_material42.Typography,
25477
25353
  {
@@ -25489,7 +25365,7 @@ var init_project_management_modal = __esm({
25489
25365
  ]
25490
25366
  }
25491
25367
  ),
25492
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.X, {}) })
25368
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.IconButton, { onClick: handleClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.X, {}) })
25493
25369
  ]
25494
25370
  }
25495
25371
  ),
@@ -25576,7 +25452,7 @@ var init_project_management_modal = __esm({
25576
25452
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
25577
25453
  import_material42.Button,
25578
25454
  {
25579
- startIcon: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Plus, {}),
25455
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.Plus, {}),
25580
25456
  onClick: () => setShowCreateForm(true),
25581
25457
  variant: "contained",
25582
25458
  sx: {
@@ -25601,7 +25477,7 @@ var init_project_management_modal = __esm({
25601
25477
  backgroundColor: subtleSurface
25602
25478
  },
25603
25479
  children: [
25604
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Folder, { size: 48, style: { marginBottom: 8, opacity: 0.5 } }),
25480
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.Folder, { size: 48, style: { marginBottom: 8, opacity: 0.5 } }),
25605
25481
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body1", sx: { fontWeight: 600 }, children: "No projects yet" }),
25606
25482
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", children: "Create your first project to organize conversations." })
25607
25483
  ]
@@ -25636,7 +25512,7 @@ var init_project_management_modal = __esm({
25636
25512
  height: 36,
25637
25513
  fontSize: "1rem"
25638
25514
  },
25639
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Folder, { size: 16 })
25515
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.Folder, { size: 16 })
25640
25516
  }
25641
25517
  ),
25642
25518
  /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { flex: 1, minWidth: 0 }, children: [
@@ -25687,7 +25563,7 @@ var init_project_management_modal = __esm({
25687
25563
  mt: 0.25,
25688
25564
  zIndex: 1
25689
25565
  },
25690
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.MoreVertical, { size: 16 })
25566
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.MoreVertical, { size: 16 })
25691
25567
  }
25692
25568
  )
25693
25569
  ]
@@ -25763,7 +25639,7 @@ var init_project_management_modal = __esm({
25763
25639
  startEdit(selectedProject);
25764
25640
  },
25765
25641
  children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
25766
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Pencil, { size: 16 }),
25642
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.Pencil, { size: 16 }),
25767
25643
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", color: "inherit", children: "Edit" })
25768
25644
  ] })
25769
25645
  }
@@ -25777,7 +25653,7 @@ var init_project_management_modal = __esm({
25777
25653
  },
25778
25654
  sx: { color: theme.palette.error.main },
25779
25655
  children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_material42.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
25780
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react10.Trash2, { size: 16 }),
25656
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react9.Trash2, { size: 16 }),
25781
25657
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_material42.Typography, { variant: "body2", color: "inherit", children: "Delete" })
25782
25658
  ] })
25783
25659
  }
@@ -25829,13 +25705,13 @@ var init_project_management_modal = __esm({
25829
25705
  });
25830
25706
 
25831
25707
  // src/chat/move-conversation-modal.tsx
25832
- var import_react54, import_material43, import_lucide_react11, import_styles27, import_jsx_runtime43, MoveConversationModal, move_conversation_modal_default;
25708
+ var import_react54, import_material43, import_lucide_react10, import_styles27, import_jsx_runtime43, MoveConversationModal, move_conversation_modal_default;
25833
25709
  var init_move_conversation_modal = __esm({
25834
25710
  "src/chat/move-conversation-modal.tsx"() {
25835
25711
  "use strict";
25836
25712
  import_react54 = require("react");
25837
25713
  import_material43 = require("@mui/material");
25838
- import_lucide_react11 = require("lucide-react");
25714
+ import_lucide_react10 = require("lucide-react");
25839
25715
  import_styles27 = require("@mui/material/styles");
25840
25716
  init_projectStore();
25841
25717
  init_conversationStore();
@@ -25920,7 +25796,7 @@ var init_move_conversation_modal = __esm({
25920
25796
  width: 32,
25921
25797
  height: 32
25922
25798
  },
25923
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react11.Inbox, {})
25799
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react10.Inbox, {})
25924
25800
  }
25925
25801
  ) }),
25926
25802
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
@@ -25956,7 +25832,7 @@ var init_move_conversation_modal = __esm({
25956
25832
  width: 32,
25957
25833
  height: 32
25958
25834
  },
25959
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react11.Folder, {})
25835
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react10.Folder, {})
25960
25836
  }
25961
25837
  ) }),
25962
25838
  /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
@@ -26000,13 +25876,13 @@ var init_move_conversation_modal = __esm({
26000
25876
  });
26001
25877
 
26002
25878
  // src/chat/simple-conversation-item.tsx
26003
- var import_react55, import_material44, import_lucide_react12, import_styles28, import_jsx_runtime44, SimpleConversationItem, simple_conversation_item_default;
25879
+ var import_react55, import_material44, import_lucide_react11, import_styles28, import_jsx_runtime44, SimpleConversationItem, simple_conversation_item_default;
26004
25880
  var init_simple_conversation_item = __esm({
26005
25881
  "src/chat/simple-conversation-item.tsx"() {
26006
25882
  "use strict";
26007
25883
  import_react55 = require("react");
26008
25884
  import_material44 = require("@mui/material");
26009
- import_lucide_react12 = require("lucide-react");
25885
+ import_lucide_react11 = require("lucide-react");
26010
25886
  import_styles28 = require("@mui/material/styles");
26011
25887
  import_jsx_runtime44 = require("react/jsx-runtime");
26012
25888
  SimpleConversationItem = ({
@@ -26234,7 +26110,7 @@ var init_simple_conversation_item = __esm({
26234
26110
  },
26235
26111
  children: [
26236
26112
  !isMobile && !isEditing && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
26237
- import_lucide_react12.GripVertical,
26113
+ import_lucide_react11.GripVertical,
26238
26114
  {
26239
26115
  size: 16,
26240
26116
  color: theme.palette.text.disabled,
@@ -26328,7 +26204,7 @@ var init_simple_conversation_item = __esm({
26328
26204
  }
26329
26205
  }
26330
26206
  },
26331
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.MoreVertical, { size: 16 })
26207
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react11.MoreVertical, { size: 16 })
26332
26208
  }
26333
26209
  ),
26334
26210
  /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
@@ -26359,15 +26235,15 @@ var init_simple_conversation_item = __esm({
26359
26235
  },
26360
26236
  children: [
26361
26237
  onRename && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleEdit, children: [
26362
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.Pencil, { size: 16 }) }),
26238
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react11.Pencil, { size: 16 }) }),
26363
26239
  /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Rename" })
26364
26240
  ] }),
26365
26241
  onMove && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleMove, children: [
26366
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.MailOpen, { size: 16 }) }),
26242
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react11.MailOpen, { size: 16 }) }),
26367
26243
  /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Move to Project" })
26368
26244
  ] }),
26369
26245
  /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_material44.MenuItem, { onClick: handleDelete, children: [
26370
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react12.Trash2, { size: 16 }) }),
26246
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react11.Trash2, { size: 16 }) }),
26371
26247
  /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_material44.ListItemText, { children: "Delete" })
26372
26248
  ] })
26373
26249
  ]
@@ -26440,13 +26316,13 @@ var init_simple_conversation_item = __esm({
26440
26316
  });
26441
26317
 
26442
26318
  // src/chat/project-header.tsx
26443
- var import_react56, import_material45, import_lucide_react13, import_styles29, import_jsx_runtime45, ProjectHeader, project_header_default;
26319
+ var import_react56, import_material45, import_lucide_react12, import_styles29, import_jsx_runtime45, ProjectHeader, project_header_default;
26444
26320
  var init_project_header = __esm({
26445
26321
  "src/chat/project-header.tsx"() {
26446
26322
  "use strict";
26447
26323
  import_react56 = require("react");
26448
26324
  import_material45 = require("@mui/material");
26449
- import_lucide_react13 = require("lucide-react");
26325
+ import_lucide_react12 = require("lucide-react");
26450
26326
  import_styles29 = require("@mui/material/styles");
26451
26327
  init_conversationStore();
26452
26328
  init_projectStore();
@@ -26473,7 +26349,7 @@ var init_project_header = __esm({
26473
26349
  const [renameDraft, setRenameDraft] = (0, import_react56.useState)(projectName);
26474
26350
  const renameActionRef = (0, import_react56.useRef)("none");
26475
26351
  const isUngrouped = projectId === null;
26476
- const Icon = isCollapsed ? import_lucide_react13.Folder : import_lucide_react13.FolderOpen;
26352
+ const Icon = isCollapsed ? import_lucide_react12.Folder : import_lucide_react12.FolderOpen;
26477
26353
  const handleAddConversation = (e) => {
26478
26354
  e.stopPropagation();
26479
26355
  createNewConversation(projectId || void 0);
@@ -26554,7 +26430,7 @@ var init_project_header = __esm({
26554
26430
  mr: 1.5
26555
26431
  },
26556
26432
  children: isUngrouped ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
26557
- import_lucide_react13.Inbox,
26433
+ import_lucide_react12.Inbox,
26558
26434
  {
26559
26435
  size: 16,
26560
26436
  color: theme.palette.text.disabled,
@@ -26670,7 +26546,7 @@ var init_project_header = __esm({
26670
26546
  onRenameCancelDelete ? onRenameCancelDelete() : cancelRename();
26671
26547
  },
26672
26548
  sx: { color: (0, import_material45.alpha)(theme.palette.error.main, 0.9) },
26673
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.X, { size: 16 })
26549
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.X, { size: 16 })
26674
26550
  }
26675
26551
  ) }),
26676
26552
  /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_material45.Tooltip, { title: "Save", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
@@ -26683,7 +26559,7 @@ var init_project_header = __esm({
26683
26559
  commitRename();
26684
26560
  },
26685
26561
  sx: { color: theme.palette.success.main },
26686
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.Check, { size: 16 })
26562
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.Check, { size: 16 })
26687
26563
  }
26688
26564
  ) })
26689
26565
  ] }),
@@ -26704,7 +26580,7 @@ var init_project_header = __esm({
26704
26580
  },
26705
26581
  transition: "all 0.2s ease"
26706
26582
  },
26707
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.Plus, { size: 16 })
26583
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react12.Plus, { size: 16 })
26708
26584
  }
26709
26585
  ) }),
26710
26586
  !isUngrouped && !isRenaming && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
@@ -26715,7 +26591,7 @@ var init_project_header = __esm({
26715
26591
  color: theme.palette.text.secondary,
26716
26592
  transition: "transform 0.2s ease"
26717
26593
  },
26718
- 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 })
26594
+ 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 })
26719
26595
  }
26720
26596
  )
26721
26597
  ]
@@ -26745,13 +26621,13 @@ var init_tooltips = __esm({
26745
26621
  });
26746
26622
 
26747
26623
  // src/chat/conversation-drawer.tsx
26748
- var import_react57, import_material46, import_lucide_react14, import_styles30, import_jsx_runtime46, BANDIT_AVATAR, coerceOptionalString, deriveInitials, ConversationDrawer, conversation_drawer_default;
26624
+ var import_react57, import_material46, import_lucide_react13, import_styles30, import_jsx_runtime46, BANDIT_AVATAR, coerceOptionalString, deriveInitials, ConversationDrawer, conversation_drawer_default;
26749
26625
  var init_conversation_drawer = __esm({
26750
26626
  "src/chat/conversation-drawer.tsx"() {
26751
26627
  "use strict";
26752
26628
  import_react57 = require("react");
26753
26629
  import_material46 = require("@mui/material");
26754
- import_lucide_react14 = require("lucide-react");
26630
+ import_lucide_react13 = require("lucide-react");
26755
26631
  init_FeedbackModal();
26756
26632
  import_styles30 = require("@mui/material/styles");
26757
26633
  init_conversationStore();
@@ -27126,7 +27002,7 @@ var init_conversation_drawer = __esm({
27126
27002
  bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
27127
27003
  }
27128
27004
  },
27129
- children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.RefreshCw, {})
27005
+ children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.RefreshCw, {})
27130
27006
  }
27131
27007
  ) }),
27132
27008
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: "Memories", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27142,7 +27018,7 @@ var init_conversation_drawer = __esm({
27142
27018
  bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
27143
27019
  }
27144
27020
  },
27145
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Brain, {})
27021
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Brain, {})
27146
27022
  }
27147
27023
  ) }),
27148
27024
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("manageProjects"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27158,7 +27034,7 @@ var init_conversation_drawer = __esm({
27158
27034
  bgcolor: (0, import_material46.alpha)(theme.palette.primary.main, 0.1)
27159
27035
  }
27160
27036
  },
27161
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Folder, {})
27037
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Folder, {})
27162
27038
  }
27163
27039
  ) }),
27164
27040
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("conversationOptions"), arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27174,7 +27050,7 @@ var init_conversation_drawer = __esm({
27174
27050
  bgcolor: (0, import_material46.alpha)(theme.palette.text.primary, 0.1)
27175
27051
  }
27176
27052
  },
27177
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.MoreVertical, {})
27053
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.MoreVertical, {})
27178
27054
  }
27179
27055
  ) }),
27180
27056
  isMobile && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Tooltip, { title: tooltip("closeConversationsPanel"), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27194,7 +27070,7 @@ var init_conversation_drawer = __esm({
27194
27070
  bgcolor: (0, import_material46.alpha)(theme.palette.error.main, 0.1)
27195
27071
  }
27196
27072
  },
27197
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.X, {})
27073
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.X, {})
27198
27074
  }
27199
27075
  ) })
27200
27076
  ]
@@ -27210,7 +27086,7 @@ var init_conversation_drawer = __esm({
27210
27086
  onChange: (e) => setSearchQuery(e.target.value),
27211
27087
  variant: "outlined",
27212
27088
  InputProps: {
27213
- 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 }) }),
27089
+ 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 }) }),
27214
27090
  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)(
27215
27091
  import_material46.IconButton,
27216
27092
  {
@@ -27219,7 +27095,7 @@ var init_conversation_drawer = __esm({
27219
27095
  edge: "end",
27220
27096
  "aria-label": tooltip("clearSearch"),
27221
27097
  sx: { color: theme.palette.text.secondary },
27222
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.X, { size: 16 })
27098
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.X, { size: 16 })
27223
27099
  }
27224
27100
  ) }) })
27225
27101
  },
@@ -27285,7 +27161,7 @@ var init_conversation_drawer = __esm({
27285
27161
  justifyContent: "center",
27286
27162
  flexShrink: 0
27287
27163
  },
27288
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Folder, { size: 16, color: theme.palette.success.main })
27164
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Folder, { size: 16, color: theme.palette.success.main })
27289
27165
  }
27290
27166
  ),
27291
27167
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27302,7 +27178,7 @@ var init_conversation_drawer = __esm({
27302
27178
  size: "small",
27303
27179
  "aria-label": tooltip("addProject"),
27304
27180
  sx: { color: theme.palette.success.main },
27305
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Plus, { size: 16 })
27181
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Plus, { size: 16 })
27306
27182
  }
27307
27183
  ) })
27308
27184
  ]
@@ -27324,7 +27200,7 @@ var init_conversation_drawer = __esm({
27324
27200
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.Divider, { sx: { flex: 1, opacity: 0.6 } }),
27325
27201
  /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_material46.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
27326
27202
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
27327
- import_lucide_react14.Inbox,
27203
+ import_lucide_react13.Inbox,
27328
27204
  {
27329
27205
  size: 14,
27330
27206
  color: theme.palette.text.disabled,
@@ -27564,7 +27440,7 @@ var init_conversation_drawer = __esm({
27564
27440
  border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
27565
27441
  color: theme.palette.text.secondary
27566
27442
  },
27567
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.House, { size: 16 })
27443
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.House, { size: 16 })
27568
27444
  }
27569
27445
  ),
27570
27446
  user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27583,7 +27459,7 @@ var init_conversation_drawer = __esm({
27583
27459
  border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
27584
27460
  color: theme.palette.text.secondary
27585
27461
  },
27586
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.SlidersHorizontal, { size: 16 })
27462
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.SlidersHorizontal, { size: 16 })
27587
27463
  }
27588
27464
  ),
27589
27465
  user2 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
@@ -27601,7 +27477,7 @@ var init_conversation_drawer = __esm({
27601
27477
  border: `1px solid ${(0, import_material46.alpha)(theme.palette.divider, 0.8)}`,
27602
27478
  color: theme.palette.text.secondary
27603
27479
  },
27604
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.Settings, { size: 16 })
27480
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.Settings, { size: 16 })
27605
27481
  }
27606
27482
  ),
27607
27483
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
@@ -27622,7 +27498,7 @@ var init_conversation_drawer = __esm({
27622
27498
  color: theme.palette.error.main,
27623
27499
  "&:hover": { bgcolor: (0, import_material46.alpha)(theme.palette.error.main, 0.1) }
27624
27500
  },
27625
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.LogOut, { size: 16 })
27501
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.LogOut, { size: 16 })
27626
27502
  }
27627
27503
  )
27628
27504
  ] })
@@ -27672,7 +27548,7 @@ var init_conversation_drawer = __esm({
27672
27548
  handleMenuClose();
27673
27549
  },
27674
27550
  children: [
27675
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react14.MessageSquare, { size: 16 }) }),
27551
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemIcon, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react13.MessageSquare, { size: 16 }) }),
27676
27552
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemText, { children: "Send feedback" })
27677
27553
  ]
27678
27554
  }
@@ -27686,7 +27562,7 @@ var init_conversation_drawer = __esm({
27686
27562
  },
27687
27563
  sx: { color: theme.palette.error.main },
27688
27564
  children: [
27689
- /* @__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 }) }),
27565
+ /* @__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 }) }),
27690
27566
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_material46.ListItemText, { children: "Clear All Conversations" })
27691
27567
  ]
27692
27568
  }
@@ -27734,13 +27610,13 @@ var init_conversation_drawer = __esm({
27734
27610
  });
27735
27611
 
27736
27612
  // src/chat/enhanced-mobile-conversations-modal.tsx
27737
- var import_react58, import_material47, import_lucide_react15, import_styles31, import_jsx_runtime47, BANDIT_AVATAR2, coerceOptionalString2, deriveInitials2, EnhancedMobileConversationsModal, enhanced_mobile_conversations_modal_default;
27613
+ var import_react58, import_material47, import_lucide_react14, import_styles31, import_jsx_runtime47, BANDIT_AVATAR2, coerceOptionalString2, deriveInitials2, EnhancedMobileConversationsModal, enhanced_mobile_conversations_modal_default;
27738
27614
  var init_enhanced_mobile_conversations_modal = __esm({
27739
27615
  "src/chat/enhanced-mobile-conversations-modal.tsx"() {
27740
27616
  "use strict";
27741
27617
  import_react58 = require("react");
27742
27618
  import_material47 = require("@mui/material");
27743
- import_lucide_react15 = require("lucide-react");
27619
+ import_lucide_react14 = require("lucide-react");
27744
27620
  import_styles31 = require("@mui/material/styles");
27745
27621
  init_conversationStore();
27746
27622
  init_projectStore();
@@ -28188,7 +28064,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28188
28064
  }
28189
28065
  }
28190
28066
  },
28191
- children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.RefreshCw, {})
28067
+ children: syncStatus === "error" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.CircleAlert, {}) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.RefreshCw, {})
28192
28068
  }
28193
28069
  ),
28194
28070
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28197,7 +28073,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28197
28073
  onClick: () => setMemoryModalOpen(true),
28198
28074
  "aria-label": "Memory",
28199
28075
  sx: { color: theme.palette.text.secondary },
28200
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Brain, {})
28076
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.Brain, {})
28201
28077
  }
28202
28078
  ),
28203
28079
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28205,7 +28081,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28205
28081
  {
28206
28082
  onClick: () => setProjectManagementOpen(true),
28207
28083
  sx: { color: theme.palette.text.secondary },
28208
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Folder, {})
28084
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.Folder, {})
28209
28085
  }
28210
28086
  ),
28211
28087
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28213,7 +28089,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28213
28089
  {
28214
28090
  onClick: handleMenuOpen,
28215
28091
  sx: { color: theme.palette.text.secondary },
28216
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.MoreVertical, {})
28092
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.MoreVertical, {})
28217
28093
  }
28218
28094
  ),
28219
28095
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28221,7 +28097,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28221
28097
  {
28222
28098
  onClick: onClose,
28223
28099
  sx: { color: theme.palette.text.secondary },
28224
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.X, {})
28100
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.X, {})
28225
28101
  }
28226
28102
  )
28227
28103
  ] })
@@ -28237,7 +28113,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28237
28113
  onChange: (e) => setSearchQuery(e.target.value),
28238
28114
  variant: "outlined",
28239
28115
  InputProps: {
28240
- 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 }) }),
28116
+ 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 }) }),
28241
28117
  endAdornment: searchQuery && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.InputAdornment, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
28242
28118
  import_material47.IconButton,
28243
28119
  {
@@ -28245,7 +28121,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28245
28121
  size: "small",
28246
28122
  edge: "end",
28247
28123
  sx: { color: theme.palette.text.secondary },
28248
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.X, { size: 16 })
28124
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.X, { size: 16 })
28249
28125
  }
28250
28126
  ) })
28251
28127
  }
@@ -28401,7 +28277,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28401
28277
  justifyContent: "center",
28402
28278
  flexShrink: 0
28403
28279
  },
28404
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Folder, { size: 16, color: theme.palette.success.main })
28280
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.Folder, { size: 16, color: theme.palette.success.main })
28405
28281
  }
28406
28282
  ),
28407
28283
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28412,7 +28288,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28412
28288
  children: "New Project"
28413
28289
  }
28414
28290
  ),
28415
- /* @__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 }) })
28291
+ /* @__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 }) })
28416
28292
  ]
28417
28293
  }
28418
28294
  ),
@@ -28432,7 +28308,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28432
28308
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.Divider, { sx: { flex: 1, opacity: 0.6 } }),
28433
28309
  /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_material47.Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
28434
28310
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
28435
- import_lucide_react15.Inbox,
28311
+ import_lucide_react14.Inbox,
28436
28312
  {
28437
28313
  size: 14,
28438
28314
  color: theme.palette.text.disabled,
@@ -28627,7 +28503,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28627
28503
  createNewConversation();
28628
28504
  onClose();
28629
28505
  },
28630
- startIcon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Plus, { size: 18 }),
28506
+ startIcon: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.Plus, { size: 18 }),
28631
28507
  sx: {
28632
28508
  pointerEvents: "auto",
28633
28509
  textTransform: "none",
@@ -28718,7 +28594,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28718
28594
  border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
28719
28595
  color: theme.palette.text.secondary
28720
28596
  },
28721
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.House, { size: 16 })
28597
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.House, { size: 16 })
28722
28598
  }
28723
28599
  ),
28724
28600
  user2 && showLimitedAdminPanel() && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28737,7 +28613,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28737
28613
  border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
28738
28614
  color: theme.palette.text.secondary
28739
28615
  },
28740
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.SlidersHorizontal, { size: 16 })
28616
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.SlidersHorizontal, { size: 16 })
28741
28617
  }
28742
28618
  ),
28743
28619
  user2 && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, { children: [
@@ -28755,7 +28631,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28755
28631
  border: `1px solid ${(0, import_styles31.alpha)(theme.palette.divider, 0.8)}`,
28756
28632
  color: theme.palette.text.secondary
28757
28633
  },
28758
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.Settings, { size: 16 })
28634
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.Settings, { size: 16 })
28759
28635
  }
28760
28636
  ),
28761
28637
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
@@ -28776,7 +28652,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28776
28652
  color: theme.palette.error.main,
28777
28653
  "&:hover": { bgcolor: (0, import_styles31.alpha)(theme.palette.error.main, 0.1) }
28778
28654
  },
28779
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react15.LogOut, { size: 16 })
28655
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react14.LogOut, { size: 16 })
28780
28656
  }
28781
28657
  )
28782
28658
  ] })
@@ -28829,7 +28705,7 @@ var init_enhanced_mobile_conversations_modal = __esm({
28829
28705
  disabled: visibleConversationCount === 0,
28830
28706
  sx: { color: theme.palette.error.main },
28831
28707
  children: [
28832
- /* @__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 }) }),
28708
+ /* @__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 }) }),
28833
28709
  /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_material47.ListItemText, { children: "Clear All Conversations" })
28834
28710
  ]
28835
28711
  }
@@ -29667,14 +29543,14 @@ var init_UnderReview = __esm({
29667
29543
  });
29668
29544
 
29669
29545
  // src/components/feedback/FeedbackPulse.tsx
29670
- var import_react61, import_material52, import_styles33, import_lucide_react16, import_jsx_runtime51, STORAGE_KEY3, COOLDOWN_DAYS, MIN_SESSION_MS, MIN_MESSAGES_SENT, CHECK_INTERVAL_MS, readLastInteraction, recordInteraction, FeedbackPulse, FeedbackPulse_default;
29546
+ var import_react61, import_material52, import_styles33, import_lucide_react15, import_jsx_runtime51, STORAGE_KEY3, COOLDOWN_DAYS, MIN_SESSION_MS, MIN_MESSAGES_SENT, CHECK_INTERVAL_MS, readLastInteraction, recordInteraction, FeedbackPulse, FeedbackPulse_default;
29671
29547
  var init_FeedbackPulse = __esm({
29672
29548
  "src/components/feedback/FeedbackPulse.tsx"() {
29673
29549
  "use strict";
29674
29550
  import_react61 = require("react");
29675
29551
  import_material52 = require("@mui/material");
29676
29552
  import_styles33 = require("@mui/material/styles");
29677
- import_lucide_react16 = require("lucide-react");
29553
+ import_lucide_react15 = require("lucide-react");
29678
29554
  init_conversationStore();
29679
29555
  init_FeedbackModal();
29680
29556
  init_debugLogger();
@@ -29807,12 +29683,12 @@ var init_FeedbackPulse = __esm({
29807
29683
  children: thanked ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material52.Typography, { sx: { textAlign: "center", py: 1.5, fontWeight: 600 }, children: "Thanks for the feedback!" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
29808
29684
  /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_material52.Box, { sx: { display: "flex", alignItems: "center", mb: 0.5 }, children: [
29809
29685
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material52.Typography, { variant: "body2", sx: { fontWeight: 600, flex: 1 }, children: "How's Bandit doing?" }),
29810
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material52.IconButton, { size: "small", onClick: dismiss, "aria-label": "Dismiss feedback prompt", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react16.X, { size: 16 }) })
29686
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material52.IconButton, { size: "small", onClick: dismiss, "aria-label": "Dismiss feedback prompt", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.X, { size: 16 }) })
29811
29687
  ] }),
29812
29688
  /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_material52.Box, { sx: { display: "flex", justifyContent: "space-evenly" }, children: [
29813
- choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react16.Smile, { size: 22, color: theme.palette.success.main }), "Good", "good"),
29814
- choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react16.Meh, { size: 22, color: theme.palette.warning.main }), "Fine", "fine"),
29815
- choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react16.Frown, { size: 22, color: theme.palette.error.main }), "Bad", "bad")
29689
+ choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.Smile, { size: 22, color: theme.palette.success.main }), "Good", "good"),
29690
+ choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.Meh, { size: 22, color: theme.palette.warning.main }), "Fine", "fine"),
29691
+ choice(/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react15.Frown, { size: 22, color: theme.palette.error.main }), "Bad", "bad")
29816
29692
  ] })
29817
29693
  ] })
29818
29694
  }
@@ -30226,7 +30102,7 @@ var chat_exports = {};
30226
30102
  __export(chat_exports, {
30227
30103
  default: () => chat_default
30228
30104
  });
30229
- var import_react63, import_material54, import_styles34, import_react_router_dom5, import_lucide_react17, import_jsx_runtime53, ChatContent, Chat, chat_default;
30105
+ var import_react63, import_material54, import_styles34, import_react_router_dom5, import_lucide_react16, import_jsx_runtime53, ChatContent, Chat, chat_default;
30230
30106
  var init_chat2 = __esm({
30231
30107
  "src/chat/chat.tsx"() {
30232
30108
  "use strict";
@@ -30272,7 +30148,7 @@ var init_chat2 = __esm({
30272
30148
  init_voiceModeStore();
30273
30149
  init_ttsSanitizer();
30274
30150
  init_FeatureFlagContext();
30275
- import_lucide_react17 = require("lucide-react");
30151
+ import_lucide_react16 = require("lucide-react");
30276
30152
  import_jsx_runtime53 = require("react/jsx-runtime");
30277
30153
  ChatContent = () => {
30278
30154
  const packageSettings = usePackageSettingsStore((state) => state.settings);
@@ -31324,7 +31200,7 @@ var init_chat2 = __esm({
31324
31200
  whiteSpace: "nowrap"
31325
31201
  }),
31326
31202
  children: [
31327
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react17.Ghost, { size: 14, "aria-hidden": true }),
31203
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react16.Ghost, { size: 14, "aria-hidden": true }),
31328
31204
  "Temporary chat",
31329
31205
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
31330
31206
  import_material54.Box,
@@ -37256,9 +37132,44 @@ var PreferencesTab = ({
37256
37132
  ] }),
37257
37133
  gatewayConfigured && gatewayHealthError && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material20.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.75, pl: { xs: 0, sm: 0.5 } }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material20.Typography, { variant: "caption", color: "error", children: gatewayHealthError.message }) })
37258
37134
  ] })
37259
- ] })
37135
+ ] }),
37136
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ViewportDiagnostics, {})
37260
37137
  ] }) });
37261
37138
  };
37139
+ var ViewportDiagnostics = () => {
37140
+ const [metrics, setMetrics] = (0, import_react27.useState)({});
37141
+ (0, import_react27.useEffect)(() => {
37142
+ const read = () => {
37143
+ const probe = document.createElement("div");
37144
+ probe.style.cssText = "position:fixed;top:0;bottom:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden;pointer-events:none;";
37145
+ document.body.appendChild(probe);
37146
+ const cs = getComputedStyle(probe);
37147
+ const standalone = window.matchMedia?.("(display-mode: standalone)").matches || window.navigator.standalone === true;
37148
+ setMetrics({
37149
+ mode: standalone ? "standalone" : "browser",
37150
+ "screen.height": `${window.screen.height}`,
37151
+ innerHeight: `${window.innerHeight}`,
37152
+ "docElement.clientHeight": `${document.documentElement.clientHeight}`,
37153
+ "visualViewport.height": `${Math.round(window.visualViewport?.height ?? -1)}`,
37154
+ "probe fixed t0/b0 height": `${Math.round(probe.getBoundingClientRect().height)}`,
37155
+ "safe-area-top": cs.paddingTop,
37156
+ "safe-area-bottom": cs.paddingBottom
37157
+ });
37158
+ probe.remove();
37159
+ };
37160
+ read();
37161
+ window.addEventListener("resize", read);
37162
+ return () => window.removeEventListener("resize", read);
37163
+ }, []);
37164
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material20.Paper, { variant: "outlined", sx: { p: 2, borderRadius: 2, opacity: 0.85 }, children: [
37165
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material20.Typography, { variant: "caption", sx: { fontWeight: 700, display: "block", mb: 0.5 }, children: "Viewport diagnostics" }),
37166
+ Object.entries(metrics).map(([k, v]) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material20.Typography, { variant: "caption", sx: { display: "block", fontFamily: "monospace" }, children: [
37167
+ k,
37168
+ ": ",
37169
+ v
37170
+ ] }, k))
37171
+ ] });
37172
+ };
37262
37173
  var PreferencesTab_default = PreferencesTab;
37263
37174
 
37264
37175
  // src/management/components/BrandingTab.tsx