@burtson-labs/bandit-engine 2.0.154 → 2.0.156

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.
@@ -36,92 +36,7 @@ var useCanvasStore = create((set) => ({
36
36
  // src/icons/lucide-icons.tsx
37
37
  import React from "react";
38
38
  import { Box } from "@mui/material";
39
- import {
40
- AlertTriangle,
41
- Archive,
42
- ArrowDown,
43
- ArrowUp,
44
- AudioLines,
45
- BookOpen,
46
- BookOpenText,
47
- Brain,
48
- Braces,
49
- Brush,
50
- BrushCleaning,
51
- Check,
52
- ChevronDown,
53
- ChevronLeft,
54
- ChevronUp,
55
- CircleAlert,
56
- CircleCheck,
57
- CirclePlus,
58
- Cloud,
59
- CloudCheck,
60
- CloudOff,
61
- Copy,
62
- Cpu,
63
- Database,
64
- Download,
65
- EarOff,
66
- Eye,
67
- FileText,
68
- FileUp,
69
- Folder,
70
- FolderOpen,
71
- Globe,
72
- Grip,
73
- History,
74
- House,
75
- Info,
76
- LayoutGrid,
77
- Link,
78
- List,
79
- Lock,
80
- Maximize,
81
- MessageSquare,
82
- Mic,
83
- Minimize,
84
- Minus,
85
- NotebookPen,
86
- Pencil,
87
- Ghost,
88
- PanelLeft,
89
- Pin,
90
- PinOff,
91
- Play,
92
- Plus,
93
- SquarePen,
94
- RectangleHorizontal,
95
- RectangleVertical,
96
- RefreshCw,
97
- Rocket,
98
- RotateCcw,
99
- RotateCw,
100
- Save,
101
- ScanFace,
102
- Search,
103
- Send,
104
- Settings,
105
- ShieldCheck,
106
- SlidersHorizontal,
107
- Sparkles,
108
- Square,
109
- TriangleAlert,
110
- Trash2,
111
- Type,
112
- Upload,
113
- User,
114
- UserCog,
115
- Users,
116
- Wifi,
117
- WifiHigh,
118
- WifiLow,
119
- WifiOff,
120
- Wrench,
121
- X,
122
- ZoomIn,
123
- ZoomOut
124
- } from "lucide-react";
39
+ import { AlertTriangle, Archive, ArrowDown, ArrowUp, Waveform as AudioLines, BookOpen, BookOpenText, Agent as Brain, Braces, Palette as Brush, BrushCleaning, Check, ChevronDown, ChevronLeft, ChevronUp, AlertCircle as CircleAlert, CheckCircle as CircleCheck, Plus as CirclePlus, Cloud, CloudCheck, CloudOff, Copy, Cpu, VectorStore as Database, Download, EarOff, Eye, FileText, FileUp, Folder, FolderOpen, Globe, Grip, History, Home as House, Info, LayoutGrid, Link, List, Lock, Maximize, MessageSquare, Mic, Minimize, Minus, NotebookPen, Edit as Pencil, Ghost, PanelLeft, Pin, PinOff, Play, Plus, EditSquare as SquarePen, RectangleHorizontal, RectangleVertical, Refresh as RefreshCw, Rocket, RotateCcw, RotateCw, Save, ScanFace, Search, Send, Settings, ShieldProof as ShieldCheck, Sliders as SlidersHorizontal, Sparkles, Square, AlertTriangle as TriangleAlert, Trash as Trash2, Type, Upload, User, UserCog, Users, Wifi, Wifi as WifiHigh, Wifi as WifiLow, WifiOff, Wrench, X, ZoomIn, ZoomOut } from "@burtson-labs/icons/react";
125
40
  import { jsx } from "react/jsx-runtime";
126
41
  var fontSizeMap = {
127
42
  inherit: "inherit",
@@ -1656,7 +1571,7 @@ import {
1656
1571
  Toolbar,
1657
1572
  IconButton as IconButton2,
1658
1573
  Typography as Typography2,
1659
- Box as Box3,
1574
+ Box as Box4,
1660
1575
  CircularProgress,
1661
1576
  Alert as Alert2,
1662
1577
  Button as Button2,
@@ -1750,7 +1665,9 @@ function getHighlightTree(code, language) {
1750
1665
 
1751
1666
  // src/utils/markdownRendering.tsx
1752
1667
  import React3 from "react";
1668
+ import { Box as Box3 } from "@mui/material";
1753
1669
  import { defaultSchema } from "rehype-sanitize";
1670
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1754
1671
  var markdownSanitizeSchema = (() => {
1755
1672
  const schema = JSON.parse(JSON.stringify(defaultSchema));
1756
1673
  schema.tagNames = Array.from(
@@ -1794,6 +1711,50 @@ var markdownSanitizeSchema = (() => {
1794
1711
  schema.strip = ["script", "style"];
1795
1712
  return schema;
1796
1713
  })();
1714
+ var MarkdownImage = ({ src, alt }) => {
1715
+ if (!src) return null;
1716
+ return /* @__PURE__ */ jsxs2(Box3, { component: "span", sx: { display: "block", my: 1 }, children: [
1717
+ /* @__PURE__ */ jsx3(
1718
+ Box3,
1719
+ {
1720
+ component: "img",
1721
+ src,
1722
+ alt: alt || "Image",
1723
+ loading: "lazy",
1724
+ sx: {
1725
+ display: "block",
1726
+ maxWidth: "min(480px, 100%)",
1727
+ maxHeight: 420,
1728
+ width: "auto",
1729
+ height: "auto",
1730
+ borderRadius: 2,
1731
+ border: "1px solid",
1732
+ borderColor: "divider"
1733
+ }
1734
+ }
1735
+ ),
1736
+ /* @__PURE__ */ jsx3(
1737
+ Box3,
1738
+ {
1739
+ component: "a",
1740
+ href: src,
1741
+ download: true,
1742
+ target: "_blank",
1743
+ rel: "noreferrer noopener",
1744
+ sx: {
1745
+ display: "inline-block",
1746
+ mt: 0.5,
1747
+ fontSize: 13,
1748
+ fontWeight: 600,
1749
+ color: "primary.main",
1750
+ textDecoration: "none",
1751
+ "&:hover": { textDecoration: "underline" }
1752
+ },
1753
+ children: "Save image"
1754
+ }
1755
+ )
1756
+ ] });
1757
+ };
1797
1758
  var renderLowlightChildren = (nodes, keyPrefix) => nodes.map((node, index) => {
1798
1759
  if (node.type === "text") {
1799
1760
  return node.value;
@@ -1819,7 +1780,7 @@ var renderLowlightChildren = (nodes, keyPrefix) => nodes.map((node, index) => {
1819
1780
  });
1820
1781
 
1821
1782
  // src/modals/knowlege/knowledge-file-modal.tsx
1822
- import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1783
+ import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1823
1784
  var getFileTypeInfo2 = (filename) => {
1824
1785
  const ext = filename.split(".").pop()?.toLowerCase() || "";
1825
1786
  const languageMap = {
@@ -2199,14 +2160,14 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2199
2160
  debugLogger.error("Vector document download failed", { error: err, docId: doc.id });
2200
2161
  }
2201
2162
  };
2202
- return /* @__PURE__ */ jsxs2(Dialog, { fullScreen: true, open, onClose, children: [
2203
- /* @__PURE__ */ jsx3(AppBar, { sx: { position: "relative" }, children: /* @__PURE__ */ jsxs2(Toolbar, { children: [
2204
- /* @__PURE__ */ jsxs2(Box3, { sx: { display: "flex", alignItems: "center", flex: 1, minWidth: 0 }, children: [
2205
- doc && /* @__PURE__ */ jsx3(Box3, { sx: { mr: 1, flexShrink: 0 }, children: (() => {
2163
+ return /* @__PURE__ */ jsxs3(Dialog, { fullScreen: true, open, onClose, children: [
2164
+ /* @__PURE__ */ jsx4(AppBar, { sx: { position: "relative" }, children: /* @__PURE__ */ jsxs3(Toolbar, { children: [
2165
+ /* @__PURE__ */ jsxs3(Box4, { sx: { display: "flex", alignItems: "center", flex: 1, minWidth: 0 }, children: [
2166
+ doc && /* @__PURE__ */ jsx4(Box4, { sx: { mr: 1, flexShrink: 0 }, children: (() => {
2206
2167
  const fileInfo = getFileTypeInfo2(doc.name);
2207
2168
  const IconComponent = fileInfo.icon;
2208
- return /* @__PURE__ */ jsx3(Tooltip2, { title: `${fileInfo.category} file`, placement: "bottom", children: /* @__PURE__ */ jsxs2(
2209
- Box3,
2169
+ return /* @__PURE__ */ jsx4(Tooltip2, { title: `${fileInfo.category} file`, placement: "bottom", children: /* @__PURE__ */ jsxs3(
2170
+ Box4,
2210
2171
  {
2211
2172
  sx: {
2212
2173
  display: "flex",
@@ -2220,13 +2181,13 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2220
2181
  fontWeight: "bold"
2221
2182
  },
2222
2183
  children: [
2223
- /* @__PURE__ */ jsx3(IconComponent, { sx: { fontSize: "1rem", mr: 0.5 } }),
2184
+ /* @__PURE__ */ jsx4(IconComponent, { sx: { fontSize: "1rem", mr: 0.5 } }),
2224
2185
  fileInfo.language || fileInfo.category
2225
2186
  ]
2226
2187
  }
2227
2188
  ) });
2228
2189
  })() }),
2229
- /* @__PURE__ */ jsx3(Tooltip2, { title: doc?.name || "", placement: "bottom-start", children: /* @__PURE__ */ jsx3(
2190
+ /* @__PURE__ */ jsx4(Tooltip2, { title: doc?.name || "", placement: "bottom-start", children: /* @__PURE__ */ jsx4(
2230
2191
  Typography2,
2231
2192
  {
2232
2193
  sx: {
@@ -2254,7 +2215,7 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2254
2215
  children: doc?.name
2255
2216
  }
2256
2217
  ) }),
2257
- /* @__PURE__ */ jsx3(Box3, { sx: { display: "flex", alignItems: "center", flexShrink: 0, ml: 1 }, children: isPDF(doc?.name || "") && totalPages > 0 && /* @__PURE__ */ jsxs2(Typography2, { component: "span", variant: "body2", sx: { opacity: 0.8 }, children: [
2218
+ /* @__PURE__ */ jsx4(Box4, { sx: { display: "flex", alignItems: "center", flexShrink: 0, ml: 1 }, children: isPDF(doc?.name || "") && totalPages > 0 && /* @__PURE__ */ jsxs3(Typography2, { component: "span", variant: "body2", sx: { opacity: 0.8 }, children: [
2258
2219
  "(",
2259
2220
  totalPages,
2260
2221
  " page",
@@ -2262,8 +2223,8 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2262
2223
  ")"
2263
2224
  ] }) })
2264
2225
  ] }),
2265
- /* @__PURE__ */ jsxs2(Box3, { sx: { display: "flex", alignItems: "center", flexShrink: 0, gap: 1 }, children: [
2266
- !isPDF(doc?.name || "") && isCodeFile(doc?.name || "") && /* @__PURE__ */ jsxs2(
2226
+ /* @__PURE__ */ jsxs3(Box4, { sx: { display: "flex", alignItems: "center", flexShrink: 0, gap: 1 }, children: [
2227
+ !isPDF(doc?.name || "") && isCodeFile(doc?.name || "") && /* @__PURE__ */ jsxs3(
2267
2228
  ToggleButtonGroup,
2268
2229
  {
2269
2230
  value: viewMode,
@@ -2271,38 +2232,38 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2271
2232
  onChange: (e, newMode) => newMode && setViewMode(newMode),
2272
2233
  size: "small",
2273
2234
  children: [
2274
- /* @__PURE__ */ jsxs2(ToggleButton, { value: "formatted", sx: { color: "inherit" }, children: [
2275
- /* @__PURE__ */ jsx3(CodeIcon, { sx: { mr: 1, fontSize: "1rem" } }),
2235
+ /* @__PURE__ */ jsxs3(ToggleButton, { value: "formatted", sx: { color: "inherit" }, children: [
2236
+ /* @__PURE__ */ jsx4(CodeIcon, { sx: { mr: 1, fontSize: "1rem" } }),
2276
2237
  "Formatted"
2277
2238
  ] }),
2278
- /* @__PURE__ */ jsxs2(ToggleButton, { value: "raw", sx: { color: "inherit" }, children: [
2279
- /* @__PURE__ */ jsx3(TextFieldsIcon, { sx: { mr: 1, fontSize: "1rem" } }),
2239
+ /* @__PURE__ */ jsxs3(ToggleButton, { value: "raw", sx: { color: "inherit" }, children: [
2240
+ /* @__PURE__ */ jsx4(TextFieldsIcon, { sx: { mr: 1, fontSize: "1rem" } }),
2280
2241
  "Raw"
2281
2242
  ] })
2282
2243
  ]
2283
2244
  }
2284
2245
  ),
2285
- isPDF(doc?.name || "") && pdfDocument && !isMobile && /* @__PURE__ */ jsxs2(Fragment, { children: [
2286
- /* @__PURE__ */ jsx3(
2246
+ isPDF(doc?.name || "") && pdfDocument && !isMobile && /* @__PURE__ */ jsxs3(Fragment, { children: [
2247
+ /* @__PURE__ */ jsx4(
2287
2248
  Button2,
2288
2249
  {
2289
2250
  color: "inherit",
2290
- startIcon: /* @__PURE__ */ jsx3(ZoomOutIcon, {}),
2251
+ startIcon: /* @__PURE__ */ jsx4(ZoomOutIcon, {}),
2291
2252
  onClick: handleZoomOut,
2292
2253
  disabled: pdfScale <= 0.5,
2293
2254
  size: "small",
2294
2255
  children: "Zoom Out"
2295
2256
  }
2296
2257
  ),
2297
- /* @__PURE__ */ jsxs2(Typography2, { variant: "body2", sx: { color: "inherit", mx: 1 }, children: [
2258
+ /* @__PURE__ */ jsxs3(Typography2, { variant: "body2", sx: { color: "inherit", mx: 1 }, children: [
2298
2259
  Math.round(pdfScale * 100),
2299
2260
  "%"
2300
2261
  ] }),
2301
- /* @__PURE__ */ jsx3(
2262
+ /* @__PURE__ */ jsx4(
2302
2263
  Button2,
2303
2264
  {
2304
2265
  color: "inherit",
2305
- startIcon: /* @__PURE__ */ jsx3(ZoomInIcon, {}),
2266
+ startIcon: /* @__PURE__ */ jsx4(ZoomInIcon, {}),
2306
2267
  onClick: handleZoomIn,
2307
2268
  disabled: pdfScale >= 3,
2308
2269
  size: "small",
@@ -2310,17 +2271,17 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2310
2271
  }
2311
2272
  )
2312
2273
  ] }),
2313
- isVectorDocument && /* @__PURE__ */ jsx3(IconButton2, { edge: "end", color: "inherit", onClick: handleDownload, children: /* @__PURE__ */ jsx3(DownloadIcon, {}) }),
2314
- /* @__PURE__ */ jsx3(IconButton2, { edge: "end", color: "inherit", onClick: onClose, children: /* @__PURE__ */ jsx3(CloseIcon, {}) })
2274
+ isVectorDocument && /* @__PURE__ */ jsx4(IconButton2, { edge: "end", color: "inherit", onClick: handleDownload, children: /* @__PURE__ */ jsx4(DownloadIcon, {}) }),
2275
+ /* @__PURE__ */ jsx4(IconButton2, { edge: "end", color: "inherit", onClick: onClose, children: /* @__PURE__ */ jsx4(CloseIcon, {}) })
2315
2276
  ] })
2316
2277
  ] }) }),
2317
- /* @__PURE__ */ jsxs2(Box3, { sx: { p: 3, bgcolor: "background.default", height: "100%", overflowY: "auto" }, children: [
2318
- loading && /* @__PURE__ */ jsxs2(Box3, { sx: { display: "flex", justifyContent: "center", alignItems: "center", height: "50vh" }, children: [
2319
- /* @__PURE__ */ jsx3(CircularProgress, {}),
2320
- /* @__PURE__ */ jsx3(Typography2, { sx: { ml: 2 }, children: isPDF(doc?.name || "") ? "Loading PDF document..." : "Loading full file content..." })
2278
+ /* @__PURE__ */ jsxs3(Box4, { sx: { p: 3, bgcolor: "background.default", height: "100%", overflowY: "auto" }, children: [
2279
+ loading && /* @__PURE__ */ jsxs3(Box4, { sx: { display: "flex", justifyContent: "center", alignItems: "center", height: "50vh" }, children: [
2280
+ /* @__PURE__ */ jsx4(CircularProgress, {}),
2281
+ /* @__PURE__ */ jsx4(Typography2, { sx: { ml: 2 }, children: isPDF(doc?.name || "") ? "Loading PDF document..." : "Loading full file content..." })
2321
2282
  ] }),
2322
- error && /* @__PURE__ */ jsx3(Alert2, { severity: "warning", sx: { mb: 2 }, children: error }),
2323
- !loading && isPDF(doc?.name || "") && pdfCanvases.length > 0 && /* @__PURE__ */ jsx3(Box3, { sx: { display: "flex", flexDirection: "column", alignItems: "center", gap: 2 }, children: pdfCanvases.map((canvas, index) => /* @__PURE__ */ jsxs2(
2283
+ error && /* @__PURE__ */ jsx4(Alert2, { severity: "warning", sx: { mb: 2 }, children: error }),
2284
+ !loading && isPDF(doc?.name || "") && pdfCanvases.length > 0 && /* @__PURE__ */ jsx4(Box4, { sx: { display: "flex", flexDirection: "column", alignItems: "center", gap: 2 }, children: pdfCanvases.map((canvas, index) => /* @__PURE__ */ jsxs3(
2324
2285
  Paper,
2325
2286
  {
2326
2287
  elevation: 3,
@@ -2353,14 +2314,14 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2353
2314
  scrollbarColor: isDarkTheme ? "#555 #2d2d2d" : "#c1c1c1 #f5f5f5"
2354
2315
  },
2355
2316
  children: [
2356
- /* @__PURE__ */ jsxs2(Typography2, { variant: "caption", color: "text.secondary", sx: { mb: 1, display: "block" }, children: [
2317
+ /* @__PURE__ */ jsxs3(Typography2, { variant: "caption", color: "text.secondary", sx: { mb: 1, display: "block" }, children: [
2357
2318
  "Page ",
2358
2319
  index + 1,
2359
2320
  " of ",
2360
2321
  totalPages
2361
2322
  ] }),
2362
- /* @__PURE__ */ jsx3(
2363
- Box3,
2323
+ /* @__PURE__ */ jsx4(
2324
+ Box4,
2364
2325
  {
2365
2326
  ref: (el) => {
2366
2327
  if (el && canvas) {
@@ -2383,18 +2344,18 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2383
2344
  },
2384
2345
  index
2385
2346
  )) }),
2386
- !loading && !isPDF(doc?.name || "") && /* @__PURE__ */ jsx3(Box3, { children: isCodeFile(doc?.name || "") && viewMode === "formatted" ? /* @__PURE__ */ jsxs2(Box3, { children: [
2387
- /* @__PURE__ */ jsxs2(Box3, { sx: { mb: 2, display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
2388
- /* @__PURE__ */ jsxs2(Typography2, { variant: "body2", color: "text.secondary", children: [
2347
+ !loading && !isPDF(doc?.name || "") && /* @__PURE__ */ jsx4(Box4, { children: isCodeFile(doc?.name || "") && viewMode === "formatted" ? /* @__PURE__ */ jsxs3(Box4, { children: [
2348
+ /* @__PURE__ */ jsxs3(Box4, { sx: { mb: 2, display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
2349
+ /* @__PURE__ */ jsxs3(Typography2, { variant: "body2", color: "text.secondary", children: [
2389
2350
  "Syntax highlighted as ",
2390
- /* @__PURE__ */ jsx3("strong", { children: getLanguageFromFilename(doc?.name || "").toUpperCase() })
2351
+ /* @__PURE__ */ jsx4("strong", { children: getLanguageFromFilename(doc?.name || "").toUpperCase() })
2391
2352
  ] }),
2392
- /* @__PURE__ */ jsxs2(Typography2, { variant: "caption", color: "text.secondary", children: [
2353
+ /* @__PURE__ */ jsxs3(Typography2, { variant: "caption", color: "text.secondary", children: [
2393
2354
  (fullContent || doc?.content || "").split("\n").length,
2394
2355
  " lines"
2395
2356
  ] })
2396
2357
  ] }),
2397
- /* @__PURE__ */ jsx3(
2358
+ /* @__PURE__ */ jsx4(
2398
2359
  Paper,
2399
2360
  {
2400
2361
  elevation: 1,
@@ -2437,8 +2398,8 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2437
2398
  overflowWrap: "anywhere"
2438
2399
  }
2439
2400
  },
2440
- children: /* @__PURE__ */ jsx3(
2441
- Box3,
2401
+ children: /* @__PURE__ */ jsx4(
2402
+ Box4,
2442
2403
  {
2443
2404
  sx: {
2444
2405
  "& .hljs": {
@@ -2473,12 +2434,12 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2473
2434
  color: isDarkTheme ? "#f07178" : "#d97706"
2474
2435
  }
2475
2436
  },
2476
- children: /* @__PURE__ */ jsx3("pre", { className: `hljs language-${resolvedHighlightLanguage || "text"}`, children: /* @__PURE__ */ jsx3("code", { className: "hljs", children: highlightedNodes.length > 0 ? highlightedNodes : formattedContent }) })
2437
+ children: /* @__PURE__ */ jsx4("pre", { className: `hljs language-${resolvedHighlightLanguage || "text"}`, children: /* @__PURE__ */ jsx4("code", { className: "hljs", children: highlightedNodes.length > 0 ? highlightedNodes : formattedContent }) })
2477
2438
  }
2478
2439
  )
2479
2440
  }
2480
2441
  )
2481
- ] }) : /* @__PURE__ */ jsx3(
2442
+ ] }) : /* @__PURE__ */ jsx4(
2482
2443
  Typography2,
2483
2444
  {
2484
2445
  component: "pre",
@@ -2499,14 +2460,14 @@ var KnowledgeFileModal = ({ open, onClose, doc, isVectorDocument = false }) => {
2499
2460
  children: fullContent || doc?.content
2500
2461
  }
2501
2462
  ) }),
2502
- !loading && isPDF(doc?.name || "") && pdfCanvases.length === 0 && !error && /* @__PURE__ */ jsxs2(Box3, { sx: { textAlign: "center", py: 4 }, children: [
2503
- /* @__PURE__ */ jsx3(Typography2, { variant: "h6", color: "text.secondary", gutterBottom: true, children: "PDF Preview Not Available" }),
2504
- /* @__PURE__ */ jsx3(Typography2, { variant: "body2", color: "text.secondary", children: "This PDF file cannot be previewed. You can download it to view the full content." }),
2505
- isVectorDocument && /* @__PURE__ */ jsx3(
2463
+ !loading && isPDF(doc?.name || "") && pdfCanvases.length === 0 && !error && /* @__PURE__ */ jsxs3(Box4, { sx: { textAlign: "center", py: 4 }, children: [
2464
+ /* @__PURE__ */ jsx4(Typography2, { variant: "h6", color: "text.secondary", gutterBottom: true, children: "PDF Preview Not Available" }),
2465
+ /* @__PURE__ */ jsx4(Typography2, { variant: "body2", color: "text.secondary", children: "This PDF file cannot be previewed. You can download it to view the full content." }),
2466
+ isVectorDocument && /* @__PURE__ */ jsx4(
2506
2467
  Button2,
2507
2468
  {
2508
2469
  variant: "contained",
2509
- startIcon: /* @__PURE__ */ jsx3(DownloadIcon, {}),
2470
+ startIcon: /* @__PURE__ */ jsx4(DownloadIcon, {}),
2510
2471
  onClick: handleDownload,
2511
2472
  sx: { mt: 2 },
2512
2473
  children: "Download PDF"
@@ -2526,7 +2487,7 @@ import rehypeRaw from "rehype-raw";
2526
2487
  import rehypeSanitize from "rehype-sanitize";
2527
2488
  import {
2528
2489
  Avatar,
2529
- Box as Box5,
2490
+ Box as Box6,
2530
2491
  IconButton as IconButton4,
2531
2492
  Modal,
2532
2493
  Tooltip as Tooltip4,
@@ -2575,9 +2536,9 @@ var maybeHandleFileLinkClick = (event, href) => {
2575
2536
 
2576
2537
  // src/modals/chat-modal/ai-response-action-bar.tsx
2577
2538
  import { useState as useState4, useEffect as useEffect4 } from "react";
2578
- import { Box as Box4, CircularProgress as CircularProgress2, IconButton as IconButton3, Tooltip as Tooltip3 } from "@mui/material";
2579
- import { Check as CheckIcon2, ThumbsUp as ThumbUpIcon, ThumbsDown as ThumbDownIcon, Copy as ContentCopyIcon2, Megaphone as CampaignOutlined, Megaphone as CampaignRounded, Square as StopIcon, Pause as PauseIcon, Play as PlayArrowIcon2, PanelRight as CanvasIcon } from "lucide-react";
2580
- import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
2539
+ import { Box as Box5, CircularProgress as CircularProgress2, IconButton as IconButton3, Tooltip as Tooltip3 } from "@mui/material";
2540
+ import { Check as CheckIcon2, ThumbsUp as ThumbUpIcon, ThumbsDown as ThumbDownIcon, Copy as ContentCopyIcon2, Megaphone as CampaignOutlined, Megaphone as CampaignRounded, Square as StopIcon, Pause as PauseIcon, Play as PlayArrowIcon2, PanelRight as CanvasIcon } from "@burtson-labs/icons/react";
2541
+ import { Fragment as Fragment2, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
2581
2542
  var AiResponseActionsBar = ({ text }) => {
2582
2543
  const [copied, setCopied] = useState4(false);
2583
2544
  const openCanvas = useCanvasStore((s) => s.openCanvas);
@@ -2660,8 +2621,8 @@ var AiResponseActionsBar = ({ text }) => {
2660
2621
  const handleFeedback = (type) => {
2661
2622
  setFeedback(type);
2662
2623
  };
2663
- return /* @__PURE__ */ jsxs3(Box4, { sx: { mt: 2, display: "flex", gap: 2, alignItems: "center", flexWrap: "wrap" }, children: [
2664
- /* @__PURE__ */ jsx4(Tooltip3, { title: copied ? "Copied!" : "Copy entire response", children: /* @__PURE__ */ jsx4(
2624
+ return /* @__PURE__ */ jsxs4(Box5, { sx: { mt: 2, display: "flex", gap: 2, alignItems: "center", flexWrap: "wrap" }, children: [
2625
+ /* @__PURE__ */ jsx5(Tooltip3, { title: copied ? "Copied!" : "Copy entire response", children: /* @__PURE__ */ jsx5(
2665
2626
  IconButton3,
2666
2627
  {
2667
2628
  onClick: handleCopy,
@@ -2672,10 +2633,10 @@ var AiResponseActionsBar = ({ text }) => {
2672
2633
  color: (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2673
2634
  }
2674
2635
  },
2675
- children: copied ? /* @__PURE__ */ jsx4(CheckIcon2, { size: 18 }) : /* @__PURE__ */ jsx4(ContentCopyIcon2, { size: 18 })
2636
+ children: copied ? /* @__PURE__ */ jsx5(CheckIcon2, { size: 18 }) : /* @__PURE__ */ jsx5(ContentCopyIcon2, { size: 18 })
2676
2637
  }
2677
2638
  ) }),
2678
- /* @__PURE__ */ jsx4(Tooltip3, { title: "Open in canvas \u2014 edit & export", children: /* @__PURE__ */ jsx4(
2639
+ /* @__PURE__ */ jsx5(Tooltip3, { title: "Open in canvas \u2014 edit & export", children: /* @__PURE__ */ jsx5(
2679
2640
  IconButton3,
2680
2641
  {
2681
2642
  onClick: openInCanvas,
@@ -2686,15 +2647,15 @@ var AiResponseActionsBar = ({ text }) => {
2686
2647
  color: (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2687
2648
  }
2688
2649
  },
2689
- children: /* @__PURE__ */ jsx4(CanvasIcon, { size: 18 })
2650
+ children: /* @__PURE__ */ jsx5(CanvasIcon, { size: 18 })
2690
2651
  }
2691
2652
  ) }),
2692
- isTTSAvailable && /* @__PURE__ */ jsxs3(Fragment2, { children: [
2693
- /* @__PURE__ */ jsx4(
2653
+ isTTSAvailable && /* @__PURE__ */ jsxs4(Fragment2, { children: [
2654
+ /* @__PURE__ */ jsx5(
2694
2655
  Tooltip3,
2695
2656
  {
2696
2657
  title: !isTTSAvailable ? "TTS not available - check configuration" : isLoading ? "Loading audio..." : isPaused ? "Resume playback" : isPlaying ? "Playing audio..." : "Play response with voice",
2697
- children: /* @__PURE__ */ jsx4(
2658
+ children: /* @__PURE__ */ jsx5(
2698
2659
  IconButton3,
2699
2660
  {
2700
2661
  onClick: handleTTSClick,
@@ -2709,12 +2670,12 @@ var AiResponseActionsBar = ({ text }) => {
2709
2670
  color: (theme) => theme.palette.mode === "dark" ? "#666" : "#aaa"
2710
2671
  }
2711
2672
  },
2712
- children: isLoading ? /* @__PURE__ */ jsx4(CircularProgress2, { size: 18 }) : isPaused ? /* @__PURE__ */ jsx4(PlayArrowIcon2, { size: 18 }) : !isPlaying ? /* @__PURE__ */ jsx4(CampaignOutlined, { size: 18 }) : /* @__PURE__ */ jsx4(CampaignRounded, { size: 18, color: "#4caf50" })
2673
+ children: isLoading ? /* @__PURE__ */ jsx5(CircularProgress2, { size: 18 }) : isPaused ? /* @__PURE__ */ jsx5(PlayArrowIcon2, { size: 18 }) : !isPlaying ? /* @__PURE__ */ jsx5(CampaignOutlined, { size: 18 }) : /* @__PURE__ */ jsx5(CampaignRounded, { size: 18, color: "#4caf50" })
2713
2674
  }
2714
2675
  )
2715
2676
  }
2716
2677
  ),
2717
- isPlaying && /* @__PURE__ */ jsx4(Tooltip3, { title: "Pause playback", children: /* @__PURE__ */ jsx4(
2678
+ isPlaying && /* @__PURE__ */ jsx5(Tooltip3, { title: "Pause playback", children: /* @__PURE__ */ jsx5(
2718
2679
  IconButton3,
2719
2680
  {
2720
2681
  onClick: () => ttsPause(),
@@ -2725,10 +2686,10 @@ var AiResponseActionsBar = ({ text }) => {
2725
2686
  color: (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2726
2687
  }
2727
2688
  },
2728
- children: /* @__PURE__ */ jsx4(PauseIcon, { size: 18 })
2689
+ children: /* @__PURE__ */ jsx5(PauseIcon, { size: 18 })
2729
2690
  }
2730
2691
  ) }),
2731
- (isPlaying || isPaused) && /* @__PURE__ */ jsx4(Tooltip3, { title: "Stop playback", children: /* @__PURE__ */ jsx4(
2692
+ (isPlaying || isPaused) && /* @__PURE__ */ jsx5(Tooltip3, { title: "Stop playback", children: /* @__PURE__ */ jsx5(
2732
2693
  IconButton3,
2733
2694
  {
2734
2695
  onClick: () => ttsStop(),
@@ -2739,11 +2700,11 @@ var AiResponseActionsBar = ({ text }) => {
2739
2700
  color: (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2740
2701
  }
2741
2702
  },
2742
- children: /* @__PURE__ */ jsx4(StopIcon, { size: 18 })
2703
+ children: /* @__PURE__ */ jsx5(StopIcon, { size: 18 })
2743
2704
  }
2744
2705
  ) })
2745
2706
  ] }),
2746
- /* @__PURE__ */ jsx4(Tooltip3, { title: "Like this response", children: /* @__PURE__ */ jsx4(
2707
+ /* @__PURE__ */ jsx5(Tooltip3, { title: "Like this response", children: /* @__PURE__ */ jsx5(
2747
2708
  IconButton3,
2748
2709
  {
2749
2710
  onClick: () => handleFeedback("like"),
@@ -2754,10 +2715,10 @@ var AiResponseActionsBar = ({ text }) => {
2754
2715
  color: feedback === "like" ? "#00e676" : (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2755
2716
  }
2756
2717
  },
2757
- children: /* @__PURE__ */ jsx4(ThumbUpIcon, { size: 18 })
2718
+ children: /* @__PURE__ */ jsx5(ThumbUpIcon, { size: 18 })
2758
2719
  }
2759
2720
  ) }),
2760
- /* @__PURE__ */ jsx4(Tooltip3, { title: "Dislike this response", children: /* @__PURE__ */ jsx4(
2721
+ /* @__PURE__ */ jsx5(Tooltip3, { title: "Dislike this response", children: /* @__PURE__ */ jsx5(
2761
2722
  IconButton3,
2762
2723
  {
2763
2724
  onClick: () => handleFeedback("dislike"),
@@ -2767,7 +2728,7 @@ var AiResponseActionsBar = ({ text }) => {
2767
2728
  color: feedback === "dislike" ? "#ff1744" : (theme) => theme.palette.mode === "dark" ? "#fff" : "#000"
2768
2729
  }
2769
2730
  },
2770
- children: /* @__PURE__ */ jsx4(ThumbDownIcon, { size: 18 })
2731
+ children: /* @__PURE__ */ jsx5(ThumbDownIcon, { size: 18 })
2771
2732
  }
2772
2733
  ) })
2773
2734
  ] });
@@ -2775,7 +2736,7 @@ var AiResponseActionsBar = ({ text }) => {
2775
2736
  var ai_response_action_bar_default = AiResponseActionsBar;
2776
2737
 
2777
2738
  // src/modals/chat-modal/ai-response-text-field.tsx
2778
- import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
2739
+ import { Fragment as Fragment3, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
2779
2740
  var brainIcon = "https://cdn.burtson.ai/images/brain-icon.png";
2780
2741
  var normalizeTables = (markdown2) => {
2781
2742
  const lines = markdown2.split("\n");
@@ -2890,7 +2851,7 @@ var MarkdownCodeBlock = ({
2890
2851
  variable: "#d97706"
2891
2852
  };
2892
2853
  if (!isProbablyBlock) {
2893
- return /* @__PURE__ */ jsx5(
2854
+ return /* @__PURE__ */ jsx6(
2894
2855
  "code",
2895
2856
  {
2896
2857
  style: {
@@ -2903,8 +2864,8 @@ var MarkdownCodeBlock = ({
2903
2864
  }
2904
2865
  );
2905
2866
  }
2906
- return /* @__PURE__ */ jsxs4(
2907
- Box5,
2867
+ return /* @__PURE__ */ jsxs5(
2868
+ Box6,
2908
2869
  {
2909
2870
  sx: {
2910
2871
  borderRadius: "4px",
@@ -2921,8 +2882,8 @@ var MarkdownCodeBlock = ({
2921
2882
  maxWidth: "100%"
2922
2883
  },
2923
2884
  children: [
2924
- /* @__PURE__ */ jsxs4(
2925
- Box5,
2885
+ /* @__PURE__ */ jsxs5(
2886
+ Box6,
2926
2887
  {
2927
2888
  sx: {
2928
2889
  px: 2,
@@ -2937,8 +2898,8 @@ var MarkdownCodeBlock = ({
2937
2898
  fontFamily: "inherit"
2938
2899
  },
2939
2900
  children: [
2940
- /* @__PURE__ */ jsx5("span", { children: languageLabel }),
2941
- /* @__PURE__ */ jsx5(Tooltip4, { title: copied ? "Copied!" : "Copy", arrow: true, children: /* @__PURE__ */ jsx5(
2901
+ /* @__PURE__ */ jsx6("span", { children: languageLabel }),
2902
+ /* @__PURE__ */ jsx6(Tooltip4, { title: copied ? "Copied!" : "Copy", arrow: true, children: /* @__PURE__ */ jsx6(
2942
2903
  IconButton4,
2943
2904
  {
2944
2905
  size: "small",
@@ -2948,14 +2909,14 @@ var MarkdownCodeBlock = ({
2948
2909
  "&:hover": { color: theme.palette.text.primary },
2949
2910
  padding: "4px"
2950
2911
  },
2951
- children: copied ? /* @__PURE__ */ jsx5(CheckIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx5(ContentCopyIcon, { fontSize: "small" })
2912
+ children: copied ? /* @__PURE__ */ jsx6(CheckIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx6(ContentCopyIcon, { fontSize: "small" })
2952
2913
  }
2953
2914
  ) })
2954
2915
  ]
2955
2916
  }
2956
2917
  ),
2957
- /* @__PURE__ */ jsx5(
2958
- Box5,
2918
+ /* @__PURE__ */ jsx6(
2919
+ Box6,
2959
2920
  {
2960
2921
  sx: {
2961
2922
  overflowX: "auto",
@@ -2989,7 +2950,7 @@ var MarkdownCodeBlock = ({
2989
2950
  color: highlightColors.variable
2990
2951
  }
2991
2952
  },
2992
- children: /* @__PURE__ */ jsx5("pre", { className: `hljs language-${languageClass}`, ...props, children: /* @__PURE__ */ jsx5("code", { className: "hljs", children: highlightedNodes }) })
2953
+ children: /* @__PURE__ */ jsx6("pre", { className: `hljs language-${languageClass}`, ...props, children: /* @__PURE__ */ jsx6("code", { className: "hljs", children: highlightedNodes }) })
2993
2954
  }
2994
2955
  )
2995
2956
  ]
@@ -3153,10 +3114,11 @@ var AIResponseTextField = ({
3153
3114
  ${sourcesMarkdownList.join("\n")}`;
3154
3115
  }, [response, sourcesMarkdownList]);
3155
3116
  const components = {
3117
+ img: MarkdownImage,
3156
3118
  mark({ children, node: _node, className, style, ...markProps }) {
3157
3119
  const contentText = React5.Children.toArray(children).map((child) => typeof child === "string" ? child : "").join("").trim();
3158
- return /* @__PURE__ */ jsx5(
3159
- Box5,
3120
+ return /* @__PURE__ */ jsx6(
3121
+ Box6,
3160
3122
  {
3161
3123
  component: "span",
3162
3124
  className,
@@ -3181,7 +3143,7 @@ ${sourcesMarkdownList.join("\n")}`;
3181
3143
  );
3182
3144
  },
3183
3145
  code({ inline, className, children, node: _node, ...codeProps }) {
3184
- return /* @__PURE__ */ jsx5(
3146
+ return /* @__PURE__ */ jsx6(
3185
3147
  MarkdownCodeBlock,
3186
3148
  {
3187
3149
  inline,
@@ -3194,7 +3156,7 @@ ${sourcesMarkdownList.join("\n")}`;
3194
3156
  );
3195
3157
  },
3196
3158
  a({ href, children, node: _node, style, ...anchorProps }) {
3197
- return /* @__PURE__ */ jsx5(
3159
+ return /* @__PURE__ */ jsx6(
3198
3160
  "a",
3199
3161
  {
3200
3162
  href,
@@ -3218,8 +3180,8 @@ ${sourcesMarkdownList.join("\n")}`;
3218
3180
  if (typeof inner === "string" && inner.trim().toUpperCase() === "CODE") {
3219
3181
  return null;
3220
3182
  }
3221
- return /* @__PURE__ */ jsx5(
3222
- Box5,
3183
+ return /* @__PURE__ */ jsx6(
3184
+ Box6,
3223
3185
  {
3224
3186
  sx: {
3225
3187
  fontFamily: "monospace",
@@ -3236,7 +3198,7 @@ ${sourcesMarkdownList.join("\n")}`;
3236
3198
  }
3237
3199
  );
3238
3200
  }
3239
- return /* @__PURE__ */ jsx5("em", { className, style, ...emProps, children });
3201
+ return /* @__PURE__ */ jsx6("em", { className, style, ...emProps, children });
3240
3202
  },
3241
3203
  ol({ children, node: _node, style, ...orderedListProps }) {
3242
3204
  const childArray = React5.Children.toArray(children);
@@ -3248,7 +3210,7 @@ ${sourcesMarkdownList.join("\n")}`;
3248
3210
  }
3249
3211
  if (typeof item === "string" && item.trim().startsWith(":")) {
3250
3212
  cleanedChildren.push(
3251
- /* @__PURE__ */ jsx5(
3213
+ /* @__PURE__ */ jsx6(
3252
3214
  Typography3,
3253
3215
  {
3254
3216
  sx: {
@@ -3267,7 +3229,7 @@ ${sourcesMarkdownList.join("\n")}`;
3267
3229
  cleanedChildren.push(item);
3268
3230
  }
3269
3231
  }
3270
- return /* @__PURE__ */ jsx5(
3232
+ return /* @__PURE__ */ jsx6(
3271
3233
  "ol",
3272
3234
  {
3273
3235
  ...orderedListProps,
@@ -3282,7 +3244,7 @@ ${sourcesMarkdownList.join("\n")}`;
3282
3244
  );
3283
3245
  },
3284
3246
  ul({ children, node: _node, style, ...unorderedListProps }) {
3285
- return /* @__PURE__ */ jsx5(
3247
+ return /* @__PURE__ */ jsx6(
3286
3248
  "ul",
3287
3249
  {
3288
3250
  ...unorderedListProps,
@@ -3317,11 +3279,11 @@ ${sourcesMarkdownList.join("\n")}`;
3317
3279
  const rest = childArray.slice(1);
3318
3280
  const isAllInline = rest.every(
3319
3281
  (el) => typeof el === "string" || React5.isValidElement(el) && // allow inline tags, but not <Box>
3320
- el.type !== Box5
3282
+ el.type !== Box6
3321
3283
  );
3322
3284
  if (isAllInline) {
3323
3285
  const displayLabel = labelText.replace(/:\s*$/, "");
3324
- return /* @__PURE__ */ jsxs4(
3286
+ return /* @__PURE__ */ jsxs5(
3325
3287
  "li",
3326
3288
  {
3327
3289
  style: {
@@ -3332,11 +3294,11 @@ ${sourcesMarkdownList.join("\n")}`;
3332
3294
  },
3333
3295
  ...listItemProps,
3334
3296
  children: [
3335
- /* @__PURE__ */ jsxs4("strong", { children: [
3297
+ /* @__PURE__ */ jsxs5("strong", { children: [
3336
3298
  displayLabel,
3337
3299
  ":"
3338
3300
  ] }),
3339
- rest.length > 0 && /* @__PURE__ */ jsxs4(Fragment3, { children: [
3301
+ rest.length > 0 && /* @__PURE__ */ jsxs5(Fragment3, { children: [
3340
3302
  " ",
3341
3303
  rest
3342
3304
  ] })
@@ -3346,16 +3308,16 @@ ${sourcesMarkdownList.join("\n")}`;
3346
3308
  }
3347
3309
  }
3348
3310
  }
3349
- if (childArray.length === 2 && React5.isValidElement(childArray[0]) && childArray[0].type === "strong" && React5.isValidElement(childArray[1]) && childArray[1].type === Box5) {
3311
+ if (childArray.length === 2 && React5.isValidElement(childArray[0]) && childArray[0].type === "strong" && React5.isValidElement(childArray[1]) && childArray[1].type === Box6) {
3350
3312
  const label = childArray[0].props.children;
3351
3313
  const desc = childArray[1].props.children;
3352
- return /* @__PURE__ */ jsx5(
3314
+ return /* @__PURE__ */ jsx6(
3353
3315
  "li",
3354
3316
  {
3355
3317
  style: { marginBottom: "0.5rem", lineHeight: 1.4, whiteSpace: "pre-wrap" },
3356
3318
  ...listItemProps,
3357
- children: /* @__PURE__ */ jsxs4("span", { children: [
3358
- /* @__PURE__ */ jsx5("strong", { children: label }),
3319
+ children: /* @__PURE__ */ jsxs5("span", { children: [
3320
+ /* @__PURE__ */ jsx6("strong", { children: label }),
3359
3321
  " ",
3360
3322
  desc
3361
3323
  ] })
@@ -3374,7 +3336,7 @@ ${sourcesMarkdownList.join("\n")}`;
3374
3336
  const prevKey = React5.isValidElement(prev) && prev.key != null ? prev.key : `li-strong-${i}`;
3375
3337
  filtered.pop();
3376
3338
  filtered.push(
3377
- /* @__PURE__ */ jsxs4("span", { children: [
3339
+ /* @__PURE__ */ jsxs5("span", { children: [
3378
3340
  prev,
3379
3341
  ": ",
3380
3342
  desc
@@ -3385,7 +3347,7 @@ ${sourcesMarkdownList.join("\n")}`;
3385
3347
  }
3386
3348
  filtered.push(item);
3387
3349
  }
3388
- return /* @__PURE__ */ jsx5(
3350
+ return /* @__PURE__ */ jsx6(
3389
3351
  "li",
3390
3352
  {
3391
3353
  ...listItemProps,
@@ -3400,19 +3362,19 @@ ${sourcesMarkdownList.join("\n")}`;
3400
3362
  );
3401
3363
  },
3402
3364
  table({ children, node: _node, className, style, ...tableProps }) {
3403
- return /* @__PURE__ */ jsx5(
3365
+ return /* @__PURE__ */ jsx6(
3404
3366
  TableContainer,
3405
3367
  {
3406
3368
  component: Paper2,
3407
3369
  className,
3408
3370
  style,
3409
3371
  sx: { my: 2, bgcolor: theme.palette.background.paper },
3410
- children: /* @__PURE__ */ jsx5(Table, { size: "small", ...tableProps, children })
3372
+ children: /* @__PURE__ */ jsx6(Table, { size: "small", ...tableProps, children })
3411
3373
  }
3412
3374
  );
3413
3375
  },
3414
3376
  thead({ children, node: _node, ...tableHeadProps }) {
3415
- return /* @__PURE__ */ jsx5(TableHead, { ...tableHeadProps, children });
3377
+ return /* @__PURE__ */ jsx6(TableHead, { ...tableHeadProps, children });
3416
3378
  },
3417
3379
  tbody({ children, node: _node, ...tableBodyProps }) {
3418
3380
  const rows = React5.Children.toArray(children).filter((row) => {
@@ -3422,13 +3384,13 @@ ${sourcesMarkdownList.join("\n")}`;
3422
3384
  (cell) => React5.isValidElement(cell) && typeof cell.props.children === "string" && /^-+$/.test(cell.props.children.trim())
3423
3385
  );
3424
3386
  });
3425
- return /* @__PURE__ */ jsx5(TableBody, { ...tableBodyProps, children: rows });
3387
+ return /* @__PURE__ */ jsx6(TableBody, { ...tableBodyProps, children: rows });
3426
3388
  },
3427
3389
  tr({ children, node: _node, ...tableRowProps }) {
3428
- return /* @__PURE__ */ jsx5(TableRow, { ...tableRowProps, children });
3390
+ return /* @__PURE__ */ jsx6(TableRow, { ...tableRowProps, children });
3429
3391
  },
3430
3392
  th({ children, node: _node, ...tableCellProps }) {
3431
- return /* @__PURE__ */ jsx5(
3393
+ return /* @__PURE__ */ jsx6(
3432
3394
  TableCell,
3433
3395
  {
3434
3396
  ...tableCellProps,
@@ -3445,7 +3407,7 @@ ${sourcesMarkdownList.join("\n")}`;
3445
3407
  );
3446
3408
  },
3447
3409
  td({ children, node: _node, ...tableCellProps }) {
3448
- return /* @__PURE__ */ jsx5(
3410
+ return /* @__PURE__ */ jsx6(
3449
3411
  TableCell,
3450
3412
  {
3451
3413
  ...tableCellProps,
@@ -3465,9 +3427,9 @@ ${sourcesMarkdownList.join("\n")}`;
3465
3427
  (child) => typeof child === "object" && child !== null && "type" in child && typeof child.type === "string" && ["div", "Box", "section", "ul", "ol", "table"].includes(child.type)
3466
3428
  );
3467
3429
  if (hasBlock) {
3468
- return /* @__PURE__ */ jsx5(Fragment3, { children: flattened });
3430
+ return /* @__PURE__ */ jsx6(Fragment3, { children: flattened });
3469
3431
  }
3470
- return /* @__PURE__ */ jsx5(Box5, { component: "div", sx: { margin: "0.25rem 0" }, children: /* @__PURE__ */ jsx5(
3432
+ return /* @__PURE__ */ jsx6(Box6, { component: "div", sx: { margin: "0.25rem 0" }, children: /* @__PURE__ */ jsx6(
3471
3433
  Typography3,
3472
3434
  {
3473
3435
  component: "div",
@@ -3481,9 +3443,9 @@ ${sourcesMarkdownList.join("\n")}`;
3481
3443
  ) });
3482
3444
  }
3483
3445
  };
3484
- return /* @__PURE__ */ jsxs4(Fragment3, { children: [
3485
- /* @__PURE__ */ jsxs4(
3486
- Box5,
3446
+ return /* @__PURE__ */ jsxs5(Fragment3, { children: [
3447
+ /* @__PURE__ */ jsxs5(
3448
+ Box6,
3487
3449
  {
3488
3450
  sx: {
3489
3451
  width: "100%",
@@ -3499,9 +3461,9 @@ ${sourcesMarkdownList.join("\n")}`;
3499
3461
  "&:hover .ai-response-actions": { opacity: 1 }
3500
3462
  },
3501
3463
  children: [
3502
- /* @__PURE__ */ jsx5(Box5, { sx: { display: "flex", justifyContent: "flex-end", mb: 2.5 }, children: /* @__PURE__ */ jsxs4(Box5, { sx: { maxWidth: { xs: "100%", sm: "85%" }, minWidth: 0 }, children: [
3503
- /* @__PURE__ */ jsx5(
3504
- Box5,
3464
+ /* @__PURE__ */ jsx6(Box6, { sx: { display: "flex", justifyContent: "flex-end", mb: 2.5 }, children: /* @__PURE__ */ jsxs5(Box6, { sx: { maxWidth: { xs: "100%", sm: "85%" }, minWidth: 0 }, children: [
3465
+ /* @__PURE__ */ jsx6(
3466
+ Box6,
3505
3467
  {
3506
3468
  sx: {
3507
3469
  bgcolor: chatResponse.userBubble || alpha(theme.palette.common.white, 0.07),
@@ -3512,7 +3474,7 @@ ${sourcesMarkdownList.join("\n")}`;
3512
3474
  whiteSpace: "pre-wrap",
3513
3475
  overflowWrap: "break-word"
3514
3476
  },
3515
- children: /* @__PURE__ */ jsx5(
3477
+ children: /* @__PURE__ */ jsx6(
3516
3478
  Typography3,
3517
3479
  {
3518
3480
  sx: {
@@ -3526,7 +3488,7 @@ ${sourcesMarkdownList.join("\n")}`;
3526
3488
  )
3527
3489
  }
3528
3490
  ),
3529
- images && images.length > 0 && /* @__PURE__ */ jsx5(Box5, { sx: { display: "flex", gap: 1, mt: 1, flexWrap: "wrap", justifyContent: "flex-end" }, children: images.map((img, i) => /* @__PURE__ */ jsx5(
3491
+ images && images.length > 0 && /* @__PURE__ */ jsx6(Box6, { sx: { display: "flex", gap: 1, mt: 1, flexWrap: "wrap", justifyContent: "flex-end" }, children: images.map((img, i) => /* @__PURE__ */ jsx6(
3530
3492
  Avatar,
3531
3493
  {
3532
3494
  src: img,
@@ -3544,9 +3506,9 @@ ${sourcesMarkdownList.join("\n")}`;
3544
3506
  i
3545
3507
  )) })
3546
3508
  ] }) }),
3547
- /* @__PURE__ */ jsxs4(Box5, { sx: { position: "relative", width: "100%", maxWidth: { xs: "100%", sm: "768px" } }, children: [
3548
- cancelled && /* @__PURE__ */ jsx5(
3549
- Box5,
3509
+ /* @__PURE__ */ jsxs5(Box6, { sx: { position: "relative", width: "100%", maxWidth: { xs: "100%", sm: "768px" } }, children: [
3510
+ cancelled && /* @__PURE__ */ jsx6(
3511
+ Box6,
3550
3512
  {
3551
3513
  sx: {
3552
3514
  position: "absolute",
@@ -3557,11 +3519,11 @@ ${sourcesMarkdownList.join("\n")}`;
3557
3519
  gap: 1,
3558
3520
  zIndex: 1
3559
3521
  },
3560
- children: /* @__PURE__ */ jsx5(Typography3, { variant: "caption", sx: { fontStyle: "italic", opacity: 0.85 }, children: "Cancelled by you" })
3522
+ children: /* @__PURE__ */ jsx6(Typography3, { variant: "caption", sx: { fontStyle: "italic", opacity: 0.85 }, children: "Cancelled by you" })
3561
3523
  }
3562
3524
  ),
3563
- showMemoryUpdated && /* @__PURE__ */ jsxs4(
3564
- Box5,
3525
+ showMemoryUpdated && /* @__PURE__ */ jsxs5(
3526
+ Box6,
3565
3527
  {
3566
3528
  sx: {
3567
3529
  position: "absolute",
@@ -3574,8 +3536,8 @@ ${sourcesMarkdownList.join("\n")}`;
3574
3536
  zIndex: 1
3575
3537
  },
3576
3538
  children: [
3577
- /* @__PURE__ */ jsx5("img", { src: brainIcon, alt: "Memory", style: { width: 16, height: 16 } }),
3578
- /* @__PURE__ */ jsx5(
3539
+ /* @__PURE__ */ jsx6("img", { src: brainIcon, alt: "Memory", style: { width: 16, height: 16 } }),
3540
+ /* @__PURE__ */ jsx6(
3579
3541
  Typography3,
3580
3542
  {
3581
3543
  variant: "caption",
@@ -3586,7 +3548,7 @@ ${sourcesMarkdownList.join("\n")}`;
3586
3548
  ]
3587
3549
  }
3588
3550
  ),
3589
- /* @__PURE__ */ jsx5(Box5, { sx: { width: "100%", maxWidth: "100%" }, children: typeof response === "string" ? /* @__PURE__ */ jsx5(
3551
+ /* @__PURE__ */ jsx6(Box6, { sx: { width: "100%", maxWidth: "100%" }, children: typeof response === "string" ? /* @__PURE__ */ jsx6(
3590
3552
  ReactMarkdown,
3591
3553
  {
3592
3554
  remarkPlugins: [remarkGfm],
@@ -3594,10 +3556,10 @@ ${sourcesMarkdownList.join("\n")}`;
3594
3556
  components,
3595
3557
  children: enrichedMarkdown ?? sanitizeMarkdown(response)
3596
3558
  }
3597
- ) : React5.isValidElement(response) ? response : /* @__PURE__ */ jsx5(Typography3, { color: "error", children: "\u26A0\uFE0F Invalid AI response" }) })
3559
+ ) : React5.isValidElement(response) ? response : /* @__PURE__ */ jsx6(Typography3, { color: "error", children: "\u26A0\uFE0F Invalid AI response" }) })
3598
3560
  ] }),
3599
- !!(responseText || typeof response === "string" && response) && /* @__PURE__ */ jsx5(
3600
- Box5,
3561
+ !!(responseText || typeof response === "string" && response) && /* @__PURE__ */ jsx6(
3562
+ Box6,
3601
3563
  {
3602
3564
  className: "ai-response-actions",
3603
3565
  sx: revealActionsOnHover ? {
@@ -3605,16 +3567,16 @@ ${sourcesMarkdownList.join("\n")}`;
3605
3567
  transition: "opacity 0.15s ease",
3606
3568
  "&:focus-within": { opacity: 1 }
3607
3569
  } : void 0,
3608
- children: /* @__PURE__ */ jsx5(ai_response_action_bar_default, { text: responseText || response })
3570
+ children: /* @__PURE__ */ jsx6(ai_response_action_bar_default, { text: responseText || response })
3609
3571
  }
3610
3572
  ),
3611
- displaySourceFiles && displaySourceFiles.length > 0 && /* @__PURE__ */ jsx5(Box5, { sx: { mt: 1.5, display: "flex", gap: 2, flexWrap: "wrap", justifyContent: "flex-start" }, children: displaySourceFiles.map((doc, idx) => {
3573
+ displaySourceFiles && displaySourceFiles.length > 0 && /* @__PURE__ */ jsx6(Box6, { sx: { mt: 1.5, display: "flex", gap: 2, flexWrap: "wrap", justifyContent: "flex-start" }, children: displaySourceFiles.map((doc, idx) => {
3612
3574
  debugLogger.debug("Rendering DocumentCard in AI response", {
3613
3575
  index: idx,
3614
3576
  id: doc.id,
3615
3577
  name: doc.name
3616
3578
  });
3617
- return /* @__PURE__ */ jsx5(
3579
+ return /* @__PURE__ */ jsx6(
3618
3580
  DocumentCard_default,
3619
3581
  {
3620
3582
  doc,
@@ -3629,8 +3591,8 @@ ${sourcesMarkdownList.join("\n")}`;
3629
3591
  ]
3630
3592
  }
3631
3593
  ),
3632
- /* @__PURE__ */ jsx5(Modal, { open: !!openImage, onClose: () => setOpenImage(null), children: /* @__PURE__ */ jsxs4(
3633
- Box5,
3594
+ /* @__PURE__ */ jsx6(Modal, { open: !!openImage, onClose: () => setOpenImage(null), children: /* @__PURE__ */ jsxs5(
3595
+ Box6,
3634
3596
  {
3635
3597
  sx: {
3636
3598
  display: "flex",
@@ -3642,7 +3604,7 @@ ${sourcesMarkdownList.join("\n")}`;
3642
3604
  position: "relative"
3643
3605
  },
3644
3606
  children: [
3645
- /* @__PURE__ */ jsx5(
3607
+ /* @__PURE__ */ jsx6(
3646
3608
  IconButton4,
3647
3609
  {
3648
3610
  onClick: () => setOpenImage(null),
@@ -3656,11 +3618,11 @@ ${sourcesMarkdownList.join("\n")}`;
3656
3618
  bgcolor: "rgba(255,255,255,0.2)"
3657
3619
  }
3658
3620
  },
3659
- children: /* @__PURE__ */ jsx5(CloseIcon, {})
3621
+ children: /* @__PURE__ */ jsx6(CloseIcon, {})
3660
3622
  }
3661
3623
  ),
3662
- /* @__PURE__ */ jsx5(
3663
- Box5,
3624
+ /* @__PURE__ */ jsx6(
3625
+ Box6,
3664
3626
  {
3665
3627
  component: "img",
3666
3628
  src: openImage || "",
@@ -3678,7 +3640,7 @@ ${sourcesMarkdownList.join("\n")}`;
3678
3640
  ]
3679
3641
  }
3680
3642
  ) }),
3681
- /* @__PURE__ */ jsx5(
3643
+ /* @__PURE__ */ jsx6(
3682
3644
  knowledge_file_modal_default,
3683
3645
  {
3684
3646
  open: !!openDoc,
@@ -3713,7 +3675,7 @@ import {
3713
3675
  InputLabel,
3714
3676
  Select,
3715
3677
  MenuItem,
3716
- Box as Box6,
3678
+ Box as Box7,
3717
3679
  Typography as Typography4,
3718
3680
  IconButton as IconButton5,
3719
3681
  Chip as Chip2,
@@ -3727,9 +3689,9 @@ import {
3727
3689
  useMediaQuery as useMediaQuery2,
3728
3690
  Snackbar
3729
3691
  } from "@mui/material";
3730
- import { X as CloseIcon2, Bug as BugReportIcon, Lightbulb as LightbulbIcon, TrendingUp as TrendingUpIcon, HelpCircle as HelpIcon, MessageSquare as MessageIcon, Camera as PhotoCameraIcon, Paperclip as AttachFileIcon, Trash2 as DeleteIcon2, Mail as MailIcon } from "lucide-react";
3692
+ import { X as CloseIcon2, Bug as BugReportIcon, Lightbulb as LightbulbIcon, TrendingUp as TrendingUpIcon, HelpCircle as HelpIcon, MessageSquare as MessageIcon, Camera as PhotoCameraIcon, Paperclip as AttachFileIcon, Trash as DeleteIcon2, Mail as MailIcon } from "@burtson-labs/icons/react";
3731
3693
  import { useTheme as useTheme4, alpha as alpha2 } from "@mui/material/styles";
3732
- import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
3694
+ import { Fragment as Fragment4, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
3733
3695
  var feedbackCategories = {
3734
3696
  bug: {
3735
3697
  label: "Bug Report",
@@ -4030,8 +3992,8 @@ var FeedbackModal = ({
4030
3992
  const selectedPriority = feedbackPriorities[formData.priority];
4031
3993
  const IconComponent = iconMap[selectedCategory?.icon] || MessageIcon;
4032
3994
  const isValid = !!formData.title?.trim() && !!formData.description?.trim();
4033
- return /* @__PURE__ */ jsxs5(Fragment4, { children: [
4034
- /* @__PURE__ */ jsx6(GlobalStyles, { styles: {
3995
+ return /* @__PURE__ */ jsxs6(Fragment4, { children: [
3996
+ /* @__PURE__ */ jsx7(GlobalStyles, { styles: {
4035
3997
  "::-webkit-scrollbar": {
4036
3998
  width: "8px"
4037
3999
  },
@@ -4044,7 +4006,7 @@ var FeedbackModal = ({
4044
4006
  border: "1px solid #222"
4045
4007
  }
4046
4008
  } }),
4047
- /* @__PURE__ */ jsxs5(
4009
+ /* @__PURE__ */ jsxs6(
4048
4010
  Dialog2,
4049
4011
  {
4050
4012
  open,
@@ -4086,7 +4048,7 @@ var FeedbackModal = ({
4086
4048
  }
4087
4049
  },
4088
4050
  children: [
4089
- /* @__PURE__ */ jsxs5(
4051
+ /* @__PURE__ */ jsxs6(
4090
4052
  DialogTitle,
4091
4053
  {
4092
4054
  onTouchStart: handleHeaderTouchStart,
@@ -4103,8 +4065,8 @@ var FeedbackModal = ({
4103
4065
  touchAction: "pan-y"
4104
4066
  },
4105
4067
  children: [
4106
- isMobile && /* @__PURE__ */ jsx6(
4107
- Box6,
4068
+ isMobile && /* @__PURE__ */ jsx7(
4069
+ Box7,
4108
4070
  {
4109
4071
  sx: {
4110
4072
  width: 56,
@@ -4116,8 +4078,8 @@ var FeedbackModal = ({
4116
4078
  }
4117
4079
  }
4118
4080
  ),
4119
- /* @__PURE__ */ jsxs5(
4120
- Box6,
4081
+ /* @__PURE__ */ jsxs6(
4082
+ Box7,
4121
4083
  {
4122
4084
  sx: {
4123
4085
  display: "flex",
@@ -4127,18 +4089,18 @@ var FeedbackModal = ({
4127
4089
  width: "100%"
4128
4090
  },
4129
4091
  children: [
4130
- /* @__PURE__ */ jsxs5(Stack, { spacing: 0.5, sx: { minWidth: 0 }, children: [
4131
- /* @__PURE__ */ jsx6(Typography4, { variant: "h6", fontWeight: "bold", noWrap: true, children: "Send Feedback" }),
4132
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", color: "text.secondary", noWrap: true, children: "Help us improve Bandit AI" })
4092
+ /* @__PURE__ */ jsxs6(Stack, { spacing: 0.5, sx: { minWidth: 0 }, children: [
4093
+ /* @__PURE__ */ jsx7(Typography4, { variant: "h6", fontWeight: "bold", noWrap: true, children: "Send Feedback" }),
4094
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", color: "text.secondary", noWrap: true, children: "Help us improve Bandit AI" })
4133
4095
  ] }),
4134
- /* @__PURE__ */ jsx6(IconButton5, { onClick: handleClose, size: "small", children: /* @__PURE__ */ jsx6(CloseIcon2, {}) })
4096
+ /* @__PURE__ */ jsx7(IconButton5, { onClick: handleClose, size: "small", children: /* @__PURE__ */ jsx7(CloseIcon2, {}) })
4135
4097
  ]
4136
4098
  }
4137
4099
  )
4138
4100
  ]
4139
4101
  }
4140
4102
  ),
4141
- /* @__PURE__ */ jsxs5(
4103
+ /* @__PURE__ */ jsxs6(
4142
4104
  DialogContent,
4143
4105
  {
4144
4106
  sx: {
@@ -4149,7 +4111,7 @@ var FeedbackModal = ({
4149
4111
  scrollbarGutter: "stable"
4150
4112
  },
4151
4113
  children: [
4152
- submitStatus === "success" && /* @__PURE__ */ jsxs5(
4114
+ submitStatus === "success" && /* @__PURE__ */ jsxs6(
4153
4115
  Alert3,
4154
4116
  {
4155
4117
  severity: "success",
@@ -4163,12 +4125,12 @@ var FeedbackModal = ({
4163
4125
  borderRadius: 2
4164
4126
  },
4165
4127
  children: [
4166
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", sx: { fontWeight: 600 }, children: "Feedback submitted successfully!" }),
4167
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", display: "block", sx: { mt: 0.5, opacity: 0.9 }, children: formData.images && formData.images.length > 0 ? "Your email client should open with the feedback details. The image has been copied to your clipboard - paste it in the email!" : formData.attachments && formData.attachments.length > 0 ? "Your email client should open with the feedback details. Please manually attach your files to the email." : "Your email client should open with the feedback details." })
4128
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", sx: { fontWeight: 600 }, children: "Feedback submitted successfully!" }),
4129
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", display: "block", sx: { mt: 0.5, opacity: 0.9 }, children: formData.images && formData.images.length > 0 ? "Your email client should open with the feedback details. The image has been copied to your clipboard - paste it in the email!" : formData.attachments && formData.attachments.length > 0 ? "Your email client should open with the feedback details. Please manually attach your files to the email." : "Your email client should open with the feedback details." })
4168
4130
  ]
4169
4131
  }
4170
4132
  ),
4171
- errorMessage && /* @__PURE__ */ jsx6(
4133
+ errorMessage && /* @__PURE__ */ jsx7(
4172
4134
  Alert3,
4173
4135
  {
4174
4136
  severity: "error",
@@ -4184,8 +4146,8 @@ var FeedbackModal = ({
4184
4146
  children: errorMessage
4185
4147
  }
4186
4148
  ),
4187
- /* @__PURE__ */ jsxs5(
4188
- Box6,
4149
+ /* @__PURE__ */ jsxs6(
4150
+ Box7,
4189
4151
  {
4190
4152
  sx: {
4191
4153
  display: "grid",
@@ -4199,8 +4161,8 @@ var FeedbackModal = ({
4199
4161
  pt: 1.5
4200
4162
  },
4201
4163
  children: [
4202
- /* @__PURE__ */ jsxs5(
4203
- Box6,
4164
+ /* @__PURE__ */ jsxs6(
4165
+ Box7,
4204
4166
  {
4205
4167
  sx: {
4206
4168
  display: "grid",
@@ -4210,7 +4172,7 @@ var FeedbackModal = ({
4210
4172
  mb: 0
4211
4173
  },
4212
4174
  children: [
4213
- /* @__PURE__ */ jsx6(
4175
+ /* @__PURE__ */ jsx7(
4214
4176
  TextField,
4215
4177
  {
4216
4178
  fullWidth: true,
@@ -4242,7 +4204,7 @@ var FeedbackModal = ({
4242
4204
  }
4243
4205
  }
4244
4206
  ),
4245
- /* @__PURE__ */ jsxs5(
4207
+ /* @__PURE__ */ jsxs6(
4246
4208
  FormControl,
4247
4209
  {
4248
4210
  fullWidth: true,
@@ -4266,8 +4228,8 @@ var FeedbackModal = ({
4266
4228
  }
4267
4229
  },
4268
4230
  children: [
4269
- /* @__PURE__ */ jsx6(InputLabel, { shrink: true, id: "category-label", children: "Category" }),
4270
- /* @__PURE__ */ jsx6(
4231
+ /* @__PURE__ */ jsx7(InputLabel, { shrink: true, id: "category-label", children: "Category" }),
4232
+ /* @__PURE__ */ jsx7(
4271
4233
  Select,
4272
4234
  {
4273
4235
  labelId: "category-label",
@@ -4277,11 +4239,11 @@ var FeedbackModal = ({
4277
4239
  onChange: handleInputChange("category"),
4278
4240
  children: Object.entries(feedbackCategories).map(([key, category]) => {
4279
4241
  const Icon = iconMap[category.icon];
4280
- return /* @__PURE__ */ jsx6(MenuItem, { value: key, children: /* @__PURE__ */ jsxs5(Box6, { sx: { display: "flex", alignItems: "center", gap: 1.5 }, children: [
4281
- /* @__PURE__ */ jsx6(Icon, { size: 20, color: category.color }),
4282
- /* @__PURE__ */ jsxs5(Box6, { children: [
4283
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: category.label }),
4284
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", color: "text.secondary", children: category.description })
4242
+ return /* @__PURE__ */ jsx7(MenuItem, { value: key, children: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1.5 }, children: [
4243
+ /* @__PURE__ */ jsx7(Icon, { size: 20, color: category.color }),
4244
+ /* @__PURE__ */ jsxs6(Box7, { children: [
4245
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: category.label }),
4246
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", color: "text.secondary", children: category.description })
4285
4247
  ] })
4286
4248
  ] }) }, key);
4287
4249
  })
@@ -4290,7 +4252,7 @@ var FeedbackModal = ({
4290
4252
  ]
4291
4253
  }
4292
4254
  ),
4293
- /* @__PURE__ */ jsxs5(
4255
+ /* @__PURE__ */ jsxs6(
4294
4256
  FormControl,
4295
4257
  {
4296
4258
  fullWidth: true,
@@ -4314,8 +4276,8 @@ var FeedbackModal = ({
4314
4276
  }
4315
4277
  },
4316
4278
  children: [
4317
- /* @__PURE__ */ jsx6(InputLabel, { shrink: true, id: "priority-label", children: "Priority" }),
4318
- /* @__PURE__ */ jsx6(
4279
+ /* @__PURE__ */ jsx7(InputLabel, { shrink: true, id: "priority-label", children: "Priority" }),
4280
+ /* @__PURE__ */ jsx7(
4319
4281
  Select,
4320
4282
  {
4321
4283
  labelId: "priority-label",
@@ -4323,9 +4285,9 @@ var FeedbackModal = ({
4323
4285
  value: formData.priority,
4324
4286
  label: "Priority",
4325
4287
  onChange: handleInputChange("priority"),
4326
- children: Object.entries(feedbackPriorities).map(([key, priority]) => /* @__PURE__ */ jsx6(MenuItem, { value: key, children: /* @__PURE__ */ jsxs5(Box6, { sx: { display: "flex", alignItems: "center", gap: 1.5 }, children: [
4327
- /* @__PURE__ */ jsx6(
4328
- Box6,
4288
+ children: Object.entries(feedbackPriorities).map(([key, priority]) => /* @__PURE__ */ jsx7(MenuItem, { value: key, children: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1.5 }, children: [
4289
+ /* @__PURE__ */ jsx7(
4290
+ Box7,
4329
4291
  {
4330
4292
  sx: {
4331
4293
  width: 12,
@@ -4336,9 +4298,9 @@ var FeedbackModal = ({
4336
4298
  }
4337
4299
  }
4338
4300
  ),
4339
- /* @__PURE__ */ jsxs5(Box6, { children: [
4340
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: priority.label }),
4341
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", color: "text.secondary", children: priority.description })
4301
+ /* @__PURE__ */ jsxs6(Box7, { children: [
4302
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: priority.label }),
4303
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", color: "text.secondary", children: priority.description })
4342
4304
  ] })
4343
4305
  ] }) }, key))
4344
4306
  }
@@ -4346,7 +4308,7 @@ var FeedbackModal = ({
4346
4308
  ]
4347
4309
  }
4348
4310
  ),
4349
- /* @__PURE__ */ jsx6(
4311
+ /* @__PURE__ */ jsx7(
4350
4312
  TextField,
4351
4313
  {
4352
4314
  fullWidth: true,
@@ -4385,8 +4347,8 @@ var FeedbackModal = ({
4385
4347
  ]
4386
4348
  }
4387
4349
  ),
4388
- /* @__PURE__ */ jsxs5(
4389
- Box6,
4350
+ /* @__PURE__ */ jsxs6(
4351
+ Box7,
4390
4352
  {
4391
4353
  className: "feedback-section-row",
4392
4354
  sx: {
@@ -4399,13 +4361,13 @@ var FeedbackModal = ({
4399
4361
  flexDirection: { xs: "column", md: "row" }
4400
4362
  },
4401
4363
  children: [
4402
- /* @__PURE__ */ jsxs5(
4403
- Box6,
4364
+ /* @__PURE__ */ jsxs6(
4365
+ Box7,
4404
4366
  {
4405
4367
  className: "impact-section",
4406
4368
  sx: { flex: 1, minWidth: 260, display: "flex", flexDirection: "column" },
4407
4369
  children: [
4408
- /* @__PURE__ */ jsxs5(Typography4, { variant: "body2", sx: { fontWeight: 600, mb: 0.5 }, children: [
4370
+ /* @__PURE__ */ jsxs6(Typography4, { variant: "body2", sx: { fontWeight: 600, mb: 0.5 }, children: [
4409
4371
  "How annoying is this?",
4410
4372
  " ",
4411
4373
  ["\u{1F60A}", "\u{1F610}", "\u{1F644}", "\u{1F620}", "\u{1F92C}"][(formData.annoyanceLevel ?? 3) - 1],
@@ -4414,7 +4376,7 @@ var FeedbackModal = ({
4414
4376
  formData.annoyanceLevel ?? 3,
4415
4377
  "/5)"
4416
4378
  ] }),
4417
- /* @__PURE__ */ jsx6(Box6, { sx: { px: 1 }, children: /* @__PURE__ */ jsx6(
4379
+ /* @__PURE__ */ jsx7(Box7, { sx: { px: 1 }, children: /* @__PURE__ */ jsx7(
4418
4380
  Slider,
4419
4381
  {
4420
4382
  size: "small",
@@ -4438,8 +4400,8 @@ var FeedbackModal = ({
4438
4400
  ]
4439
4401
  }
4440
4402
  ),
4441
- /* @__PURE__ */ jsxs5(
4442
- Box6,
4403
+ /* @__PURE__ */ jsxs6(
4404
+ Box7,
4443
4405
  {
4444
4406
  className: "attachments-upload-card attachments-section",
4445
4407
  sx: {
@@ -4451,8 +4413,8 @@ var FeedbackModal = ({
4451
4413
  p: 0
4452
4414
  },
4453
4415
  children: [
4454
- /* @__PURE__ */ jsx6("div", { style: { display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ jsxs5(Box6, { onClick: () => fileInputRef.current?.click(), children: [
4455
- /* @__PURE__ */ jsx6(
4416
+ /* @__PURE__ */ jsx7("div", { style: { display: "flex", flexDirection: "column" }, children: /* @__PURE__ */ jsxs6(Box7, { onClick: () => fileInputRef.current?.click(), children: [
4417
+ /* @__PURE__ */ jsx7(
4456
4418
  "input",
4457
4419
  {
4458
4420
  ref: fileInputRef,
@@ -4462,8 +4424,8 @@ var FeedbackModal = ({
4462
4424
  onChange: handleFileUpload
4463
4425
  }
4464
4426
  ),
4465
- /* @__PURE__ */ jsxs5(
4466
- Box6,
4427
+ /* @__PURE__ */ jsxs6(
4428
+ Box7,
4467
4429
  {
4468
4430
  sx: {
4469
4431
  display: "flex",
@@ -4479,13 +4441,13 @@ var FeedbackModal = ({
4479
4441
  "&:hover": { borderColor: theme.palette.primary.main, color: theme.palette.primary.main }
4480
4442
  },
4481
4443
  children: [
4482
- /* @__PURE__ */ jsx6(AttachFileIcon, { size: 18 }),
4483
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: "Attach an image" }),
4484
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", color: "text.secondary", sx: { ml: "auto" }, children: "JPG/PNG/GIF \xB7 10MB" })
4444
+ /* @__PURE__ */ jsx7(AttachFileIcon, { size: 18 }),
4445
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", sx: { fontWeight: 500 }, children: "Attach an image" }),
4446
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", color: "text.secondary", sx: { ml: "auto" }, children: "JPG/PNG/GIF \xB7 10MB" })
4485
4447
  ]
4486
4448
  }
4487
4449
  ),
4488
- (formData.images && formData.images.length > 0 || formData.attachments && formData.attachments.length > 0) && /* @__PURE__ */ jsx6(
4450
+ (formData.images && formData.images.length > 0 || formData.attachments && formData.attachments.length > 0) && /* @__PURE__ */ jsx7(
4489
4451
  Alert3,
4490
4452
  {
4491
4453
  severity: "info",
@@ -4504,18 +4466,18 @@ var FeedbackModal = ({
4504
4466
  fontSize: "0.75rem"
4505
4467
  }
4506
4468
  },
4507
- children: /* @__PURE__ */ jsx6(Typography4, { variant: "caption", sx: { fontWeight: 600, display: "block" }, children: formData.images && formData.images.length > 0 ? "\u{1F4CE} Image will be copied to clipboard - paste in email!" : "\u{1F4CE} Files ready for email attachment" })
4469
+ children: /* @__PURE__ */ jsx7(Typography4, { variant: "caption", sx: { fontWeight: 600, display: "block" }, children: formData.images && formData.images.length > 0 ? "\u{1F4CE} Image will be copied to clipboard - paste in email!" : "\u{1F4CE} Files ready for email attachment" })
4508
4470
  }
4509
4471
  )
4510
4472
  ] }) }),
4511
- formData.images && formData.images.length > 0 && /* @__PURE__ */ jsxs5(Box6, { sx: { mt: 2 }, children: [
4512
- /* @__PURE__ */ jsxs5(Box6, { sx: { display: "flex", alignItems: "center", gap: 1, mb: 1.5 }, children: [
4513
- /* @__PURE__ */ jsx6(PhotoCameraIcon, { size: 16 }),
4514
- /* @__PURE__ */ jsx6(Typography4, { variant: "subtitle2", sx: { fontWeight: 600 }, children: "Attached Image" })
4473
+ formData.images && formData.images.length > 0 && /* @__PURE__ */ jsxs6(Box7, { sx: { mt: 2 }, children: [
4474
+ /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1, mb: 1.5 }, children: [
4475
+ /* @__PURE__ */ jsx7(PhotoCameraIcon, { size: 16 }),
4476
+ /* @__PURE__ */ jsx7(Typography4, { variant: "subtitle2", sx: { fontWeight: 600 }, children: "Attached Image" })
4515
4477
  ] }),
4516
- /* @__PURE__ */ jsxs5(Box6, { sx: { display: "flex", gap: 1.5 }, children: [
4517
- /* @__PURE__ */ jsxs5(
4518
- Box6,
4478
+ /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", gap: 1.5 }, children: [
4479
+ /* @__PURE__ */ jsxs6(
4480
+ Box7,
4519
4481
  {
4520
4482
  sx: {
4521
4483
  position: "relative",
@@ -4529,7 +4491,7 @@ var FeedbackModal = ({
4529
4491
  }
4530
4492
  },
4531
4493
  children: [
4532
- /* @__PURE__ */ jsx6(
4494
+ /* @__PURE__ */ jsx7(
4533
4495
  "img",
4534
4496
  {
4535
4497
  src: formData.images[0],
@@ -4542,7 +4504,7 @@ var FeedbackModal = ({
4542
4504
  }
4543
4505
  }
4544
4506
  ),
4545
- /* @__PURE__ */ jsx6(
4507
+ /* @__PURE__ */ jsx7(
4546
4508
  IconButton5,
4547
4509
  {
4548
4510
  size: "small",
@@ -4560,20 +4522,20 @@ var FeedbackModal = ({
4560
4522
  transform: "scale(1.1)"
4561
4523
  }
4562
4524
  },
4563
- children: /* @__PURE__ */ jsx6(DeleteIcon2, { size: 14 })
4525
+ children: /* @__PURE__ */ jsx7(DeleteIcon2, { size: 14 })
4564
4526
  }
4565
4527
  )
4566
4528
  ]
4567
4529
  }
4568
4530
  ),
4569
- /* @__PURE__ */ jsxs5(Box6, { sx: { flex: 1, display: "flex", flexDirection: "column", justifyContent: "center" }, children: [
4570
- /* @__PURE__ */ jsx6(
4531
+ /* @__PURE__ */ jsxs6(Box7, { sx: { flex: 1, display: "flex", flexDirection: "column", justifyContent: "center" }, children: [
4532
+ /* @__PURE__ */ jsx7(
4571
4533
  Button3,
4572
4534
  {
4573
4535
  variant: "outlined",
4574
4536
  size: "small",
4575
4537
  onClick: copyImageToClipboard,
4576
- startIcon: /* @__PURE__ */ jsx6(AttachFileIcon, {}),
4538
+ startIcon: /* @__PURE__ */ jsx7(AttachFileIcon, {}),
4577
4539
  sx: {
4578
4540
  mb: 1,
4579
4541
  borderColor: theme.palette.primary.main + "50",
@@ -4586,22 +4548,22 @@ var FeedbackModal = ({
4586
4548
  children: "Copy to Clipboard"
4587
4549
  }
4588
4550
  ),
4589
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", color: "text.secondary", sx: { textAlign: "center" }, children: "Image will be copied when you submit" })
4551
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", color: "text.secondary", sx: { textAlign: "center" }, children: "Image will be copied when you submit" })
4590
4552
  ] })
4591
4553
  ] })
4592
4554
  ] }),
4593
- formData.attachments && formData.attachments.length > 0 && /* @__PURE__ */ jsxs5(Box6, { sx: { mt: 2 }, children: [
4594
- /* @__PURE__ */ jsxs5(Typography4, { variant: "subtitle2", gutterBottom: true, children: [
4555
+ formData.attachments && formData.attachments.length > 0 && /* @__PURE__ */ jsxs6(Box7, { sx: { mt: 2 }, children: [
4556
+ /* @__PURE__ */ jsxs6(Typography4, { variant: "subtitle2", gutterBottom: true, children: [
4595
4557
  "Attached Files (",
4596
4558
  formData.attachments.length,
4597
4559
  ")"
4598
4560
  ] }),
4599
- /* @__PURE__ */ jsx6(Box6, { sx: { display: "flex", flexWrap: "wrap", gap: 1 }, children: formData.attachments.map((attachment, index) => /* @__PURE__ */ jsx6(
4561
+ /* @__PURE__ */ jsx7(Box7, { sx: { display: "flex", flexWrap: "wrap", gap: 1 }, children: formData.attachments.map((attachment, index) => /* @__PURE__ */ jsx7(
4600
4562
  Chip2,
4601
4563
  {
4602
4564
  label: attachment.name,
4603
4565
  onDelete: () => removeAttachment(index),
4604
- deleteIcon: /* @__PURE__ */ jsx6(DeleteIcon2, {}),
4566
+ deleteIcon: /* @__PURE__ */ jsx7(DeleteIcon2, {}),
4605
4567
  variant: "outlined",
4606
4568
  sx: { maxWidth: 200 }
4607
4569
  },
@@ -4620,7 +4582,7 @@ var FeedbackModal = ({
4620
4582
  ]
4621
4583
  }
4622
4584
  ),
4623
- /* @__PURE__ */ jsx6(
4585
+ /* @__PURE__ */ jsx7(
4624
4586
  DialogActions,
4625
4587
  {
4626
4588
  sx: {
@@ -4634,11 +4596,11 @@ var FeedbackModal = ({
4634
4596
  borderColor: "divider",
4635
4597
  justifyContent: "center"
4636
4598
  },
4637
- children: /* @__PURE__ */ jsx6(
4599
+ children: /* @__PURE__ */ jsx7(
4638
4600
  Button3,
4639
4601
  {
4640
4602
  fullWidth: true,
4641
- startIcon: /* @__PURE__ */ jsx6(MailIcon, {}),
4603
+ startIcon: /* @__PURE__ */ jsx7(MailIcon, {}),
4642
4604
  disabled: !isValid,
4643
4605
  onClick: handleSubmit,
4644
4606
  variant: "contained",
@@ -4650,7 +4612,7 @@ var FeedbackModal = ({
4650
4612
  ]
4651
4613
  }
4652
4614
  ),
4653
- /* @__PURE__ */ jsx6(
4615
+ /* @__PURE__ */ jsx7(
4654
4616
  Snackbar,
4655
4617
  {
4656
4618
  open: snackbarOpen,
@@ -4671,7 +4633,7 @@ var FeedbackModal = ({
4671
4633
  message: snackbarMessage
4672
4634
  }
4673
4635
  ),
4674
- /* @__PURE__ */ jsxs5(
4636
+ /* @__PURE__ */ jsxs6(
4675
4637
  Dialog2,
4676
4638
  {
4677
4639
  open: confirmDialogOpen,
@@ -4689,13 +4651,13 @@ var FeedbackModal = ({
4689
4651
  }
4690
4652
  },
4691
4653
  children: [
4692
- /* @__PURE__ */ jsxs5(DialogTitle, { sx: {
4654
+ /* @__PURE__ */ jsxs6(DialogTitle, { sx: {
4693
4655
  pb: 1,
4694
4656
  display: "flex",
4695
4657
  alignItems: "center",
4696
4658
  gap: 2
4697
4659
  }, children: [
4698
- /* @__PURE__ */ jsx6(
4660
+ /* @__PURE__ */ jsx7(
4699
4661
  Avatar2,
4700
4662
  {
4701
4663
  sx: {
@@ -4704,16 +4666,16 @@ var FeedbackModal = ({
4704
4666
  width: 40,
4705
4667
  height: 40
4706
4668
  },
4707
- children: /* @__PURE__ */ jsx6(PhotoCameraIcon, {})
4669
+ children: /* @__PURE__ */ jsx7(PhotoCameraIcon, {})
4708
4670
  }
4709
4671
  ),
4710
- /* @__PURE__ */ jsxs5(Box6, { children: [
4711
- /* @__PURE__ */ jsx6(Typography4, { variant: "h6", sx: { fontWeight: 600 }, children: "Ready to Submit with Image" }),
4712
- /* @__PURE__ */ jsx6(Typography4, { variant: "caption", color: "text.secondary", children: "Here's what will happen when you submit" })
4672
+ /* @__PURE__ */ jsxs6(Box7, { children: [
4673
+ /* @__PURE__ */ jsx7(Typography4, { variant: "h6", sx: { fontWeight: 600 }, children: "Ready to Submit with Image" }),
4674
+ /* @__PURE__ */ jsx7(Typography4, { variant: "caption", color: "text.secondary", children: "Here's what will happen when you submit" })
4713
4675
  ] })
4714
4676
  ] }),
4715
- /* @__PURE__ */ jsx6(DialogContent, { sx: { pt: 1 }, children: /* @__PURE__ */ jsxs5(Box6, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
4716
- /* @__PURE__ */ jsxs5(
4677
+ /* @__PURE__ */ jsx7(DialogContent, { sx: { pt: 1 }, children: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
4678
+ /* @__PURE__ */ jsxs6(
4717
4679
  Paper3,
4718
4680
  {
4719
4681
  variant: "outlined",
@@ -4724,8 +4686,8 @@ var FeedbackModal = ({
4724
4686
  border: `1px solid ${theme.palette.info.main}20`
4725
4687
  },
4726
4688
  children: [
4727
- /* @__PURE__ */ jsxs5(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 2, display: "flex", alignItems: "center", gap: 1 }, children: [
4728
- /* @__PURE__ */ jsx6(Box6, { sx: {
4689
+ /* @__PURE__ */ jsxs6(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 2, display: "flex", alignItems: "center", gap: 1 }, children: [
4690
+ /* @__PURE__ */ jsx7(Box7, { sx: {
4729
4691
  bgcolor: theme.palette.info.main + "20",
4730
4692
  color: theme.palette.info.main,
4731
4693
  borderRadius: "50%",
@@ -4739,8 +4701,8 @@ var FeedbackModal = ({
4739
4701
  }, children: "1" }),
4740
4702
  "Your image will be copied to clipboard"
4741
4703
  ] }),
4742
- /* @__PURE__ */ jsxs5(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 2, display: "flex", alignItems: "center", gap: 1 }, children: [
4743
- /* @__PURE__ */ jsx6(Box6, { sx: {
4704
+ /* @__PURE__ */ jsxs6(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 2, display: "flex", alignItems: "center", gap: 1 }, children: [
4705
+ /* @__PURE__ */ jsx7(Box7, { sx: {
4744
4706
  bgcolor: theme.palette.info.main + "20",
4745
4707
  color: theme.palette.info.main,
4746
4708
  borderRadius: "50%",
@@ -4754,8 +4716,8 @@ var FeedbackModal = ({
4754
4716
  }, children: "2" }),
4755
4717
  "Your email client will open"
4756
4718
  ] }),
4757
- /* @__PURE__ */ jsxs5(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 1, display: "flex", alignItems: "center", gap: 1 }, children: [
4758
- /* @__PURE__ */ jsx6(Box6, { sx: {
4719
+ /* @__PURE__ */ jsxs6(Typography4, { variant: "subtitle1", sx: { fontWeight: 600, mb: 1, display: "flex", alignItems: "center", gap: 1 }, children: [
4720
+ /* @__PURE__ */ jsx7(Box7, { sx: {
4759
4721
  bgcolor: theme.palette.info.main + "20",
4760
4722
  color: theme.palette.info.main,
4761
4723
  borderRadius: "50%",
@@ -4769,20 +4731,20 @@ var FeedbackModal = ({
4769
4731
  }, children: "3" }),
4770
4732
  "Paste the image with Ctrl+V (or Cmd+V)"
4771
4733
  ] }),
4772
- /* @__PURE__ */ jsx6(Typography4, { variant: "body2", color: "text.secondary", sx: { ml: 4, fontStyle: "italic" }, children: "The email will have a clear spot where you should paste" })
4734
+ /* @__PURE__ */ jsx7(Typography4, { variant: "body2", color: "text.secondary", sx: { ml: 4, fontStyle: "italic" }, children: "The email will have a clear spot where you should paste" })
4773
4735
  ]
4774
4736
  }
4775
4737
  ),
4776
- /* @__PURE__ */ jsx6(Alert3, { severity: "info", sx: {
4738
+ /* @__PURE__ */ jsx7(Alert3, { severity: "info", sx: {
4777
4739
  background: "transparent",
4778
4740
  border: `1px solid ${theme.palette.info.main}30`
4779
- }, children: /* @__PURE__ */ jsxs5(Typography4, { variant: "body2", children: [
4780
- /* @__PURE__ */ jsx6("strong", { children: "\u{1F4A1} Tip:" }),
4741
+ }, children: /* @__PURE__ */ jsxs6(Typography4, { variant: "body2", children: [
4742
+ /* @__PURE__ */ jsx7("strong", { children: "\u{1F4A1} Tip:" }),
4781
4743
  " Make sure to paste the image before sending your email!"
4782
4744
  ] }) })
4783
4745
  ] }) }),
4784
- /* @__PURE__ */ jsxs5(DialogActions, { sx: { p: 2.5, pt: 1 }, children: [
4785
- /* @__PURE__ */ jsx6(
4746
+ /* @__PURE__ */ jsxs6(DialogActions, { sx: { p: 2.5, pt: 1 }, children: [
4747
+ /* @__PURE__ */ jsx7(
4786
4748
  Button3,
4787
4749
  {
4788
4750
  onClick: () => setConfirmDialogOpen(false),
@@ -4790,13 +4752,13 @@ var FeedbackModal = ({
4790
4752
  children: "Cancel"
4791
4753
  }
4792
4754
  ),
4793
- /* @__PURE__ */ jsx6(
4755
+ /* @__PURE__ */ jsx7(
4794
4756
  Button3,
4795
4757
  {
4796
4758
  variant: "contained",
4797
4759
  onClick: performSubmit,
4798
4760
  disabled: isSubmitting,
4799
- startIcon: isSubmitting ? /* @__PURE__ */ jsx6(CircularProgress3, { size: 16 }) : /* @__PURE__ */ jsx6(MailIcon, {}),
4761
+ startIcon: isSubmitting ? /* @__PURE__ */ jsx7(CircularProgress3, { size: 16 }) : /* @__PURE__ */ jsx7(MailIcon, {}),
4800
4762
  sx: {
4801
4763
  background: `linear-gradient(135deg, ${theme.palette.primary.main} 0%, ${theme.palette.primary.dark} 100%)`,
4802
4764
  "&:hover": {
@@ -7195,7 +7157,7 @@ var useNotificationService = () => {
7195
7157
  import React7, { useState as useState7, useEffect as useEffect7 } from "react";
7196
7158
  import { useTheme as useTheme5, alpha as alpha3, keyframes } from "@mui/material/styles";
7197
7159
  import {
7198
- Box as Box7,
7160
+ Box as Box8,
7199
7161
  Typography as Typography5,
7200
7162
  Modal as Modal2,
7201
7163
  SwipeableDrawer,
@@ -7219,7 +7181,7 @@ import {
7219
7181
  FormControl as FormControl2,
7220
7182
  useMediaQuery as useMediaQuery3
7221
7183
  } from "@mui/material";
7222
- import { Fragment as Fragment5, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
7184
+ import { Fragment as Fragment5, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
7223
7185
  var MemoryModal = ({ open, onClose }) => {
7224
7186
  const { entries, addMemory, togglePinMemory, removeMemory, clearMemories, hydrate, _hasHydrated } = useMemoryStore();
7225
7187
  const isAdvancedVectorFeaturesEnabled = useConversationSyncStore(
@@ -7612,8 +7574,8 @@ var MemoryModal = ({ open, onClose }) => {
7612
7574
  setClearAllOpen(false);
7613
7575
  };
7614
7576
  const filteredMemories = getMemoriesForDisplay();
7615
- const sheet = /* @__PURE__ */ jsxs6(
7616
- Box7,
7577
+ const sheet = /* @__PURE__ */ jsxs7(
7578
+ Box8,
7617
7579
  {
7618
7580
  sx: {
7619
7581
  width: "100%",
@@ -7632,8 +7594,8 @@ var MemoryModal = ({ open, onClose }) => {
7632
7594
  // Ensure it's on top
7633
7595
  },
7634
7596
  children: [
7635
- isMobileView && /* @__PURE__ */ jsx7(
7636
- Box7,
7597
+ isMobileView && /* @__PURE__ */ jsx8(
7598
+ Box8,
7637
7599
  {
7638
7600
  sx: {
7639
7601
  height: 6,
@@ -7646,8 +7608,8 @@ var MemoryModal = ({ open, onClose }) => {
7646
7608
  }
7647
7609
  }
7648
7610
  ),
7649
- /* @__PURE__ */ jsxs6(
7650
- Box7,
7611
+ /* @__PURE__ */ jsxs7(
7612
+ Box8,
7651
7613
  {
7652
7614
  sx: {
7653
7615
  flexShrink: 0,
@@ -7659,8 +7621,8 @@ var MemoryModal = ({ open, onClose }) => {
7659
7621
  gap: isMobileView ? 0.9 : 1.25
7660
7622
  },
7661
7623
  children: [
7662
- /* @__PURE__ */ jsxs6(
7663
- Box7,
7624
+ /* @__PURE__ */ jsxs7(
7625
+ Box8,
7664
7626
  {
7665
7627
  sx: {
7666
7628
  width: "100%",
@@ -7671,9 +7633,9 @@ var MemoryModal = ({ open, onClose }) => {
7671
7633
  flexWrap: "wrap"
7672
7634
  },
7673
7635
  children: [
7674
- /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 0.75 }, children: [
7675
- /* @__PURE__ */ jsx7(Typography5, { variant: "h6", sx: { fontWeight: 600 }, children: "Memory" }),
7676
- shouldUseVectorForMemories && /* @__PURE__ */ jsx7(Tooltip5, { title: "Memories stay in your private knowledge space for faster, more accurate answers.", children: /* @__PURE__ */ jsx7(
7636
+ /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 0.75 }, children: [
7637
+ /* @__PURE__ */ jsx8(Typography5, { variant: "h6", sx: { fontWeight: 600 }, children: "Memory" }),
7638
+ shouldUseVectorForMemories && /* @__PURE__ */ jsx8(Tooltip5, { title: "Memories stay in your private knowledge space for faster, more accurate answers.", children: /* @__PURE__ */ jsx8(
7677
7639
  Typography5,
7678
7640
  {
7679
7641
  variant: "caption",
@@ -7692,8 +7654,8 @@ var MemoryModal = ({ open, onClose }) => {
7692
7654
  }
7693
7655
  ) })
7694
7656
  ] }),
7695
- /* @__PURE__ */ jsxs6(
7696
- Box7,
7657
+ /* @__PURE__ */ jsxs7(
7658
+ Box8,
7697
7659
  {
7698
7660
  sx: {
7699
7661
  display: "flex",
@@ -7703,12 +7665,12 @@ var MemoryModal = ({ open, onClose }) => {
7703
7665
  flexWrap: "wrap"
7704
7666
  },
7705
7667
  children: [
7706
- multiSelectMode ? /* @__PURE__ */ jsxs6(Fragment5, { children: [
7707
- /* @__PURE__ */ jsxs6(Typography5, { variant: "caption", sx: { color: theme.palette.text.secondary, mr: 0.5 }, children: [
7668
+ multiSelectMode ? /* @__PURE__ */ jsxs7(Fragment5, { children: [
7669
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "caption", sx: { color: theme.palette.text.secondary, mr: 0.5 }, children: [
7708
7670
  selectedIds.length,
7709
7671
  " selected"
7710
7672
  ] }),
7711
- /* @__PURE__ */ jsx7(
7673
+ /* @__PURE__ */ jsx8(
7712
7674
  Button4,
7713
7675
  {
7714
7676
  variant: "outlined",
@@ -7721,8 +7683,8 @@ var MemoryModal = ({ open, onClose }) => {
7721
7683
  children: "Cancel"
7722
7684
  }
7723
7685
  ),
7724
- selectedIds.length > 0 && /* @__PURE__ */ jsxs6(Fragment5, { children: [
7725
- /* @__PURE__ */ jsxs6(
7686
+ selectedIds.length > 0 && /* @__PURE__ */ jsxs7(Fragment5, { children: [
7687
+ /* @__PURE__ */ jsxs7(
7726
7688
  Button4,
7727
7689
  {
7728
7690
  variant: "outlined",
@@ -7737,7 +7699,7 @@ var MemoryModal = ({ open, onClose }) => {
7737
7699
  ]
7738
7700
  }
7739
7701
  ),
7740
- /* @__PURE__ */ jsxs6(
7702
+ /* @__PURE__ */ jsxs7(
7741
7703
  Button4,
7742
7704
  {
7743
7705
  variant: "outlined",
@@ -7751,7 +7713,7 @@ var MemoryModal = ({ open, onClose }) => {
7751
7713
  ]
7752
7714
  }
7753
7715
  ),
7754
- /* @__PURE__ */ jsxs6(
7716
+ /* @__PURE__ */ jsxs7(
7755
7717
  Button4,
7756
7718
  {
7757
7719
  variant: "contained",
@@ -7767,8 +7729,8 @@ var MemoryModal = ({ open, onClose }) => {
7767
7729
  }
7768
7730
  )
7769
7731
  ] })
7770
- ] }) : filteredMemories.length > 0 && /* @__PURE__ */ jsxs6(Fragment5, { children: [
7771
- /* @__PURE__ */ jsx7(
7732
+ ] }) : filteredMemories.length > 0 && /* @__PURE__ */ jsxs7(Fragment5, { children: [
7733
+ /* @__PURE__ */ jsx8(
7772
7734
  Button4,
7773
7735
  {
7774
7736
  variant: "outlined",
@@ -7778,19 +7740,19 @@ var MemoryModal = ({ open, onClose }) => {
7778
7740
  children: "Clear All"
7779
7741
  }
7780
7742
  ),
7781
- isVectorEnabled && entries.length > 0 && /* @__PURE__ */ jsx7(
7743
+ isVectorEnabled && entries.length > 0 && /* @__PURE__ */ jsx8(
7782
7744
  Button4,
7783
7745
  {
7784
7746
  variant: "outlined",
7785
7747
  size: "small",
7786
7748
  color: "primary",
7787
7749
  onClick: () => setBulkImportOpen(true),
7788
- startIcon: /* @__PURE__ */ jsx7(CloudSyncIcon, {}),
7750
+ startIcon: /* @__PURE__ */ jsx8(CloudSyncIcon, {}),
7789
7751
  sx: { textTransform: "none", borderRadius: 2, fontSize: "0.75rem" },
7790
7752
  children: "Import to workspace"
7791
7753
  }
7792
7754
  ),
7793
- /* @__PURE__ */ jsx7(
7755
+ /* @__PURE__ */ jsx8(
7794
7756
  Button4,
7795
7757
  {
7796
7758
  variant: "outlined",
@@ -7805,7 +7767,7 @@ var MemoryModal = ({ open, onClose }) => {
7805
7767
  }
7806
7768
  )
7807
7769
  ] }),
7808
- !multiSelectMode && isMobileView && /* @__PURE__ */ jsx7(
7770
+ !multiSelectMode && isMobileView && /* @__PURE__ */ jsx8(
7809
7771
  Button4,
7810
7772
  {
7811
7773
  variant: "contained",
@@ -7821,7 +7783,7 @@ var MemoryModal = ({ open, onClose }) => {
7821
7783
  children: "Save"
7822
7784
  }
7823
7785
  ),
7824
- /* @__PURE__ */ jsx7(
7786
+ /* @__PURE__ */ jsx8(
7825
7787
  IconButton6,
7826
7788
  {
7827
7789
  onClick: onClose,
@@ -7831,7 +7793,7 @@ var MemoryModal = ({ open, onClose }) => {
7831
7793
  borderRadius: 2
7832
7794
  },
7833
7795
  size: "small",
7834
- children: /* @__PURE__ */ jsx7(CloseIcon, { fontSize: "small" })
7796
+ children: /* @__PURE__ */ jsx8(CloseIcon, { fontSize: "small" })
7835
7797
  }
7836
7798
  )
7837
7799
  ]
@@ -7840,8 +7802,8 @@ var MemoryModal = ({ open, onClose }) => {
7840
7802
  ]
7841
7803
  }
7842
7804
  ),
7843
- /* @__PURE__ */ jsxs6(
7844
- Box7,
7805
+ /* @__PURE__ */ jsxs7(
7806
+ Box8,
7845
7807
  {
7846
7808
  sx: {
7847
7809
  display: "flex",
@@ -7850,7 +7812,7 @@ var MemoryModal = ({ open, onClose }) => {
7850
7812
  color: theme.palette.text.secondary
7851
7813
  },
7852
7814
  children: [
7853
- /* @__PURE__ */ jsx7(
7815
+ /* @__PURE__ */ jsx8(
7854
7816
  Typography5,
7855
7817
  {
7856
7818
  variant: "caption",
@@ -7866,7 +7828,7 @@ var MemoryModal = ({ open, onClose }) => {
7866
7828
  children: shouldUseVectorForMemories ? "Cloud memory" : "Local memory"
7867
7829
  }
7868
7830
  ),
7869
- filteredMemories.length > 0 && /* @__PURE__ */ jsxs6(
7831
+ filteredMemories.length > 0 && /* @__PURE__ */ jsxs7(
7870
7832
  Typography5,
7871
7833
  {
7872
7834
  variant: "caption",
@@ -7892,7 +7854,7 @@ var MemoryModal = ({ open, onClose }) => {
7892
7854
  ]
7893
7855
  }
7894
7856
  ),
7895
- shouldUseVectorForMemories && /* @__PURE__ */ jsxs6(Box7, { sx: {
7857
+ shouldUseVectorForMemories && /* @__PURE__ */ jsxs7(Box8, { sx: {
7896
7858
  flexShrink: 0,
7897
7859
  mx: isMobileView ? 1.5 : 2,
7898
7860
  mt: 1,
@@ -7906,7 +7868,7 @@ var MemoryModal = ({ open, onClose }) => {
7906
7868
  position: "relative",
7907
7869
  overflow: "hidden"
7908
7870
  }, children: [
7909
- /* @__PURE__ */ jsx7(Box7, { sx: {
7871
+ /* @__PURE__ */ jsx8(Box8, { sx: {
7910
7872
  position: "absolute",
7911
7873
  top: 0,
7912
7874
  left: "-100%",
@@ -7915,7 +7877,7 @@ var MemoryModal = ({ open, onClose }) => {
7915
7877
  background: `linear-gradient(90deg, transparent, ${alpha3(theme.palette.primary.main, 0.1)}, transparent)`,
7916
7878
  animation: `${shimmer} 3s infinite`
7917
7879
  } }),
7918
- /* @__PURE__ */ jsx7(Box7, { sx: {
7880
+ /* @__PURE__ */ jsx8(Box8, { sx: {
7919
7881
  width: 8,
7920
7882
  height: 8,
7921
7883
  borderRadius: "50%",
@@ -7923,15 +7885,15 @@ var MemoryModal = ({ open, onClose }) => {
7923
7885
  animation: `${pulse} 2s infinite`,
7924
7886
  zIndex: 1
7925
7887
  } }),
7926
- /* @__PURE__ */ jsx7(Typography5, { variant: "body2", sx: {
7888
+ /* @__PURE__ */ jsx8(Typography5, { variant: "body2", sx: {
7927
7889
  color: theme.palette.primary.main,
7928
7890
  fontSize: "0.8rem",
7929
7891
  fontWeight: 500,
7930
7892
  zIndex: 1
7931
7893
  }, children: "Cloud memory \xB7 synced to your account" })
7932
7894
  ] }),
7933
- /* @__PURE__ */ jsxs6(Box7, { sx: { flexShrink: 0 }, children: [
7934
- /* @__PURE__ */ jsx7(Box7, { sx: { px: isMobileView ? 1.5 : 2, py: isMobileView ? 1.25 : 1.5 }, children: /* @__PURE__ */ jsx7(
7895
+ /* @__PURE__ */ jsxs7(Box8, { sx: { flexShrink: 0 }, children: [
7896
+ /* @__PURE__ */ jsx8(Box8, { sx: { px: isMobileView ? 1.5 : 2, py: isMobileView ? 1.25 : 1.5 }, children: /* @__PURE__ */ jsx8(
7935
7897
  Typography5,
7936
7898
  {
7937
7899
  variant: "body2",
@@ -7939,7 +7901,7 @@ var MemoryModal = ({ open, onClose }) => {
7939
7901
  children: shouldUseVectorForMemories ? "Synced to your account for quick recall." : "Private and local. You decide what's remembered."
7940
7902
  }
7941
7903
  ) }),
7942
- /* @__PURE__ */ jsxs6(
7904
+ /* @__PURE__ */ jsxs7(
7943
7905
  Tabs,
7944
7906
  {
7945
7907
  value: selectedTab,
@@ -7960,12 +7922,12 @@ var MemoryModal = ({ open, onClose }) => {
7960
7922
  }
7961
7923
  },
7962
7924
  children: [
7963
- /* @__PURE__ */ jsx7(
7925
+ /* @__PURE__ */ jsx8(
7964
7926
  Tab,
7965
7927
  {
7966
- label: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7928
+ label: /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7967
7929
  "User",
7968
- getUserMemoryCount() > 0 && /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
7930
+ getUserMemoryCount() > 0 && /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
7969
7931
  bgcolor: alpha3(theme.palette.primary.main, 0.2),
7970
7932
  color: theme.palette.primary.main,
7971
7933
  px: 0.75,
@@ -7978,12 +7940,12 @@ var MemoryModal = ({ open, onClose }) => {
7978
7940
  value: "user"
7979
7941
  }
7980
7942
  ),
7981
- /* @__PURE__ */ jsx7(
7943
+ /* @__PURE__ */ jsx8(
7982
7944
  Tab,
7983
7945
  {
7984
- label: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7946
+ label: /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
7985
7947
  "Auto",
7986
- getAutoMemoryCount() > 0 && /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
7948
+ getAutoMemoryCount() > 0 && /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
7987
7949
  bgcolor: alpha3(theme.palette.secondary.main, 0.2),
7988
7950
  color: theme.palette.secondary.main,
7989
7951
  px: 0.75,
@@ -8000,8 +7962,8 @@ var MemoryModal = ({ open, onClose }) => {
8000
7962
  }
8001
7963
  )
8002
7964
  ] }),
8003
- /* @__PURE__ */ jsx7(
8004
- Box7,
7965
+ /* @__PURE__ */ jsx8(
7966
+ Box8,
8005
7967
  {
8006
7968
  sx: {
8007
7969
  flexGrow: 1,
@@ -8009,7 +7971,7 @@ var MemoryModal = ({ open, onClose }) => {
8009
7971
  px: isMobileView ? 1.5 : 2,
8010
7972
  py: isMobileView ? 1 : 1
8011
7973
  },
8012
- children: filteredMemories.length === 0 ? /* @__PURE__ */ jsxs6(Box7, { sx: {
7974
+ children: filteredMemories.length === 0 ? /* @__PURE__ */ jsxs7(Box8, { sx: {
8013
7975
  display: "flex",
8014
7976
  flexDirection: "column",
8015
7977
  alignItems: "center",
@@ -8017,7 +7979,7 @@ var MemoryModal = ({ open, onClose }) => {
8017
7979
  height: "200px",
8018
7980
  textAlign: "center"
8019
7981
  }, children: [
8020
- /* @__PURE__ */ jsxs6(Typography5, { variant: "h6", sx: {
7982
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "h6", sx: {
8021
7983
  color: theme.palette.text.secondary,
8022
7984
  mb: 1,
8023
7985
  fontSize: "1.1rem"
@@ -8026,14 +7988,14 @@ var MemoryModal = ({ open, onClose }) => {
8026
7988
  selectedTab,
8027
7989
  " memories yet"
8028
7990
  ] }),
8029
- /* @__PURE__ */ jsx7(Typography5, { variant: "body2", sx: {
7991
+ /* @__PURE__ */ jsx8(Typography5, { variant: "body2", sx: {
8030
7992
  color: alpha3(theme.palette.text.secondary, 0.7),
8031
7993
  maxWidth: 280
8032
7994
  }, children: selectedTab === "user" ? shouldUseVectorForMemories ? "Start by adding something you'd like me to remember. Your memories will be kept in a private workspace for quick recall." : "Start by adding something you'd like me to remember about you or your preferences." : shouldUseVectorForMemories ? "Auto memories are created automatically based on our conversations and kept in your private workspace for better answers." : "Auto memories are created automatically based on our conversations." })
8033
7995
  ] }) : filteredMemories.map((memory) => {
8034
7996
  const isSelected = selectedIds.includes(memory.id);
8035
- return /* @__PURE__ */ jsxs6(React7.Fragment, { children: [
8036
- /* @__PURE__ */ jsx7(List2, { sx: { listStyle: "none", pl: 0, m: 0 }, children: /* @__PURE__ */ jsxs6(
7997
+ return /* @__PURE__ */ jsxs7(React7.Fragment, { children: [
7998
+ /* @__PURE__ */ jsx8(List2, { sx: { listStyle: "none", pl: 0, m: 0 }, children: /* @__PURE__ */ jsxs7(
8037
7999
  ListItem,
8038
8000
  {
8039
8001
  onClick: () => multiSelectMode && toggleSelection(memory.id),
@@ -8054,8 +8016,8 @@ var MemoryModal = ({ open, onClose }) => {
8054
8016
  }
8055
8017
  },
8056
8018
  children: [
8057
- /* @__PURE__ */ jsxs6(
8058
- Box7,
8019
+ /* @__PURE__ */ jsxs7(
8020
+ Box8,
8059
8021
  {
8060
8022
  sx: {
8061
8023
  display: "flex",
@@ -8064,7 +8026,7 @@ var MemoryModal = ({ open, onClose }) => {
8064
8026
  gap: 1.5
8065
8027
  },
8066
8028
  children: [
8067
- /* @__PURE__ */ jsx7(
8029
+ /* @__PURE__ */ jsx8(
8068
8030
  Avatar3,
8069
8031
  {
8070
8032
  src: "https://cdn.burtson.ai/images/brain-icon.png",
@@ -8077,7 +8039,7 @@ var MemoryModal = ({ open, onClose }) => {
8077
8039
  border: isVectorEnabled ? `2px solid ${alpha3(theme.palette.primary.main, 0.4)}` : `1px solid ${theme.palette.divider}`,
8078
8040
  position: "relative"
8079
8041
  },
8080
- children: isVectorEnabled && /* @__PURE__ */ jsx7(Box7, { sx: {
8042
+ children: isVectorEnabled && /* @__PURE__ */ jsx8(Box8, { sx: {
8081
8043
  position: "absolute",
8082
8044
  top: -2,
8083
8045
  right: -2,
@@ -8094,7 +8056,7 @@ var MemoryModal = ({ open, onClose }) => {
8094
8056
  }, children: "\u26A1" })
8095
8057
  }
8096
8058
  ),
8097
- editingId === memory.id ? /* @__PURE__ */ jsx7(
8059
+ editingId === memory.id ? /* @__PURE__ */ jsx8(
8098
8060
  TextField2,
8099
8061
  {
8100
8062
  fullWidth: true,
@@ -8141,8 +8103,8 @@ var MemoryModal = ({ open, onClose }) => {
8141
8103
  },
8142
8104
  helperText: "Press Cmd/Ctrl+Enter to save, Escape to cancel"
8143
8105
  }
8144
- ) : /* @__PURE__ */ jsxs6(Box7, { sx: { flex: 1 }, children: [
8145
- /* @__PURE__ */ jsx7(
8106
+ ) : /* @__PURE__ */ jsxs7(Box8, { sx: { flex: 1 }, children: [
8107
+ /* @__PURE__ */ jsx8(
8146
8108
  Typography5,
8147
8109
  {
8148
8110
  sx: {
@@ -8164,7 +8126,7 @@ var MemoryModal = ({ open, onClose }) => {
8164
8126
  children: memory.content
8165
8127
  }
8166
8128
  ),
8167
- memory.pinned && /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
8129
+ memory.pinned && /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
8168
8130
  color: alpha3(theme.palette.secondary.main, 0.7),
8169
8131
  fontStyle: "italic",
8170
8132
  mt: 0.5,
@@ -8174,8 +8136,8 @@ var MemoryModal = ({ open, onClose }) => {
8174
8136
  ]
8175
8137
  }
8176
8138
  ),
8177
- !multiSelectMode && /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", gap: 0.5, mt: 0.5 }, children: [
8178
- /* @__PURE__ */ jsx7(Tooltip5, { title: memory.pinned ? "Unpin memory" : "Pin memory", children: /* @__PURE__ */ jsx7(
8139
+ !multiSelectMode && /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", gap: 0.5, mt: 0.5 }, children: [
8140
+ /* @__PURE__ */ jsx8(Tooltip5, { title: memory.pinned ? "Unpin memory" : "Pin memory", children: /* @__PURE__ */ jsx8(
8179
8141
  IconButton6,
8180
8142
  {
8181
8143
  onClick: async () => {
@@ -8208,10 +8170,10 @@ var MemoryModal = ({ open, onClose }) => {
8208
8170
  }
8209
8171
  },
8210
8172
  size: "small",
8211
- children: memory.pinned ? /* @__PURE__ */ jsx7(PushPinIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx7(PushPinOutlinedIcon, { fontSize: "small" })
8173
+ children: memory.pinned ? /* @__PURE__ */ jsx8(PushPinIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx8(PushPinOutlinedIcon, { fontSize: "small" })
8212
8174
  }
8213
8175
  ) }),
8214
- /* @__PURE__ */ jsx7(Tooltip5, { title: "Delete memory", children: /* @__PURE__ */ jsx7(
8176
+ /* @__PURE__ */ jsx8(Tooltip5, { title: "Delete memory", children: /* @__PURE__ */ jsx8(
8215
8177
  IconButton6,
8216
8178
  {
8217
8179
  onClick: async () => await handleDeleteMemory(memory.id),
@@ -8223,20 +8185,20 @@ var MemoryModal = ({ open, onClose }) => {
8223
8185
  }
8224
8186
  },
8225
8187
  size: "small",
8226
- children: /* @__PURE__ */ jsx7(DeleteIcon, { fontSize: "small" })
8188
+ children: /* @__PURE__ */ jsx8(DeleteIcon, { fontSize: "small" })
8227
8189
  }
8228
8190
  ) })
8229
8191
  ] })
8230
8192
  ]
8231
8193
  }
8232
8194
  ) }),
8233
- filteredMemories.indexOf(memory) < filteredMemories.length - 1 && /* @__PURE__ */ jsx7(Divider, { sx: { bgcolor: alpha3(appBar.border, 0.5), my: 0.5 } })
8195
+ filteredMemories.indexOf(memory) < filteredMemories.length - 1 && /* @__PURE__ */ jsx8(Divider, { sx: { bgcolor: alpha3(appBar.border, 0.5), my: 0.5 } })
8234
8196
  ] }, memory.id);
8235
8197
  })
8236
8198
  }
8237
8199
  ),
8238
- multiSelectMode && /* @__PURE__ */ jsx7(
8239
- Box7,
8200
+ multiSelectMode && /* @__PURE__ */ jsx8(
8201
+ Box8,
8240
8202
  {
8241
8203
  sx: {
8242
8204
  p: isMobileView ? 1.5 : 2,
@@ -8244,12 +8206,12 @@ var MemoryModal = ({ open, onClose }) => {
8244
8206
  bgcolor: alpha3(theme.palette.error.main, 0.05),
8245
8207
  borderBottom: selectedIds.length > 0 ? `2px solid ${alpha3(theme.palette.error.main, 0.2)}` : void 0
8246
8208
  },
8247
- children: selectedIds.length === 0 ? /* @__PURE__ */ jsx7(Typography5, { variant: "body2", sx: {
8209
+ children: selectedIds.length === 0 ? /* @__PURE__ */ jsx8(Typography5, { variant: "body2", sx: {
8248
8210
  textAlign: "center",
8249
8211
  color: theme.palette.text.secondary,
8250
8212
  fontStyle: "italic"
8251
- }, children: "Tap memories to select them for deletion" }) : /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
8252
- /* @__PURE__ */ jsx7(
8213
+ }, children: "Tap memories to select them for deletion" }) : /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
8214
+ /* @__PURE__ */ jsx8(
8253
8215
  Button4,
8254
8216
  {
8255
8217
  variant: "outlined",
@@ -8265,7 +8227,7 @@ var MemoryModal = ({ open, onClose }) => {
8265
8227
  children: "Select All"
8266
8228
  }
8267
8229
  ),
8268
- /* @__PURE__ */ jsxs6(
8230
+ /* @__PURE__ */ jsxs7(
8269
8231
  Button4,
8270
8232
  {
8271
8233
  fullWidth: true,
@@ -8283,8 +8245,8 @@ var MemoryModal = ({ open, onClose }) => {
8283
8245
  ] })
8284
8246
  }
8285
8247
  ),
8286
- /* @__PURE__ */ jsxs6(
8287
- Box7,
8248
+ /* @__PURE__ */ jsxs7(
8249
+ Box8,
8288
8250
  {
8289
8251
  sx: {
8290
8252
  flexShrink: 0,
@@ -8294,7 +8256,7 @@ var MemoryModal = ({ open, onClose }) => {
8294
8256
  pb: `calc(env(safe-area-inset-bottom, 0px) + 8px)`
8295
8257
  },
8296
8258
  children: [
8297
- /* @__PURE__ */ jsx7(
8259
+ /* @__PURE__ */ jsx8(
8298
8260
  TextField2,
8299
8261
  {
8300
8262
  fullWidth: true,
@@ -8340,7 +8302,7 @@ var MemoryModal = ({ open, onClose }) => {
8340
8302
  mb: 1.5
8341
8303
  },
8342
8304
  InputProps: {
8343
- endAdornment: newMemory.trim() && /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
8305
+ endAdornment: newMemory.trim() && /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
8344
8306
  color: alpha3(theme.palette.text.secondary, 0.7),
8345
8307
  fontSize: "0.7rem",
8346
8308
  whiteSpace: "nowrap"
@@ -8348,7 +8310,7 @@ var MemoryModal = ({ open, onClose }) => {
8348
8310
  }
8349
8311
  }
8350
8312
  ),
8351
- !isMobileView && /* @__PURE__ */ jsx7(
8313
+ !isMobileView && /* @__PURE__ */ jsx8(
8352
8314
  Button4,
8353
8315
  {
8354
8316
  fullWidth: true,
@@ -8367,7 +8329,7 @@ var MemoryModal = ({ open, onClose }) => {
8367
8329
  ]
8368
8330
  }
8369
8331
  ),
8370
- /* @__PURE__ */ jsxs6(
8332
+ /* @__PURE__ */ jsxs7(
8371
8333
  Dialog3,
8372
8334
  {
8373
8335
  open: confirmOpen,
@@ -8380,16 +8342,16 @@ var MemoryModal = ({ open, onClose }) => {
8380
8342
  sx: { borderRadius: 3, minWidth: 320 }
8381
8343
  },
8382
8344
  children: [
8383
- /* @__PURE__ */ jsxs6(DialogTitle2, { sx: { pb: 1 }, children: [
8345
+ /* @__PURE__ */ jsxs7(DialogTitle2, { sx: { pb: 1 }, children: [
8384
8346
  "Delete ",
8385
8347
  selectedIds.length,
8386
8348
  " ",
8387
8349
  selectedIds.length === 1 ? "Memory" : "Memories",
8388
8350
  "?"
8389
8351
  ] }),
8390
- /* @__PURE__ */ jsx7(DialogContent2, { children: /* @__PURE__ */ jsx7(Typography5, { variant: "body2", sx: { color: theme.palette.text.secondary }, children: "This will permanently remove the selected memory entries. This action cannot be undone." }) }),
8391
- /* @__PURE__ */ jsxs6(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8392
- /* @__PURE__ */ jsx7(
8352
+ /* @__PURE__ */ jsx8(DialogContent2, { children: /* @__PURE__ */ jsx8(Typography5, { variant: "body2", sx: { color: theme.palette.text.secondary }, children: "This will permanently remove the selected memory entries. This action cannot be undone." }) }),
8353
+ /* @__PURE__ */ jsxs7(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8354
+ /* @__PURE__ */ jsx8(
8393
8355
  Button4,
8394
8356
  {
8395
8357
  onClick: () => setConfirmOpen(false),
@@ -8397,7 +8359,7 @@ var MemoryModal = ({ open, onClose }) => {
8397
8359
  children: "Cancel"
8398
8360
  }
8399
8361
  ),
8400
- /* @__PURE__ */ jsxs6(
8362
+ /* @__PURE__ */ jsxs7(
8401
8363
  Button4,
8402
8364
  {
8403
8365
  onClick: handleMultiDelete,
@@ -8415,7 +8377,7 @@ var MemoryModal = ({ open, onClose }) => {
8415
8377
  ]
8416
8378
  }
8417
8379
  ),
8418
- /* @__PURE__ */ jsxs6(
8380
+ /* @__PURE__ */ jsxs7(
8419
8381
  Dialog3,
8420
8382
  {
8421
8383
  open: clearAllOpen,
@@ -8428,23 +8390,23 @@ var MemoryModal = ({ open, onClose }) => {
8428
8390
  sx: { borderRadius: 3, minWidth: 320 }
8429
8391
  },
8430
8392
  children: [
8431
- /* @__PURE__ */ jsx7(DialogTitle2, { sx: { pb: 1, fontWeight: 600 }, children: "Clear Memories" }),
8432
- /* @__PURE__ */ jsxs6(DialogContent2, { sx: { pb: 2 }, children: [
8433
- /* @__PURE__ */ jsx7(Typography5, { variant: "body2", sx: { mb: 3, color: theme.palette.text.secondary }, children: "This will permanently remove selected memory types. Choose which ones to clear:" }),
8434
- /* @__PURE__ */ jsx7(FormControl2, { component: "fieldset", children: /* @__PURE__ */ jsxs6(
8393
+ /* @__PURE__ */ jsx8(DialogTitle2, { sx: { pb: 1, fontWeight: 600 }, children: "Clear Memories" }),
8394
+ /* @__PURE__ */ jsxs7(DialogContent2, { sx: { pb: 2 }, children: [
8395
+ /* @__PURE__ */ jsx8(Typography5, { variant: "body2", sx: { mb: 3, color: theme.palette.text.secondary }, children: "This will permanently remove selected memory types. Choose which ones to clear:" }),
8396
+ /* @__PURE__ */ jsx8(FormControl2, { component: "fieldset", children: /* @__PURE__ */ jsxs7(
8435
8397
  RadioGroup,
8436
8398
  {
8437
8399
  value: clearOption,
8438
8400
  onChange: (e) => setClearOption(e.target.value),
8439
8401
  children: [
8440
- /* @__PURE__ */ jsx7(
8402
+ /* @__PURE__ */ jsx8(
8441
8403
  FormControlLabel,
8442
8404
  {
8443
8405
  value: "user",
8444
- control: /* @__PURE__ */ jsx7(Radio, {}),
8445
- label: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8446
- /* @__PURE__ */ jsx7(Typography5, { children: "User Memories" }),
8447
- /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
8406
+ control: /* @__PURE__ */ jsx8(Radio, {}),
8407
+ label: /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8408
+ /* @__PURE__ */ jsx8(Typography5, { children: "User Memories" }),
8409
+ /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
8448
8410
  bgcolor: alpha3(theme.palette.primary.main, 0.1),
8449
8411
  color: theme.palette.primary.main,
8450
8412
  px: 1,
@@ -8455,14 +8417,14 @@ var MemoryModal = ({ open, onClose }) => {
8455
8417
  ] })
8456
8418
  }
8457
8419
  ),
8458
- /* @__PURE__ */ jsx7(
8420
+ /* @__PURE__ */ jsx8(
8459
8421
  FormControlLabel,
8460
8422
  {
8461
8423
  value: "auto",
8462
- control: /* @__PURE__ */ jsx7(Radio, {}),
8463
- label: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8464
- /* @__PURE__ */ jsx7(Typography5, { children: "Auto Memories" }),
8465
- /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
8424
+ control: /* @__PURE__ */ jsx8(Radio, {}),
8425
+ label: /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8426
+ /* @__PURE__ */ jsx8(Typography5, { children: "Auto Memories" }),
8427
+ /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
8466
8428
  bgcolor: alpha3(theme.palette.secondary.main, 0.1),
8467
8429
  color: theme.palette.secondary.main,
8468
8430
  px: 1,
@@ -8473,14 +8435,14 @@ var MemoryModal = ({ open, onClose }) => {
8473
8435
  ] })
8474
8436
  }
8475
8437
  ),
8476
- /* @__PURE__ */ jsx7(
8438
+ /* @__PURE__ */ jsx8(
8477
8439
  FormControlLabel,
8478
8440
  {
8479
8441
  value: "both",
8480
- control: /* @__PURE__ */ jsx7(Radio, {}),
8481
- label: /* @__PURE__ */ jsxs6(Box7, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8482
- /* @__PURE__ */ jsx7(Typography5, { children: "Both Types" }),
8483
- /* @__PURE__ */ jsx7(Typography5, { variant: "caption", sx: {
8442
+ control: /* @__PURE__ */ jsx8(Radio, {}),
8443
+ label: /* @__PURE__ */ jsxs7(Box8, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
8444
+ /* @__PURE__ */ jsx8(Typography5, { children: "Both Types" }),
8445
+ /* @__PURE__ */ jsx8(Typography5, { variant: "caption", sx: {
8484
8446
  bgcolor: alpha3(theme.palette.error.main, 0.1),
8485
8447
  color: theme.palette.error.main,
8486
8448
  px: 1,
@@ -8495,8 +8457,8 @@ var MemoryModal = ({ open, onClose }) => {
8495
8457
  }
8496
8458
  ) })
8497
8459
  ] }),
8498
- /* @__PURE__ */ jsxs6(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8499
- /* @__PURE__ */ jsx7(
8460
+ /* @__PURE__ */ jsxs7(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8461
+ /* @__PURE__ */ jsx8(
8500
8462
  Button4,
8501
8463
  {
8502
8464
  onClick: () => setClearAllOpen(false),
@@ -8504,7 +8466,7 @@ var MemoryModal = ({ open, onClose }) => {
8504
8466
  children: "Cancel"
8505
8467
  }
8506
8468
  ),
8507
- /* @__PURE__ */ jsxs6(
8469
+ /* @__PURE__ */ jsxs7(
8508
8470
  Button4,
8509
8471
  {
8510
8472
  color: "error",
@@ -8522,7 +8484,7 @@ var MemoryModal = ({ open, onClose }) => {
8522
8484
  ]
8523
8485
  }
8524
8486
  ),
8525
- /* @__PURE__ */ jsxs6(
8487
+ /* @__PURE__ */ jsxs7(
8526
8488
  Dialog3,
8527
8489
  {
8528
8490
  open: bulkImportOpen,
@@ -8533,30 +8495,30 @@ var MemoryModal = ({ open, onClose }) => {
8533
8495
  sx: { borderRadius: 3 }
8534
8496
  },
8535
8497
  children: [
8536
- /* @__PURE__ */ jsxs6(DialogTitle2, { sx: {
8498
+ /* @__PURE__ */ jsxs7(DialogTitle2, { sx: {
8537
8499
  fontWeight: 600,
8538
8500
  pb: 1,
8539
8501
  display: "flex",
8540
8502
  alignItems: "center",
8541
8503
  gap: 1
8542
8504
  }, children: [
8543
- /* @__PURE__ */ jsx7(CloudSyncIcon, { color: "primary" }),
8505
+ /* @__PURE__ */ jsx8(CloudSyncIcon, { color: "primary" }),
8544
8506
  "Import Memories to Secure Workspace"
8545
8507
  ] }),
8546
- /* @__PURE__ */ jsx7(DialogContent2, { sx: { py: 2 }, children: !importProgress.isImporting ? /* @__PURE__ */ jsxs6(Box7, { children: [
8547
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", color: "text.secondary", sx: { mb: 2 }, children: [
8508
+ /* @__PURE__ */ jsx8(DialogContent2, { sx: { py: 2 }, children: !importProgress.isImporting ? /* @__PURE__ */ jsxs7(Box8, { children: [
8509
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", color: "text.secondary", sx: { mb: 2 }, children: [
8548
8510
  "This will import all your local memories (",
8549
8511
  entries.length,
8550
8512
  " memories) to your secure workspace for faster, more reliable answers."
8551
8513
  ] }),
8552
- /* @__PURE__ */ jsx7(Typography5, { variant: "body2", color: "text.secondary", sx: { mb: 2 }, children: "\u2022 Memories will be added to your synced workspace \u2022 Local memories will remain unchanged \u2022 You can switch between synced and local storage anytime" }),
8553
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", color: "primary", sx: { fontWeight: 500 }, children: [
8514
+ /* @__PURE__ */ jsx8(Typography5, { variant: "body2", color: "text.secondary", sx: { mb: 2 }, children: "\u2022 Memories will be added to your synced workspace \u2022 Local memories will remain unchanged \u2022 You can switch between synced and local storage anytime" }),
8515
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", color: "primary", sx: { fontWeight: 500 }, children: [
8554
8516
  "Ready to import ",
8555
8517
  entries.length,
8556
8518
  " memories?"
8557
8519
  ] })
8558
- ] }) : /* @__PURE__ */ jsxs6(Box7, { sx: { textAlign: "center", py: 2 }, children: [
8559
- /* @__PURE__ */ jsx7(
8520
+ ] }) : /* @__PURE__ */ jsxs7(Box8, { sx: { textAlign: "center", py: 2 }, children: [
8521
+ /* @__PURE__ */ jsx8(
8560
8522
  CloudSyncIcon,
8561
8523
  {
8562
8524
  sx: {
@@ -8567,9 +8529,9 @@ var MemoryModal = ({ open, onClose }) => {
8567
8529
  }
8568
8530
  }
8569
8531
  ),
8570
- /* @__PURE__ */ jsx7(Typography5, { variant: "body1", sx: { mb: 1 }, children: importProgress.progress }),
8571
- importProgress.result && /* @__PURE__ */ jsxs6(Fragment5, { children: [
8572
- /* @__PURE__ */ jsx7(
8532
+ /* @__PURE__ */ jsx8(Typography5, { variant: "body1", sx: { mb: 1 }, children: importProgress.progress }),
8533
+ importProgress.result && /* @__PURE__ */ jsxs7(Fragment5, { children: [
8534
+ /* @__PURE__ */ jsx8(
8573
8535
  Typography5,
8574
8536
  {
8575
8537
  variant: "body2",
@@ -8578,7 +8540,7 @@ var MemoryModal = ({ open, onClose }) => {
8578
8540
  children: importProgress.result.message
8579
8541
  }
8580
8542
  ),
8581
- importProgress.result.details && /* @__PURE__ */ jsxs6(Box7, { sx: {
8543
+ importProgress.result.details && /* @__PURE__ */ jsxs7(Box8, { sx: {
8582
8544
  textAlign: "left",
8583
8545
  backgroundColor: "background.paper",
8584
8546
  border: 1,
@@ -8587,33 +8549,33 @@ var MemoryModal = ({ open, onClose }) => {
8587
8549
  p: 2,
8588
8550
  mt: 2
8589
8551
  }, children: [
8590
- /* @__PURE__ */ jsx7(Typography5, { variant: "caption", color: "text.secondary", sx: { display: "block", mb: 1 }, children: "Import Details:" }),
8591
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8552
+ /* @__PURE__ */ jsx8(Typography5, { variant: "caption", color: "text.secondary", sx: { display: "block", mb: 1 }, children: "Import Details:" }),
8553
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8592
8554
  "\u2022 Total: ",
8593
8555
  importProgress.result.details.totalMemories,
8594
8556
  " memories"
8595
8557
  ] }),
8596
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8558
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8597
8559
  "\u2022 Success: ",
8598
8560
  importProgress.result.details.successCount
8599
8561
  ] }),
8600
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8562
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8601
8563
  "\u2022 Failed: ",
8602
8564
  importProgress.result.details.failureCount
8603
8565
  ] }),
8604
- /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8566
+ /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", sx: { mb: 0.5 }, children: [
8605
8567
  "\u2022 Duration: ",
8606
8568
  importProgress.result.details.duration
8607
8569
  ] }),
8608
- importProgress.result.details.warnings && importProgress.result.details.warnings.length > 0 && /* @__PURE__ */ jsxs6(Typography5, { variant: "body2", color: "warning.main", sx: { mt: 1 }, children: [
8570
+ importProgress.result.details.warnings && importProgress.result.details.warnings.length > 0 && /* @__PURE__ */ jsxs7(Typography5, { variant: "body2", color: "warning.main", sx: { mt: 1 }, children: [
8609
8571
  "\u26A0\uFE0F ",
8610
8572
  importProgress.result.details.warnings.join(", ")
8611
8573
  ] })
8612
8574
  ] })
8613
8575
  ] })
8614
8576
  ] }) }),
8615
- /* @__PURE__ */ jsxs6(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8616
- /* @__PURE__ */ jsx7(
8577
+ /* @__PURE__ */ jsxs7(DialogActions2, { sx: { p: 3, pt: 1 }, children: [
8578
+ /* @__PURE__ */ jsx8(
8617
8579
  Button4,
8618
8580
  {
8619
8581
  onClick: () => {
@@ -8625,13 +8587,13 @@ var MemoryModal = ({ open, onClose }) => {
8625
8587
  children: importProgress.isImporting ? "Importing..." : "Cancel"
8626
8588
  }
8627
8589
  ),
8628
- !importProgress.isImporting && !importProgress.result && /* @__PURE__ */ jsxs6(
8590
+ !importProgress.isImporting && !importProgress.result && /* @__PURE__ */ jsxs7(
8629
8591
  Button4,
8630
8592
  {
8631
8593
  color: "primary",
8632
8594
  variant: "contained",
8633
8595
  onClick: handleBulkImport,
8634
- startIcon: /* @__PURE__ */ jsx7(CloudSyncIcon, {}),
8596
+ startIcon: /* @__PURE__ */ jsx8(CloudSyncIcon, {}),
8635
8597
  sx: { textTransform: "none", borderRadius: 3 },
8636
8598
  children: [
8637
8599
  "Import ",
@@ -8648,7 +8610,7 @@ var MemoryModal = ({ open, onClose }) => {
8648
8610
  }
8649
8611
  );
8650
8612
  if (isMobileView) {
8651
- return /* @__PURE__ */ jsx7(
8613
+ return /* @__PURE__ */ jsx8(
8652
8614
  SwipeableDrawer,
8653
8615
  {
8654
8616
  anchor: "bottom",
@@ -8673,7 +8635,7 @@ var MemoryModal = ({ open, onClose }) => {
8673
8635
  }
8674
8636
  );
8675
8637
  }
8676
- return /* @__PURE__ */ jsx7(
8638
+ return /* @__PURE__ */ jsx8(
8677
8639
  Modal2,
8678
8640
  {
8679
8641
  open,
@@ -8696,6 +8658,7 @@ export {
8696
8658
  useCanvasStore,
8697
8659
  getHighlightTree,
8698
8660
  markdownSanitizeSchema,
8661
+ MarkdownImage,
8699
8662
  renderLowlightChildren,
8700
8663
  AddIcon,
8701
8664
  GhostIcon,
@@ -8806,4 +8769,4 @@ export {
8806
8769
  themeMap_default,
8807
8770
  useNotificationService
8808
8771
  };
8809
- //# sourceMappingURL=chunk-RN7FRSMX.mjs.map
8772
+ //# sourceMappingURL=chunk-GZDJNVAS.mjs.map