@axiom-lattice/react-sdk 2.1.49 → 2.1.50

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
@@ -3144,8 +3144,8 @@ var TenantSelector = ({
3144
3144
  onLogout,
3145
3145
  isLoading = false,
3146
3146
  className = "",
3147
- title = "Select Workspace",
3148
- description = "Choose a workspace to continue"
3147
+ title = "Select Tenant",
3148
+ description = "Choose a tenant to continue"
3149
3149
  }) => {
3150
3150
  const [selectedId, setSelectedId] = (0, import_react12.useState)(currentTenantId || null);
3151
3151
  const [isSubmitting, setIsSubmitting] = (0, import_react12.useState)(false);
@@ -3578,7 +3578,7 @@ var useStyle = (0, import_antd_style2.createStyles)(({ token, css }) => {
3578
3578
  position: relative;
3579
3579
 
3580
3580
  &.full_content_width {
3581
- max-width: 2000px;
3581
+ max-width: 3000px;
3582
3582
  }
3583
3583
 
3584
3584
  &.drawer-open {
@@ -3850,7 +3850,7 @@ var useStyle = (0, import_antd_style2.createStyles)(({ token, css }) => {
3850
3850
  display: flex;
3851
3851
  align-items: center;
3852
3852
  gap: 12px;
3853
- padding: 4px 12px;
3853
+ padding: 4px 8px;
3854
3854
  margin-bottom: 16px;
3855
3855
  font-size: 18px;
3856
3856
  font-weight: 600;
@@ -7852,7 +7852,7 @@ var TaskCard = ({
7852
7852
  };
7853
7853
 
7854
7854
  // src/components/GenUI/elements/task_detail.tsx
7855
- var import_antd58 = require("antd");
7855
+ var import_antd59 = require("antd");
7856
7856
 
7857
7857
  // src/components/Chat/Chating.tsx
7858
7858
  var import_icons30 = require("@ant-design/icons");
@@ -8025,7 +8025,7 @@ ${JSON.stringify(tool_call)}
8025
8025
  };
8026
8026
 
8027
8027
  // src/components/Chat/Chating.tsx
8028
- var import_antd57 = require("antd");
8028
+ var import_antd58 = require("antd");
8029
8029
  var import_react61 = __toESM(require("react"));
8030
8030
  var import_lucide_react16 = require("lucide-react");
8031
8031
 
@@ -8827,6 +8827,7 @@ var import_client_sdk6 = require("@axiom-lattice/client-sdk");
8827
8827
  // src/components/Chat/WorkspaceResourceManager.tsx
8828
8828
  var import_react53 = require("react");
8829
8829
  var import_lucide_react10 = require("lucide-react");
8830
+ var import_antd51 = require("antd");
8830
8831
 
8831
8832
  // src/components/Chat/Menu.tsx
8832
8833
  var import_react34 = __toESM(require("react"));
@@ -16684,6 +16685,9 @@ var WorkspaceResourceManager = ({
16684
16685
  });
16685
16686
  }
16686
16687
  }, []);
16688
+ const { logout, tenants, currentTenant, selectTenant, isLoading } = useAuth();
16689
+ const { setWorkspace, setProject } = useWorkspaceContext();
16690
+ const [tenantModalOpen, setTenantModalOpen] = (0, import_react53.useState)(false);
16687
16691
  const menuItems = (0, import_react53.useMemo)(() => {
16688
16692
  return [
16689
16693
  // Projects - opens in SideApp via route type
@@ -16750,10 +16754,38 @@ var WorkspaceResourceManager = ({
16750
16754
  icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react10.Wrench, { size: 20 }),
16751
16755
  order: 50,
16752
16756
  group: "Settings"
16757
+ },
16758
+ // Switch Tenant action
16759
+ {
16760
+ id: "switch_tenant",
16761
+ builtin: "switch-tenant",
16762
+ type: "action",
16763
+ name: "Switch tenant",
16764
+ icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react10.Building2, { size: 20 }),
16765
+ order: 900,
16766
+ group: "Account"
16767
+ },
16768
+ // Logout action
16769
+ {
16770
+ id: "logout",
16771
+ builtin: "logout",
16772
+ type: "action",
16773
+ name: "Logout",
16774
+ icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react10.LogOut, { size: 20 }),
16775
+ order: 1e3,
16776
+ group: "Account"
16753
16777
  }
16754
16778
  ];
16755
16779
  }, [workspaceName]);
16756
16780
  const handleItemClick = (item) => {
16781
+ if (item.type === "action" && item.builtin === "logout") {
16782
+ logout();
16783
+ return;
16784
+ }
16785
+ if (item.type === "action" && item.builtin === "switch-tenant") {
16786
+ setTenantModalOpen(true);
16787
+ return;
16788
+ }
16757
16789
  if (item.type === "route") {
16758
16790
  const componentKeyMap = {
16759
16791
  workspace_projects: "workspace_projects",
@@ -16784,7 +16816,7 @@ var WorkspaceResourceManager = ({
16784
16816
  });
16785
16817
  }
16786
16818
  }, [openContentApp]);
16787
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16819
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
16788
16820
  "div",
16789
16821
  {
16790
16822
  style: {
@@ -16793,27 +16825,60 @@ var WorkspaceResourceManager = ({
16793
16825
  width: "100%",
16794
16826
  height: "100%"
16795
16827
  },
16796
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16797
- ColumnLayout,
16798
- {
16799
- menu: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16800
- Menu,
16801
- {
16802
- items: menuItems,
16803
- onItemClick: handleItemClick,
16804
- logo,
16805
- logoText: workspaceName || "Workspace",
16806
- showToggle: true,
16807
- defaultExpanded: true,
16808
- collapsed: menuCollapsed,
16809
- onCollapsedChange: setMenuCollapsed
16810
- }
16811
- ),
16812
- logo,
16813
- left: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SideAppViewBrowser, { region: "content" }),
16814
- right: null
16815
- }
16816
- )
16828
+ children: [
16829
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16830
+ ColumnLayout,
16831
+ {
16832
+ menu: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16833
+ Menu,
16834
+ {
16835
+ items: menuItems,
16836
+ onItemClick: handleItemClick,
16837
+ logo,
16838
+ logoText: workspaceName || "Workspace",
16839
+ showToggle: true,
16840
+ defaultExpanded: true,
16841
+ collapsed: menuCollapsed,
16842
+ onCollapsedChange: setMenuCollapsed
16843
+ }
16844
+ ),
16845
+ logo,
16846
+ left: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(SideAppViewBrowser, { region: "content" }),
16847
+ right: null
16848
+ }
16849
+ ),
16850
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16851
+ import_antd51.Modal,
16852
+ {
16853
+ open: tenantModalOpen,
16854
+ onCancel: () => setTenantModalOpen(false),
16855
+ footer: null,
16856
+ width: 520,
16857
+ closable: false,
16858
+ styles: {
16859
+ mask: {
16860
+ backgroundColor: "transparent"
16861
+ },
16862
+ content: {
16863
+ backgroundColor: "transparent",
16864
+ boxShadow: "none"
16865
+ }
16866
+ },
16867
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16868
+ TenantSelector,
16869
+ {
16870
+ tenants: tenants.map((t) => t.tenant).filter(Boolean),
16871
+ currentTenantId: currentTenant?.id,
16872
+ onSelect: async (tenant) => {
16873
+ await selectTenant(tenant.id);
16874
+ setTenantModalOpen(false);
16875
+ },
16876
+ isLoading
16877
+ }
16878
+ )
16879
+ }
16880
+ )
16881
+ ]
16817
16882
  }
16818
16883
  );
16819
16884
  };
@@ -16836,9 +16901,10 @@ var useWorkspaceContext = () => {
16836
16901
  return context;
16837
16902
  };
16838
16903
  var WorkspaceContextProvider = ({
16839
- children,
16840
- tenantId: initialTenantId = "default"
16904
+ children
16841
16905
  }) => {
16906
+ const { currentTenant } = useAuth();
16907
+ const tenantId = currentTenant?.id || "";
16842
16908
  const { config } = useLatticeChatShellContext();
16843
16909
  const axiomClient = useClient("__GLOBAL__");
16844
16910
  const getInitialWorkspaceId = () => {
@@ -16853,29 +16919,8 @@ var WorkspaceContextProvider = ({
16853
16919
  }
16854
16920
  return null;
16855
16921
  };
16856
- const getInitialTenantId = () => {
16857
- if (typeof window !== "undefined") {
16858
- return sessionStorage.getItem("tenantId") || initialTenantId;
16859
- }
16860
- return initialTenantId;
16861
- };
16862
- const [tenantId, setTenantIdState] = (0, import_react54.useState)(getInitialTenantId);
16863
16922
  const [workspaceId, setWorkspaceId] = (0, import_react54.useState)(getInitialWorkspaceId);
16864
16923
  const [projectId, setProjectId] = (0, import_react54.useState)(getInitialProjectId);
16865
- const setTenantId = (0, import_react54.useCallback)((id) => {
16866
- setTenantIdState(id);
16867
- if (typeof window !== "undefined") {
16868
- sessionStorage.setItem("tenantId", id);
16869
- }
16870
- if (axiomClient) {
16871
- axiomClient.setTenantId(id);
16872
- }
16873
- }, [axiomClient]);
16874
- (0, import_react54.useEffect)(() => {
16875
- if (initialTenantId && initialTenantId !== tenantId) {
16876
- setTenantId(initialTenantId);
16877
- }
16878
- }, [initialTenantId, tenantId, setTenantId]);
16879
16924
  import_react54.default.useEffect(() => {
16880
16925
  const wsId = getInitialWorkspaceId();
16881
16926
  const pjId = getInitialProjectId();
@@ -16898,6 +16943,21 @@ var WorkspaceContextProvider = ({
16898
16943
  transport: "sse"
16899
16944
  }, tenantId);
16900
16945
  }, [config.baseURL, config.apiKey, tenantId]);
16946
+ const resetSelectedWorkspace = (0, import_react54.useCallback)(() => {
16947
+ setProjects([]);
16948
+ setWorkspaceId(null);
16949
+ sessionStorage.removeItem("workspaceId");
16950
+ setProjectId(null);
16951
+ sessionStorage.removeItem("projectId");
16952
+ }, [setProjects, setWorkspaceId, setProjectId]);
16953
+ const resetWS = (0, import_react54.useCallback)(() => {
16954
+ setWorkspaces([]);
16955
+ resetSelectedWorkspace();
16956
+ }, [resetSelectedWorkspace, setWorkspaces]);
16957
+ (0, import_react54.useEffect)(() => {
16958
+ resetWS();
16959
+ refreshWorkspaces();
16960
+ }, [tenantId]);
16901
16961
  const refreshWorkspaces = (0, import_react54.useCallback)(async () => {
16902
16962
  setLoading(true);
16903
16963
  setError(null);
@@ -16992,7 +17052,7 @@ var WorkspaceContextProvider = ({
16992
17052
  try {
16993
17053
  await client.deleteWorkspace(id);
16994
17054
  if (workspaceId === id) {
16995
- setWorkspaceId(null);
17055
+ resetSelectedWorkspace();
16996
17056
  }
16997
17057
  await refreshWorkspaces();
16998
17058
  } catch (e) {
@@ -17113,14 +17173,12 @@ var WorkspaceContextProvider = ({
17113
17173
  [client, workspaceId, projectId]
17114
17174
  );
17115
17175
  const value = {
17116
- tenantId,
17117
17176
  workspaceId,
17118
17177
  projectId,
17119
17178
  workspaces,
17120
17179
  projects,
17121
17180
  loading,
17122
17181
  error,
17123
- setTenantId,
17124
17182
  setWorkspace: setWorkspaceId,
17125
17183
  setProject: setProjectId,
17126
17184
  createWorkspace,
@@ -17158,7 +17216,7 @@ var WorkspaceContextProvider = ({
17158
17216
 
17159
17217
  // src/components/Chat/DatabasePicker.tsx
17160
17218
  var import_react55 = require("react");
17161
- var import_antd51 = require("antd");
17219
+ var import_antd52 = require("antd");
17162
17220
  var import_lucide_react11 = require("lucide-react");
17163
17221
  var import_jsx_runtime71 = require("react/jsx-runtime");
17164
17222
  var DatabasePicker = ({ senderRef, iconOnly }) => {
@@ -17199,10 +17257,10 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17199
17257
  type: "tag",
17200
17258
  key: `db_${dbKey}_${Date.now()}`,
17201
17259
  props: {
17202
- label: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_antd51.Space, { size: 1, children: [
17260
+ label: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_antd52.Space, { size: 1, children: [
17203
17261
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react11.Database, { size: 10 }),
17204
17262
  " ",
17205
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd51.Typography.Text, { children: db.name || dbKey })
17263
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd52.Typography.Text, { children: db.name || dbKey })
17206
17264
  ] }),
17207
17265
  value: `[Database Scope:${db.name || dbKey}]`
17208
17266
  }
@@ -17216,8 +17274,8 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17216
17274
  setSelectedDatabases([]);
17217
17275
  };
17218
17276
  return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
17219
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd51.Tooltip, { title: iconOnly ? "Database" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17220
- import_antd51.Button,
17277
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd52.Tooltip, { title: iconOnly ? "Database" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17278
+ import_antd52.Button,
17221
17279
  {
17222
17280
  icon: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react11.Database, { size: iconOnly ? 20 : 22 }),
17223
17281
  onClick: handleOpenModal,
@@ -17238,7 +17296,7 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17238
17296
  }
17239
17297
  ) }),
17240
17298
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17241
- import_antd51.Modal,
17299
+ import_antd52.Modal,
17242
17300
  {
17243
17301
  title: "Select Database",
17244
17302
  open: modalOpen,
@@ -17247,20 +17305,20 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17247
17305
  width: 600,
17248
17306
  okText: "Confirm",
17249
17307
  cancelText: "Cancel",
17250
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd51.Spin, { size: "large" }) }) : databases.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17251
- import_antd51.Empty,
17308
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd52.Spin, { size: "large" }) }) : databases.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17309
+ import_antd52.Empty,
17252
17310
  {
17253
17311
  description: "No databases available",
17254
- image: import_antd51.Empty.PRESENTED_IMAGE_SIMPLE
17312
+ image: import_antd52.Empty.PRESENTED_IMAGE_SIMPLE
17255
17313
  }
17256
17314
  ) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17257
- import_antd51.List,
17315
+ import_antd52.List,
17258
17316
  {
17259
17317
  dataSource: databases,
17260
17318
  renderItem: (db) => {
17261
17319
  const isSelected = selectedDatabases.includes(db.key);
17262
17320
  return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17263
- import_antd51.List.Item,
17321
+ import_antd52.List.Item,
17264
17322
  {
17265
17323
  style: {
17266
17324
  padding: "12px 16px",
@@ -17276,10 +17334,10 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17276
17334
  setSelectedDatabases(newValue);
17277
17335
  },
17278
17336
  children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17279
- import_antd51.List.Item.Meta,
17337
+ import_antd52.List.Item.Meta,
17280
17338
  {
17281
17339
  avatar: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
17282
- import_antd51.Checkbox,
17340
+ import_antd52.Checkbox,
17283
17341
  {
17284
17342
  checked: isSelected,
17285
17343
  onChange: () => {
@@ -17289,8 +17347,8 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17289
17347
  onClick: (e) => e.stopPropagation()
17290
17348
  }
17291
17349
  ),
17292
- title: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd51.Typography.Text, { strong: isSelected, children: db.name || db.key }),
17293
- description: db.description && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd51.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: db.description })
17350
+ title: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd52.Typography.Text, { strong: isSelected, children: db.name || db.key }),
17351
+ description: db.description && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_antd52.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: db.description })
17294
17352
  }
17295
17353
  )
17296
17354
  },
@@ -17308,7 +17366,7 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17308
17366
 
17309
17367
  // src/components/Chat/SkillPicker.tsx
17310
17368
  var import_react56 = require("react");
17311
- var import_antd52 = require("antd");
17369
+ var import_antd53 = require("antd");
17312
17370
  var import_lucide_react12 = require("lucide-react");
17313
17371
  var import_jsx_runtime72 = require("react/jsx-runtime");
17314
17372
  var SkillPicker = ({ senderRef, iconOnly }) => {
@@ -17349,10 +17407,10 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17349
17407
  type: "tag",
17350
17408
  key: `skill_${skillId}_${Date.now()}`,
17351
17409
  props: {
17352
- label: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_antd52.Space, { size: 1, children: [
17410
+ label: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_antd53.Space, { size: 1, children: [
17353
17411
  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react12.BrainCircuit, { size: 12 }),
17354
17412
  " ",
17355
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd52.Typography.Text, { children: skill.name })
17413
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd53.Typography.Text, { children: skill.name })
17356
17414
  ] }),
17357
17415
  value: `[Use Skill:${skill.name}]`
17358
17416
  }
@@ -17366,8 +17424,8 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17366
17424
  setSelectedSkills([]);
17367
17425
  };
17368
17426
  return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
17369
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd52.Tooltip, { title: iconOnly ? "Skills" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17370
- import_antd52.Button,
17427
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd53.Tooltip, { title: iconOnly ? "Skills" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17428
+ import_antd53.Button,
17371
17429
  {
17372
17430
  icon: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react12.BrainCircuit, { size: iconOnly ? 20 : 22 }),
17373
17431
  onClick: handleOpenModal,
@@ -17388,7 +17446,7 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17388
17446
  }
17389
17447
  ) }),
17390
17448
  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17391
- import_antd52.Modal,
17449
+ import_antd53.Modal,
17392
17450
  {
17393
17451
  title: "Select Skills",
17394
17452
  open: modalOpen,
@@ -17397,20 +17455,20 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17397
17455
  width: 600,
17398
17456
  okText: "Confirm",
17399
17457
  cancelText: "Cancel",
17400
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd52.Spin, { size: "large" }) }) : skills.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17401
- import_antd52.Empty,
17458
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd53.Spin, { size: "large" }) }) : skills.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17459
+ import_antd53.Empty,
17402
17460
  {
17403
17461
  description: "No skills available",
17404
- image: import_antd52.Empty.PRESENTED_IMAGE_SIMPLE
17462
+ image: import_antd53.Empty.PRESENTED_IMAGE_SIMPLE
17405
17463
  }
17406
17464
  ) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17407
- import_antd52.List,
17465
+ import_antd53.List,
17408
17466
  {
17409
17467
  dataSource: skills,
17410
17468
  renderItem: (skill) => {
17411
17469
  const isSelected = selectedSkills.includes(skill.id);
17412
17470
  return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17413
- import_antd52.List.Item,
17471
+ import_antd53.List.Item,
17414
17472
  {
17415
17473
  style: {
17416
17474
  padding: "12px 16px",
@@ -17426,10 +17484,10 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17426
17484
  setSelectedSkills(newValue);
17427
17485
  },
17428
17486
  children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17429
- import_antd52.List.Item.Meta,
17487
+ import_antd53.List.Item.Meta,
17430
17488
  {
17431
17489
  avatar: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
17432
- import_antd52.Checkbox,
17490
+ import_antd53.Checkbox,
17433
17491
  {
17434
17492
  checked: isSelected,
17435
17493
  onChange: () => {
@@ -17439,8 +17497,8 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17439
17497
  onClick: (e) => e.stopPropagation()
17440
17498
  }
17441
17499
  ),
17442
- title: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd52.Typography.Text, { strong: isSelected, children: skill.name }),
17443
- description: skill.description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd52.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: skill.description })
17500
+ title: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd53.Typography.Text, { strong: isSelected, children: skill.name }),
17501
+ description: skill.description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_antd53.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: skill.description })
17444
17502
  }
17445
17503
  )
17446
17504
  },
@@ -17458,7 +17516,7 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
17458
17516
 
17459
17517
  // src/components/Chat/AgentPicker.tsx
17460
17518
  var import_react57 = require("react");
17461
- var import_antd53 = require("antd");
17519
+ var import_antd54 = require("antd");
17462
17520
  var import_lucide_react13 = require("lucide-react");
17463
17521
  var import_jsx_runtime73 = require("react/jsx-runtime");
17464
17522
  var AgentPicker = ({ senderRef, iconOnly }) => {
@@ -17481,8 +17539,8 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17481
17539
  setSelectedAgent(agentId);
17482
17540
  };
17483
17541
  return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
17484
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd53.Tooltip, { title: iconOnly ? currentAssistant?.name || "Agent" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17485
- import_antd53.Button,
17542
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd54.Tooltip, { title: iconOnly ? currentAssistant?.name || "Agent" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17543
+ import_antd54.Button,
17486
17544
  {
17487
17545
  icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react13.Bot, { size: iconOnly ? 20 : 22 }),
17488
17546
  onClick: handleOpenModal,
@@ -17503,7 +17561,7 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17503
17561
  }
17504
17562
  ) }),
17505
17563
  /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17506
- import_antd53.Modal,
17564
+ import_antd54.Modal,
17507
17565
  {
17508
17566
  title: "Select Agent",
17509
17567
  open: modalOpen,
@@ -17513,19 +17571,19 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17513
17571
  okText: "Confirm",
17514
17572
  cancelText: "Cancel",
17515
17573
  children: assistants.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17516
- import_antd53.Empty,
17574
+ import_antd54.Empty,
17517
17575
  {
17518
17576
  description: "No agents available",
17519
- image: import_antd53.Empty.PRESENTED_IMAGE_SIMPLE
17577
+ image: import_antd54.Empty.PRESENTED_IMAGE_SIMPLE
17520
17578
  }
17521
17579
  ) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17522
- import_antd53.List,
17580
+ import_antd54.List,
17523
17581
  {
17524
17582
  dataSource: assistants,
17525
17583
  renderItem: (agent) => {
17526
17584
  const isSelected = selectedAgent === agent.id;
17527
17585
  return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17528
- import_antd53.List.Item,
17586
+ import_antd54.List.Item,
17529
17587
  {
17530
17588
  style: {
17531
17589
  padding: "12px 16px",
@@ -17538,7 +17596,7 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17538
17596
  },
17539
17597
  onClick: () => handleAgentClick(agent.id),
17540
17598
  children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17541
- import_antd53.List.Item.Meta,
17599
+ import_antd54.List.Item.Meta,
17542
17600
  {
17543
17601
  avatar: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
17544
17602
  "div",
@@ -17555,8 +17613,8 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17555
17613
  children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_lucide_react13.Bot, { size: 20, color: isSelected ? "white" : "#666" })
17556
17614
  }
17557
17615
  ),
17558
- title: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd53.Typography.Text, { strong: isSelected, children: agent.name }),
17559
- description: agent.description && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd53.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: agent.description })
17616
+ title: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd54.Typography.Text, { strong: isSelected, children: agent.name }),
17617
+ description: agent.description && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_antd54.Typography.Text, { type: "secondary", style: { fontSize: 12 }, children: agent.description })
17560
17618
  }
17561
17619
  )
17562
17620
  },
@@ -17574,7 +17632,7 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
17574
17632
 
17575
17633
  // src/components/Chat/MetricsDataSourcePicker.tsx
17576
17634
  var import_react58 = require("react");
17577
- var import_antd54 = require("antd");
17635
+ var import_antd55 = require("antd");
17578
17636
  var import_lucide_react14 = require("lucide-react");
17579
17637
  var import_jsx_runtime74 = require("react/jsx-runtime");
17580
17638
  var SESSION_STORAGE_KEY = "metrics_datasource_selection";
@@ -17665,19 +17723,25 @@ var MetricsDataSourcePicker = ({
17665
17723
  (0, import_react58.useEffect)(() => {
17666
17724
  if (hasInitializedRef.current) return;
17667
17725
  hasInitializedRef.current = true;
17668
- loadDataSources();
17669
- const hasExistingSelection = customRunConfig?.metricsDataSource;
17670
- if (hasExistingSelection) {
17671
- saveToSessionStorage(
17672
- hasExistingSelection.serverKey,
17673
- hasExistingSelection.datasourceId
17674
- );
17675
- return;
17676
- }
17677
- const restored = restoreFromSessionStorage();
17678
- if (!restored) {
17679
- setModalOpen(true);
17680
- }
17726
+ loadDataSources().then(() => {
17727
+ const hasExistingSelection = customRunConfig?.metricsDataSource;
17728
+ if (hasExistingSelection) {
17729
+ saveToSessionStorage(
17730
+ hasExistingSelection.serverKey,
17731
+ hasExistingSelection.datasourceId
17732
+ );
17733
+ return;
17734
+ }
17735
+ const restored = restoreFromSessionStorage();
17736
+ if (!restored) {
17737
+ setDataSources((currentDataSources) => {
17738
+ if (currentDataSources.length > 0) {
17739
+ setModalOpen(true);
17740
+ }
17741
+ return currentDataSources;
17742
+ });
17743
+ }
17744
+ });
17681
17745
  }, []);
17682
17746
  const getSelectedDataSource = () => {
17683
17747
  const metricsDataSource = customRunConfig?.metricsDataSource;
@@ -17715,12 +17779,13 @@ var MetricsDataSourcePicker = ({
17715
17779
  return acc;
17716
17780
  }, {});
17717
17781
  return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
17718
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd54.Tooltip, { title: iconOnly ? getSelectedName() || "Select Data Source" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17719
- import_antd54.Button,
17782
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd55.Tooltip, { title: iconOnly ? getSelectedName() || "Select Data Source" : dataSources.length === 0 ? "No data sources available" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17783
+ import_antd55.Button,
17720
17784
  {
17721
17785
  icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react14.Database, { size: iconOnly ? 18 : 18 }),
17722
17786
  onClick: handleOpenModal,
17723
17787
  type: "text",
17788
+ disabled: dataSources.length === 0,
17724
17789
  style: {
17725
17790
  height: 32,
17726
17791
  width: iconOnly ? 32 : void 0,
@@ -17738,7 +17803,7 @@ var MetricsDataSourcePicker = ({
17738
17803
  }
17739
17804
  ) }),
17740
17805
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17741
- import_antd54.Modal,
17806
+ import_antd55.Modal,
17742
17807
  {
17743
17808
  title: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: { fontSize: 16, fontWeight: 600 }, children: "Select Metrics Data Source" }),
17744
17809
  open: modalOpen,
@@ -17752,11 +17817,11 @@ var MetricsDataSourcePicker = ({
17752
17817
  overflowY: "auto"
17753
17818
  }
17754
17819
  },
17755
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd54.Spin, { size: "large" }) }) : dataSources.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17756
- import_antd54.Empty,
17820
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd55.Spin, { size: "large" }) }) : dataSources.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17821
+ import_antd55.Empty,
17757
17822
  {
17758
17823
  description: "No Metrics Data Sources Available",
17759
- image: import_antd54.Empty.PRESENTED_IMAGE_SIMPLE
17824
+ image: import_antd55.Empty.PRESENTED_IMAGE_SIMPLE
17760
17825
  }
17761
17826
  ) : /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: 24 }, children: Object.entries(groupedDataSources).map(([serverName, sources]) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { children: [
17762
17827
  /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
@@ -17773,7 +17838,7 @@ var MetricsDataSourcePicker = ({
17773
17838
  children: [
17774
17839
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react14.Server, { size: 14, color: "#8c8c8c" }),
17775
17840
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17776
- import_antd54.Typography.Text,
17841
+ import_antd55.Typography.Text,
17777
17842
  {
17778
17843
  style: {
17779
17844
  fontSize: 13,
@@ -17785,19 +17850,19 @@ var MetricsDataSourcePicker = ({
17785
17850
  children: serverName
17786
17851
  }
17787
17852
  ),
17788
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd54.Tag, { style: { fontSize: 11, padding: "0 6px", lineHeight: "18px" }, children: sources.length })
17853
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_antd55.Tag, { style: { fontSize: 11, padding: "0 6px", lineHeight: "18px" }, children: sources.length })
17789
17854
  ]
17790
17855
  }
17791
17856
  ),
17792
17857
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17793
- import_antd54.List,
17858
+ import_antd55.List,
17794
17859
  {
17795
17860
  dataSource: sources,
17796
17861
  renderItem: (dataSource) => {
17797
17862
  const isConnected = dataSource.connected;
17798
17863
  const selected = isSelected(dataSource);
17799
17864
  return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17800
- import_antd54.List.Item,
17865
+ import_antd55.List.Item,
17801
17866
  {
17802
17867
  style: {
17803
17868
  padding: "10px 12px",
@@ -17853,7 +17918,7 @@ var MetricsDataSourcePicker = ({
17853
17918
  ),
17854
17919
  /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { children: [
17855
17920
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17856
- import_antd54.Typography.Text,
17921
+ import_antd55.Typography.Text,
17857
17922
  {
17858
17923
  style: {
17859
17924
  fontSize: 14,
@@ -17864,7 +17929,7 @@ var MetricsDataSourcePicker = ({
17864
17929
  }
17865
17930
  ),
17866
17931
  !isConnected && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17867
- import_antd54.Typography.Text,
17932
+ import_antd55.Typography.Text,
17868
17933
  {
17869
17934
  style: {
17870
17935
  fontSize: 12,
@@ -17878,7 +17943,7 @@ var MetricsDataSourcePicker = ({
17878
17943
  }
17879
17944
  ),
17880
17945
  selected && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
17881
- import_antd54.Tag,
17946
+ import_antd55.Tag,
17882
17947
  {
17883
17948
  color: "blue",
17884
17949
  style: {
@@ -17908,7 +17973,7 @@ var MetricsDataSourcePicker = ({
17908
17973
  // src/components/Chat/SkillCategoryPrompts.tsx
17909
17974
  var import_icons28 = require("@ant-design/icons");
17910
17975
  var import_x4 = require("@ant-design/x");
17911
- var import_antd55 = require("antd");
17976
+ var import_antd56 = require("antd");
17912
17977
  var import_react59 = require("react");
17913
17978
  var import_lucide_react15 = require("lucide-react");
17914
17979
  var import_jsx_runtime75 = require("react/jsx-runtime");
@@ -18036,9 +18101,9 @@ var SkillCategoryPrompts = ({
18036
18101
  type: "tag",
18037
18102
  key: `skill_${skill.id}_${Date.now()}`,
18038
18103
  props: {
18039
- label: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_antd55.Space, { size: 1, children: [
18104
+ label: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_antd56.Space, { size: 1, children: [
18040
18105
  /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_lucide_react15.BrainCircuit, { size: 12 }),
18041
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_antd55.Typography.Text, { children: skill.name })
18106
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_antd56.Typography.Text, { children: skill.name })
18042
18107
  ] }),
18043
18108
  value: `[Use Skill:${skill.name}]`
18044
18109
  }
@@ -18086,7 +18151,7 @@ var SkillCategoryPrompts = ({
18086
18151
  return null;
18087
18152
  }
18088
18153
  if (loading) {
18089
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_antd55.Spin, { size: "large" }) });
18154
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_antd56.Spin, { size: "large" }) });
18090
18155
  }
18091
18156
  if (skills.length === 0) {
18092
18157
  return null;
@@ -18142,7 +18207,7 @@ var SkillCategoryPrompts = ({
18142
18207
  return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { style: { marginBottom: 16 }, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
18143
18208
  import_x4.Prompts,
18144
18209
  {
18145
- title: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_antd55.Space, { children: [
18210
+ title: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_antd56.Space, { children: [
18146
18211
  /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { style: { color: config.color }, children: config.icon }),
18147
18212
  /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: config.label })
18148
18213
  ] }),
@@ -18171,7 +18236,7 @@ var SkillCategoryPrompts_default = SkillCategoryPrompts;
18171
18236
  // src/components/Chat/BusinessAnalysisPrompts.tsx
18172
18237
  var import_icons29 = require("@ant-design/icons");
18173
18238
  var import_x5 = require("@ant-design/x");
18174
- var import_antd56 = require("antd");
18239
+ var import_antd57 = require("antd");
18175
18240
  var import_react60 = require("react");
18176
18241
  var import_jsx_runtime76 = require("react/jsx-runtime");
18177
18242
  var defaultCategoryIcons = {
@@ -18498,12 +18563,12 @@ var BusinessAnalysisPrompts = ({
18498
18563
  margin: "0 auto"
18499
18564
  },
18500
18565
  children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
18501
- import_antd56.Tabs,
18566
+ import_antd57.Tabs,
18502
18567
  {
18503
18568
  defaultActiveKey: analysisData[0]?.key,
18504
18569
  items: analysisData.map((category) => ({
18505
18570
  key: category.key,
18506
- label: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_antd56.Space, { children: [
18571
+ label: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_antd57.Space, { children: [
18507
18572
  /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { style: { color: category.color }, children: category.icon }),
18508
18573
  /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: category.title })
18509
18574
  ] }),
@@ -18681,7 +18746,7 @@ var Chating = ({
18681
18746
  const onSubmit = (nextContent) => {
18682
18747
  if (!nextContent && attachedFiles.length === 0) return;
18683
18748
  if (attachedFiles.filter((f) => f.status !== "done").length > 0) {
18684
- import_antd57.message.warning("Files are still uploading...");
18749
+ import_antd58.message.warning("Files are still uploading...");
18685
18750
  return;
18686
18751
  }
18687
18752
  if (!nextContent && attachedFiles.length > 0) {
@@ -18735,7 +18800,7 @@ var Chating = ({
18735
18800
  setHeaderOpen(true);
18736
18801
  }
18737
18802
  if (info.file?.response?.error || info.file.status === "error") {
18738
- import_antd57.message.error(
18803
+ import_antd58.message.error(
18739
18804
  `${info.file.name} file upload failed.${info.file?.response?.message}`
18740
18805
  );
18741
18806
  }
@@ -18747,7 +18812,7 @@ var Chating = ({
18747
18812
  const beforeUpload = (file) => {
18748
18813
  const isLessThan20MB = file.size / 1024 / 1024 < 20;
18749
18814
  if (!isLessThan20MB) {
18750
- import_antd57.message.error(
18815
+ import_antd58.message.error(
18751
18816
  `File must be smaller than 20MB! ${file.name} is too large.`
18752
18817
  );
18753
18818
  return false;
@@ -18807,18 +18872,18 @@ var Chating = ({
18807
18872
  if (!hasSlotButtons && !actionNode) {
18808
18873
  return null;
18809
18874
  }
18810
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd57.Flex, { justify: "space-between", align: "center", style: { padding: "8px 0" }, children: [
18811
- /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd57.Flex, { align: "center", gap: 8, children: [
18812
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd57.Badge, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
18813
- import_antd57.Button,
18875
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd58.Flex, { justify: "space-between", align: "center", style: { padding: "8px 0" }, children: [
18876
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd58.Flex, { align: "center", gap: 8, children: [
18877
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd58.Badge, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
18878
+ import_antd58.Button,
18814
18879
  {
18815
18880
  type: "text",
18816
18881
  icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons30.PaperClipOutlined, {}),
18817
18882
  onClick: () => setHeaderOpen(!headerOpen)
18818
18883
  }
18819
18884
  ) }),
18820
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd57.Divider, { type: "vertical", style: { margin: 0 } }),
18821
- hasSlotButtons && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd57.Flex, { align: "center", gap: 8, children: [
18885
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd58.Divider, { type: "vertical", style: { margin: 0 } }),
18886
+ hasSlotButtons && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd58.Flex, { align: "center", gap: 8, children: [
18822
18887
  showAgentSlot && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(AgentPicker, { senderRef, iconOnly: true }),
18823
18888
  showDatabaseSlot && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(DatabasePicker, { senderRef, iconOnly: true }),
18824
18889
  showSkillSlot && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(SkillPicker, { senderRef, iconOnly: true }),
@@ -18829,7 +18894,7 @@ var Chating = ({
18829
18894
  ] });
18830
18895
  };
18831
18896
  const refreshButton = /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
18832
- import_antd57.Button,
18897
+ import_antd58.Button,
18833
18898
  {
18834
18899
  type: "text",
18835
18900
  icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_icons30.ReloadOutlined, {}),
@@ -18882,9 +18947,9 @@ var Chating = ({
18882
18947
  type: "tag",
18883
18948
  key: `skill_${itemVal}_${Date.now()}`,
18884
18949
  props: {
18885
- label: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd57.Space, { size: 1, children: [
18950
+ label: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_antd58.Space, { size: 1, children: [
18886
18951
  /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react16.BrainCircuit, { size: 12 }),
18887
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd57.Typography.Text, { children: itemVal })
18952
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd58.Typography.Text, { children: itemVal })
18888
18953
  ] }),
18889
18954
  value: `[Use Skill:${itemVal}]`
18890
18955
  }
@@ -18971,7 +19036,7 @@ var Chating = ({
18971
19036
  await conversationContext.createThread();
18972
19037
  } catch (err) {
18973
19038
  console.error("Failed to create new thread:", err);
18974
- import_antd57.message.error("Failed to create new thread");
19039
+ import_antd58.message.error("Failed to create new thread");
18975
19040
  }
18976
19041
  },
18977
19042
  onRefresh: () => {
@@ -19029,7 +19094,7 @@ var Chating = ({
19029
19094
  ),
19030
19095
  !isLoading && messages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_x6.Prompts, { items: senderPromptsItems, onItemClick: onPromptsItemClick }),
19031
19096
  error && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { style: { padding: "0 16px 8px" }, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19032
- import_antd57.Alert,
19097
+ import_antd58.Alert,
19033
19098
  {
19034
19099
  type: "error",
19035
19100
  banner: true,
@@ -19046,7 +19111,7 @@ var Chating = ({
19046
19111
 
19047
19112
  // src/components/GenUI/elements/task_detail.tsx
19048
19113
  var import_jsx_runtime78 = require("react/jsx-runtime");
19049
- var { Text: Text24 } = import_antd58.Typography;
19114
+ var { Text: Text24 } = import_antd59.Typography;
19050
19115
  var TaskDetail = ({ data, component_key, interactive = true }) => {
19051
19116
  const { description, subagent_type, thread_id } = data || {};
19052
19117
  return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
@@ -19074,11 +19139,11 @@ var TaskDetail = ({ data, component_key, interactive = true }) => {
19074
19139
  };
19075
19140
 
19076
19141
  // src/components/GenUI/elements/internet_search_card.tsx
19077
- var import_antd59 = require("antd");
19142
+ var import_antd60 = require("antd");
19078
19143
  var import_icons31 = require("@ant-design/icons");
19079
19144
  var import_antd_style17 = require("antd-style");
19080
19145
  var import_jsx_runtime79 = require("react/jsx-runtime");
19081
- var { Text: Text25 } = import_antd59.Typography;
19146
+ var { Text: Text25 } = import_antd60.Typography;
19082
19147
  var useStyle8 = (0, import_antd_style17.createStyles)(({ token, css }) => ({
19083
19148
  listContainer: css`
19084
19149
  background: ${token.colorBgContainer};
@@ -19192,7 +19257,7 @@ var InternetSearchCard = ({
19192
19257
  if (!toolCallData) {
19193
19258
  return null;
19194
19259
  }
19195
- const header = /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_antd59.Space, { children: [
19260
+ const header = /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_antd60.Space, { children: [
19196
19261
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Text25, { strong: true, children: "Internet Search" }),
19197
19262
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Text25, { title: query, children: query })
19198
19263
  ] });
@@ -19203,7 +19268,7 @@ var InternetSearchCard = ({
19203
19268
  header,
19204
19269
  expandIcon: () => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_icons31.SearchOutlined, {}),
19205
19270
  children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
19206
- import_antd59.List,
19271
+ import_antd60.List,
19207
19272
  {
19208
19273
  size: "small",
19209
19274
  dataSource,
@@ -19212,11 +19277,11 @@ var InternetSearchCard = ({
19212
19277
  const domain = getDomainFromUrl(url);
19213
19278
  const iconText = getIconText(domain);
19214
19279
  const iconColor = getIconColor(domain);
19215
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_antd59.List.Item, { extra: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Text25, { className: styles.source, children: domain }), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_antd59.Space, { style: { width: "100%" }, children: [
19216
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_antd59.Avatar, { style: { background: iconColor }, children: iconText }),
19280
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_antd60.List.Item, { extra: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Text25, { className: styles.source, children: domain }), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_antd60.Space, { style: { width: "100%" }, children: [
19281
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_antd60.Avatar, { style: { background: iconColor }, children: iconText }),
19217
19282
  " ",
19218
19283
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
19219
- import_antd59.Button,
19284
+ import_antd60.Button,
19220
19285
  {
19221
19286
  type: "text",
19222
19287
  onClick: () => {
@@ -19239,7 +19304,7 @@ var InternetSearchCard = ({
19239
19304
 
19240
19305
  // src/components/GenUI/elements/schedule_viewer.tsx
19241
19306
  var import_react62 = require("react");
19242
- var import_antd60 = require("antd");
19307
+ var import_antd61 = require("antd");
19243
19308
  var import_icons32 = require("@ant-design/icons");
19244
19309
  var import_antd_style18 = require("antd-style");
19245
19310
  var import_dayjs2 = __toESM(require("dayjs"));
@@ -19247,7 +19312,7 @@ var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime"));
19247
19312
  var import_client_sdk7 = require("@axiom-lattice/client-sdk");
19248
19313
  var import_jsx_runtime80 = require("react/jsx-runtime");
19249
19314
  import_dayjs2.default.extend(import_relativeTime.default);
19250
- var { Text: Text26, Title: Title5 } = import_antd60.Typography;
19315
+ var { Text: Text26, Title: Title5 } = import_antd61.Typography;
19251
19316
  var useStyles7 = (0, import_antd_style18.createStyles)(({ token, css }) => ({
19252
19317
  container: css`
19253
19318
  height: 100%;
@@ -19384,7 +19449,7 @@ var ScheduleViewer = ({ data }) => {
19384
19449
  onRefresh?.();
19385
19450
  } catch (error) {
19386
19451
  console.error("Failed to refresh tasks:", error);
19387
- import_antd60.message.error("Failed to refresh scheduled tasks");
19452
+ import_antd61.message.error("Failed to refresh scheduled tasks");
19388
19453
  } finally {
19389
19454
  setLoading(false);
19390
19455
  }
@@ -19394,11 +19459,11 @@ var ScheduleViewer = ({ data }) => {
19394
19459
  setActionLoading(taskId);
19395
19460
  try {
19396
19461
  await client.schedules.cancel(taskId);
19397
- import_antd60.message.success("Task cancelled successfully");
19462
+ import_antd61.message.success("Task cancelled successfully");
19398
19463
  await handleRefresh();
19399
19464
  } catch (error) {
19400
19465
  console.error("Failed to cancel task:", error);
19401
- import_antd60.message.error("Failed to cancel task");
19466
+ import_antd61.message.error("Failed to cancel task");
19402
19467
  } finally {
19403
19468
  setActionLoading(null);
19404
19469
  }
@@ -19410,11 +19475,11 @@ var ScheduleViewer = ({ data }) => {
19410
19475
  setActionLoading(taskId);
19411
19476
  try {
19412
19477
  await client.schedules.pause(taskId);
19413
- import_antd60.message.success("Task paused successfully");
19478
+ import_antd61.message.success("Task paused successfully");
19414
19479
  await handleRefresh();
19415
19480
  } catch (error) {
19416
19481
  console.error("Failed to pause task:", error);
19417
- import_antd60.message.error("Failed to pause task");
19482
+ import_antd61.message.error("Failed to pause task");
19418
19483
  } finally {
19419
19484
  setActionLoading(null);
19420
19485
  }
@@ -19426,11 +19491,11 @@ var ScheduleViewer = ({ data }) => {
19426
19491
  setActionLoading(taskId);
19427
19492
  try {
19428
19493
  await client.schedules.resume(taskId);
19429
- import_antd60.message.success("Task resumed successfully");
19494
+ import_antd61.message.success("Task resumed successfully");
19430
19495
  await handleRefresh();
19431
19496
  } catch (error) {
19432
19497
  console.error("Failed to resume task:", error);
19433
- import_antd60.message.error("Failed to resume task");
19498
+ import_antd61.message.error("Failed to resume task");
19434
19499
  } finally {
19435
19500
  setActionLoading(null);
19436
19501
  }
@@ -19452,9 +19517,9 @@ var ScheduleViewer = ({ data }) => {
19452
19517
  const isPending = task.status === import_client_sdk7.ScheduledTaskStatus.PENDING;
19453
19518
  const isPaused = task.status === import_client_sdk7.ScheduledTaskStatus.PAUSED;
19454
19519
  const isCron = task.executionType === import_client_sdk7.ScheduleExecutionType.CRON;
19455
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_antd60.Space, { className: styles.actions, children: [
19456
- isPending && isCron && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Pause", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19457
- import_antd60.Button,
19520
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_antd61.Space, { className: styles.actions, children: [
19521
+ isPending && isCron && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Pause", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19522
+ import_antd61.Button,
19458
19523
  {
19459
19524
  type: "text",
19460
19525
  size: "small",
@@ -19463,8 +19528,8 @@ var ScheduleViewer = ({ data }) => {
19463
19528
  loading: isLoading
19464
19529
  }
19465
19530
  ) }),
19466
- isPaused && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Resume", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19467
- import_antd60.Button,
19531
+ isPaused && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Resume", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19532
+ import_antd61.Button,
19468
19533
  {
19469
19534
  type: "text",
19470
19535
  size: "small",
@@ -19474,15 +19539,15 @@ var ScheduleViewer = ({ data }) => {
19474
19539
  }
19475
19540
  ) }),
19476
19541
  (isPending || isPaused) && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19477
- import_antd60.Popconfirm,
19542
+ import_antd61.Popconfirm,
19478
19543
  {
19479
19544
  title: "Cancel this scheduled task?",
19480
19545
  description: "This action cannot be undone.",
19481
19546
  onConfirm: () => handleCancel(task.taskId),
19482
19547
  okText: "Yes",
19483
19548
  cancelText: "No",
19484
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Cancel", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19485
- import_antd60.Button,
19549
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Cancel", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19550
+ import_antd61.Button,
19486
19551
  {
19487
19552
  type: "text",
19488
19553
  size: "small",
@@ -19498,7 +19563,7 @@ var ScheduleViewer = ({ data }) => {
19498
19563
  const renderTask = (task) => {
19499
19564
  const isActive = task.status === import_client_sdk7.ScheduledTaskStatus.PENDING || task.status === import_client_sdk7.ScheduledTaskStatus.PAUSED;
19500
19565
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
19501
- import_antd60.Card,
19566
+ import_antd61.Card,
19502
19567
  {
19503
19568
  className: styles.taskCard,
19504
19569
  size: "small",
@@ -19509,32 +19574,32 @@ var ScheduleViewer = ({ data }) => {
19509
19574
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: styles.taskType, children: task.taskType }),
19510
19575
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: styles.taskId, children: task.taskId })
19511
19576
  ] }),
19512
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tag, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
19577
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tag, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
19513
19578
  ] }),
19514
19579
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaRow, children: [
19515
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Execution Type", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19580
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Execution Type", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19516
19581
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.FieldTimeOutlined, {}),
19517
19582
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { children: task.executionType === import_client_sdk7.ScheduleExecutionType.CRON ? "Recurring" : "One-time" })
19518
19583
  ] }) }),
19519
- task.cronExpression && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Cron Expression", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19584
+ task.cronExpression && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Cron Expression", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19520
19585
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.ClockCircleOutlined, {}),
19521
19586
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("code", { className: styles.cronExpression, children: task.cronExpression })
19522
19587
  ] }) }),
19523
- task.nextRunAt && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: `Next run: ${formatTime(task.nextRunAt)}`, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19588
+ task.nextRunAt && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: `Next run: ${formatTime(task.nextRunAt)}`, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19524
19589
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.ClockCircleOutlined, {}),
19525
19590
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { children: [
19526
19591
  "Next: ",
19527
19592
  getRelativeTime(task.nextRunAt)
19528
19593
  ] })
19529
19594
  ] }) }),
19530
- task.executeAt && !task.cronExpression && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: `Execute at: ${formatTime(task.executeAt)}`, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19595
+ task.executeAt && !task.cronExpression && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: `Execute at: ${formatTime(task.executeAt)}`, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19531
19596
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.ClockCircleOutlined, {}),
19532
19597
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { children: [
19533
19598
  "At: ",
19534
19599
  getRelativeTime(task.executeAt)
19535
19600
  ] })
19536
19601
  ] }) }),
19537
- task.runCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Run count", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19602
+ task.runCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Run count", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.metaItem, children: [
19538
19603
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.SyncOutlined, {}),
19539
19604
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { children: [
19540
19605
  "Runs: ",
@@ -19548,7 +19613,7 @@ var ScheduleViewer = ({ data }) => {
19548
19613
  task.lastError
19549
19614
  ] }) }),
19550
19615
  task.metadata && Object.keys(task.metadata).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19551
- import_antd60.Descriptions,
19616
+ import_antd61.Descriptions,
19552
19617
  {
19553
19618
  size: "small",
19554
19619
  column: 1,
@@ -19569,8 +19634,8 @@ var ScheduleViewer = ({ data }) => {
19569
19634
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.container, children: [
19570
19635
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.header, children: [
19571
19636
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
19572
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Tooltip, { title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19573
- import_antd60.Button,
19637
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Tooltip, { title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19638
+ import_antd61.Button,
19574
19639
  {
19575
19640
  type: "text",
19576
19641
  icon: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_icons32.ReloadOutlined, { spin: loading }),
@@ -19580,12 +19645,12 @@ var ScheduleViewer = ({ data }) => {
19580
19645
  ) })
19581
19646
  ] }),
19582
19647
  loading && tasks.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: styles.emptyContainer, children: [
19583
- /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd60.Spin, { size: "large" }),
19648
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_antd61.Spin, { size: "large" }),
19584
19649
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Text26, { type: "secondary", style: { marginTop: 16 }, children: "Loading scheduled tasks..." })
19585
19650
  ] }) : tasks.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: styles.emptyContainer, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
19586
- import_antd60.Empty,
19651
+ import_antd61.Empty,
19587
19652
  {
19588
- image: import_antd60.Empty.PRESENTED_IMAGE_SIMPLE,
19653
+ image: import_antd61.Empty.PRESENTED_IMAGE_SIMPLE,
19589
19654
  description: "No scheduled tasks for this thread"
19590
19655
  }
19591
19656
  ) }) : /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { children: tasks.map(renderTask) })
@@ -19593,10 +19658,10 @@ var ScheduleViewer = ({ data }) => {
19593
19658
  };
19594
19659
 
19595
19660
  // src/components/GenUI/elements/browser_view_card.tsx
19596
- var import_antd61 = require("antd");
19661
+ var import_antd62 = require("antd");
19597
19662
  var import_icons33 = require("@ant-design/icons");
19598
19663
  var import_jsx_runtime81 = require("react/jsx-runtime");
19599
- var { Text: Text27 } = import_antd61.Typography;
19664
+ var { Text: Text27 } = import_antd62.Typography;
19600
19665
  var BrowserViewer = ({
19601
19666
  data,
19602
19667
  component_key,
@@ -19638,10 +19703,10 @@ var BrowserViewer = ({
19638
19703
  return "Error parsing args";
19639
19704
  }
19640
19705
  };
19641
- const header = /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_antd61.Flex, { align: "center", wrap: "wrap", children: [
19642
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_antd61.Typography.Text, { strong: true, children: formatToolName(toolCallData.name) }),
19706
+ const header = /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_antd62.Flex, { align: "center", wrap: "wrap", children: [
19707
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_antd62.Typography.Text, { strong: true, children: formatToolName(toolCallData.name) }),
19643
19708
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
19644
- import_antd61.Typography.Text,
19709
+ import_antd62.Typography.Text,
19645
19710
  {
19646
19711
  type: "secondary",
19647
19712
  style: { fontSize: "12px", marginLeft: "8px" },
@@ -19669,7 +19734,7 @@ var BrowserViewer = ({
19669
19734
  header,
19670
19735
  expandIcon: () => getStatusIcon3(toolCallData.status),
19671
19736
  extra: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
19672
- import_antd61.Button,
19737
+ import_antd62.Button,
19673
19738
  {
19674
19739
  type: "link",
19675
19740
  size: "small",
@@ -19686,9 +19751,9 @@ var BrowserViewer = ({
19686
19751
  };
19687
19752
 
19688
19753
  // src/components/GenUI/elements/execute_code.tsx
19689
- var import_antd62 = require("antd");
19754
+ var import_antd63 = require("antd");
19690
19755
  var import_jsx_runtime82 = require("react/jsx-runtime");
19691
- var { Text: Text28 } = import_antd62.Typography;
19756
+ var { Text: Text28 } = import_antd63.Typography;
19692
19757
  var ExecuteCode = ({
19693
19758
  data,
19694
19759
  component_key,
@@ -19700,7 +19765,7 @@ var ExecuteCode = ({
19700
19765
  if (!toolCallData) {
19701
19766
  return null;
19702
19767
  }
19703
- const header = /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_antd62.Space, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text28, { strong: true, children: "Execute Code" }) });
19768
+ const header = /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_antd63.Space, { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text28, { strong: true, children: "Execute Code" }) });
19704
19769
  const handleItemClick = (toolCallData2) => {
19705
19770
  openSideApp({
19706
19771
  component_key: "file_content_diff_view",
@@ -19721,7 +19786,7 @@ ${code}
19721
19786
  header,
19722
19787
  expandIcon: () => getStatusIcon(toolCallData.status),
19723
19788
  extra: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
19724
- import_antd62.Button,
19789
+ import_antd63.Button,
19725
19790
  {
19726
19791
  type: "link",
19727
19792
  size: "small",
@@ -19741,11 +19806,11 @@ ${code}
19741
19806
  };
19742
19807
 
19743
19808
  // src/components/GenUI/elements/TeamGraph.tsx
19744
- var import_antd63 = require("antd");
19809
+ var import_antd64 = require("antd");
19745
19810
  var import_icons34 = require("@ant-design/icons");
19746
19811
  var import_lucide_react17 = require("lucide-react");
19747
19812
  var import_jsx_runtime83 = require("react/jsx-runtime");
19748
- var { Text: Text29 } = import_antd63.Typography;
19813
+ var { Text: Text29 } = import_antd64.Typography;
19749
19814
  var extractTeamInfo = (response) => {
19750
19815
  if (!response) return null;
19751
19816
  const jsonMatch = response.match(/```json\n([\s\S]*?)\n```/);
@@ -19838,19 +19903,19 @@ var TeamGraph = ({ data }) => {
19838
19903
  };
19839
19904
  const showWorkbench = !!teamId && teammates.length > 0;
19840
19905
  if (teammates.length === 0) {
19841
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd63.Card, { style: { width: "100%" }, bodyStyle: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd63.Skeleton, { active: true }) });
19906
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd64.Card, { style: { width: "100%" }, bodyStyle: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd64.Skeleton, { active: true }) });
19842
19907
  }
19843
19908
  return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
19844
- import_antd63.Card,
19909
+ import_antd64.Card,
19845
19910
  {
19846
19911
  style: { width: "100%" },
19847
19912
  bodyStyle: { padding: 12 },
19848
- title: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd63.Space, { children: [
19913
+ title: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd64.Space, { children: [
19849
19914
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_icons34.TeamOutlined, {}),
19850
19915
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { children: "Team Members" })
19851
19916
  ] }),
19852
19917
  extra: showWorkbench ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
19853
- import_antd63.Button,
19918
+ import_antd64.Button,
19854
19919
  {
19855
19920
  type: "text",
19856
19921
  icon: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react17.Monitor, { size: 16 }),
@@ -19860,13 +19925,13 @@ var TeamGraph = ({ data }) => {
19860
19925
  ) : null,
19861
19926
  children: [
19862
19927
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
19863
- import_antd63.List,
19928
+ import_antd64.List,
19864
19929
  {
19865
19930
  dataSource: teammates,
19866
- renderItem: (teammate) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd63.List.Item, { style: { display: "block" }, children: [
19867
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd63.Space, { align: "center", size: 12, children: [
19931
+ renderItem: (teammate) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd64.List.Item, { style: { display: "block" }, children: [
19932
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_antd64.Space, { align: "center", size: 12, children: [
19868
19933
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
19869
- import_antd63.Avatar,
19934
+ import_antd64.Avatar,
19870
19935
  {
19871
19936
  size: 40,
19872
19937
  icon: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_icons34.UserOutlined, {}),
@@ -19883,7 +19948,7 @@ var TeamGraph = ({ data }) => {
19883
19948
  /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { style: { flex: 1 }, children: [
19884
19949
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Text29, { strong: true, style: { display: "block" }, children: teammate?.name || "Unnamed" }),
19885
19950
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
19886
- import_antd63.Tag,
19951
+ import_antd64.Tag,
19887
19952
  {
19888
19953
  color: "blue",
19889
19954
  style: { margin: 0, marginTop: 4 },
@@ -19903,11 +19968,11 @@ var TeamGraph = ({ data }) => {
19903
19968
  ")"
19904
19969
  ] }),
19905
19970
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
19906
- import_antd63.List,
19971
+ import_antd64.List,
19907
19972
  {
19908
19973
  size: "small",
19909
19974
  dataSource: tasks.filter((t) => t.status === "pending"),
19910
- renderItem: (task) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd63.List.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
19975
+ renderItem: (task) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_antd64.List.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
19911
19976
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Text29, { style: { fontSize: 12, color: "#7A7A7A" }, children: task.id }),
19912
19977
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Text29, { strong: true, style: { display: "block", fontSize: 13 }, children: task.title }),
19913
19978
  task.description && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Text29, { type: "secondary", style: { fontSize: 11 }, children: task.description.length > 100 ? task.description.slice(0, 100) + "..." : task.description })
@@ -19923,14 +19988,14 @@ var TeamGraph_default = TeamGraph;
19923
19988
 
19924
19989
  // src/components/GenUI/elements/TeamWorkspace/index.tsx
19925
19990
  var import_react70 = require("react");
19926
- var import_antd72 = require("antd");
19991
+ var import_antd73 = require("antd");
19927
19992
  var import_lucide_react24 = require("lucide-react");
19928
19993
  var import_antd_style27 = require("antd-style");
19929
19994
 
19930
19995
  // src/components/GenUI/elements/TeamWorkspace/TeamWorkspaceMenu.tsx
19931
19996
  var import_react63 = __toESM(require("react"));
19932
19997
  var import_lucide_react18 = require("lucide-react");
19933
- var import_antd64 = require("antd");
19998
+ var import_antd65 = require("antd");
19934
19999
  var import_antd_style19 = require("antd-style");
19935
20000
  var import_jsx_runtime84 = require("react/jsx-runtime");
19936
20001
  var useStyles8 = (0, import_antd_style19.createStyles)(({ token, css }) => ({
@@ -20128,7 +20193,7 @@ var TeamWorkspaceMenu = ({
20128
20193
  /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: styles.menuIcon, children: getMenuIcon(item) }),
20129
20194
  isExpanded && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: styles.menuLabel, children: item.name }),
20130
20195
  item.badge && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
20131
- import_antd64.Badge,
20196
+ import_antd65.Badge,
20132
20197
  {
20133
20198
  count: item.badge,
20134
20199
  size: "small",
@@ -20140,7 +20205,7 @@ var TeamWorkspaceMenu = ({
20140
20205
  }
20141
20206
  );
20142
20207
  if (showTooltip && !isExpanded) {
20143
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_antd64.Tooltip, { title: item.name, placement: "right", children: content }, item.id);
20208
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_antd65.Tooltip, { title: item.name, placement: "right", children: content }, item.id);
20144
20209
  }
20145
20210
  return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_react63.default.Fragment, { children: content }, item.id);
20146
20211
  };
@@ -20183,7 +20248,7 @@ var TeamWorkspaceMenu = ({
20183
20248
  };
20184
20249
 
20185
20250
  // src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
20186
- var import_antd65 = require("antd");
20251
+ var import_antd66 = require("antd");
20187
20252
  var import_lucide_react19 = require("lucide-react");
20188
20253
  var import_antd_style20 = require("antd-style");
20189
20254
 
@@ -20234,7 +20299,7 @@ function useTeamWorkspaceData(threadId, assistantId) {
20234
20299
 
20235
20300
  // src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
20236
20301
  var import_jsx_runtime85 = require("react/jsx-runtime");
20237
- var { Title: Title6, Text: Text30 } = import_antd65.Typography;
20302
+ var { Title: Title6, Text: Text30 } = import_antd66.Typography;
20238
20303
  var useStyles9 = (0, import_antd_style20.createStyles)(({ token, css }) => ({
20239
20304
  container: css`
20240
20305
  padding: ${token.paddingLG}px;
@@ -20480,11 +20545,11 @@ var TaskItem = ({
20480
20545
  task,
20481
20546
  styles
20482
20547
  }) => {
20483
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Tooltip, { title: task.title, placement: "topLeft", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: styles.listItem, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: styles.taskItem, children: [
20548
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Tooltip, { title: task.title, placement: "topLeft", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: styles.listItem, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: styles.taskItem, children: [
20484
20549
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(StatusIcon, { status: task.status, className: styles.taskStatusIcon }),
20485
20550
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: styles.taskContent, children: [
20486
20551
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: styles.taskTitle, children: task.title }),
20487
- task.assignee && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20552
+ task.assignee && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20488
20553
  "div",
20489
20554
  {
20490
20555
  className: styles.taskAssignee,
@@ -20508,9 +20573,9 @@ var TeamDashboard = ({
20508
20573
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
20509
20574
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Text30, { className: styles.subtitle, children: team?.teamId ? `Team ID: ${team.teamId} \u2022 ${stats.totalTasks} tasks \u2022 ${stats.totalActivities} activities` : "Overview of team activities and tasks" })
20510
20575
  ] }),
20511
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_antd65.Row, { gutter: [16, 16], className: styles.statsRow, children: [
20512
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20513
- import_antd65.Statistic,
20576
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_antd66.Row, { gutter: [16, 16], className: styles.statsRow, children: [
20577
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20578
+ import_antd66.Statistic,
20514
20579
  {
20515
20580
  title: "Total Tasks",
20516
20581
  value: stats.totalTasks,
@@ -20518,8 +20583,8 @@ var TeamDashboard = ({
20518
20583
  valueStyle: { color: "#1890ff" }
20519
20584
  }
20520
20585
  ) }) }),
20521
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20522
- import_antd65.Statistic,
20586
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20587
+ import_antd66.Statistic,
20523
20588
  {
20524
20589
  title: "In Progress",
20525
20590
  value: stats.inProgressTasks,
@@ -20527,8 +20592,8 @@ var TeamDashboard = ({
20527
20592
  valueStyle: { color: "#faad14" }
20528
20593
  }
20529
20594
  ) }) }),
20530
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20531
- import_antd65.Statistic,
20595
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20596
+ import_antd66.Statistic,
20532
20597
  {
20533
20598
  title: "Completed",
20534
20599
  value: stats.completedTasks,
@@ -20536,8 +20601,8 @@ var TeamDashboard = ({
20536
20601
  valueStyle: { color: "#52c41a" }
20537
20602
  }
20538
20603
  ) }) }),
20539
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20540
- import_antd65.Statistic,
20604
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 6, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Card, { className: styles.statCard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20605
+ import_antd66.Statistic,
20541
20606
  {
20542
20607
  title: "Activities",
20543
20608
  value: stats.totalActivities,
@@ -20546,9 +20611,9 @@ var TeamDashboard = ({
20546
20611
  }
20547
20612
  ) }) })
20548
20613
  ] }),
20549
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_antd65.Row, { gutter: [16, 16], className: styles.contentRow, children: [
20550
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 12, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20551
- import_antd65.Card,
20614
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(import_antd66.Row, { gutter: [16, 16], className: styles.contentRow, children: [
20615
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 12, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20616
+ import_antd66.Card,
20552
20617
  {
20553
20618
  title: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("span", { children: [
20554
20619
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react19.Mail, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
@@ -20566,8 +20631,8 @@ var TeamDashboard = ({
20566
20631
  )) })
20567
20632
  }
20568
20633
  ) }),
20569
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd65.Col, { span: 12, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20570
- import_antd65.Card,
20634
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_antd66.Col, { span: 12, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
20635
+ import_antd66.Card,
20571
20636
  {
20572
20637
  title: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("span", { children: [
20573
20638
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react19.Users, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
@@ -20584,17 +20649,17 @@ var TeamDashboard = ({
20584
20649
 
20585
20650
  // src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
20586
20651
  var import_react66 = require("react");
20587
- var import_antd67 = require("antd");
20652
+ var import_antd68 = require("antd");
20588
20653
  var import_lucide_react21 = require("lucide-react");
20589
20654
  var import_antd_style22 = require("antd-style");
20590
20655
 
20591
20656
  // src/components/GenUI/elements/TeamWorkspace/TaskDetailModal.tsx
20592
20657
  var import_react65 = require("react");
20593
- var import_antd66 = require("antd");
20658
+ var import_antd67 = require("antd");
20594
20659
  var import_antd_style21 = require("antd-style");
20595
20660
  var import_lucide_react20 = require("lucide-react");
20596
20661
  var import_jsx_runtime86 = require("react/jsx-runtime");
20597
- var { Title: Title7, Text: Text31, Paragraph } = import_antd66.Typography;
20662
+ var { Title: Title7, Text: Text31, Paragraph } = import_antd67.Typography;
20598
20663
  var useStyles10 = (0, import_antd_style21.createStyles)(({ token, css }) => ({
20599
20664
  modalContent: css`
20600
20665
  padding: 0;
@@ -20990,7 +21055,7 @@ var ActivityTab = ({ task, styles }) => {
20990
21055
  }
20991
21056
  ];
20992
21057
  return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: styles.timelineSection, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
20993
- import_antd66.Timeline,
21058
+ import_antd67.Timeline,
20994
21059
  {
20995
21060
  mode: "left",
20996
21061
  items: timelineItems,
@@ -21026,7 +21091,7 @@ var TaskDetailModal = ({
21026
21091
  }
21027
21092
  ];
21028
21093
  return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
21029
- import_antd66.Modal,
21094
+ import_antd67.Modal,
21030
21095
  {
21031
21096
  title: null,
21032
21097
  open: visible,
@@ -21105,17 +21170,17 @@ var TaskDetailModal = ({
21105
21170
  ] })
21106
21171
  ] })
21107
21172
  ] }),
21108
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_antd66.Divider, {}),
21173
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_antd67.Divider, {}),
21109
21174
  task.dependencies?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: styles.dependenciesSection, children: [
21110
21175
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Text31, { className: styles.sectionTitle, children: "Dependencies" }),
21111
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_antd66.Tag, { className: styles.dependencyTag, children: [
21176
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_antd67.Tag, { className: styles.dependencyTag, children: [
21112
21177
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_lucide_react20.Link, { size: 12 }),
21113
21178
  " ",
21114
21179
  dep
21115
21180
  ] }, dep)) })
21116
21181
  ] }),
21117
21182
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: styles.tabsContainer, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
21118
- import_antd66.Tabs,
21183
+ import_antd67.Tabs,
21119
21184
  {
21120
21185
  activeKey: activeTab,
21121
21186
  onChange: setActiveTab,
@@ -21129,7 +21194,7 @@ var TaskDetailModal = ({
21129
21194
 
21130
21195
  // src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
21131
21196
  var import_jsx_runtime87 = require("react/jsx-runtime");
21132
- var { Title: Title8, Text: Text32 } = import_antd67.Typography;
21197
+ var { Title: Title8, Text: Text32 } = import_antd68.Typography;
21133
21198
  var getInitials4 = (name) => {
21134
21199
  return name.split(/[\s_-]/).map((n) => n.charAt(0)).join("").toUpperCase().slice(0, 2);
21135
21200
  };
@@ -21448,10 +21513,10 @@ var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }
21448
21513
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.listItemIcon, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(StatusIcon2, { status: task.status }) }),
21449
21514
  /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.listItemContent, children: [
21450
21515
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: styles.listItemId, children: task.id }),
21451
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd67.Tooltip, { title: task.title, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: styles.listItemTitle, children: task.title }) })
21516
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd68.Tooltip, { title: task.title, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: styles.listItemTitle, children: task.title }) })
21452
21517
  ] }),
21453
21518
  /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.listItemRight, children: [
21454
- task.assignee ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd67.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.listItemAssignee, children: [
21519
+ task.assignee ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd68.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.listItemAssignee, children: [
21455
21520
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21456
21521
  "div",
21457
21522
  {
@@ -21551,7 +21616,7 @@ var IssuesView = ({
21551
21616
  style: { borderBottomColor: column.color },
21552
21617
  children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: styles.columnTitle, children: [
21553
21618
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21554
- import_antd67.Badge,
21619
+ import_antd68.Badge,
21555
21620
  {
21556
21621
  count: columnTasks.length,
21557
21622
  style: { backgroundColor: column.color }
@@ -21565,7 +21630,7 @@ var IssuesView = ({
21565
21630
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.taskTitle, children: task.title }),
21566
21631
  /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.taskMeta, children: [
21567
21632
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Text32, { type: "secondary", children: task.id }),
21568
- task.assignee && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd67.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21633
+ task.assignee && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd68.Tooltip, { title: task.assignee, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21569
21634
  "div",
21570
21635
  {
21571
21636
  className: styles.assigneeAvatar,
@@ -21576,9 +21641,9 @@ var IssuesView = ({
21576
21641
  ] })
21577
21642
  ] }, task.id)),
21578
21643
  columnTasks.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21579
- import_antd67.Empty,
21644
+ import_antd68.Empty,
21580
21645
  {
21581
- image: import_antd67.Empty.PRESENTED_IMAGE_SIMPLE,
21646
+ image: import_antd68.Empty.PRESENTED_IMAGE_SIMPLE,
21582
21647
  description: "No tasks"
21583
21648
  }
21584
21649
  )
@@ -21604,7 +21669,7 @@ var IssuesView = ({
21604
21669
  },
21605
21670
  group.id
21606
21671
  )),
21607
- listGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { style: { padding: 48, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd67.Empty, { description: "No issues found" }) })
21672
+ listGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { style: { padding: 48, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd68.Empty, { description: "No issues found" }) })
21608
21673
  ] });
21609
21674
  return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.container, children: [
21610
21675
  /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: styles.header, children: [
@@ -21635,7 +21700,7 @@ var IssuesView = ({
21635
21700
  )
21636
21701
  ] })
21637
21702
  ] }),
21638
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.content, children: tasks?.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd67.Empty, { description: "No issues found" }) }) : viewMode === "kanban" ? renderKanbanView() : renderListView() }),
21703
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.content, children: tasks?.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: styles.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd68.Empty, { description: "No issues found" }) }) : viewMode === "kanban" ? renderKanbanView() : renderListView() }),
21639
21704
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21640
21705
  TaskDetailModal,
21641
21706
  {
@@ -21651,10 +21716,10 @@ var IssuesView = ({
21651
21716
  var import_react67 = __toESM(require("react"));
21652
21717
  var import_react68 = require("@xyflow/react");
21653
21718
  var import_style3 = require("@xyflow/react/dist/style.css");
21654
- var import_antd68 = require("antd");
21719
+ var import_antd69 = require("antd");
21655
21720
  var import_antd_style23 = require("antd-style");
21656
21721
  var import_jsx_runtime88 = require("react/jsx-runtime");
21657
- var { Title: Title9, Text: Text33 } = import_antd68.Typography;
21722
+ var { Title: Title9, Text: Text33 } = import_antd69.Typography;
21658
21723
  var useStyles12 = (0, import_antd_style23.createStyles)(({ token, css }) => ({
21659
21724
  container: css`
21660
21725
  height: 100%;
@@ -21770,7 +21835,7 @@ var TeamMemberNode = ({ data }) => {
21770
21835
  /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { children: [
21771
21836
  /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: styles.nodeTitle, children: [
21772
21837
  name,
21773
- isLead && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_antd68.Tag, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
21838
+ isLead && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_antd69.Tag, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
21774
21839
  ] }),
21775
21840
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: styles.nodeRole, children: role })
21776
21841
  ] })
@@ -21784,15 +21849,15 @@ var TeamMemberNode = ({ data }) => {
21784
21849
  }
21785
21850
  ),
21786
21851
  taskStats && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: styles.nodeStats, children: [
21787
- taskStats.completed > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Tag, { color: "success", className: styles.statTag, children: [
21852
+ taskStats.completed > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Tag, { color: "success", className: styles.statTag, children: [
21788
21853
  "\u2713 ",
21789
21854
  taskStats.completed
21790
21855
  ] }),
21791
- taskStats.inProgress > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Tag, { color: "warning", className: styles.statTag, children: [
21856
+ taskStats.inProgress > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Tag, { color: "warning", className: styles.statTag, children: [
21792
21857
  "\u27F3 ",
21793
21858
  taskStats.inProgress
21794
21859
  ] }),
21795
- taskStats.pending > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Tag, { className: styles.statTag, children: [
21860
+ taskStats.pending > 0 && /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Tag, { className: styles.statTag, children: [
21796
21861
  "\u25CB ",
21797
21862
  taskStats.pending
21798
21863
  ] })
@@ -21916,9 +21981,9 @@ var TeamOrgCanvasInner = ({
21916
21981
  ]
21917
21982
  }
21918
21983
  ),
21919
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: styles.legend, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Space, { direction: "vertical", size: "small", children: [
21984
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: styles.legend, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Space, { direction: "vertical", size: "small", children: [
21920
21985
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Text33, { strong: true, style: { fontSize: 12 }, children: "Legend" }),
21921
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Space, { size: "small", children: [
21986
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Space, { size: "small", children: [
21922
21987
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
21923
21988
  "div",
21924
21989
  {
@@ -21933,7 +21998,7 @@ var TeamOrgCanvasInner = ({
21933
21998
  ),
21934
21999
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Text33, { style: { fontSize: 11 }, children: "Team Lead" })
21935
22000
  ] }),
21936
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd68.Space, { size: "small", children: [
22001
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(import_antd69.Space, { size: "small", children: [
21937
22002
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
21938
22003
  "div",
21939
22004
  {
@@ -21955,10 +22020,10 @@ var TeamOrgCanvasInner = ({
21955
22020
  var TeamOrgCanvas = (props) => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_react68.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(TeamOrgCanvasInner, { ...props }) });
21956
22021
 
21957
22022
  // src/components/GenUI/elements/TeamWorkspace/TeamMemberChat.tsx
21958
- var import_antd69 = require("antd");
22023
+ var import_antd70 = require("antd");
21959
22024
  var import_antd_style24 = require("antd-style");
21960
22025
  var import_jsx_runtime89 = require("react/jsx-runtime");
21961
- var { Title: Title10, Text: Text34 } = import_antd69.Typography;
22026
+ var { Title: Title10, Text: Text34 } = import_antd70.Typography;
21962
22027
  var useStyles13 = (0, import_antd_style24.createStyles)(({ token, css }) => ({
21963
22028
  container: css`
21964
22029
  height: 100%;
@@ -22054,7 +22119,7 @@ var TeamMemberChat = ({
22054
22119
  /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: styles.headerInfo, children: [
22055
22120
  /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Title10, { level: 4, className: styles.title, children: teammate.name }),
22056
22121
  /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { children: [
22057
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_antd69.Tag, { color: "blue", children: teammate.role }),
22122
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_antd70.Tag, { color: "blue", children: teammate.role }),
22058
22123
  teammate.description && /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(Text34, { className: styles.role, children: [
22059
22124
  "\u2022 ",
22060
22125
  teammate.description
@@ -22079,16 +22144,16 @@ var TeamMemberChat = ({
22079
22144
 
22080
22145
  // src/components/GenUI/elements/MailboxPanel.tsx
22081
22146
  var import_react69 = require("react");
22082
- var import_antd71 = require("antd");
22147
+ var import_antd72 = require("antd");
22083
22148
  var import_antd_style26 = require("antd-style");
22084
22149
  var import_lucide_react23 = require("lucide-react");
22085
22150
 
22086
22151
  // src/components/GenUI/elements/MailboxDetailModal.tsx
22087
- var import_antd70 = require("antd");
22152
+ var import_antd71 = require("antd");
22088
22153
  var import_antd_style25 = require("antd-style");
22089
22154
  var import_lucide_react22 = require("lucide-react");
22090
22155
  var import_jsx_runtime90 = require("react/jsx-runtime");
22091
- var { Title: Title11, Text: Text35, Paragraph: Paragraph2 } = import_antd70.Typography;
22156
+ var { Title: Title11, Text: Text35, Paragraph: Paragraph2 } = import_antd71.Typography;
22092
22157
  var useStyles14 = (0, import_antd_style25.createStyles)(({ token, css }) => ({
22093
22158
  modalContent: css`
22094
22159
  padding: 0;
@@ -22225,7 +22290,7 @@ var MailboxDetailModal = ({
22225
22290
  const { styles } = useStyles14();
22226
22291
  if (!message18) return null;
22227
22292
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
22228
- import_antd70.Modal,
22293
+ import_antd71.Modal,
22229
22294
  {
22230
22295
  title: null,
22231
22296
  open: visible,
@@ -22247,7 +22312,7 @@ var MailboxDetailModal = ({
22247
22312
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: styles.header, children: [
22248
22313
  /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: styles.messageIcon, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react22.Mail, { size: 20 }) }),
22249
22314
  /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text35, { className: styles.messageId, children: message18.id }),
22250
- !message18.read && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd70.Tag, { color: "red", children: "Unread" })
22315
+ !message18.read && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd71.Tag, { color: "red", children: "Unread" })
22251
22316
  ] }),
22252
22317
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(Title11, { level: 4, className: styles.title, children: [
22253
22318
  "Message from ",
@@ -22291,10 +22356,10 @@ var MailboxDetailModal = ({
22291
22356
  ] }),
22292
22357
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: styles.metaItem, children: [
22293
22358
  /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text35, { className: styles.metaLabel, children: "Type" }),
22294
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: styles.metaValue, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd70.Tag, { color: message18.type === "broadcast" ? "blue" : "default", children: message18.type }) })
22359
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: styles.metaValue, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd71.Tag, { color: message18.type === "broadcast" ? "blue" : "default", children: message18.type }) })
22295
22360
  ] })
22296
22361
  ] }),
22297
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd70.Divider, {}),
22362
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_antd71.Divider, {}),
22298
22363
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: styles.contentSection, children: [
22299
22364
  /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Text35, { className: styles.contentLabel, children: "Message Content" }),
22300
22365
  /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: styles.contentBox, children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Paragraph2, { className: styles.messageContent, children: message18.content }) })
@@ -22306,7 +22371,7 @@ var MailboxDetailModal = ({
22306
22371
 
22307
22372
  // src/components/GenUI/elements/MailboxPanel.tsx
22308
22373
  var import_jsx_runtime91 = require("react/jsx-runtime");
22309
- var { Title: Title12, Text: Text36 } = import_antd71.Typography;
22374
+ var { Title: Title12, Text: Text36 } = import_antd72.Typography;
22310
22375
  var useStyles15 = (0, import_antd_style26.createStyles)(({ token, css }) => ({
22311
22376
  container: css`
22312
22377
  padding: ${token.paddingLG}px;
@@ -22600,7 +22665,7 @@ var MailboxPanel = ({ data }) => {
22600
22665
  totalUnread > 0 && ` \u2022 ${totalUnread} unread`
22601
22666
  ] })
22602
22667
  ] }) }),
22603
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.content, children: teamMailbox.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_antd71.Empty, { description: "No messages" }) }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.listContainer, children: messageGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
22668
+ /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.content, children: teamMailbox.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.emptyState, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_antd72.Empty, { description: "No messages" }) }) : /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("div", { className: styles.listContainer, children: messageGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
22604
22669
  MessageGroupComponent,
22605
22670
  {
22606
22671
  group,
@@ -22623,7 +22688,7 @@ var MailboxPanel = ({ data }) => {
22623
22688
 
22624
22689
  // src/components/GenUI/elements/TeamWorkspace/index.tsx
22625
22690
  var import_jsx_runtime92 = require("react/jsx-runtime");
22626
- var { Content } = import_antd72.Layout;
22691
+ var { Content } = import_antd73.Layout;
22627
22692
  var useStyles16 = (0, import_antd_style27.createStyles)(({ token, css }) => ({
22628
22693
  container: css`
22629
22694
  display: flex;
@@ -22725,7 +22790,7 @@ var TeamWorkspace = ({
22725
22790
  };
22726
22791
  const renderContent = () => {
22727
22792
  if (isLoading) {
22728
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: styles.loadingContainer, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_antd72.Spin, { size: "large" }) });
22793
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: styles.loadingContainer, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_antd73.Spin, { size: "large" }) });
22729
22794
  }
22730
22795
  const activeItem = menuItems.find((item) => item.id === activeMenuId);
22731
22796
  switch (activeItem?.type) {
@@ -22804,7 +22869,7 @@ var TeamWorkspace = ({
22804
22869
  ),
22805
22870
  /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Content, { className: styles.content, children: [
22806
22871
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
22807
- import_antd72.Button,
22872
+ import_antd73.Button,
22808
22873
  {
22809
22874
  className: styles.refreshButton,
22810
22875
  icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_lucide_react24.RefreshCw, { size: 16 }),
@@ -23726,7 +23791,7 @@ var regsiterElement = (language, ElementMeta) => {
23726
23791
  };
23727
23792
 
23728
23793
  // src/components/Chat/SideAppViewBrowser.tsx
23729
- var import_antd73 = require("antd");
23794
+ var import_antd74 = require("antd");
23730
23795
  var import_antd_style28 = require("antd-style");
23731
23796
  var import_react73 = require("react");
23732
23797
  var import_jsx_runtime96 = require("react/jsx-runtime");
@@ -24015,7 +24080,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
24015
24080
  }));
24016
24081
  return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: styles.container, children: [
24017
24082
  /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: styles.header, children: [
24018
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: styles.tabsStrip, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_antd73.Tooltip, { title: item.label, placement: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
24083
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: styles.tabsStrip, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_antd74.Tooltip, { title: item.label, placement: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
24019
24084
  "div",
24020
24085
  {
24021
24086
  "data-tab-key": item.key,
@@ -24043,7 +24108,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
24043
24108
  /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: styles.actions, children: [
24044
24109
  items.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: styles.tabCounter, children: items.length }),
24045
24110
  items.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
24046
- import_antd73.Dropdown,
24111
+ import_antd74.Dropdown,
24047
24112
  {
24048
24113
  menu: { items: dropdownItems },
24049
24114
  placement: "bottomRight",
@@ -24051,7 +24116,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
24051
24116
  children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("button", { className: styles.actionBtn, title: "All tabs", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons35.MoreOutlined, {}) })
24052
24117
  }
24053
24118
  ),
24054
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_antd73.Tooltip, { title: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("button", { className: styles.actionBtn, onClick: closeApp, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons35.CloseOutlined, {}) }) })
24119
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_antd74.Tooltip, { title: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("button", { className: styles.actionBtn, onClick: closeApp, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_icons35.CloseOutlined, {}) }) })
24055
24120
  ] })
24056
24121
  ] }),
24057
24122
  /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: styles.content, children: activeItem ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: styles.contentWrapper, children: activeItem.children }, activeItem.key) : /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: styles.emptyState, children: [
@@ -24063,7 +24128,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
24063
24128
 
24064
24129
  // src/components/Chat/ProjectSelector.tsx
24065
24130
  var import_react74 = require("react");
24066
- var import_antd74 = require("antd");
24131
+ var import_antd75 = require("antd");
24067
24132
  var import_antd_style29 = require("antd-style");
24068
24133
  var import_lucide_react25 = require("lucide-react");
24069
24134
  var import_jsx_runtime97 = require("react/jsx-runtime");
@@ -24334,7 +24399,7 @@ var ProjectSelector = () => {
24334
24399
  const handleOpenModal = (0, import_react74.useCallback)((e) => {
24335
24400
  e.stopPropagation();
24336
24401
  if (!workspaceId) {
24337
- import_antd74.message.warning("Please select a workspace first");
24402
+ import_antd75.message.warning("Please select a workspace first");
24338
24403
  return;
24339
24404
  }
24340
24405
  setProjectName("");
@@ -24368,7 +24433,7 @@ var ProjectSelector = () => {
24368
24433
  setProjectName("");
24369
24434
  setValidationError(null);
24370
24435
  setProject(project.id);
24371
- import_antd74.message.success(`Project "${project.name}" created`);
24436
+ import_antd75.message.success(`Project "${project.name}" created`);
24372
24437
  } catch (err) {
24373
24438
  const errMsg = err instanceof Error ? err.message : "Failed to create project";
24374
24439
  setValidationError(errMsg);
@@ -24418,7 +24483,7 @@ var ProjectSelector = () => {
24418
24483
  ] })
24419
24484
  ] }) }),
24420
24485
  /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
24421
- import_antd74.Modal,
24486
+ import_antd75.Modal,
24422
24487
  {
24423
24488
  title: "Create New Project",
24424
24489
  open: isModalOpen,
@@ -24430,9 +24495,9 @@ var ProjectSelector = () => {
24430
24495
  keyboard: true,
24431
24496
  closable: true,
24432
24497
  footer: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: styles.modalFooter, children: [
24433
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_antd74.Button, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
24498
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_antd75.Button, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
24434
24499
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
24435
- import_antd74.Button,
24500
+ import_antd75.Button,
24436
24501
  {
24437
24502
  type: "primary",
24438
24503
  onClick: handleCreateProject,
@@ -24444,7 +24509,7 @@ var ProjectSelector = () => {
24444
24509
  ] }),
24445
24510
  children: [
24446
24511
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
24447
- import_antd74.Input,
24512
+ import_antd75.Input,
24448
24513
  {
24449
24514
  ref: projectNameInputRef,
24450
24515
  value: projectName,
@@ -24508,14 +24573,14 @@ var LatticeChat = (props) => {
24508
24573
 
24509
24574
  // src/components/Chat/AgentConversations.tsx
24510
24575
  var import_x7 = require("@ant-design/x");
24511
- var import_antd75 = require("antd");
24576
+ var import_antd76 = require("antd");
24512
24577
  var import_react75 = require("react");
24513
24578
  var import_jsx_runtime99 = require("react/jsx-runtime");
24514
24579
  var AgentConversations = ({
24515
24580
  enableThreadCreation = true,
24516
24581
  enableThreadList = true
24517
24582
  }) => {
24518
- const { token } = import_antd75.theme.useToken();
24583
+ const { token } = import_antd76.theme.useToken();
24519
24584
  const { currentAssistant } = useAssistantContext();
24520
24585
  const {
24521
24586
  assistantId,
@@ -24569,12 +24634,12 @@ var import_react79 = require("react");
24569
24634
 
24570
24635
  // src/components/Chat/ChatSidebar.tsx
24571
24636
  var import_react78 = require("react");
24572
- var import_antd78 = require("antd");
24637
+ var import_antd79 = require("antd");
24573
24638
  var import_lucide_react28 = require("lucide-react");
24574
24639
 
24575
24640
  // src/components/Chat/ProjectsMenuContent.tsx
24576
24641
  var import_react76 = require("react");
24577
- var import_antd76 = require("antd");
24642
+ var import_antd77 = require("antd");
24578
24643
  var import_antd_style30 = require("antd-style");
24579
24644
  var import_lucide_react26 = require("lucide-react");
24580
24645
  var import_jsx_runtime100 = require("react/jsx-runtime");
@@ -24999,7 +25064,7 @@ var ProjectsMenuContent = () => {
24999
25064
  }, []);
25000
25065
  const handleOpenModal = (0, import_react76.useCallback)(() => {
25001
25066
  if (!workspaceId) {
25002
- import_antd76.message.warning("Please select a workspace first");
25067
+ import_antd77.message.warning("Please select a workspace first");
25003
25068
  return;
25004
25069
  }
25005
25070
  setProjectName("");
@@ -25033,7 +25098,7 @@ var ProjectsMenuContent = () => {
25033
25098
  setProjectName("");
25034
25099
  setValidationError(null);
25035
25100
  setProject(project.id);
25036
- import_antd76.message.success(`Project "${project.name}" created`);
25101
+ import_antd77.message.success(`Project "${project.name}" created`);
25037
25102
  } catch (err) {
25038
25103
  const errMsg = err instanceof Error ? err.message : "Failed to create project";
25039
25104
  setValidationError(errMsg);
@@ -25051,7 +25116,7 @@ var ProjectsMenuContent = () => {
25051
25116
  const isProjectNameValid = !validateProjectName(projectName.trim());
25052
25117
  const handleUploadClick = async (folderName) => {
25053
25118
  if (!workspaceId || !projectId) {
25054
- import_antd76.message.warning("Please select a workspace and project before uploading.");
25119
+ import_antd77.message.warning("Please select a workspace and project before uploading.");
25055
25120
  return;
25056
25121
  }
25057
25122
  const input = document.createElement("input");
@@ -25065,14 +25130,14 @@ var ProjectsMenuContent = () => {
25065
25130
  setUploadingFolder(folderName);
25066
25131
  try {
25067
25132
  await uploadFileToFolder(folderName, file);
25068
- import_antd76.message.success(`Uploaded "${file.name}" successfully`);
25133
+ import_antd77.message.success(`Uploaded "${file.name}" successfully`);
25069
25134
  const folder = resourceFolders.find((f) => f.name === folderName);
25070
25135
  if (folder) {
25071
25136
  await loadAssetsForFolder(folder);
25072
25137
  }
25073
25138
  } catch (error) {
25074
25139
  const errMsg = error instanceof Error ? error.message : "Failed to upload file";
25075
- import_antd76.message.error(errMsg);
25140
+ import_antd77.message.error(errMsg);
25076
25141
  } finally {
25077
25142
  setUploadingFolder(null);
25078
25143
  input.remove();
@@ -25083,7 +25148,7 @@ var ProjectsMenuContent = () => {
25083
25148
  const handleAssetClick = (asset) => {
25084
25149
  const fileUrl = getFileViewUrl(asset.path);
25085
25150
  if (!fileUrl) {
25086
- import_antd76.message.warning("Please select a workspace and project first.");
25151
+ import_antd77.message.warning("Please select a workspace and project first.");
25087
25152
  return;
25088
25153
  }
25089
25154
  openSideApp({
@@ -25123,7 +25188,7 @@ var ProjectsMenuContent = () => {
25123
25188
  ),
25124
25189
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: styles.badge, children: assets.length })
25125
25190
  ] }),
25126
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: styles.loading, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd76.Spin, { size: "small" }) }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: styles.assetList, children: [
25191
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: styles.loading, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd77.Spin, { size: "small" }) }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: styles.assetList, children: [
25127
25192
  assets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
25128
25193
  "div",
25129
25194
  {
@@ -25149,7 +25214,7 @@ var ProjectsMenuContent = () => {
25149
25214
  onClick: () => handleUploadClick(folder.name),
25150
25215
  disabled: !workspaceId || !projectId || uploadingFolder === folder.name,
25151
25216
  children: uploadingFolder === folder.name ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
25152
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd76.Spin, { size: "small" }),
25217
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd77.Spin, { size: "small" }),
25153
25218
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { children: "Uploading..." })
25154
25219
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
25155
25220
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_lucide_react26.Upload, { size: 14 }),
@@ -25161,7 +25226,7 @@ var ProjectsMenuContent = () => {
25161
25226
  ] }, folder.name);
25162
25227
  }),
25163
25228
  /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
25164
- import_antd76.Modal,
25229
+ import_antd77.Modal,
25165
25230
  {
25166
25231
  title: "Create New Project",
25167
25232
  open: isModalOpen,
@@ -25173,9 +25238,9 @@ var ProjectsMenuContent = () => {
25173
25238
  keyboard: true,
25174
25239
  closable: true,
25175
25240
  footer: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: styles.modalFooter, children: [
25176
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd76.Button, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
25241
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_antd77.Button, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
25177
25242
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
25178
- import_antd76.Button,
25243
+ import_antd77.Button,
25179
25244
  {
25180
25245
  type: "primary",
25181
25246
  onClick: handleCreateProject,
@@ -25188,7 +25253,7 @@ var ProjectsMenuContent = () => {
25188
25253
  children: [
25189
25254
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("label", { className: styles.formLabel, htmlFor: "project-name", children: "Project Name" }),
25190
25255
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
25191
- import_antd76.Input,
25256
+ import_antd77.Input,
25192
25257
  {
25193
25258
  id: "project-name",
25194
25259
  ref: projectNameInputRef,
@@ -25213,7 +25278,7 @@ var ProjectsMenuContent = () => {
25213
25278
  var import_react77 = __toESM(require("react"));
25214
25279
  var import_antd_style31 = require("antd-style");
25215
25280
  var import_lucide_react27 = require("lucide-react");
25216
- var import_antd77 = require("antd");
25281
+ var import_antd78 = require("antd");
25217
25282
  var import_jsx_runtime101 = require("react/jsx-runtime");
25218
25283
  var useStyles19 = (0, import_antd_style31.createStyles)(({ token, css }) => ({
25219
25284
  container: css`
@@ -25327,7 +25392,7 @@ var ThreadHistoryMenuContent = () => {
25327
25392
  const handleDeleteThread = (0, import_react77.useCallback)(
25328
25393
  async (e, threadIdToDelete) => {
25329
25394
  e.stopPropagation();
25330
- import_antd77.Modal.confirm({
25395
+ import_antd78.Modal.confirm({
25331
25396
  title: "Delete Conversation",
25332
25397
  content: "Are you sure you want to delete this conversation? This action cannot be undone.",
25333
25398
  okText: "Delete",
@@ -25336,9 +25401,9 @@ var ThreadHistoryMenuContent = () => {
25336
25401
  onOk: async () => {
25337
25402
  try {
25338
25403
  await deleteThread(threadIdToDelete);
25339
- import_antd77.message.success("Conversation deleted");
25404
+ import_antd78.message.success("Conversation deleted");
25340
25405
  } catch (error) {
25341
- import_antd77.message.error("Failed to delete conversation");
25406
+ import_antd78.message.error("Failed to delete conversation");
25342
25407
  }
25343
25408
  }
25344
25409
  });
@@ -25542,7 +25607,7 @@ var ChatSidebar = ({
25542
25607
  }
25543
25608
  ),
25544
25609
  menuItems.filter((item) => item.type === "drawer" && !item.inline).map((item) => /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
25545
- import_antd78.Drawer,
25610
+ import_antd79.Drawer,
25546
25611
  {
25547
25612
  title: /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" }, children: [
25548
25613
  /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { style: { fontSize: 16, fontWeight: 600, textTransform: "uppercase", letterSpacing: 0.5 }, children: item.title || item.name }),
@@ -25626,12 +25691,12 @@ var LatticeChatView = (props) => {
25626
25691
 
25627
25692
  // src/components/Chat/SettingsModal.tsx
25628
25693
  var import_react80 = require("react");
25629
- var import_antd79 = require("antd");
25694
+ var import_antd80 = require("antd");
25630
25695
  var import_icons36 = require("@ant-design/icons");
25631
25696
  var import_antd_style32 = require("antd-style");
25632
25697
  var import_jsx_runtime104 = require("react/jsx-runtime");
25633
- var { Text: Text37, Title: Title13 } = import_antd79.Typography;
25634
- var { TextArea: TextArea8 } = import_antd79.Input;
25698
+ var { Text: Text37, Title: Title13 } = import_antd80.Typography;
25699
+ var { TextArea: TextArea8 } = import_antd80.Input;
25635
25700
  var useStyles20 = (0, import_antd_style32.createStyles)(({ token, css }) => ({
25636
25701
  // settingsModal: css`
25637
25702
  // .ant-modal {
@@ -26167,7 +26232,7 @@ var SettingsModal = ({
26167
26232
  }
26168
26233
  } catch (error) {
26169
26234
  console.error("Failed to load configuration:", error);
26170
- import_antd79.message.error("Failed to load current configuration");
26235
+ import_antd80.message.error("Failed to load current configuration");
26171
26236
  }
26172
26237
  };
26173
26238
  const loadModelsConfig = async (serverId) => {
@@ -26241,7 +26306,7 @@ var SettingsModal = ({
26241
26306
  }, [open, activeTabKey, activeMenu]);
26242
26307
  const handleAddServer = async () => {
26243
26308
  if (!newServerUrl.trim()) {
26244
- import_antd79.message.error("Please enter a server URL");
26309
+ import_antd80.message.error("Please enter a server URL");
26245
26310
  return;
26246
26311
  }
26247
26312
  let normalizedUrl = newServerUrl.trim();
@@ -26267,7 +26332,7 @@ var SettingsModal = ({
26267
26332
  setNewServerUrl("");
26268
26333
  setNewServerName("");
26269
26334
  setNewServerApiKey("");
26270
- import_antd79.notification.success({
26335
+ import_antd80.notification.success({
26271
26336
  message: "Added",
26272
26337
  description: "Server added successfully"
26273
26338
  });
@@ -26287,7 +26352,7 @@ var SettingsModal = ({
26287
26352
  setActiveTabKey("");
26288
26353
  }
26289
26354
  }
26290
- import_antd79.notification.success({
26355
+ import_antd80.notification.success({
26291
26356
  message: "Deleted",
26292
26357
  description: "Server deleted"
26293
26358
  });
@@ -26304,12 +26369,12 @@ var SettingsModal = ({
26304
26369
  const handleSave = async () => {
26305
26370
  const connection = connections.find((c) => c.id === activeTabKey);
26306
26371
  if (!connection || !connection.connected) {
26307
- import_antd79.message.error("Please connect to a server first");
26372
+ import_antd80.message.error("Please connect to a server first");
26308
26373
  return;
26309
26374
  }
26310
26375
  const url = connection.url;
26311
26376
  if (!url) {
26312
- import_antd79.message.error("Please connect to a server first");
26377
+ import_antd80.message.error("Please connect to a server first");
26313
26378
  return;
26314
26379
  }
26315
26380
  try {
@@ -26373,26 +26438,26 @@ var SettingsModal = ({
26373
26438
  const data = await response.json();
26374
26439
  if (response.ok && data.success) {
26375
26440
  if (data.requiresRestart && data.requiresRestart.length > 0) {
26376
- import_antd79.message.warning(
26441
+ import_antd80.message.warning(
26377
26442
  `Configuration saved. Please restart the server for ${data.requiresRestart.join(
26378
26443
  ", "
26379
26444
  )} to take effect.`,
26380
26445
  5
26381
26446
  );
26382
26447
  } else {
26383
- import_antd79.notification.success({
26448
+ import_antd80.notification.success({
26384
26449
  message: "Saved",
26385
26450
  description: "Configuration saved and applied successfully"
26386
26451
  });
26387
26452
  }
26388
26453
  if (data.warnings && data.warnings.length > 0) {
26389
26454
  data.warnings.forEach((warning) => {
26390
- import_antd79.message.warning(warning, 5);
26455
+ import_antd80.message.warning(warning, 5);
26391
26456
  });
26392
26457
  }
26393
26458
  onClose();
26394
26459
  } else {
26395
- import_antd79.message.error(data.error || "Failed to save configuration");
26460
+ import_antd80.message.error(data.error || "Failed to save configuration");
26396
26461
  }
26397
26462
  } else if (activeMenu === "models") {
26398
26463
  const validModels = config.models.filter(
@@ -26411,18 +26476,18 @@ var SettingsModal = ({
26411
26476
  });
26412
26477
  const data = await response.json();
26413
26478
  if (response.ok && data.success) {
26414
- import_antd79.notification.success({
26479
+ import_antd80.notification.success({
26415
26480
  message: "Saved",
26416
26481
  description: "Model configuration saved and registered successfully"
26417
26482
  });
26418
26483
  onClose();
26419
26484
  } else {
26420
- import_antd79.message.error(data.error || "Failed to save model configuration");
26485
+ import_antd80.message.error(data.error || "Failed to save model configuration");
26421
26486
  }
26422
26487
  }
26423
26488
  } catch (error) {
26424
26489
  console.error("Failed to save configuration:", error);
26425
- import_antd79.message.error(error.message || "Failed to save configuration");
26490
+ import_antd80.message.error(error.message || "Failed to save configuration");
26426
26491
  } finally {
26427
26492
  setLoading(false);
26428
26493
  }
@@ -26440,7 +26505,7 @@ var SettingsModal = ({
26440
26505
  };
26441
26506
  return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: styles.formContainer, children: [
26442
26507
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26443
- import_antd79.Alert,
26508
+ import_antd80.Alert,
26444
26509
  {
26445
26510
  message: "Configuration Effect",
26446
26511
  description: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
@@ -26577,7 +26642,7 @@ QUEUE_NAME=tasks`,
26577
26642
  )
26578
26643
  ] }),
26579
26644
  config.models.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26580
- import_antd79.Button,
26645
+ import_antd80.Button,
26581
26646
  {
26582
26647
  type: "text",
26583
26648
  danger: true,
@@ -26593,11 +26658,11 @@ QUEUE_NAME=tasks`,
26593
26658
  ]
26594
26659
  }
26595
26660
  ),
26596
- /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd79.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
26661
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd80.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
26597
26662
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26598
26663
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Key *" }),
26599
26664
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26600
- import_antd79.Input,
26665
+ import_antd80.Input,
26601
26666
  {
26602
26667
  placeholder: "e.g., default, gpt-4, claude",
26603
26668
  value: model.key,
@@ -26610,7 +26675,7 @@ QUEUE_NAME=tasks`,
26610
26675
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26611
26676
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Provider *" }),
26612
26677
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26613
- import_antd79.Select,
26678
+ import_antd80.Select,
26614
26679
  {
26615
26680
  style: { width: "100%", height: 40 },
26616
26681
  value: model.provider,
@@ -26628,7 +26693,7 @@ QUEUE_NAME=tasks`,
26628
26693
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26629
26694
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Model Name *" }),
26630
26695
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26631
- import_antd79.Input,
26696
+ import_antd80.Input,
26632
26697
  {
26633
26698
  placeholder: "e.g., gpt-4, claude-3-opus, kimi-k2-250905",
26634
26699
  value: model.model,
@@ -26640,7 +26705,7 @@ QUEUE_NAME=tasks`,
26640
26705
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26641
26706
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "API Key" }),
26642
26707
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26643
- import_antd79.Input.Password,
26708
+ import_antd80.Input.Password,
26644
26709
  {
26645
26710
  placeholder: "Enter your API key",
26646
26711
  value: model.apiKey,
@@ -26653,7 +26718,7 @@ QUEUE_NAME=tasks`,
26653
26718
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26654
26719
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Base URL" }),
26655
26720
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26656
- import_antd79.Input,
26721
+ import_antd80.Input,
26657
26722
  {
26658
26723
  placeholder: "e.g., https://api.openai.com/v1",
26659
26724
  value: model.baseURL,
@@ -26663,9 +26728,9 @@ QUEUE_NAME=tasks`,
26663
26728
  ),
26664
26729
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formDescription, children: "Optional custom base URL for the API" })
26665
26730
  ] }),
26666
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd79.Space, { children: [
26731
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd80.Space, { children: [
26667
26732
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26668
- import_antd79.Switch,
26733
+ import_antd80.Switch,
26669
26734
  {
26670
26735
  checked: model.streaming,
26671
26736
  onChange: (checked) => handleModelChange(index, "streaming", checked)
@@ -26677,7 +26742,7 @@ QUEUE_NAME=tasks`,
26677
26742
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { style: { flex: 1 }, children: [
26678
26743
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Max Tokens" }),
26679
26744
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26680
- import_antd79.Input,
26745
+ import_antd80.Input,
26681
26746
  {
26682
26747
  type: "number",
26683
26748
  placeholder: "e.g., 4096",
@@ -26694,7 +26759,7 @@ QUEUE_NAME=tasks`,
26694
26759
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { style: { flex: 1 }, children: [
26695
26760
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { className: styles.formLabel, children: "Temperature" }),
26696
26761
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26697
- import_antd79.Input,
26762
+ import_antd80.Input,
26698
26763
  {
26699
26764
  type: "number",
26700
26765
  step: "0.1",
@@ -26713,7 +26778,7 @@ QUEUE_NAME=tasks`,
26713
26778
  ] })
26714
26779
  ] }, index)),
26715
26780
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26716
- import_antd79.Button,
26781
+ import_antd80.Button,
26717
26782
  {
26718
26783
  type: "dashed",
26719
26784
  onClick: handleAddModel,
@@ -26791,9 +26856,9 @@ QUEUE_NAME=tasks`,
26791
26856
  ] })
26792
26857
  ] }),
26793
26858
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: styles.contentHeaderRight, children: [
26794
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_antd79.Button, { onClick: onClose, children: "Cancel" }),
26859
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_antd80.Button, { onClick: onClose, children: "Cancel" }),
26795
26860
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26796
- import_antd79.Button,
26861
+ import_antd80.Button,
26797
26862
  {
26798
26863
  type: "primary",
26799
26864
  icon: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_icons36.SaveOutlined, {}),
@@ -26837,7 +26902,7 @@ QUEUE_NAME=tasks`,
26837
26902
  }
26838
26903
  ),
26839
26904
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26840
- import_antd79.Button,
26905
+ import_antd80.Button,
26841
26906
  {
26842
26907
  type: "primary",
26843
26908
  icon: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(import_icons36.LinkOutlined, {}),
@@ -26854,7 +26919,7 @@ QUEUE_NAME=tasks`,
26854
26919
  }));
26855
26920
  return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_jsx_runtime104.Fragment, { children: [
26856
26921
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26857
- import_antd79.Modal,
26922
+ import_antd80.Modal,
26858
26923
  {
26859
26924
  open,
26860
26925
  onCancel: onClose,
@@ -26863,7 +26928,7 @@ QUEUE_NAME=tasks`,
26863
26928
  footer: null,
26864
26929
  title: "Settings",
26865
26930
  children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26866
- import_antd79.Tabs,
26931
+ import_antd80.Tabs,
26867
26932
  {
26868
26933
  activeKey: activeTabKey,
26869
26934
  onChange: handleTabChange,
@@ -26896,7 +26961,7 @@ QUEUE_NAME=tasks`,
26896
26961
  }
26897
26962
  ),
26898
26963
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26899
- import_antd79.Modal,
26964
+ import_antd80.Modal,
26900
26965
  {
26901
26966
  title: "Add New Server",
26902
26967
  open: showAddServerModal,
@@ -26909,11 +26974,11 @@ QUEUE_NAME=tasks`,
26909
26974
  },
26910
26975
  confirmLoading: addingServer,
26911
26976
  className: styles.addServerModal,
26912
- children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd79.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
26977
+ children: /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(import_antd80.Space, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
26913
26978
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26914
26979
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
26915
26980
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26916
- import_antd79.Input,
26981
+ import_antd80.Input,
26917
26982
  {
26918
26983
  placeholder: "e.g., Production Server",
26919
26984
  value: newServerName,
@@ -26926,7 +26991,7 @@ QUEUE_NAME=tasks`,
26926
26991
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26927
26992
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
26928
26993
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26929
- import_antd79.Input,
26994
+ import_antd80.Input,
26930
26995
  {
26931
26996
  placeholder: "e.g., http://localhost:4001",
26932
26997
  value: newServerUrl,
@@ -26939,7 +27004,7 @@ QUEUE_NAME=tasks`,
26939
27004
  /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { children: [
26940
27005
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
26941
27006
  /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
26942
- import_antd79.Input.Password,
27007
+ import_antd80.Input.Password,
26943
27008
  {
26944
27009
  placeholder: "Optional: Enter API key for authentication",
26945
27010
  value: newServerApiKey,
@@ -26975,8 +27040,7 @@ var ShellContent = ({
26975
27040
  enableWorkspace
26976
27041
  }) => {
26977
27042
  const { currentTenant } = useAuth();
26978
- const tenantId = currentTenant?.id;
26979
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_jsx_runtime106.Fragment, { children: enableWorkspace ? /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(WorkspaceContextProvider, { tenantId, children: [
27043
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(import_jsx_runtime106.Fragment, { children: enableWorkspace ? /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(WorkspaceContextProvider, { children: [
26980
27044
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(ConversationContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(LatticeChatView, {}) }) }),
26981
27045
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(AgentServerSetting, {})
26982
27046
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(import_jsx_runtime106.Fragment, { children: [