@axiom-lattice/react-sdk 2.1.15 → 2.1.16

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
@@ -1045,9 +1045,9 @@ var useStyle = (0, import_antd_style.createStyles)(({ token, css }) => {
1045
1045
  }
1046
1046
 
1047
1047
  &.collapsed {
1048
- width: 64px;
1049
- height: fit-content;
1050
- border-radius: 32px;
1048
+ width: 16px;
1049
+ height: 100%;
1050
+ margin-right: -16px;
1051
1051
  .ant-conversations {
1052
1052
  width: 64px;
1053
1053
  }
@@ -1302,7 +1302,7 @@ var ColumnLayout = ({
1302
1302
  menu && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1303
1303
  "div",
1304
1304
  {
1305
- className: `${styles.menu} ${"open"} ${menuCollapsed ? "collapsed" : ""}`,
1305
+ className: `${styles.menu} ${"open"} ${sideAppVisible || menuCollapsed ? "collapsed" : ""}`,
1306
1306
  children: [
1307
1307
  logo,
1308
1308
  menu
@@ -2707,7 +2707,7 @@ var AttachmentsCard = ({
2707
2707
  columns = 1,
2708
2708
  showDownloadButton = false
2709
2709
  }) => {
2710
- const { Text: Text12 } = import_antd8.Typography;
2710
+ const { Text: Text13 } = import_antd8.Typography;
2711
2711
  const [showAll, setShowAll] = (0, import_react12.useState)(false);
2712
2712
  const { openSideApp } = useChatUIContext();
2713
2713
  const getStyles = () => {
@@ -2782,7 +2782,7 @@ var AttachmentsCard = ({
2782
2782
  );
2783
2783
  };
2784
2784
  const renderFileDescription = (item) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd8.Space, { direction: "vertical", size: size === "small" ? 2 : 4, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd8.Space, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2785
- Text12,
2785
+ Text13,
2786
2786
  {
2787
2787
  type: "secondary",
2788
2788
  style: {
@@ -2854,7 +2854,7 @@ var AttachmentsCard = ({
2854
2854
  }
2855
2855
  ),
2856
2856
  item.files && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { paddingLeft: "12px" }, children: [
2857
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text12, { type: "secondary", style: { fontSize: "12px" }, children: [
2857
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text13, { type: "secondary", style: { fontSize: "12px" }, children: [
2858
2858
  "\u5305\u542B\u6587\u4EF6(",
2859
2859
  item.files.length,
2860
2860
  ")"
@@ -3809,6 +3809,7 @@ var FileExplorerButton = ({}) => {
3809
3809
  var import_x3 = require("@ant-design/x");
3810
3810
  var import_react16 = require("react");
3811
3811
  var import_jsx_runtime27 = require("react/jsx-runtime");
3812
+ var { Text: Text10 } = import_antd18.Typography;
3812
3813
  var AgentHeader = (props) => {
3813
3814
  const { description, avatar, name, extra, extraMeta } = props;
3814
3815
  const extraMetaComponents = (0, import_react16.useMemo)(() => {
@@ -3839,7 +3840,7 @@ var AgentHeader = (props) => {
3839
3840
  {
3840
3841
  style: { padding: 8 },
3841
3842
  variant: "borderless",
3842
- description,
3843
+ description: description ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Text10, { ellipsis: { tooltip: description }, children: description }) : void 0,
3843
3844
  icon: avatar ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_antd18.Avatar, { src: avatar, size: 48 }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_antd18.Avatar, { size: 48, children: name?.charAt(0).toUpperCase() }),
3844
3845
  title: name ? name : void 0,
3845
3846
  extra: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_antd18.Space, { children: [
@@ -4092,7 +4093,7 @@ var Chating = ({
4092
4093
 
4093
4094
  // src/components/GenUI/elements/task_detail.tsx
4094
4095
  var import_jsx_runtime29 = require("react/jsx-runtime");
4095
- var { Text: Text10 } = import_antd20.Typography;
4096
+ var { Text: Text11 } = import_antd20.Typography;
4096
4097
  var TaskDetail = ({ data, component_key, interactive = true }) => {
4097
4098
  const { description, subagent_type, thread_id } = data || {};
4098
4099
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
@@ -5116,6 +5117,7 @@ var AgentConversations = () => {
5116
5117
  };
5117
5118
 
5118
5119
  // src/components/Chat/ChatSidebar.tsx
5120
+ var import_react23 = require("react");
5119
5121
  var import_antd24 = require("antd");
5120
5122
  var import_icons13 = require("@ant-design/icons");
5121
5123
 
@@ -5171,7 +5173,7 @@ var useStyles3 = (0, import_antd_style10.createStyles)(({ token, css }) => ({
5171
5173
  position: relative;
5172
5174
  background: transparent;
5173
5175
  border-radius: ${token.borderRadiusLG}px;
5174
- overflow: hidden;
5176
+ overflow: visible;
5175
5177
  `,
5176
5178
  content: css`
5177
5179
  flex: 1;
@@ -5198,6 +5200,52 @@ var useStyles3 = (0, import_antd_style10.createStyles)(({ token, css }) => ({
5198
5200
  }
5199
5201
  }
5200
5202
  `,
5203
+ hoverOverlay: css`
5204
+ position: fixed;
5205
+ top: 0;
5206
+ left: 0;
5207
+ height: 100vh;
5208
+ width: 240px;
5209
+ background: ${token.colorBgContainer};
5210
+ box-shadow: ${token.boxShadowSecondary};
5211
+ border-radius: 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px 0;
5212
+ z-index: 1000;
5213
+ transform: translateX(-100%);
5214
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5215
+ overflow: hidden;
5216
+ display: flex;
5217
+ flex-direction: column;
5218
+ padding-top: ${token.paddingMD}px;
5219
+
5220
+ &.visible {
5221
+ transform: translateX(0);
5222
+ }
5223
+ `,
5224
+ hoverContent: css`
5225
+ flex: 1;
5226
+ overflow-y: auto;
5227
+ overflow-x: hidden;
5228
+ padding: ${token.paddingMD}px ${token.paddingSM}px;
5229
+ padding-bottom: ${token.paddingLG}px;
5230
+
5231
+ /* Custom scrollbar styling */
5232
+ &::-webkit-scrollbar {
5233
+ width: 6px;
5234
+ }
5235
+
5236
+ &::-webkit-scrollbar-track {
5237
+ background: transparent;
5238
+ }
5239
+
5240
+ &::-webkit-scrollbar-thumb {
5241
+ background: ${token.colorBorder};
5242
+ border-radius: 3px;
5243
+
5244
+ &:hover {
5245
+ background: ${token.colorBorderSecondary};
5246
+ }
5247
+ }
5248
+ `,
5201
5249
  section: css`
5202
5250
  margin-bottom: ${token.marginLG}px;
5203
5251
 
@@ -5239,6 +5287,18 @@ var useStyles3 = (0, import_antd_style10.createStyles)(({ token, css }) => ({
5239
5287
  transparent
5240
5288
  );
5241
5289
  }
5290
+
5291
+ &.collapsed {
5292
+ border: 0;
5293
+ &::before {
5294
+ content: "";
5295
+ position: absolute;
5296
+ top: 0;
5297
+ left: 0;
5298
+ right: 0;
5299
+ height: 0px;
5300
+ }
5301
+ }
5242
5302
  `,
5243
5303
  actionButton: css`
5244
5304
  display: flex;
@@ -5279,8 +5339,9 @@ var ChatSidebar = ({
5279
5339
  defaultCollapsed = false
5280
5340
  }) => {
5281
5341
  const { styles } = useStyles3();
5282
- const { setMenuCollapsed, menuCollapsed } = useChatUIContext();
5342
+ const { setMenuCollapsed, menuCollapsed, sideAppVisible } = useChatUIContext();
5283
5343
  const { setSettingsModalOpen } = useLatticeChatShellContext();
5344
+ const [isHovered, setIsHovered] = (0, import_react23.useState)(false);
5284
5345
  const handleToggleCollapse = () => {
5285
5346
  setMenuCollapsed(!menuCollapsed);
5286
5347
  };
@@ -5288,41 +5349,103 @@ var ChatSidebar = ({
5288
5349
  setSettingsModalOpen(true);
5289
5350
  onSettingsClick?.();
5290
5351
  };
5291
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.sidebar, children: [
5292
- !menuCollapsed && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.content, children: [
5293
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5294
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Assistants" }),
5295
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AssistantList, {})
5296
- ] }),
5297
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_antd24.Divider, { className: styles.divider }),
5298
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5299
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Threads" }),
5300
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AgentConversations, {})
5301
- ] })
5302
- ] }),
5303
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.footer, children: [
5304
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5305
- "button",
5306
- {
5307
- className: styles.actionButton,
5308
- onClick: handleToggleCollapse,
5309
- title: menuCollapsed ? "Expand sidebar" : "Collapse sidebar",
5310
- "aria-label": menuCollapsed ? "Expand sidebar" : "Collapse sidebar",
5311
- children: menuCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuUnfoldOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuFoldOutlined, {})
5312
- }
5313
- ),
5314
- !menuCollapsed && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5315
- "button",
5316
- {
5317
- className: styles.actionButton,
5318
- onClick: handleSettingsClick,
5319
- title: "Settings",
5320
- "aria-label": "Settings",
5321
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.SettingOutlined, {})
5322
- }
5323
- )
5324
- ] })
5325
- ] }) });
5352
+ const isCollapsed = menuCollapsed || sideAppVisible;
5353
+ const handleMouseEnter = () => {
5354
+ if (isCollapsed) {
5355
+ setIsHovered(true);
5356
+ }
5357
+ };
5358
+ const handleMouseLeave = () => {
5359
+ setIsHovered(false);
5360
+ };
5361
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
5362
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5363
+ "div",
5364
+ {
5365
+ className: styles.sidebar,
5366
+ onMouseEnter: handleMouseEnter,
5367
+ onMouseLeave: handleMouseLeave,
5368
+ children: !isCollapsed && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
5369
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.content, children: [
5370
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5371
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Assistants" }),
5372
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AssistantList, {})
5373
+ ] }),
5374
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_antd24.Divider, { className: styles.divider }),
5375
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5376
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Threads" }),
5377
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AgentConversations, {})
5378
+ ] })
5379
+ ] }),
5380
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.footer, children: [
5381
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5382
+ "button",
5383
+ {
5384
+ className: styles.actionButton,
5385
+ onClick: handleToggleCollapse,
5386
+ title: isCollapsed ? "Expand sidebar" : "Collapse sidebar",
5387
+ "aria-label": isCollapsed ? "Expand sidebar" : "Collapse sidebar",
5388
+ children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuUnfoldOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuFoldOutlined, {})
5389
+ }
5390
+ ),
5391
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5392
+ "button",
5393
+ {
5394
+ className: styles.actionButton,
5395
+ onClick: handleSettingsClick,
5396
+ title: "Settings",
5397
+ "aria-label": "Settings",
5398
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.SettingOutlined, {})
5399
+ }
5400
+ )
5401
+ ] })
5402
+ ] })
5403
+ }
5404
+ ),
5405
+ isCollapsed && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5406
+ "div",
5407
+ {
5408
+ className: `${styles.hoverOverlay} ${isHovered ? "visible" : ""}`,
5409
+ onMouseEnter: handleMouseEnter,
5410
+ onMouseLeave: handleMouseLeave,
5411
+ children: [
5412
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.hoverContent, children: [
5413
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5414
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Assistants" }),
5415
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AssistantList, {})
5416
+ ] }),
5417
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_antd24.Divider, { className: styles.divider }),
5418
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.section, children: [
5419
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: styles.sectionTitle, children: "Threads" }),
5420
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AgentConversations, {})
5421
+ ] })
5422
+ ] }),
5423
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: styles.footer, children: [
5424
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5425
+ "button",
5426
+ {
5427
+ className: styles.actionButton,
5428
+ onClick: handleToggleCollapse,
5429
+ title: isCollapsed ? "Expand sidebar" : "Collapse sidebar",
5430
+ "aria-label": isCollapsed ? "Expand sidebar" : "Collapse sidebar",
5431
+ children: isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuUnfoldOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.MenuFoldOutlined, {})
5432
+ }
5433
+ ),
5434
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5435
+ "button",
5436
+ {
5437
+ className: styles.actionButton,
5438
+ onClick: handleSettingsClick,
5439
+ title: "Settings",
5440
+ "aria-label": "Settings",
5441
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.SettingOutlined, {})
5442
+ }
5443
+ )
5444
+ ] })
5445
+ ]
5446
+ }
5447
+ )
5448
+ ] });
5326
5449
  };
5327
5450
 
5328
5451
  // src/components/Chat/LatticeChatView.tsx
@@ -5357,12 +5480,12 @@ var LatticeChatView = (props) => {
5357
5480
  };
5358
5481
 
5359
5482
  // src/components/Chat/SettingsModal.tsx
5360
- var import_react23 = require("react");
5483
+ var import_react24 = require("react");
5361
5484
  var import_antd25 = require("antd");
5362
5485
  var import_icons14 = require("@ant-design/icons");
5363
5486
  var import_antd_style11 = require("antd-style");
5364
5487
  var import_jsx_runtime39 = require("react/jsx-runtime");
5365
- var { Text: Text11, Title: Title2 } = import_antd25.Typography;
5488
+ var { Text: Text12, Title: Title2 } = import_antd25.Typography;
5366
5489
  var { TextArea } = import_antd25.Input;
5367
5490
  var useStyles4 = (0, import_antd_style11.createStyles)(({ token, css }) => ({
5368
5491
  // settingsModal: css`
@@ -5724,7 +5847,7 @@ var SettingsModal = ({
5724
5847
  }) => {
5725
5848
  const { styles } = useStyles4();
5726
5849
  const { config: shellConfig, updateConfigValue } = useLatticeChatShellContext();
5727
- const [connections, setConnections] = (0, import_react23.useState)(() => {
5850
+ const [connections, setConnections] = (0, import_react24.useState)(() => {
5728
5851
  if (typeof window !== "undefined") {
5729
5852
  try {
5730
5853
  const stored = localStorage.getItem("lattice_server_connections");
@@ -5747,21 +5870,21 @@ var SettingsModal = ({
5747
5870
  }
5748
5871
  return [];
5749
5872
  });
5750
- const [serverConfigs, setServerConfigs] = (0, import_react23.useState)({});
5751
- const connectionsRef = (0, import_react23.useRef)(connections);
5752
- (0, import_react23.useEffect)(() => {
5873
+ const [serverConfigs, setServerConfigs] = (0, import_react24.useState)({});
5874
+ const connectionsRef = (0, import_react24.useRef)(connections);
5875
+ (0, import_react24.useEffect)(() => {
5753
5876
  connectionsRef.current = connections;
5754
5877
  }, [connections]);
5755
- const [activeTabKey, setActiveTabKey] = (0, import_react23.useState)(
5878
+ const [activeTabKey, setActiveTabKey] = (0, import_react24.useState)(
5756
5879
  connections.length > 0 ? connections[0].id : ""
5757
5880
  );
5758
- const [activeMenu, setActiveMenu] = (0, import_react23.useState)("environment");
5759
- const [loading, setLoading] = (0, import_react23.useState)(false);
5760
- const [showAddServerModal, setShowAddServerModal] = (0, import_react23.useState)(false);
5761
- const [newServerUrl, setNewServerUrl] = (0, import_react23.useState)("");
5762
- const [newServerName, setNewServerName] = (0, import_react23.useState)("");
5763
- const [newServerApiKey, setNewServerApiKey] = (0, import_react23.useState)("");
5764
- const [addingServer, setAddingServer] = (0, import_react23.useState)(false);
5881
+ const [activeMenu, setActiveMenu] = (0, import_react24.useState)("environment");
5882
+ const [loading, setLoading] = (0, import_react24.useState)(false);
5883
+ const [showAddServerModal, setShowAddServerModal] = (0, import_react24.useState)(false);
5884
+ const [newServerUrl, setNewServerUrl] = (0, import_react24.useState)("");
5885
+ const [newServerName, setNewServerName] = (0, import_react24.useState)("");
5886
+ const [newServerApiKey, setNewServerApiKey] = (0, import_react24.useState)("");
5887
+ const [addingServer, setAddingServer] = (0, import_react24.useState)(false);
5765
5888
  const saveConnections = (newConnections) => {
5766
5889
  setConnections(newConnections);
5767
5890
  if (typeof window !== "undefined") {
@@ -5951,7 +6074,7 @@ var SettingsModal = ({
5951
6074
  console.error("Failed to load models configuration:", error);
5952
6075
  }
5953
6076
  };
5954
- (0, import_react23.useEffect)(() => {
6077
+ (0, import_react24.useEffect)(() => {
5955
6078
  if (open && activeTabKey) {
5956
6079
  initializeServerConfig(activeTabKey);
5957
6080
  const connection = connections.find((c) => c.id === activeTabKey);
@@ -5960,7 +6083,7 @@ var SettingsModal = ({
5960
6083
  }
5961
6084
  }
5962
6085
  }, [open, activeTabKey]);
5963
- (0, import_react23.useEffect)(() => {
6086
+ (0, import_react24.useEffect)(() => {
5964
6087
  if (open && activeTabKey) {
5965
6088
  const connection = connections.find((c) => c.id === activeTabKey);
5966
6089
  if (connection?.connected) {
@@ -6188,7 +6311,7 @@ var SettingsModal = ({
6188
6311
  className: styles.alertCard
6189
6312
  }
6190
6313
  ),
6191
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: { marginBottom: 24 }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure environment variables in .env format (key=value). One variable per line. Leave password fields empty to keep current values." }) }),
6314
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: { marginBottom: 24 }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure environment variables in .env format (key=value). One variable per line. Leave password fields empty to keep current values." }) }),
6192
6315
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6193
6316
  TextArea,
6194
6317
  {
@@ -6267,7 +6390,7 @@ QUEUE_NAME=tasks`,
6267
6390
  }
6268
6391
  };
6269
6392
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.formContainer, children: [
6270
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure model lattices. Each model will be registered with the provided key and can be used by agents." }) }),
6393
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure model lattices. Each model will be registered with the provided key and can be used by agents." }) }),
6271
6394
  config.models.map((model, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.card, children: [
6272
6395
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
6273
6396
  "div",
@@ -6282,12 +6405,12 @@ QUEUE_NAME=tasks`,
6282
6405
  },
6283
6406
  children: [
6284
6407
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6285
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text11, { strong: true, style: { fontSize: 16 }, children: [
6408
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text12, { strong: true, style: { fontSize: 16 }, children: [
6286
6409
  "Model ",
6287
6410
  index + 1
6288
6411
  ] }),
6289
6412
  model.key && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
6290
- Text11,
6413
+ Text12,
6291
6414
  {
6292
6415
  type: "secondary",
6293
6416
  style: { marginLeft: 8, fontSize: 12 },
@@ -6318,7 +6441,7 @@ QUEUE_NAME=tasks`,
6318
6441
  ),
6319
6442
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_antd25.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
6320
6443
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6321
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Key *" }),
6444
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Key *" }),
6322
6445
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6323
6446
  import_antd25.Input,
6324
6447
  {
@@ -6328,10 +6451,10 @@ QUEUE_NAME=tasks`,
6328
6451
  style: { height: 40 }
6329
6452
  }
6330
6453
  ),
6331
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formDescription, children: "Unique identifier for this model" })
6454
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formDescription, children: "Unique identifier for this model" })
6332
6455
  ] }),
6333
6456
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6334
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Provider *" }),
6457
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Provider *" }),
6335
6458
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6336
6459
  import_antd25.Select,
6337
6460
  {
@@ -6349,7 +6472,7 @@ QUEUE_NAME=tasks`,
6349
6472
  )
6350
6473
  ] }),
6351
6474
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6352
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Model Name *" }),
6475
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Model Name *" }),
6353
6476
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6354
6477
  import_antd25.Input,
6355
6478
  {
@@ -6361,7 +6484,7 @@ QUEUE_NAME=tasks`,
6361
6484
  )
6362
6485
  ] }),
6363
6486
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6364
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "API Key" }),
6487
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "API Key" }),
6365
6488
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6366
6489
  import_antd25.Input.Password,
6367
6490
  {
@@ -6371,10 +6494,10 @@ QUEUE_NAME=tasks`,
6371
6494
  style: { height: 40 }
6372
6495
  }
6373
6496
  ),
6374
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formDescription, children: "API key for the model provider. Leave empty to use environment variable." })
6497
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formDescription, children: "API key for the model provider. Leave empty to use environment variable." })
6375
6498
  ] }),
6376
6499
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6377
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Base URL" }),
6500
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Base URL" }),
6378
6501
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6379
6502
  import_antd25.Input,
6380
6503
  {
@@ -6384,7 +6507,7 @@ QUEUE_NAME=tasks`,
6384
6507
  style: { height: 40 }
6385
6508
  }
6386
6509
  ),
6387
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formDescription, children: "Optional custom base URL for the API" })
6510
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formDescription, children: "Optional custom base URL for the API" })
6388
6511
  ] }),
6389
6512
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_antd25.Space, { children: [
6390
6513
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
@@ -6394,11 +6517,11 @@ QUEUE_NAME=tasks`,
6394
6517
  onChange: (checked) => handleModelChange(index, "streaming", checked)
6395
6518
  }
6396
6519
  ),
6397
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { children: "Enable Streaming" })
6520
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { children: "Enable Streaming" })
6398
6521
  ] }) }),
6399
6522
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { style: { display: "flex", gap: 20 }, children: [
6400
6523
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { style: { flex: 1 }, children: [
6401
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Max Tokens" }),
6524
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Max Tokens" }),
6402
6525
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6403
6526
  import_antd25.Input,
6404
6527
  {
@@ -6415,7 +6538,7 @@ QUEUE_NAME=tasks`,
6415
6538
  )
6416
6539
  ] }),
6417
6540
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { style: { flex: 1 }, children: [
6418
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { className: styles.formLabel, children: "Temperature" }),
6541
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { className: styles.formLabel, children: "Temperature" }),
6419
6542
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6420
6543
  import_antd25.Input,
6421
6544
  {
@@ -6508,7 +6631,7 @@ QUEUE_NAME=tasks`,
6508
6631
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.contentHeader, children: [
6509
6632
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.contentHeaderLeft, children: [
6510
6633
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Title2, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
6511
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text11, { className: styles.contentDescription, children: [
6634
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text12, { className: styles.contentDescription, children: [
6512
6635
  activeMenu === "environment" && "Manage environment variables for the gateway server",
6513
6636
  activeMenu === "models" && "Configure and register model lattices for use by agents"
6514
6637
  ] })
@@ -6544,7 +6667,7 @@ QUEUE_NAME=tasks`,
6544
6667
  children: connection.connecting ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
6545
6668
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.LinkOutlined, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
6546
6669
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Title2, { level: 4, children: "Connecting..." }),
6547
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text11, { type: "secondary", style: { textAlign: "center" }, children: [
6670
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text12, { type: "secondary", style: { textAlign: "center" }, children: [
6548
6671
  "Connecting to ",
6549
6672
  connection.url
6550
6673
  ] })
@@ -6552,7 +6675,7 @@ QUEUE_NAME=tasks`,
6552
6675
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.LinkOutlined, { style: { fontSize: 64, color: "#d9d9d9" } }),
6553
6676
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Title2, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
6554
6677
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6555
- Text11,
6678
+ Text12,
6556
6679
  {
6557
6680
  type: "secondary",
6558
6681
  style: { textAlign: "center", maxWidth: 400 },
@@ -6577,12 +6700,13 @@ QUEUE_NAME=tasks`,
6577
6700
  }));
6578
6701
  return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
6579
6702
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6580
- import_antd25.Drawer,
6703
+ import_antd25.Modal,
6581
6704
  {
6582
6705
  open,
6583
- onClose,
6706
+ onCancel: onClose,
6707
+ height: "70%",
6708
+ width: "80%",
6584
6709
  footer: null,
6585
- width: "100%",
6586
6710
  title: "Settings",
6587
6711
  children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6588
6712
  import_antd25.Tabs,
@@ -6633,7 +6757,7 @@ QUEUE_NAME=tasks`,
6633
6757
  className: styles.addServerModal,
6634
6758
  children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_antd25.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
6635
6759
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6636
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
6760
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
6637
6761
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6638
6762
  import_antd25.Input,
6639
6763
  {
@@ -6643,10 +6767,10 @@ QUEUE_NAME=tasks`,
6643
6767
  onPressEnter: handleAddServer
6644
6768
  }
6645
6769
  ),
6646
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: Leave empty to use URL as name" })
6770
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: Leave empty to use URL as name" })
6647
6771
  ] }),
6648
6772
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6649
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
6773
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
6650
6774
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6651
6775
  import_antd25.Input,
6652
6776
  {
@@ -6656,10 +6780,10 @@ QUEUE_NAME=tasks`,
6656
6780
  onPressEnter: handleAddServer
6657
6781
  }
6658
6782
  ),
6659
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Enter the full URL of the gateway server" })
6783
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Enter the full URL of the gateway server" })
6660
6784
  ] }),
6661
6785
  /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { children: [
6662
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
6786
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
6663
6787
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6664
6788
  import_antd25.Input.Password,
6665
6789
  {
@@ -6669,7 +6793,7 @@ QUEUE_NAME=tasks`,
6669
6793
  onPressEnter: handleAddServer
6670
6794
  }
6671
6795
  ),
6672
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text11, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: API key for server authentication" })
6796
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text12, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: API key for server authentication" })
6673
6797
  ] })
6674
6798
  ] })
6675
6799
  }