@burtson-labs/bandit-engine 2.0.98 → 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.
@@ -9738,7 +9738,7 @@ var MCPToolsTabV2_default = MCPToolsTabV2;
9738
9738
 
9739
9739
  // src/management/management.tsx
9740
9740
  import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
9741
- var preloadChatPage = () => import("./chat-HYXGXPJM.mjs");
9741
+ var preloadChatPage = () => import("./chat-IOBCRT5Y.mjs");
9742
9742
  var buildCapabilitiesUrl = (gatewayApiUrl) => {
9743
9743
  const trimmed = gatewayApiUrl.replace(/\/$/, "");
9744
9744
  if (trimmed.endsWith("/api")) {
@@ -11104,4 +11104,4 @@ export {
11104
11104
  useGatewayMemory,
11105
11105
  management_default
11106
11106
  };
11107
- //# sourceMappingURL=chunk-USTEWR7Z.mjs.map
11107
+ //# sourceMappingURL=chunk-I7WBZVTR.mjs.map
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 = [];