@burtson-labs/bandit-engine 2.0.97 → 2.0.99

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.js CHANGED
@@ -15420,69 +15420,48 @@ var init_source_chips = __esm({
15420
15420
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_material11.Box, { sx: { opacity: 0.75, fontSize: 11, wordBreak: "break-all", mt: 0.25 }, children: source.url })
15421
15421
  ] }),
15422
15422
  arrow: true,
15423
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
15423
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15424
15424
  import_material11.Box,
15425
15425
  {
15426
15426
  component: "a",
15427
15427
  href: source.url,
15428
15428
  target: "_blank",
15429
15429
  rel: "noopener noreferrer",
15430
+ className: "source-chip",
15430
15431
  sx: {
15431
15432
  display: "inline-flex",
15432
15433
  alignItems: "center",
15434
+ justifyContent: "center",
15433
15435
  flexShrink: 0,
15434
- gap: 0.5,
15435
- height: 26,
15436
- px: 0.75,
15437
- borderRadius: 999,
15438
- border: "1px solid",
15439
- borderColor: "divider",
15440
- bgcolor: "background.paper",
15441
- textDecoration: "none",
15436
+ width: 28,
15437
+ height: 28,
15438
+ borderRadius: "50%",
15439
+ border: "2px solid",
15440
+ borderColor: "background.paper",
15441
+ bgcolor: "action.hover",
15442
15442
  color: "text.primary",
15443
- fontSize: 12.5,
15444
- lineHeight: 1.4,
15445
- transition: "border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease",
15446
- "&:hover": { borderColor: "primary.main", bgcolor: "action.hover", boxShadow: 1, zIndex: 2 }
15443
+ textDecoration: "none",
15444
+ // Hover lifts the chip via transform/z-index only — no layout reflow,
15445
+ // so the overlapping stack can never jitter the way the expand did.
15446
+ transition: "transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease",
15447
+ "&:hover": {
15448
+ transform: "translateY(-3px)",
15449
+ boxShadow: 3,
15450
+ borderColor: "primary.main",
15451
+ zIndex: 3
15452
+ }
15447
15453
  },
15448
- children: [
15449
- failed ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15450
- import_material11.Box,
15451
- {
15452
- sx: {
15453
- width: 18,
15454
- height: 18,
15455
- borderRadius: "50%",
15456
- bgcolor: "primary.main",
15457
- color: "primary.contrastText",
15458
- display: "grid",
15459
- placeItems: "center",
15460
- fontSize: 9,
15461
- fontWeight: 700,
15462
- flexShrink: 0
15463
- },
15464
- children: domain.charAt(0).toUpperCase()
15465
- }
15466
- ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15467
- import_material11.Box,
15468
- {
15469
- component: "img",
15470
- src: `https://icons.duckduckgo.com/ip3/${domain}.ico`,
15471
- alt: "",
15472
- loading: "lazy",
15473
- onError: () => setFailed(true),
15474
- sx: { width: 18, height: 18, borderRadius: "50%", flexShrink: 0 }
15475
- }
15476
- ),
15477
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15478
- import_material11.Box,
15479
- {
15480
- component: "span",
15481
- sx: { maxWidth: 150, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" },
15482
- children: label
15483
- }
15484
- )
15485
- ]
15454
+ children: failed ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_material11.Box, { component: "span", sx: { fontSize: 11, fontWeight: 700, color: "primary.main" }, children: domain.charAt(0).toUpperCase() }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15455
+ import_material11.Box,
15456
+ {
15457
+ component: "img",
15458
+ src: `https://icons.duckduckgo.com/ip3/${domain}.ico`,
15459
+ alt: "",
15460
+ loading: "lazy",
15461
+ onError: () => setFailed(true),
15462
+ sx: { width: 16, height: 16, borderRadius: "4px", flexShrink: 0 }
15463
+ }
15464
+ )
15486
15465
  }
15487
15466
  )
15488
15467
  }
@@ -15507,7 +15486,19 @@ var init_source_chips = __esm({
15507
15486
  children: "Sources"
15508
15487
  }
15509
15488
  ),
15510
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_material11.Box, { sx: { display: "flex", flexWrap: "wrap", alignItems: "center", gap: 0.75 }, children: sources.map((s, i) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SourceChip, { source: s }, `${s.url}-${i}`)) })
15489
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
15490
+ import_material11.Box,
15491
+ {
15492
+ sx: {
15493
+ display: "flex",
15494
+ alignItems: "center",
15495
+ // Overlapping stack; each chip lifts on hover (no reflow → no jitter).
15496
+ "& .source-chip": { ml: "-9px" },
15497
+ "& .source-chip:first-of-type": { ml: 0 }
15498
+ },
15499
+ children: sources.map((s, i) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SourceChip, { source: s }, `${s.url}-${i}`))
15500
+ }
15501
+ )
15511
15502
  ] });
15512
15503
  };
15513
15504
  source_chips_default = SourceChips;
@@ -21697,6 +21688,15 @@ ${fn}(${argStr})
21697
21688
  \`\`\``;
21698
21689
  }
21699
21690
  }
21691
+ if (!/```(?:tool_code|TOOL_CODE)/.test(fullMessage)) {
21692
+ const plainToolFence = /```[a-zA-Z0-9_-]*[ \t]*\n([ \t]*(?:web_search|web_fetch|image_generation|create_file|ask_user)[\s\S]*?)\n```/;
21693
+ const fm = fullMessage.match(plainToolFence);
21694
+ if (fm) {
21695
+ fullMessage = fullMessage.replace(plainToolFence, `\`\`\`tool_code
21696
+ ${fm[1].trim()}
21697
+ \`\`\``);
21698
+ }
21699
+ }
21700
21700
  const toolCallMatches = fullMessage.match(/```(?:tool_code|TOOL_CODE)\s*\n([^`]+)\n```/gi);
21701
21701
  let enhancedMessage = fullMessage;
21702
21702
  const summarizableResults = [];
@@ -43112,13 +43112,13 @@ var ProviderTab = () => {
43112
43112
  showMessage("Connection test failed. Please check your configuration.", "error");
43113
43113
  }
43114
43114
  };
43115
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_material49.Box, { sx: { p: { xs: 1.5, sm: 3, md: 4 } }, children: [
43115
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_material49.Box, { sx: { p: { xs: 1.5, sm: 2.5, md: 3 } }, children: [
43116
43116
  /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_material49.Box, { sx: { mb: { xs: 2.5, md: 3 } }, children: [
43117
43117
  /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
43118
43118
  import_material49.Typography,
43119
43119
  {
43120
43120
  variant: "h5",
43121
- sx: { fontWeight: 600, mb: 1, color: "primary.main", fontSize: { xs: "1.6rem", md: "1.8rem" } },
43121
+ sx: { fontWeight: 600, mb: 1, color: "primary.main", fontSize: { xs: "1.3rem", md: "1.45rem" } },
43122
43122
  children: "AI Provider Configuration"
43123
43123
  }
43124
43124
  ),