@burtson-labs/bandit-engine 2.0.109 → 2.0.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  useGatewayHealth,
11
11
  useGatewayMemory,
12
12
  useGatewayModels
13
- } from "./chunk-Q6QQZXRR.mjs";
13
+ } from "./chunk-JFISRBZ5.mjs";
14
14
  import "./chunk-VR2ZWFTN.mjs";
15
15
  import "./chunk-HAUDGBUS.mjs";
16
16
  import "./chunk-BN3D45E2.mjs";
@@ -36043,16 +36043,7 @@ var PreferencesTab = ({
36043
36043
  children: "Preferences"
36044
36044
  }
36045
36045
  ),
36046
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
36047
- import_material20.Typography,
36048
- {
36049
- variant: "body1",
36050
- color: "text.secondary",
36051
- paragraph: true,
36052
- sx: { opacity: 0.9, fontSize: { xs: "0.95rem", sm: "1rem" }, lineHeight: 1.5 },
36053
- children: "Control which AI features are enabled to optimize performance for your device. Disabling features can help reduce resource usage on machines with limited capabilities."
36054
- }
36055
- ),
36046
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material20.Typography, { variant: "body2", color: "text.secondary", sx: { mb: 1.5 }, children: "Turn features on or off to tune performance for your device." }),
36056
36047
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material20.Paper, { sx: { p: { xs: 1.5, sm: 1.75 }, mb: { xs: 1.5, md: 1.75 }, border: "1px solid", borderColor: "divider", borderRadius: 2 }, children: [
36057
36048
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_material20.Box, { children: [
36058
36049
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material20.Typography, { variant: "h6", sx: { fontWeight: 600, color: "text.primary" }, children: "Conversation Starters" }),
@@ -42554,7 +42545,7 @@ var ProviderTab = () => {
42554
42545
  }
42555
42546
  };
42556
42547
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Box, { sx: { p: { xs: 1.5, sm: 2.5, md: 3 } }, children: [
42557
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Box, { sx: { mb: { xs: 2.5, md: 3 } }, children: [
42548
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Box, { sx: { mb: { xs: 1.5, md: 2 } }, children: [
42558
42549
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
42559
42550
  import_material29.Typography,
42560
42551
  {
@@ -42563,18 +42554,9 @@ var ProviderTab = () => {
42563
42554
  children: "AI Provider Configuration"
42564
42555
  }
42565
42556
  ),
42566
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
42567
- import_material29.Typography,
42568
- {
42569
- variant: "body1",
42570
- color: "text.secondary",
42571
- paragraph: true,
42572
- sx: { opacity: 0.9, fontSize: { xs: "0.95rem", sm: "1rem" }, lineHeight: 1.5 },
42573
- children: "Configure your AI provider for chat, generation, and model services. This determines which backend service powers your AI interactions."
42574
- }
42575
- ),
42557
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "body2", color: "text.secondary", sx: { mb: 1.5 }, children: "Choose the backend that powers your AI." }),
42576
42558
  /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Paper, { sx: { p: { xs: 1.5, sm: 1.75 }, mb: { xs: 1.5, md: 1.75 }, bgcolor: "background.paper", border: "1px solid", borderColor: "divider", borderRadius: 2 }, children: [
42577
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "h6", sx: { mb: 2, fontWeight: 600, color: "text.primary" }, children: "Current Provider" }),
42559
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "overline", sx: { fontWeight: 700, color: "text.secondary", letterSpacing: 0.6, display: "block", mb: 1 }, children: "Current Provider" }),
42578
42560
  currentProvider ? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Box, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
42579
42561
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
42580
42562
  import_material29.Chip,
@@ -42597,7 +42579,7 @@ var ProviderTab = () => {
42597
42579
  alignItems: { xs: "flex-start", sm: "center" },
42598
42580
  justifyContent: "space-between",
42599
42581
  gap: { xs: 1, sm: 2 },
42600
- mb: 3
42582
+ mb: 2
42601
42583
  },
42602
42584
  children: [
42603
42585
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "h6", sx: { fontWeight: 600, color: "text.primary" }, children: "Provider Configuration" }),
@@ -42886,10 +42868,7 @@ var ProviderTab = () => {
42886
42868
  ] })
42887
42869
  ] })
42888
42870
  ] }),
42889
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_material29.Paper, { sx: { p: 3, bgcolor: "info.main", color: "info.contrastText", borderRadius: 2 }, children: [
42890
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "h6", sx: { mb: 1, fontWeight: 600, color: "text.primary" }, children: "Gateway Provider Recommended" }),
42891
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "body2", children: "For production deployments, we recommend using the Gateway provider which routes requests through your secure backend API. This approach keeps API keys secure, enables rate limiting, and provides better monitoring capabilities." })
42892
- ] })
42871
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_material29.Typography, { variant: "caption", color: "text.secondary", sx: { display: "block", mt: 0.5, lineHeight: 1.5 }, children: "Gateway is recommended for production \u2014 it routes through your secure backend, keeps API keys server-side, and enables rate limiting + monitoring." })
42893
42872
  ] }),
42894
42873
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
42895
42874
  import_material29.Snackbar,
@@ -44357,6 +44336,12 @@ var Management = () => {
44357
44336
  styleOverrides: {
44358
44337
  root: { borderRadius: 12 }
44359
44338
  }
44339
+ },
44340
+ MuiTextField: {
44341
+ defaultProps: { size: "small" }
44342
+ },
44343
+ MuiButton: {
44344
+ defaultProps: { size: "small" }
44360
44345
  }
44361
44346
  }
44362
44347
  });
@@ -44499,82 +44484,46 @@ var Management = () => {
44499
44484
  if (isMobile) setSidebarOpen(false);
44500
44485
  },
44501
44486
  sx: {
44502
- minHeight: 56,
44503
- borderRadius: 3,
44504
- mx: 1,
44505
- my: 0.5,
44506
- px: 2,
44507
- py: 1.5,
44508
- border: tabIndex === idx ? (theme2) => `2px solid ${theme2.palette.primary.main}40` : "2px solid transparent",
44509
- bgcolor: tabIndex === idx ? (theme2) => theme2.palette.mode === "dark" ? "rgba(25,118,210,0.12)" : "rgba(25,118,210,0.08)" : "transparent",
44487
+ minHeight: 36,
44488
+ borderRadius: 1.5,
44489
+ mx: 0.5,
44490
+ my: 0.125,
44491
+ px: 1.25,
44492
+ py: 0.5,
44493
+ bgcolor: tabIndex === idx ? (theme2) => theme2.palette.mode === "dark" ? "rgba(25,118,210,0.14)" : "rgba(25,118,210,0.10)" : "transparent",
44510
44494
  color: tabIndex === idx ? "primary.main" : "text.primary",
44511
- fontWeight: tabIndex === idx ? 700 : 500,
44512
- transition: "all 0.2s cubic-bezier(0.4, 0, 0.2, 1)",
44495
+ transition: "background-color 0.15s ease, color 0.15s ease",
44513
44496
  position: "relative",
44514
- overflow: "hidden",
44515
44497
  "&:before": {
44516
44498
  content: '""',
44517
44499
  position: "absolute",
44518
44500
  left: 0,
44519
- top: 0,
44520
- bottom: 0,
44521
- width: 4,
44501
+ top: 5,
44502
+ bottom: 5,
44503
+ width: 3,
44522
44504
  bgcolor: tabIndex === idx ? "primary.main" : "transparent",
44523
- borderRadius: "0 2px 2px 0",
44524
- transition: "all 0.2s"
44505
+ borderRadius: "0 2px 2px 0"
44525
44506
  },
44526
44507
  "&:hover": {
44527
- bgcolor: (theme2) => theme2.palette.mode === "dark" ? "rgba(25,118,210,0.15)" : "rgba(25,118,210,0.10)",
44528
- color: "primary.main",
44529
- transform: "translateX(4px)",
44530
- "&:before": {
44531
- bgcolor: "primary.main"
44532
- }
44533
- },
44534
- "&:active": {
44535
- transform: "translateX(2px) scale(0.98)"
44508
+ bgcolor: (theme2) => theme2.palette.mode === "dark" ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.04)",
44509
+ color: "primary.main"
44536
44510
  },
44537
44511
  "& .MuiListItemIcon-root": {
44538
- minWidth: 44,
44539
- mr: 1.5
44540
- }
44512
+ minWidth: 28,
44513
+ mr: 1,
44514
+ color: tabIndex === idx ? "primary.main" : "text.secondary"
44515
+ },
44516
+ "& .MuiListItemIcon-root svg": { width: 17, height: 17 }
44541
44517
  },
44542
44518
  children: [
44543
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
44544
- import_material52.ListItemIcon,
44545
- {
44546
- sx: {
44547
- color: tabIndex === idx ? "primary.main" : "text.secondary",
44548
- fontSize: 24,
44549
- transition: "all 0.2s"
44550
- },
44551
- children: tab.icon
44552
- }
44553
- ),
44519
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material52.ListItemIcon, { children: tab.icon }),
44554
44520
  /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
44555
44521
  import_material52.ListItemText,
44556
44522
  {
44557
44523
  primary: tab.label,
44558
44524
  primaryTypographyProps: {
44559
- fontWeight: tabIndex === idx ? 700 : 600,
44560
- fontSize: "1rem",
44561
- letterSpacing: "-0.01em"
44562
- }
44563
- }
44564
- ),
44565
- tabIndex === idx && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
44566
- import_material52.Box,
44567
- {
44568
- sx: {
44569
- position: "absolute",
44570
- right: -10,
44571
- top: -10,
44572
- width: 90,
44573
- height: 90,
44574
- bgcolor: (theme2) => theme2.palette.primary.main,
44575
- filter: "blur(45px)",
44576
- opacity: 0.35,
44577
- pointerEvents: "none"
44525
+ fontWeight: tabIndex === idx ? 700 : 500,
44526
+ fontSize: "0.85rem"
44578
44527
  }
44579
44528
  }
44580
44529
  )
@@ -44781,9 +44730,9 @@ var Management = () => {
44781
44730
  import_material52.Box,
44782
44731
  {
44783
44732
  sx: {
44784
- width: 280,
44785
- minWidth: 280,
44786
- maxWidth: 280,
44733
+ width: 240,
44734
+ minWidth: 240,
44735
+ maxWidth: 240,
44787
44736
  height: "100vh",
44788
44737
  display: "flex",
44789
44738
  flexDirection: "column",
@@ -44815,7 +44764,7 @@ var Management = () => {
44815
44764
  display: "flex",
44816
44765
  flexDirection: "column",
44817
44766
  bgcolor: "background.default",
44818
- ml: isMobile ? 0 : "280px",
44767
+ ml: isMobile ? 0 : "240px",
44819
44768
  // Fixed left margin only on desktop
44820
44769
  mt: 0,
44821
44770
  transition: "margin-left 0.2s"