@burtson-labs/bandit-engine 2.0.135 → 2.0.137
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/{chat-MR4EO6ZD.mjs → chat-REZJEBRK.mjs} +2 -2
- package/dist/{chunk-A4AFGZMU.mjs → chunk-2L5DC4OI.mjs} +2 -2
- package/dist/{chunk-PWESOU56.mjs → chunk-YPIUO3IS.mjs} +55 -50
- package/dist/chunk-YPIUO3IS.mjs.map +1 -0
- package/dist/index.js +54 -49
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/management/management.js +54 -49
- package/dist/management/management.js.map +1 -1
- package/dist/management/management.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-PWESOU56.mjs.map +0 -1
- /package/dist/{chat-MR4EO6ZD.mjs.map → chat-REZJEBRK.mjs.map} +0 -0
- /package/dist/{chunk-A4AFGZMU.mjs.map → chunk-2L5DC4OI.mjs.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
chat_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YPIUO3IS.mjs";
|
|
4
4
|
import "./chunk-ONQMRE2G.mjs";
|
|
5
5
|
import "./chunk-BVYSGIWG.mjs";
|
|
6
6
|
import "./chunk-K2JGFKEB.mjs";
|
|
@@ -13,4 +13,4 @@ import "./chunk-BJTO5JO5.mjs";
|
|
|
13
13
|
export {
|
|
14
14
|
chat_default as default
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=chat-
|
|
16
|
+
//# sourceMappingURL=chat-REZJEBRK.mjs.map
|
|
@@ -9776,7 +9776,7 @@ var MCPToolsTabV2_default = MCPToolsTabV2;
|
|
|
9776
9776
|
|
|
9777
9777
|
// src/management/management.tsx
|
|
9778
9778
|
import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
9779
|
-
var preloadChatPage = () => import("./chat-
|
|
9779
|
+
var preloadChatPage = () => import("./chat-REZJEBRK.mjs");
|
|
9780
9780
|
var buildCapabilitiesUrl = (gatewayApiUrl) => {
|
|
9781
9781
|
const trimmed = gatewayApiUrl.replace(/\/$/, "");
|
|
9782
9782
|
if (trimmed.endsWith("/api")) {
|
|
@@ -11149,4 +11149,4 @@ export {
|
|
|
11149
11149
|
useGatewayMemory,
|
|
11150
11150
|
management_default
|
|
11151
11151
|
};
|
|
11152
|
-
//# sourceMappingURL=chunk-
|
|
11152
|
+
//# sourceMappingURL=chunk-2L5DC4OI.mjs.map
|
|
@@ -1647,6 +1647,8 @@ ${sanitize(
|
|
|
1647
1647
|
const hasFeedbackAction = isFeedbackEnabled && isMobile;
|
|
1648
1648
|
const hasSttAction = isSTTAvailable && !isVoiceModeEnabled;
|
|
1649
1649
|
const hasVoicePickerAction = isMobile && isTTSAvailable && availableVoices.length > 0;
|
|
1650
|
+
const hasComposeContent = !!inputValue.trim() || pastedImages.length > 0 || fileInputs.length > 0;
|
|
1651
|
+
const showSendButton = streamingActive || hasComposeContent || !isVoiceModeEligible;
|
|
1650
1652
|
const hasSecondaryActions = isMobile && (hasAttachmentAction || hasMemoryAction || hasFeedbackAction || hasSttAction || hasVoicePickerAction);
|
|
1651
1653
|
useEffect4(() => {
|
|
1652
1654
|
if (!isMobile || !hasSecondaryActions) {
|
|
@@ -1711,6 +1713,33 @@ ${sanitize(
|
|
|
1711
1713
|
if (!hasSttAction) return null;
|
|
1712
1714
|
return /* @__PURE__ */ jsx9(Box6, { sx: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ jsx9(transcriber_default, { onTranscriptionCompleted: handleTranscriptionCompleted }) }, key ?? "stt");
|
|
1713
1715
|
};
|
|
1716
|
+
const renderVoiceModeButton = (key) => /* @__PURE__ */ jsx9(
|
|
1717
|
+
Tooltip2,
|
|
1718
|
+
{
|
|
1719
|
+
title: !isVoiceModeEnabled ? "Enable voice mode" : voiceStatus === "error" ? voiceError || "Voice mode error" : voiceStatus === "processing" ? "Transcribing your speech" : voiceStatus === "recording" ? "Recording - click to stop" : voiceStatus === "initializing" ? "Preparing microphone" : "Listening - click to turn off",
|
|
1720
|
+
children: /* @__PURE__ */ jsx9(
|
|
1721
|
+
IconButton5,
|
|
1722
|
+
{
|
|
1723
|
+
onClick: toggleVoiceMode,
|
|
1724
|
+
sx: {
|
|
1725
|
+
width: sendIconSize,
|
|
1726
|
+
height: sendIconSize,
|
|
1727
|
+
borderRadius: "50%",
|
|
1728
|
+
bgcolor: isVoiceModeEnabled ? alpha3(theme.palette.error.main, theme.palette.mode === "dark" ? 0.45 : 0.3) : fileText,
|
|
1729
|
+
color: isVoiceModeEnabled ? theme.palette.common.white : fileIconBg,
|
|
1730
|
+
boxShadow: isVoiceModeEnabled && voiceStatus === "recording" ? `0 0 0 2px ${alpha3(theme.palette.error.main, 0.25)}` : "none",
|
|
1731
|
+
transform: isVoiceModeEnabled && voiceStatus === "recording" ? "scale(1.05)" : "none",
|
|
1732
|
+
transition: "transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease",
|
|
1733
|
+
"&:hover": {
|
|
1734
|
+
bgcolor: isVoiceModeEnabled ? alpha3(theme.palette.error.main, theme.palette.mode === "dark" ? 0.55 : 0.38) : hoverBadgeBackground
|
|
1735
|
+
}
|
|
1736
|
+
},
|
|
1737
|
+
children: !isVoiceModeEnabled ? /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small" }) : voiceStatus === "processing" || voiceStatus === "initializing" ? /* @__PURE__ */ jsx9(CircularProgress2, { size: 18, sx: { color: theme.palette.common.white } }) : voiceStatus === "error" ? /* @__PURE__ */ jsx9(HearingDisabledIcon, { fontSize: "small", sx: { color: theme.palette.error.light } }) : voiceStatus === "recording" ? /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small", sx: { color: theme.palette.error.light } }) : /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small", sx: { color: theme.palette.common.white } })
|
|
1738
|
+
}
|
|
1739
|
+
)
|
|
1740
|
+
},
|
|
1741
|
+
key ?? "voice-mode"
|
|
1742
|
+
);
|
|
1714
1743
|
const renderVoicePickerButton = (key) => {
|
|
1715
1744
|
if (!hasVoicePickerAction) return null;
|
|
1716
1745
|
return /* @__PURE__ */ jsx9(Tooltip2, { title: `Voice: ${selectedVoice ? toTitleCase(selectedVoice.split("-")[1] ?? selectedVoice) : "Default"}`, children: /* @__PURE__ */ jsx9(
|
|
@@ -1958,51 +1987,22 @@ ${sanitize(
|
|
|
1958
1987
|
minHeight: primaryIconSize
|
|
1959
1988
|
},
|
|
1960
1989
|
children: [
|
|
1961
|
-
isVoiceModeEligible && /* @__PURE__ */ jsxs6(Fragment5, { children: [
|
|
1962
|
-
/* @__PURE__ */ jsx9(
|
|
1963
|
-
Tooltip2,
|
|
1964
|
-
{
|
|
1965
|
-
title: !isVoiceModeEnabled ? "Enable voice mode" : voiceStatus === "error" ? voiceError || "Voice mode error" : voiceStatus === "processing" ? "Transcribing your speech" : voiceStatus === "recording" ? "Recording - click to stop" : voiceStatus === "initializing" ? "Preparing microphone" : "Listening - click to turn off",
|
|
1966
|
-
children: /* @__PURE__ */ jsx9(
|
|
1967
|
-
IconButton5,
|
|
1968
|
-
{
|
|
1969
|
-
onClick: toggleVoiceMode,
|
|
1970
|
-
sx: {
|
|
1971
|
-
width: primaryIconSize,
|
|
1972
|
-
height: primaryIconSize,
|
|
1973
|
-
borderRadius: "50%",
|
|
1974
|
-
bgcolor: isVoiceModeEnabled ? alpha3(theme.palette.error.main, theme.palette.mode === "dark" ? 0.45 : 0.3) : badgeBackground,
|
|
1975
|
-
color: isVoiceModeEnabled ? theme.palette.common.white : fileText,
|
|
1976
|
-
boxShadow: isVoiceModeEnabled && voiceStatus === "recording" ? `0 0 0 2px ${alpha3(theme.palette.error.main, 0.25)}` : "none",
|
|
1977
|
-
transform: isVoiceModeEnabled && voiceStatus === "recording" ? "scale(1.05)" : "none",
|
|
1978
|
-
transition: "transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease",
|
|
1979
|
-
"&:hover": {
|
|
1980
|
-
bgcolor: isVoiceModeEnabled ? alpha3(theme.palette.error.main, theme.palette.mode === "dark" ? 0.55 : 0.38) : hoverBadgeBackground
|
|
1981
|
-
}
|
|
1982
|
-
},
|
|
1983
|
-
children: !isVoiceModeEnabled ? /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small", sx: { color: theme.palette.mode === "dark" ? fileText : theme.palette.text.secondary } }) : voiceStatus === "processing" || voiceStatus === "initializing" ? /* @__PURE__ */ jsx9(CircularProgress2, { size: 18, sx: { color: fileText } }) : voiceStatus === "error" ? /* @__PURE__ */ jsx9(HearingDisabledIcon, { fontSize: "small", sx: { color: theme.palette.error.light } }) : voiceStatus === "recording" ? /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small", sx: { color: theme.palette.error.light } }) : /* @__PURE__ */ jsx9(GraphicEqIcon, { fontSize: "small", sx: { color: theme.palette.common.white } })
|
|
1984
|
-
}
|
|
1985
|
-
)
|
|
1986
|
-
}
|
|
1987
|
-
),
|
|
1988
|
-
!isMobile && isVoiceModeEnabled && /* @__PURE__ */ jsx9(
|
|
1989
|
-
Typography3,
|
|
1990
|
-
{
|
|
1991
|
-
variant: "caption",
|
|
1992
|
-
sx: {
|
|
1993
|
-
color: voiceStatus === "error" ? theme.palette.error.main : voiceStatus === "processing" ? theme.palette.warning.main : fileText,
|
|
1994
|
-
maxWidth: 240,
|
|
1995
|
-
overflow: "hidden",
|
|
1996
|
-
textOverflow: "ellipsis",
|
|
1997
|
-
whiteSpace: "nowrap"
|
|
1998
|
-
},
|
|
1999
|
-
children: voiceStatus === "error" ? voiceError || "Voice mode unavailable" : voiceStatus === "initializing" ? "Starting voice mode..." : voiceStatus === "recording" ? "Recording..." : voiceStatus === "processing" ? "Transcribing..." : voiceLastTranscript ? `Heard: "${voiceLastTranscript.length > 60 ? `${voiceLastTranscript.slice(0, 57)}...` : voiceLastTranscript}"` : "Listening..."
|
|
2000
|
-
}
|
|
2001
|
-
)
|
|
2002
|
-
] }),
|
|
2003
1990
|
!isMobile && renderAttachmentButton("attach-inline"),
|
|
2004
1991
|
!isMobile && renderMemoryButton("memory-inline"),
|
|
2005
|
-
!isMobile &&
|
|
1992
|
+
!isMobile && isVoiceModeEligible && isVoiceModeEnabled && /* @__PURE__ */ jsx9(
|
|
1993
|
+
Typography3,
|
|
1994
|
+
{
|
|
1995
|
+
variant: "caption",
|
|
1996
|
+
sx: {
|
|
1997
|
+
color: voiceStatus === "error" ? theme.palette.error.main : voiceStatus === "processing" ? theme.palette.warning.main : fileText,
|
|
1998
|
+
maxWidth: 240,
|
|
1999
|
+
overflow: "hidden",
|
|
2000
|
+
textOverflow: "ellipsis",
|
|
2001
|
+
whiteSpace: "nowrap"
|
|
2002
|
+
},
|
|
2003
|
+
children: voiceStatus === "error" ? voiceError || "Voice mode unavailable" : voiceStatus === "initializing" ? "Starting voice mode..." : voiceStatus === "recording" ? "Recording..." : voiceStatus === "processing" ? "Transcribing..." : voiceLastTranscript ? `Heard: "${voiceLastTranscript.length > 60 ? `${voiceLastTranscript.slice(0, 57)}...` : voiceLastTranscript}"` : "Listening..."
|
|
2004
|
+
}
|
|
2005
|
+
),
|
|
2006
2006
|
isMobile && hasSecondaryActions && /* @__PURE__ */ jsx9(
|
|
2007
2007
|
IconButton5,
|
|
2008
2008
|
{
|
|
@@ -2058,7 +2058,9 @@ ${sanitize(
|
|
|
2058
2058
|
),
|
|
2059
2059
|
/* @__PURE__ */ jsxs6(Box6, { sx: { display: "flex", alignItems: "center", gap: isMobile ? 0.6 : 1 }, children: [
|
|
2060
2060
|
!isMobile && /* @__PURE__ */ jsx9(engine_picker_default, {}),
|
|
2061
|
-
|
|
2061
|
+
!isMobile && renderSttButton("stt-right"),
|
|
2062
|
+
isVoiceModeEligible && !showSendButton && renderVoiceModeButton("voice-right"),
|
|
2063
|
+
showSendButton && /* @__PURE__ */ jsx9(Tooltip2, { title: isStreaming ? "Stop response" : "Send message", children: /* @__PURE__ */ jsx9("span", { children: /* @__PURE__ */ jsx9(
|
|
2062
2064
|
IconButton5,
|
|
2063
2065
|
{
|
|
2064
2066
|
onClick: isStreaming ? onStop || (() => {
|
|
@@ -11250,10 +11252,13 @@ var ChatContent = () => {
|
|
|
11250
11252
|
// Claude iOS, where the card runs edge-to-edge vertically and the
|
|
11251
11253
|
// hairline border keeps the corners legible. Width kept in sync
|
|
11252
11254
|
// with the drawer in enhanced-mobile-conversations-modal.tsx.
|
|
11253
|
-
// Claude
|
|
11254
|
-
// so
|
|
11255
|
-
//
|
|
11256
|
-
|
|
11255
|
+
// iOS-sheet recede (Claude style): the card scales down anchored at
|
|
11256
|
+
// its bottom-left, so the rounded top corners appear inset below the
|
|
11257
|
+
// status area, the bottom stays flush with the screen edge, and the
|
|
11258
|
+
// motion reads as the native sheet-behind effect instead of the
|
|
11259
|
+
// content lurching downward.
|
|
11260
|
+
transform: isMobile && mobileConversationsOpen ? "translateX(min(calc(100vw - 56px), 360px)) scale(0.93)" : "none",
|
|
11261
|
+
transformOrigin: "left bottom",
|
|
11257
11262
|
borderRadius: isMobile && mobileConversationsOpen ? "36px" : 0,
|
|
11258
11263
|
// Hairline border so the rounded card reads even when the backdrop
|
|
11259
11264
|
// is the same near-black as the shell.
|
|
@@ -11283,7 +11288,7 @@ var ChatContent = () => {
|
|
|
11283
11288
|
sx: (theme) => ({
|
|
11284
11289
|
position: "absolute",
|
|
11285
11290
|
inset: isMobile ? "3px" : 0,
|
|
11286
|
-
border: `
|
|
11291
|
+
border: `3px solid ${theme.palette.mode === "dark" ? "rgba(255,255,255,0.55)" : "rgba(0,0,0,0.45)"}`,
|
|
11287
11292
|
borderRadius: isMobile ? "28px" : "inherit",
|
|
11288
11293
|
zIndex: 1400,
|
|
11289
11294
|
pointerEvents: "none"
|
|
@@ -11567,4 +11572,4 @@ var chat_default = Chat;
|
|
|
11567
11572
|
export {
|
|
11568
11573
|
chat_default
|
|
11569
11574
|
};
|
|
11570
|
-
//# sourceMappingURL=chunk-
|
|
11575
|
+
//# sourceMappingURL=chunk-YPIUO3IS.mjs.map
|