@burtson-labs/bandit-engine 2.0.78 → 2.0.79

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.
@@ -9741,7 +9741,7 @@ var MCPToolsTabV2_default = MCPToolsTabV2;
9741
9741
 
9742
9742
  // src/management/management.tsx
9743
9743
  import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
9744
- var preloadChatPage = () => import("./chat-C2C5VSLI.mjs");
9744
+ var preloadChatPage = () => import("./chat-62D72T4J.mjs");
9745
9745
  var buildCapabilitiesUrl = (gatewayApiUrl) => {
9746
9746
  const trimmed = gatewayApiUrl.replace(/\/$/, "");
9747
9747
  if (trimmed.endsWith("/api")) {
@@ -11107,4 +11107,4 @@ export {
11107
11107
  useGatewayMemory,
11108
11108
  management_default
11109
11109
  };
11110
- //# sourceMappingURL=chunk-UDSKWLDG.mjs.map
11110
+ //# sourceMappingURL=chunk-XJH5E5QG.mjs.map
package/dist/index.js CHANGED
@@ -23501,6 +23501,7 @@ var init_conversation_drawer = __esm({
23501
23501
  init_conversationStore();
23502
23502
  init_projectStore();
23503
23503
  init_authenticationStore();
23504
+ init_packageSettingsStore();
23504
23505
  init_brandingService();
23505
23506
  init_project_management_modal();
23506
23507
  init_move_conversation_modal();
@@ -23602,19 +23603,45 @@ var init_conversation_drawer = __esm({
23602
23603
  }, [user2, userDisplayName]);
23603
23604
  const [avatarImage, setAvatarImage] = (0, import_react30.useState)(BANDIT_AVATAR);
23604
23605
  (0, import_react30.useEffect)(() => {
23605
- const fetchBranding = async () => {
23606
+ let active2 = true;
23607
+ let objectUrl = null;
23608
+ const resolveAvatar2 = async () => {
23609
+ try {
23610
+ const avatarId = getCustomClaim("avatarUrl");
23611
+ const fileStorageApiUrl = usePackageSettingsStore.getState().settings?.fileStorageApiUrl;
23612
+ const token = useAuthenticationStore.getState().token;
23613
+ if (avatarId && fileStorageApiUrl && token) {
23614
+ const base = fileStorageApiUrl.replace(/\/$/, "");
23615
+ const res = await fetch(`${base}/app-asset/download/${encodeURIComponent(avatarId)}`, {
23616
+ headers: { Authorization: `Bearer ${token}` }
23617
+ });
23618
+ if (res.ok) {
23619
+ const blob = await res.blob();
23620
+ if (active2) {
23621
+ objectUrl = URL.createObjectURL(blob);
23622
+ setAvatarImage(objectUrl);
23623
+ }
23624
+ return;
23625
+ }
23626
+ }
23627
+ } catch {
23628
+ }
23606
23629
  try {
23607
23630
  const branding = await brandingService_default.getBranding();
23608
- setAvatarImage(branding?.logoBase64 || BANDIT_AVATAR);
23631
+ if (active2) setAvatarImage(branding?.logoBase64 || BANDIT_AVATAR);
23609
23632
  } catch (error) {
23610
23633
  debugLogger.error("Failed to load branding avatar", {
23611
23634
  error: error instanceof Error ? error.message : String(error)
23612
23635
  });
23613
- setAvatarImage(BANDIT_AVATAR);
23636
+ if (active2) setAvatarImage(BANDIT_AVATAR);
23614
23637
  }
23615
23638
  };
23616
- fetchBranding();
23617
- }, []);
23639
+ resolveAvatar2();
23640
+ return () => {
23641
+ active2 = false;
23642
+ if (objectUrl) URL.revokeObjectURL(objectUrl);
23643
+ };
23644
+ }, [getCustomClaim]);
23618
23645
  const avatarLabel = userDisplayName || user2?.email || "Bandit";
23619
23646
  const avatarInitials = (0, import_react30.useMemo)(() => deriveInitials(avatarLabel), [avatarLabel]);
23620
23647
  (0, import_react30.useEffect)(() => {
@@ -24119,6 +24146,10 @@ var init_conversation_drawer = __esm({
24119
24146
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
24120
24147
  import_material21.Box,
24121
24148
  {
24149
+ onClick: user2 ? () => {
24150
+ window.location.href = "/profile";
24151
+ } : void 0,
24152
+ title: user2 ? "Profile & settings" : void 0,
24122
24153
  sx: {
24123
24154
  mt: "auto",
24124
24155
  px: 2,
@@ -24128,7 +24159,10 @@ var init_conversation_drawer = __esm({
24128
24159
  alignItems: "center",
24129
24160
  gap: 1.5,
24130
24161
  justifyContent: "center",
24131
- bgcolor: (0, import_material21.alpha)(theme.palette.background.default, isMobile ? 0.9 : 0.6)
24162
+ bgcolor: (0, import_material21.alpha)(theme.palette.background.default, isMobile ? 0.9 : 0.6),
24163
+ cursor: user2 ? "pointer" : "default",
24164
+ transition: "background-color 0.15s ease",
24165
+ "&:hover": user2 ? { bgcolor: (0, import_material21.alpha)(theme.palette.primary.main, 0.08) } : void 0
24132
24166
  },
24133
24167
  children: [
24134
24168
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(