@axiom-lattice/react-sdk 2.1.95 → 2.1.97

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.mjs CHANGED
@@ -4235,7 +4235,7 @@ var FilePanelToggle = () => {
4235
4235
  };
4236
4236
 
4237
4237
  // src/components/Chat/PinToMenuButton.tsx
4238
- import React74, { useState as useState82, useEffect as useEffect56, useCallback as useCallback42 } from "react";
4238
+ import React74, { useState as useState82, useEffect as useEffect57, useCallback as useCallback42 } from "react";
4239
4239
  import { Button as Button60, Input as Input19, Modal as Modal24, Tooltip as Tooltip26, message as message22 } from "antd";
4240
4240
  import { Pin } from "lucide-react";
4241
4241
 
@@ -4245,13 +4245,13 @@ import React73, {
4245
4245
  useContext as useContext11,
4246
4246
  useState as useState81,
4247
4247
  useCallback as useCallback41,
4248
- useEffect as useEffect55,
4248
+ useEffect as useEffect56,
4249
4249
  useRef as useRef30
4250
4250
  } from "react";
4251
4251
  import { WorkspaceClient, Client as Client3 } from "@axiom-lattice/client-sdk";
4252
4252
 
4253
4253
  // src/components/Chat/WorkspaceResourceManager.tsx
4254
- import { useMemo as useMemo35, useEffect as useEffect54, useRef as useRef29, useState as useState80 } from "react";
4254
+ import { useMemo as useMemo35, useEffect as useEffect55, useRef as useRef29, useState as useState80 } from "react";
4255
4255
  import { FolderOpen as FolderOpen3, Activity as Activity4, Database as Database7, Plug as Plug2, Bot as Bot5, Wrench as Wrench2, Zap as Zap2, LogOut as LogOut3, Building2 as Building23, Key, Share2, History, Inbox as Inbox3, FlaskConical as FlaskConical3 } from "lucide-react";
4256
4256
  import { Modal as Modal23, Avatar as Avatar12, Popover as Popover3, Button as Button59 } from "antd";
4257
4257
 
@@ -13444,18 +13444,18 @@ var ToolsList = ({
13444
13444
  };
13445
13445
 
13446
13446
  // src/components/Chat/TopologyRuntimeView.tsx
13447
- import { useEffect as useEffect45, useState as useState70, useMemo as useMemo27, useCallback as useCallback37, useRef as useRef25 } from "react";
13447
+ import { useEffect as useEffect46, useState as useState70, useMemo as useMemo27, useCallback as useCallback37, useRef as useRef25 } from "react";
13448
13448
  import {
13449
13449
  Spin as Spin16,
13450
13450
  Empty as Empty14,
13451
- List as List15,
13452
- Tag as Tag23,
13451
+ List as List16,
13452
+ Tag as Tag24,
13453
13453
  Typography as Typography51,
13454
13454
  Space as Space39,
13455
13455
  Drawer as Drawer2,
13456
13456
  Tooltip as Tooltip23,
13457
13457
  Switch as Switch3,
13458
- Popconfirm as Popconfirm5
13458
+ Popconfirm as Popconfirm6
13459
13459
  } from "antd";
13460
13460
  import {
13461
13461
  ReloadOutlined as ReloadOutlined4,
@@ -15573,7 +15573,7 @@ var AttachmentsCard = ({
15573
15573
 
15574
15574
  // src/components/GenUI/elements/attachments_viewer_side_app.tsx
15575
15575
  import { Button as Button26, Empty as Empty4, Skeleton, Space as Space18 } from "antd";
15576
- import { useEffect as useEffect29, useState as useState45 } from "react";
15576
+ import { useEffect as useEffect30, useState as useState45 } from "react";
15577
15577
 
15578
15578
  // src/components/GenUI/FileRenderer.tsx
15579
15579
  import { useEffect as useEffect28, useState as useState43, useMemo as useMemo10 } from "react";
@@ -15743,11 +15743,11 @@ var RenderMDFromURL = ({ url, file_id }) => {
15743
15743
  import { LinkOutlined as LinkOutlined3, DownloadOutlined as DownloadOutlined3 } from "@ant-design/icons";
15744
15744
 
15745
15745
  // src/components/GenUI/ShareModal.tsx
15746
- import { useState as useState44, useCallback as useCallback23 } from "react";
15747
- import { Modal as Modal10, Input as Input13, Select as Select6, InputNumber as InputNumber2, Button as Button25, Space as Space17, Typography as Typography22, message as message11 } from "antd";
15748
- import { CopyOutlined as CopyOutlined3, LinkOutlined as LinkOutlined2 } from "@ant-design/icons";
15746
+ import { useState as useState44, useEffect as useEffect29, useCallback as useCallback23 } from "react";
15747
+ import { Modal as Modal10, Input as Input13, Select as Select6, InputNumber as InputNumber2, Button as Button25, Space as Space17, Typography as Typography22, message as message11, List as List7, Tag as Tag12, Popconfirm as Popconfirm4 } from "antd";
15748
+ import { CopyOutlined as CopyOutlined3, LinkOutlined as LinkOutlined2, StopOutlined, PlusOutlined as PlusOutlined7 } from "@ant-design/icons";
15749
15749
  import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
15750
- var { Text: Text20 } = Typography22;
15750
+ var { Text: Text20, Title: Title5 } = Typography22;
15751
15751
  var EXPIRY_OPTIONS = [
15752
15752
  { label: "Never", value: void 0 },
15753
15753
  { label: "1 hour", value: "1h" },
@@ -15767,34 +15767,60 @@ function expiryToDate(option) {
15767
15767
  const ms = map[option] ?? 0;
15768
15768
  return ms ? new Date(now + ms).toISOString() : void 0;
15769
15769
  }
15770
+ function formatExpiry(d) {
15771
+ if (!d) return "Never";
15772
+ return new Date(d).toLocaleDateString();
15773
+ }
15774
+ function filePathMatch(record, filePath) {
15775
+ const normalizedPath = filePath.replace(/^\/?project\//, "");
15776
+ return record.address.resourcePath === normalizedPath;
15777
+ }
15770
15778
  var ShareModal = ({
15771
15779
  open,
15772
15780
  filePath,
15773
15781
  assistantId,
15774
15782
  fileName,
15775
- existingToken,
15776
- existingVisibility,
15777
- existingTitle,
15778
- onClose,
15779
- onUpdated
15783
+ onClose
15780
15784
  }) => {
15781
- const { shareFile } = useWorkspaceContext();
15785
+ const { shareFile, listShares, unshareFile } = useWorkspaceContext();
15782
15786
  const { config: shellConfig } = useLatticeChatShellContext();
15783
15787
  const baseURL = (shellConfig?.baseURL ?? "").replace(/\/$/, "");
15784
- const isEditMode = !!existingToken;
15785
- const [state, setState] = useState44(isEditMode ? "edit" : "creating");
15786
- const [token, setToken] = useState44(existingToken ?? "");
15787
- const [url, setUrl] = useState44(existingToken ? `/s/${existingToken}` : "");
15788
- const [title, setTitle] = useState44(existingTitle ?? fileName ?? "");
15789
- const [visibility, setVisibility] = useState44(
15790
- existingVisibility ?? "public"
15791
- );
15788
+ const [view, setView] = useState44("list");
15789
+ const [shares, setShares] = useState44([]);
15790
+ const [loading, setLoading] = useState44(false);
15791
+ const [title, setTitle] = useState44(fileName ?? "");
15792
+ const [visibility, setVisibility] = useState44("public");
15792
15793
  const [password, setPassword] = useState44("");
15793
15794
  const [expiry, setExpiry] = useState44(void 0);
15794
15795
  const [maxAccess, setMaxAccess] = useState44(void 0);
15795
15796
  const [error, setError] = useState44("");
15797
+ const [resultUrl, setResultUrl] = useState44("");
15798
+ const [resultPwd, setResultPwd] = useState44("");
15799
+ const loadShares = useCallback23(async () => {
15800
+ setLoading(true);
15801
+ try {
15802
+ const all = await listShares();
15803
+ setShares(all.filter((r) => filePathMatch(r, filePath) && !r.revoked));
15804
+ } catch {
15805
+ }
15806
+ setLoading(false);
15807
+ }, [listShares, filePath]);
15808
+ useEffect29(() => {
15809
+ if (open) {
15810
+ setView("list");
15811
+ loadShares();
15812
+ }
15813
+ }, [open, loadShares]);
15814
+ const handleCreate = useCallback23(async () => {
15815
+ setView("create");
15816
+ setTitle(fileName ?? "");
15817
+ setVisibility("public");
15818
+ setPassword("");
15819
+ setExpiry(void 0);
15820
+ setMaxAccess(void 0);
15821
+ setError("");
15822
+ }, [fileName]);
15796
15823
  const handleShare = useCallback23(async () => {
15797
- setState("creating");
15798
15824
  setError("");
15799
15825
  try {
15800
15826
  const result = await shareFile(filePath, assistantId, {
@@ -15804,109 +15830,137 @@ var ShareModal = ({
15804
15830
  expiresAt: expiryToDate(expiry),
15805
15831
  maxAccess: maxAccess ?? void 0
15806
15832
  });
15807
- setToken(result.token);
15808
- setUrl(result.url);
15809
- setState("result");
15833
+ setResultUrl(`${baseURL}${result.url}`);
15834
+ setResultPwd(password);
15835
+ setView("result");
15836
+ loadShares();
15810
15837
  } catch (err) {
15811
15838
  setError(err instanceof Error ? err.message : "Failed to create share");
15812
- setState("error");
15839
+ setView("error");
15813
15840
  }
15814
- }, [
15815
- filePath,
15816
- assistantId,
15817
- title,
15818
- visibility,
15819
- password,
15820
- expiry,
15821
- maxAccess,
15822
- shareFile
15823
- ]);
15824
- const handleCopy = useCallback23(() => {
15825
- const fullUrl = `${baseURL}${url}`;
15826
- const titleText = title ? `${title}
15827
- ` : "";
15828
- const pwdText = visibility === "password" && password ? `Password: ${password}
15841
+ }, [filePath, assistantId, title, visibility, password, expiry, maxAccess, shareFile, baseURL, loadShares]);
15842
+ const handleCopy = useCallback23((fullUrl, shareTitle, pwd, isProtected) => {
15843
+ const titleText = shareTitle ? `${shareTitle}
15829
15844
  ` : "";
15845
+ const pwdText = pwd ? `Password: ${pwd}
15846
+ ` : isProtected ? "Password protected\n" : "";
15830
15847
  navigator.clipboard.writeText(`${titleText}${fullUrl}
15831
15848
  ${pwdText}`.trim());
15832
- message11.success("Copied to clipboard");
15833
- }, [url, baseURL, title, visibility, password]);
15834
- const handleOpen = useCallback23(() => {
15835
- window.open(`${baseURL}${url}`, "_blank");
15836
- }, [url, baseURL]);
15849
+ message11.success("Copied");
15850
+ }, []);
15851
+ const handleRevoke = useCallback23(async (token) => {
15852
+ try {
15853
+ await unshareFile(token);
15854
+ message11.success("Share revoked");
15855
+ loadShares();
15856
+ } catch {
15857
+ message11.error("Failed to revoke");
15858
+ }
15859
+ }, [unshareFile, loadShares]);
15860
+ const handleOpen = useCallback23((fullUrl) => {
15861
+ window.open(fullUrl, "_blank");
15862
+ }, []);
15837
15863
  return /* @__PURE__ */ jsxs33(
15838
15864
  Modal10,
15839
15865
  {
15840
- title: isEditMode ? "Edit Share" : "Share Resource",
15866
+ title: "Share Resource",
15841
15867
  open,
15842
15868
  onCancel: onClose,
15843
15869
  footer: null,
15844
- width: 420,
15870
+ width: 480,
15845
15871
  children: [
15846
- (state === "edit" || state === "creating") && /* @__PURE__ */ jsxs33(Space17, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15872
+ view === "list" && /* @__PURE__ */ jsxs33(Space17, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15873
+ shares.length > 0 ? /* @__PURE__ */ jsx46(
15874
+ List7,
15875
+ {
15876
+ loading,
15877
+ dataSource: shares,
15878
+ renderItem: (r) => {
15879
+ const fullUrl = `${baseURL}/s/${r.token}`;
15880
+ return /* @__PURE__ */ jsx46(
15881
+ List7.Item,
15882
+ {
15883
+ actions: [
15884
+ /* @__PURE__ */ jsx46(
15885
+ Button25,
15886
+ {
15887
+ type: "text",
15888
+ size: "small",
15889
+ icon: /* @__PURE__ */ jsx46(CopyOutlined3, {}),
15890
+ onClick: () => handleCopy(fullUrl, r.title ?? void 0, void 0, r.visibility === "password")
15891
+ },
15892
+ "copy"
15893
+ ),
15894
+ /* @__PURE__ */ jsx46(
15895
+ Button25,
15896
+ {
15897
+ type: "text",
15898
+ size: "small",
15899
+ icon: /* @__PURE__ */ jsx46(LinkOutlined2, {}),
15900
+ onClick: () => handleOpen(fullUrl)
15901
+ },
15902
+ "open"
15903
+ ),
15904
+ /* @__PURE__ */ jsx46(Popconfirm4, { title: "Revoke this share?", onConfirm: () => handleRevoke(r.token), children: /* @__PURE__ */ jsx46(Button25, { type: "text", size: "small", danger: true, icon: /* @__PURE__ */ jsx46(StopOutlined, {}) }) }, "revoke")
15905
+ ],
15906
+ children: /* @__PURE__ */ jsx46(
15907
+ List7.Item.Meta,
15908
+ {
15909
+ title: r.title || fileName || r.address.resourcePath.split("/").pop(),
15910
+ description: /* @__PURE__ */ jsxs33(Space17, { size: "small", children: [
15911
+ /* @__PURE__ */ jsx46(Tag12, { color: r.visibility === "password" ? "orange" : "green", children: r.visibility === "password" ? "Password" : "Public" }),
15912
+ /* @__PURE__ */ jsxs33(Text20, { type: "secondary", style: { fontSize: 12 }, children: [
15913
+ "Expires: ",
15914
+ formatExpiry(r.expiresAt)
15915
+ ] })
15916
+ ] })
15917
+ }
15918
+ )
15919
+ }
15920
+ );
15921
+ }
15922
+ }
15923
+ ) : /* @__PURE__ */ jsx46("div", { style: { textAlign: "center", padding: "16px 0" }, children: /* @__PURE__ */ jsx46(Text20, { type: "secondary", children: "No active shares yet" }) }),
15924
+ /* @__PURE__ */ jsx46(Button25, { type: "primary", block: true, icon: /* @__PURE__ */ jsx46(PlusOutlined7, {}), onClick: handleCreate, children: "Create New Share" })
15925
+ ] }),
15926
+ view === "create" && /* @__PURE__ */ jsxs33(Space17, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15847
15927
  /* @__PURE__ */ jsxs33("div", { children: [
15848
15928
  /* @__PURE__ */ jsx46(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Title" }),
15849
15929
  /* @__PURE__ */ jsx46(Input13, { value: title, onChange: (e) => setTitle(e.target.value) })
15850
15930
  ] }),
15851
15931
  /* @__PURE__ */ jsxs33("div", { children: [
15852
15932
  /* @__PURE__ */ jsx46(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Visibility" }),
15853
- /* @__PURE__ */ jsxs33(
15854
- Select6,
15855
- {
15856
- value: visibility,
15857
- onChange: setVisibility,
15858
- style: { width: "100%" },
15859
- children: [
15860
- /* @__PURE__ */ jsx46(Select6.Option, { value: "public", children: "Public" }),
15861
- /* @__PURE__ */ jsx46(Select6.Option, { value: "password", children: "Password" })
15862
- ]
15863
- }
15864
- )
15933
+ /* @__PURE__ */ jsxs33(Select6, { value: visibility, onChange: setVisibility, style: { width: "100%" }, children: [
15934
+ /* @__PURE__ */ jsx46(Select6.Option, { value: "public", children: "Public" }),
15935
+ /* @__PURE__ */ jsx46(Select6.Option, { value: "password", children: "Password" })
15936
+ ] })
15865
15937
  ] }),
15866
15938
  visibility === "password" && /* @__PURE__ */ jsxs33("div", { children: [
15867
15939
  /* @__PURE__ */ jsx46(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Password" }),
15868
- /* @__PURE__ */ jsx46(
15869
- Input13.Password,
15870
- {
15871
- value: password,
15872
- onChange: (e) => setPassword(e.target.value)
15873
- }
15874
- )
15940
+ /* @__PURE__ */ jsx46(Input13.Password, { value: password, onChange: (e) => setPassword(e.target.value) })
15875
15941
  ] }),
15876
15942
  /* @__PURE__ */ jsxs33("div", { children: [
15877
15943
  /* @__PURE__ */ jsx46(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Expires" }),
15878
- /* @__PURE__ */ jsx46(
15879
- Select6,
15880
- {
15881
- value: expiry,
15882
- onChange: setExpiry,
15883
- style: { width: "100%" },
15884
- children: EXPIRY_OPTIONS.map((opt) => /* @__PURE__ */ jsx46(Select6.Option, { value: opt.value, children: opt.label }, opt.label))
15885
- }
15886
- )
15944
+ /* @__PURE__ */ jsx46(Select6, { value: expiry, onChange: setExpiry, style: { width: "100%" }, children: EXPIRY_OPTIONS.map((opt) => /* @__PURE__ */ jsx46(Select6.Option, { value: opt.value, children: opt.label }, opt.label)) })
15887
15945
  ] }),
15888
15946
  /* @__PURE__ */ jsxs33("div", { children: [
15889
15947
  /* @__PURE__ */ jsx46(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Max accesses (empty = unlimited)" }),
15890
- /* @__PURE__ */ jsx46(
15891
- InputNumber2,
15892
- {
15893
- value: maxAccess,
15894
- onChange: (v) => setMaxAccess(v ?? void 0),
15895
- style: { width: "100%" },
15896
- min: 1
15897
- }
15898
- )
15948
+ /* @__PURE__ */ jsx46(InputNumber2, { value: maxAccess, onChange: (v) => setMaxAccess(v ?? void 0), style: { width: "100%" }, min: 1 })
15899
15949
  ] }),
15900
- !isEditMode && /* @__PURE__ */ jsx46(Button25, { type: "primary", block: true, onClick: handleShare, children: "Create Share" })
15950
+ /* @__PURE__ */ jsxs33("div", { style: { display: "flex", gap: 8 }, children: [
15951
+ /* @__PURE__ */ jsx46(Button25, { block: true, onClick: () => setView("list"), children: "Back" }),
15952
+ /* @__PURE__ */ jsx46(Button25, { type: "primary", block: true, onClick: handleShare, children: "Create Share" })
15953
+ ] })
15901
15954
  ] }),
15902
- state === "result" && /* @__PURE__ */ jsxs33(Space17, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15903
- /* @__PURE__ */ jsx46(Input13, { value: `${baseURL}${url}`, readOnly: true, style: { fontFamily: "monospace" } }),
15955
+ view === "result" && /* @__PURE__ */ jsxs33(Space17, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15956
+ /* @__PURE__ */ jsx46(Input13, { value: resultUrl, readOnly: true, style: { fontFamily: "monospace" } }),
15904
15957
  /* @__PURE__ */ jsx46("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ jsxs33(Space17, { children: [
15905
- /* @__PURE__ */ jsx46(Button25, { icon: /* @__PURE__ */ jsx46(CopyOutlined3, {}), onClick: handleCopy, children: "Copy" }),
15906
- /* @__PURE__ */ jsx46(Button25, { type: "primary", icon: /* @__PURE__ */ jsx46(LinkOutlined2, {}), onClick: handleOpen, children: "Open" })
15907
- ] }) })
15958
+ /* @__PURE__ */ jsx46(Button25, { icon: /* @__PURE__ */ jsx46(CopyOutlined3, {}), onClick: () => handleCopy(resultUrl, title, resultPwd), children: "Copy" }),
15959
+ /* @__PURE__ */ jsx46(Button25, { type: "primary", icon: /* @__PURE__ */ jsx46(LinkOutlined2, {}), onClick: () => handleOpen(resultUrl), children: "Open" })
15960
+ ] }) }),
15961
+ /* @__PURE__ */ jsx46(Button25, { block: true, onClick: () => setView("list"), children: "Back to shares" })
15908
15962
  ] }),
15909
- state === "error" && /* @__PURE__ */ jsxs33("div", { style: { textAlign: "center", padding: "24px 0" }, children: [
15963
+ view === "error" && /* @__PURE__ */ jsxs33("div", { style: { textAlign: "center", padding: "24px 0" }, children: [
15910
15964
  /* @__PURE__ */ jsx46(Text20, { type: "danger", children: error }),
15911
15965
  /* @__PURE__ */ jsx46("br", {}),
15912
15966
  /* @__PURE__ */ jsx46(Button25, { onClick: handleShare, style: { marginTop: 16 }, children: "Retry" })
@@ -15929,7 +15983,7 @@ function AttachmentsViewerSideApp({
15929
15983
  url: full_url || "",
15930
15984
  fileName: extractFileName(file_id || "")
15931
15985
  });
15932
- useEffect29(() => {
15986
+ useEffect30(() => {
15933
15987
  setFileUri({
15934
15988
  url: full_url || "",
15935
15989
  fileName: extractFileName(file_id || "")
@@ -16009,7 +16063,7 @@ function AttachmentsViewerSideApp({
16009
16063
  import { Button as Button27, Space as Space19, Typography as Typography23 } from "antd";
16010
16064
 
16011
16065
  // src/components/GenUI/elements/ContentPreviewCollapse.tsx
16012
- import { useRef as useRef12, useState as useState46, useEffect as useEffect30, useCallback as useCallback24 } from "react";
16066
+ import { useRef as useRef12, useState as useState46, useEffect as useEffect31, useCallback as useCallback24 } from "react";
16013
16067
  import { Collapse as Collapse5 } from "antd";
16014
16068
  import { createStyles as createStyles12 } from "antd-style";
16015
16069
  import { DownOutlined as DownOutlined3, UpOutlined as UpOutlined2 } from "@ant-design/icons";
@@ -16090,7 +16144,7 @@ var ContentPreviewCollapse = ({
16090
16144
  setIsOverflowing(scrollHeight > collapsedMaxHeight);
16091
16145
  }
16092
16146
  }, [collapsedMaxHeight]);
16093
- useEffect30(() => {
16147
+ useEffect31(() => {
16094
16148
  const element = contentRef.current;
16095
16149
  if (!element) return;
16096
16150
  checkOverflow();
@@ -16268,7 +16322,7 @@ var EditFile = ({
16268
16322
  };
16269
16323
 
16270
16324
  // src/components/GenUI/elements/task_card.tsx
16271
- import { Card as Card13, Typography as Typography25, Tag as Tag12, Avatar as Avatar6 } from "antd";
16325
+ import { Card as Card13, Typography as Typography25, Tag as Tag13, Avatar as Avatar6 } from "antd";
16272
16326
  import { createStyles as createStyles13 } from "antd-style";
16273
16327
  import {
16274
16328
  CheckCircleOutlined as CheckCircleOutlined4,
@@ -16516,7 +16570,7 @@ var TaskCard = ({
16516
16570
  /* @__PURE__ */ jsx52(Text23, { className: styles.assigneeName, children: assignee })
16517
16571
  ] }),
16518
16572
  /* @__PURE__ */ jsx52(
16519
- Tag12,
16573
+ Tag13,
16520
16574
  {
16521
16575
  icon: statusConfig2.icon,
16522
16576
  color: statusConfig2.color,
@@ -16584,7 +16638,7 @@ import ErrorBoundary from "antd/es/alert/ErrorBoundary";
16584
16638
  import {
16585
16639
  memo,
16586
16640
  useCallback as useCallback25,
16587
- useEffect as useEffect31,
16641
+ useEffect as useEffect32,
16588
16642
  useMemo as useMemo11,
16589
16643
  useRef as useRef13,
16590
16644
  useState as useState47
@@ -16598,7 +16652,7 @@ var LazyBubble = ({
16598
16652
  const ref = useRef13(null);
16599
16653
  const [isVisible, setIsVisible] = useState47(false);
16600
16654
  const [wasEverVisible, setWasEverVisible] = useState47(false);
16601
- useEffect31(() => {
16655
+ useEffect32(() => {
16602
16656
  const observer = new IntersectionObserver(
16603
16657
  ([entry]) => {
16604
16658
  const visible = entry.isIntersecting;
@@ -16618,7 +16672,7 @@ var LazyBubble = ({
16618
16672
  }
16619
16673
  };
16620
16674
  }, [wasEverVisible]);
16621
- useEffect31(() => {
16675
+ useEffect32(() => {
16622
16676
  autoLoadRightPanel?.();
16623
16677
  }, []);
16624
16678
  const getPlaceholder = () => {
@@ -16651,7 +16705,7 @@ var MessageList = ({
16651
16705
  const { styles } = useStyle();
16652
16706
  const openSideApp = useSideAppOpener();
16653
16707
  const messageLengthRef = useRef13(messages?.length ?? 0);
16654
- useEffect31(() => {
16708
+ useEffect32(() => {
16655
16709
  if (messages?.length) {
16656
16710
  messageLengthRef.current = messages?.length;
16657
16711
  }
@@ -16761,14 +16815,14 @@ import {
16761
16815
  Space as Space30,
16762
16816
  Typography as Typography34
16763
16817
  } from "antd";
16764
- import React39, { useCallback as useCallback29, useContext as useContext10, useEffect as useEffect37, useRef as useRef19, useState as useState57 } from "react";
16818
+ import React39, { useCallback as useCallback29, useContext as useContext10, useEffect as useEffect38, useRef as useRef19, useState as useState57 } from "react";
16765
16819
  import { BrainCircuit as BrainCircuit3 } from "lucide-react";
16766
16820
 
16767
16821
  // src/components/GenUI/HITLContainer.tsx
16768
16822
  import {
16769
16823
  Collapse as Collapse6,
16770
16824
  Space as Space22,
16771
- Tag as Tag13,
16825
+ Tag as Tag14,
16772
16826
  Typography as Typography26
16773
16827
  } from "antd";
16774
16828
  import { createStyles as createStyles14 } from "antd-style";
@@ -16809,7 +16863,7 @@ var HITLContainer = () => {
16809
16863
  {
16810
16864
  showArrow: false,
16811
16865
  header: /* @__PURE__ */ jsx54(
16812
- Tag13,
16866
+ Tag14,
16813
16867
  {
16814
16868
  bordered: false,
16815
16869
  color: "orange",
@@ -17382,7 +17436,7 @@ var FileExplorerButton = (_props) => {
17382
17436
  };
17383
17437
 
17384
17438
  // src/components/Chat/ScheduleButton.tsx
17385
- import { useState as useState49, useCallback as useCallback26, useEffect as useEffect32 } from "react";
17439
+ import { useState as useState49, useCallback as useCallback26, useEffect as useEffect33 } from "react";
17386
17440
  import { Tooltip as Tooltip9, Button as Button32, Spin as Spin7 } from "antd";
17387
17441
  import { CalendarOutlined } from "@ant-design/icons";
17388
17442
  import { ScheduledTaskStatus } from "@axiom-lattice/client-sdk";
@@ -17414,7 +17468,7 @@ var ScheduleButton = ({
17414
17468
  setLoading(false);
17415
17469
  }
17416
17470
  }, [client, threadId]);
17417
- useEffect32(() => {
17471
+ useEffect33(() => {
17418
17472
  fetchScheduledTasks();
17419
17473
  }, [fetchScheduledTasks]);
17420
17474
  if (!threadId) {
@@ -17710,7 +17764,7 @@ var AgentHeader = ({
17710
17764
  // src/components/Chat/ThreadManagementButtons.tsx
17711
17765
  import { useCallback as useCallback27, useContext as useContext9 } from "react";
17712
17766
  import { Tooltip as Tooltip12, Button as Button35, Dropdown } from "antd";
17713
- import { HistoryOutlined, PlusOutlined as PlusOutlined7 } from "@ant-design/icons";
17767
+ import { HistoryOutlined, PlusOutlined as PlusOutlined8 } from "@ant-design/icons";
17714
17768
  import { Fragment as Fragment11, jsx as jsx66, jsxs as jsxs45 } from "react/jsx-runtime";
17715
17769
  var CreateThreadButton = () => {
17716
17770
  const { createThread, assistantId, isLoading } = useConversationContext();
@@ -17732,7 +17786,7 @@ var CreateThreadButton = () => {
17732
17786
  Button35,
17733
17787
  {
17734
17788
  type: "text",
17735
- icon: /* @__PURE__ */ jsx66(PlusOutlined7, {}),
17789
+ icon: /* @__PURE__ */ jsx66(PlusOutlined8, {}),
17736
17790
  onClick: handleCreateThread,
17737
17791
  disabled: isLoading,
17738
17792
  loading: isLoading
@@ -17820,7 +17874,7 @@ var ThreadManagementButtons = () => {
17820
17874
 
17821
17875
  // src/components/Chat/DatabasePicker.tsx
17822
17876
  import { useRef as useRef14, useState as useState50 } from "react";
17823
- import { Modal as Modal11, List as List7, Checkbox as Checkbox5, Spin as Spin8, Empty as Empty5, Typography as Typography28, Button as Button36, Space as Space25, Tooltip as Tooltip13 } from "antd";
17877
+ import { Modal as Modal11, List as List8, Checkbox as Checkbox5, Spin as Spin8, Empty as Empty5, Typography as Typography28, Button as Button36, Space as Space25, Tooltip as Tooltip13 } from "antd";
17824
17878
  import { Database as Database4 } from "lucide-react";
17825
17879
  import { Fragment as Fragment12, jsx as jsx67, jsxs as jsxs46 } from "react/jsx-runtime";
17826
17880
  var DatabasePicker = ({ senderRef, iconOnly }) => {
@@ -17916,13 +17970,13 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17916
17970
  image: Empty5.PRESENTED_IMAGE_SIMPLE
17917
17971
  }
17918
17972
  ) : /* @__PURE__ */ jsx67(
17919
- List7,
17973
+ List8,
17920
17974
  {
17921
17975
  dataSource: databases,
17922
17976
  renderItem: (db) => {
17923
17977
  const isSelected = selectedDatabases.includes(db.key);
17924
17978
  return /* @__PURE__ */ jsx67(
17925
- List7.Item,
17979
+ List8.Item,
17926
17980
  {
17927
17981
  style: {
17928
17982
  padding: "12px 16px",
@@ -17938,7 +17992,7 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17938
17992
  setSelectedDatabases(newValue);
17939
17993
  },
17940
17994
  children: /* @__PURE__ */ jsx67(
17941
- List7.Item.Meta,
17995
+ List8.Item.Meta,
17942
17996
  {
17943
17997
  avatar: /* @__PURE__ */ jsx67(
17944
17998
  Checkbox5,
@@ -17970,7 +18024,7 @@ var DatabasePicker = ({ senderRef, iconOnly }) => {
17970
18024
 
17971
18025
  // src/components/Chat/SkillPicker.tsx
17972
18026
  import { useRef as useRef15, useState as useState51 } from "react";
17973
- import { Modal as Modal12, List as List8, Checkbox as Checkbox6, Spin as Spin9, Empty as Empty6, Typography as Typography29, Button as Button37, Space as Space26, Tooltip as Tooltip14 } from "antd";
18027
+ import { Modal as Modal12, List as List9, Checkbox as Checkbox6, Spin as Spin9, Empty as Empty6, Typography as Typography29, Button as Button37, Space as Space26, Tooltip as Tooltip14 } from "antd";
17974
18028
  import { BrainCircuit } from "lucide-react";
17975
18029
  import { Fragment as Fragment13, jsx as jsx68, jsxs as jsxs47 } from "react/jsx-runtime";
17976
18030
  var SkillPicker = ({ senderRef, iconOnly }) => {
@@ -18066,13 +18120,13 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
18066
18120
  image: Empty6.PRESENTED_IMAGE_SIMPLE
18067
18121
  }
18068
18122
  ) : /* @__PURE__ */ jsx68(
18069
- List8,
18123
+ List9,
18070
18124
  {
18071
18125
  dataSource: skills,
18072
18126
  renderItem: (skill) => {
18073
18127
  const isSelected = selectedSkills.includes(skill.id);
18074
18128
  return /* @__PURE__ */ jsx68(
18075
- List8.Item,
18129
+ List9.Item,
18076
18130
  {
18077
18131
  style: {
18078
18132
  padding: "12px 16px",
@@ -18088,7 +18142,7 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
18088
18142
  setSelectedSkills(newValue);
18089
18143
  },
18090
18144
  children: /* @__PURE__ */ jsx68(
18091
- List8.Item.Meta,
18145
+ List9.Item.Meta,
18092
18146
  {
18093
18147
  avatar: /* @__PURE__ */ jsx68(
18094
18148
  Checkbox6,
@@ -18120,7 +18174,7 @@ var SkillPicker = ({ senderRef, iconOnly }) => {
18120
18174
 
18121
18175
  // src/components/Chat/AgentPicker.tsx
18122
18176
  import { useRef as useRef16, useState as useState52 } from "react";
18123
- import { Modal as Modal13, List as List9, Empty as Empty7, Typography as Typography30, Button as Button38, Tooltip as Tooltip15 } from "antd";
18177
+ import { Modal as Modal13, List as List10, Empty as Empty7, Typography as Typography30, Button as Button38, Tooltip as Tooltip15 } from "antd";
18124
18178
  import { Bot as Bot2 } from "lucide-react";
18125
18179
  import { Fragment as Fragment14, jsx as jsx69, jsxs as jsxs48 } from "react/jsx-runtime";
18126
18180
  var AgentPicker = ({ senderRef, iconOnly }) => {
@@ -18181,13 +18235,13 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
18181
18235
  image: Empty7.PRESENTED_IMAGE_SIMPLE
18182
18236
  }
18183
18237
  ) : /* @__PURE__ */ jsx69(
18184
- List9,
18238
+ List10,
18185
18239
  {
18186
18240
  dataSource: assistants,
18187
18241
  renderItem: (agent) => {
18188
18242
  const isSelected = selectedAgent === agent.id;
18189
18243
  return /* @__PURE__ */ jsx69(
18190
- List9.Item,
18244
+ List10.Item,
18191
18245
  {
18192
18246
  style: {
18193
18247
  padding: "12px 16px",
@@ -18200,7 +18254,7 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
18200
18254
  },
18201
18255
  onClick: () => handleAgentClick(agent.id),
18202
18256
  children: /* @__PURE__ */ jsx69(
18203
- List9.Item.Meta,
18257
+ List10.Item.Meta,
18204
18258
  {
18205
18259
  avatar: /* @__PURE__ */ jsx69(
18206
18260
  "div",
@@ -18235,8 +18289,8 @@ var AgentPicker = ({ senderRef, iconOnly }) => {
18235
18289
  };
18236
18290
 
18237
18291
  // src/components/Chat/MetricsDataSourcePicker.tsx
18238
- import { useEffect as useEffect34, useState as useState53, useRef as useRef17 } from "react";
18239
- import { Modal as Modal14, List as List10, Spin as Spin11, Empty as Empty8, Typography as Typography31, Button as Button39, Tag as Tag14, Tooltip as Tooltip16 } from "antd";
18292
+ import { useEffect as useEffect35, useState as useState53, useRef as useRef17 } from "react";
18293
+ import { Modal as Modal14, List as List11, Spin as Spin11, Empty as Empty8, Typography as Typography31, Button as Button39, Tag as Tag15, Tooltip as Tooltip16 } from "antd";
18240
18294
  import { Database as Database5, Check as Check4, Server as Server2 } from "lucide-react";
18241
18295
  import { Fragment as Fragment15, jsx as jsx70, jsxs as jsxs49 } from "react/jsx-runtime";
18242
18296
  var SESSION_STORAGE_KEY = "metrics_datasource_selection";
@@ -18324,7 +18378,7 @@ var MetricsDataSourcePicker = ({
18324
18378
  console.error("Failed to save datasource to sessionStorage:", error);
18325
18379
  }
18326
18380
  };
18327
- useEffect34(() => {
18381
+ useEffect35(() => {
18328
18382
  if (hasInitializedRef.current) return;
18329
18383
  hasInitializedRef.current = true;
18330
18384
  loadDataSources().then(() => {
@@ -18454,19 +18508,19 @@ var MetricsDataSourcePicker = ({
18454
18508
  children: serverName
18455
18509
  }
18456
18510
  ),
18457
- /* @__PURE__ */ jsx70(Tag14, { style: { fontSize: 11, padding: "0 6px", lineHeight: "18px" }, children: sources.length })
18511
+ /* @__PURE__ */ jsx70(Tag15, { style: { fontSize: 11, padding: "0 6px", lineHeight: "18px" }, children: sources.length })
18458
18512
  ]
18459
18513
  }
18460
18514
  ),
18461
18515
  /* @__PURE__ */ jsx70(
18462
- List10,
18516
+ List11,
18463
18517
  {
18464
18518
  dataSource: sources,
18465
18519
  renderItem: (dataSource) => {
18466
18520
  const isConnected = dataSource.connected;
18467
18521
  const selected = isSelected(dataSource);
18468
18522
  return /* @__PURE__ */ jsx70(
18469
- List10.Item,
18523
+ List11.Item,
18470
18524
  {
18471
18525
  style: {
18472
18526
  padding: "10px 12px",
@@ -18547,7 +18601,7 @@ var MetricsDataSourcePicker = ({
18547
18601
  }
18548
18602
  ),
18549
18603
  selected && /* @__PURE__ */ jsx70(
18550
- Tag14,
18604
+ Tag15,
18551
18605
  {
18552
18606
  color: "blue",
18553
18607
  style: {
@@ -18575,7 +18629,7 @@ var MetricsDataSourcePicker = ({
18575
18629
  };
18576
18630
 
18577
18631
  // src/components/Chat/ModelSelector.tsx
18578
- import { useState as useState54, useEffect as useEffect35, useCallback as useCallback28, useRef as useRef18 } from "react";
18632
+ import { useState as useState54, useEffect as useEffect36, useCallback as useCallback28, useRef as useRef18 } from "react";
18579
18633
  import { Select as Select7 } from "antd";
18580
18634
  import { jsx as jsx71 } from "react/jsx-runtime";
18581
18635
  var STORAGE_KEY = "axiom-lattice:selected-model";
@@ -18642,7 +18696,7 @@ var ModelSelector = ({
18642
18696
  setIsLoading(false);
18643
18697
  }
18644
18698
  }, [get, defaultModelKey]);
18645
- useEffect35(() => {
18699
+ useEffect36(() => {
18646
18700
  fetchModels();
18647
18701
  }, [fetchModels]);
18648
18702
  const handleChange = (modelKey) => {
@@ -18706,7 +18760,7 @@ import {
18706
18760
  } from "@ant-design/icons";
18707
18761
  import { Prompts } from "@ant-design/x";
18708
18762
  import { Space as Space28, Typography as Typography32, Spin as Spin12 } from "antd";
18709
- import { useEffect as useEffect36, useState as useState55, useMemo as useMemo12 } from "react";
18763
+ import { useEffect as useEffect37, useState as useState55, useMemo as useMemo12 } from "react";
18710
18764
  import { BrainCircuit as BrainCircuit2 } from "lucide-react";
18711
18765
  import { jsx as jsx72, jsxs as jsxs50 } from "react/jsx-runtime";
18712
18766
  var categoryConfig = {
@@ -18796,7 +18850,7 @@ var SkillCategoryPrompts = ({
18796
18850
  const [showAll, setShowAll] = useState55(false);
18797
18851
  const { get } = useApi();
18798
18852
  const MAX_SIMPLE_ITEMS = 10;
18799
- useEffect36(() => {
18853
+ useEffect37(() => {
18800
18854
  const loadSkills = async () => {
18801
18855
  setLoading(true);
18802
18856
  try {
@@ -19398,7 +19452,7 @@ var Chating = ({
19398
19452
  const isInputDisabled = interrupts && interrupts.length > 0;
19399
19453
  const typingFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
19400
19454
  const [typingFrameIndex, setTypingFrameIndex] = useState57(0);
19401
- useEffect37(() => {
19455
+ useEffect38(() => {
19402
19456
  if (!isStreaming) return;
19403
19457
  const interval = setInterval(() => {
19404
19458
  setTypingFrameIndex((prev) => (prev + 1) % typingFrames.length);
@@ -19409,13 +19463,13 @@ var Chating = ({
19409
19463
  const systemContextSentRef = useRef19(false);
19410
19464
  const initialMessageSentRef = useRef19(false);
19411
19465
  const prevLoadingRef = useRef19(false);
19412
- useEffect37(() => {
19466
+ useEffect38(() => {
19413
19467
  systemContextSentRef.current = false;
19414
19468
  }, [threadId]);
19415
- useEffect37(() => {
19469
+ useEffect38(() => {
19416
19470
  initialMessageSentRef.current = false;
19417
19471
  }, [threadId]);
19418
- useEffect37(() => {
19472
+ useEffect38(() => {
19419
19473
  const wasLoading = prevLoadingRef.current;
19420
19474
  prevLoadingRef.current = isLoading;
19421
19475
  if (wasLoading && !isLoading && initialMessage && threadId && !initialMessageSentRef.current) {
@@ -19436,7 +19490,7 @@ var Chating = ({
19436
19490
  }, [updateCustomRunConfig]);
19437
19491
  const [isEmptyState, setIsEmptyState] = useState57(showEmptyState && messages.length === 0 && !pendingMessages?.length);
19438
19492
  const [isTransitioning, setIsTransitioning] = useState57(false);
19439
- useEffect37(() => {
19493
+ useEffect38(() => {
19440
19494
  if (!showEmptyState) {
19441
19495
  setIsEmptyState(false);
19442
19496
  return;
@@ -19523,7 +19577,7 @@ var Chating = ({
19523
19577
  setSuggestionsLoading(false);
19524
19578
  }
19525
19579
  };
19526
- useEffect37(() => {
19580
+ useEffect38(() => {
19527
19581
  regsiterElement("action_show_attachments_uploader", {
19528
19582
  card_view: () => null,
19529
19583
  action: (data) => {
@@ -19959,7 +20013,7 @@ var TaskDetail = ({ data, component_key, interactive = true }) => {
19959
20013
  };
19960
20014
 
19961
20015
  // src/components/GenUI/elements/internet_search_card.tsx
19962
- import { Avatar as Avatar7, Button as Button41, List as List11, Space as Space31, Typography as Typography36 } from "antd";
20016
+ import { Avatar as Avatar7, Button as Button41, List as List12, Space as Space31, Typography as Typography36 } from "antd";
19963
20017
  import {
19964
20018
  SearchOutlined
19965
20019
  } from "@ant-design/icons";
@@ -20090,7 +20144,7 @@ var InternetSearchCard = ({
20090
20144
  header,
20091
20145
  expandIcon: () => /* @__PURE__ */ jsx76(SearchOutlined, {}),
20092
20146
  children: /* @__PURE__ */ jsx76(
20093
- List11,
20147
+ List12,
20094
20148
  {
20095
20149
  size: "small",
20096
20150
  dataSource,
@@ -20099,7 +20153,7 @@ var InternetSearchCard = ({
20099
20153
  const domain = getDomainFromUrl(url);
20100
20154
  const iconText = getIconText(domain);
20101
20155
  const iconColor = getIconColor(domain);
20102
- return /* @__PURE__ */ jsx76(List11.Item, { extra: /* @__PURE__ */ jsx76(Text26, { className: styles.source, children: domain }), children: /* @__PURE__ */ jsxs53(Space31, { style: { width: "100%" }, children: [
20156
+ return /* @__PURE__ */ jsx76(List12.Item, { extra: /* @__PURE__ */ jsx76(Text26, { className: styles.source, children: domain }), children: /* @__PURE__ */ jsxs53(Space31, { style: { width: "100%" }, children: [
20103
20157
  /* @__PURE__ */ jsx76(Avatar7, { style: { background: iconColor }, children: iconText }),
20104
20158
  " ",
20105
20159
  /* @__PURE__ */ jsx76(
@@ -20125,16 +20179,16 @@ var InternetSearchCard = ({
20125
20179
  };
20126
20180
 
20127
20181
  // src/components/GenUI/elements/schedule_viewer.tsx
20128
- import { useState as useState58, useEffect as useEffect38, useCallback as useCallback30 } from "react";
20182
+ import { useState as useState58, useEffect as useEffect39, useCallback as useCallback30 } from "react";
20129
20183
  import {
20130
- Tag as Tag15,
20184
+ Tag as Tag16,
20131
20185
  Button as Button42,
20132
20186
  Empty as Empty10,
20133
20187
  Spin as Spin13,
20134
20188
  Typography as Typography37,
20135
20189
  Space as Space32,
20136
20190
  Tooltip as Tooltip17,
20137
- Popconfirm as Popconfirm4,
20191
+ Popconfirm as Popconfirm5,
20138
20192
  message as message15,
20139
20193
  Card as Card15
20140
20194
  } from "antd";
@@ -20142,7 +20196,7 @@ import {
20142
20196
  ClockCircleOutlined as ClockCircleOutlined3,
20143
20197
  PauseCircleOutlined,
20144
20198
  PlayCircleOutlined,
20145
- StopOutlined,
20199
+ StopOutlined as StopOutlined2,
20146
20200
  ReloadOutlined as ReloadOutlined3,
20147
20201
  CheckCircleOutlined as CheckCircleOutlined6,
20148
20202
  CloseCircleOutlined as CloseCircleOutlined2,
@@ -20159,7 +20213,7 @@ import {
20159
20213
  } from "@axiom-lattice/client-sdk";
20160
20214
  import { jsx as jsx77, jsxs as jsxs54 } from "react/jsx-runtime";
20161
20215
  dayjs2.extend(relativeTime);
20162
- var { Text: Text27, Title: Title5 } = Typography37;
20216
+ var { Text: Text27, Title: Title6 } = Typography37;
20163
20217
  var useStyles7 = createStyles19(({ token, css }) => ({
20164
20218
  container: css`
20165
20219
  height: 100%;
@@ -20270,7 +20324,7 @@ var getStatusIcon2 = (status) => {
20270
20324
  case ScheduledTaskStatus2.FAILED:
20271
20325
  return /* @__PURE__ */ jsx77(CloseCircleOutlined2, {});
20272
20326
  case ScheduledTaskStatus2.CANCELLED:
20273
- return /* @__PURE__ */ jsx77(StopOutlined, {});
20327
+ return /* @__PURE__ */ jsx77(StopOutlined2, {});
20274
20328
  case ScheduledTaskStatus2.PAUSED:
20275
20329
  return /* @__PURE__ */ jsx77(PauseCircleOutlined, {});
20276
20330
  default:
@@ -20354,12 +20408,12 @@ var ScheduleViewer = ({ data }) => {
20354
20408
  },
20355
20409
  [client, handleRefresh]
20356
20410
  );
20357
- useEffect38(() => {
20411
+ useEffect39(() => {
20358
20412
  if (threadId && (!initialTasks || initialTasks.length === 0)) {
20359
20413
  handleRefresh();
20360
20414
  }
20361
20415
  }, [threadId]);
20362
- useEffect38(() => {
20416
+ useEffect39(() => {
20363
20417
  if (initialTasks) {
20364
20418
  setTasks(initialTasks);
20365
20419
  }
@@ -20391,7 +20445,7 @@ var ScheduleViewer = ({ data }) => {
20391
20445
  }
20392
20446
  ) }),
20393
20447
  (isPending || isPaused) && /* @__PURE__ */ jsx77(
20394
- Popconfirm4,
20448
+ Popconfirm5,
20395
20449
  {
20396
20450
  title: "Cancel this scheduled task?",
20397
20451
  description: "This action cannot be undone.",
@@ -20404,7 +20458,7 @@ var ScheduleViewer = ({ data }) => {
20404
20458
  type: "text",
20405
20459
  size: "small",
20406
20460
  danger: true,
20407
- icon: /* @__PURE__ */ jsx77(StopOutlined, {}),
20461
+ icon: /* @__PURE__ */ jsx77(StopOutlined2, {}),
20408
20462
  loading: isLoading
20409
20463
  }
20410
20464
  ) })
@@ -20427,7 +20481,7 @@ var ScheduleViewer = ({ data }) => {
20427
20481
  /* @__PURE__ */ jsx77("div", { className: styles.taskId, children: task.taskId }),
20428
20482
  task.payload?.message?.content && /* @__PURE__ */ jsx77("div", { className: styles.messageContent, children: /* @__PURE__ */ jsx77(Text27, { type: "secondary", style: { fontSize: 12 }, children: task.payload.message.content }) })
20429
20483
  ] }),
20430
- /* @__PURE__ */ jsx77(Tag15, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
20484
+ /* @__PURE__ */ jsx77(Tag16, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
20431
20485
  ] }),
20432
20486
  /* @__PURE__ */ jsxs54("div", { className: styles.metaRow, children: [
20433
20487
  /* @__PURE__ */ jsx77(Tooltip17, { title: "Execution Type", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
@@ -20473,7 +20527,7 @@ var ScheduleViewer = ({ data }) => {
20473
20527
  };
20474
20528
  return /* @__PURE__ */ jsxs54("div", { className: styles.container, children: [
20475
20529
  /* @__PURE__ */ jsxs54("div", { className: styles.header, children: [
20476
- /* @__PURE__ */ jsx77(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
20530
+ /* @__PURE__ */ jsx77(Title6, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
20477
20531
  /* @__PURE__ */ jsx77(Tooltip17, { title: "Refresh", children: /* @__PURE__ */ jsx77(
20478
20532
  Button42,
20479
20533
  {
@@ -20646,7 +20700,7 @@ ${code}
20646
20700
  };
20647
20701
 
20648
20702
  // src/components/GenUI/elements/TeamGraph.tsx
20649
- import { Card as Card16, Typography as Typography40, Avatar as Avatar8, Tag as Tag16, List as List13, Space as Space35, Button as Button45, Skeleton as Skeleton2 } from "antd";
20703
+ import { Card as Card16, Typography as Typography40, Avatar as Avatar8, Tag as Tag17, List as List14, Space as Space35, Button as Button45, Skeleton as Skeleton2 } from "antd";
20650
20704
  import { UserOutlined as UserOutlined5, TeamOutlined as TeamOutlined2 } from "@ant-design/icons";
20651
20705
  import { Monitor } from "lucide-react";
20652
20706
  import { jsx as jsx80, jsxs as jsxs57 } from "react/jsx-runtime";
@@ -20765,10 +20819,10 @@ var TeamGraph = ({ data }) => {
20765
20819
  ) : null,
20766
20820
  children: [
20767
20821
  /* @__PURE__ */ jsx80(
20768
- List13,
20822
+ List14,
20769
20823
  {
20770
20824
  dataSource: teammates,
20771
- renderItem: (teammate) => /* @__PURE__ */ jsxs57(List13.Item, { style: { display: "block" }, children: [
20825
+ renderItem: (teammate) => /* @__PURE__ */ jsxs57(List14.Item, { style: { display: "block" }, children: [
20772
20826
  /* @__PURE__ */ jsxs57(Space35, { align: "center", size: 12, children: [
20773
20827
  /* @__PURE__ */ jsx80(
20774
20828
  Avatar8,
@@ -20788,7 +20842,7 @@ var TeamGraph = ({ data }) => {
20788
20842
  /* @__PURE__ */ jsxs57("div", { style: { flex: 1 }, children: [
20789
20843
  /* @__PURE__ */ jsx80(Text30, { strong: true, style: { display: "block" }, children: teammate?.name || "Unnamed" }),
20790
20844
  /* @__PURE__ */ jsx80(
20791
- Tag16,
20845
+ Tag17,
20792
20846
  {
20793
20847
  color: "blue",
20794
20848
  style: { margin: 0, marginTop: 4 },
@@ -20808,11 +20862,11 @@ var TeamGraph = ({ data }) => {
20808
20862
  ")"
20809
20863
  ] }),
20810
20864
  /* @__PURE__ */ jsx80(
20811
- List13,
20865
+ List14,
20812
20866
  {
20813
20867
  size: "small",
20814
20868
  dataSource: tasks.filter((t) => t.status === "pending"),
20815
- renderItem: (task) => /* @__PURE__ */ jsx80(List13.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ jsxs57("div", { children: [
20869
+ renderItem: (task) => /* @__PURE__ */ jsx80(List14.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ jsxs57("div", { children: [
20816
20870
  /* @__PURE__ */ jsx80(Text30, { style: { fontSize: 12, color: "#7A7A7A" }, children: task.id }),
20817
20871
  /* @__PURE__ */ jsx80(Text30, { strong: true, style: { display: "block", fontSize: 13 }, children: task.title }),
20818
20872
  task.description && /* @__PURE__ */ jsx80(Text30, { type: "secondary", style: { fontSize: 11 }, children: task.description.length > 100 ? task.description.slice(0, 100) + "..." : task.description })
@@ -21155,7 +21209,7 @@ function useTeamWorkspaceData(threadId, assistantId) {
21155
21209
 
21156
21210
  // src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
21157
21211
  import { jsx as jsx82, jsxs as jsxs59 } from "react/jsx-runtime";
21158
- var { Title: Title6, Text: Text31 } = Typography41;
21212
+ var { Title: Title7, Text: Text31 } = Typography41;
21159
21213
  var useStyles9 = createStyles21(({ token, css }) => ({
21160
21214
  container: css`
21161
21215
  padding: ${token.paddingLG}px;
@@ -21426,7 +21480,7 @@ var TeamDashboard = ({
21426
21480
  const { styles } = useStyles9();
21427
21481
  return /* @__PURE__ */ jsxs59("div", { className: styles.container, children: [
21428
21482
  /* @__PURE__ */ jsxs59("div", { className: styles.header, children: [
21429
- /* @__PURE__ */ jsx82(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
21483
+ /* @__PURE__ */ jsx82(Title7, { level: 3, className: styles.title, children: "Team Dashboard" }),
21430
21484
  /* @__PURE__ */ jsx82(Text31, { className: styles.subtitle, children: team?.teamId ? `Team ID: ${team.teamId} \u2022 ${stats.totalTasks} tasks \u2022 ${stats.totalActivities} activities` : "Overview of team activities and tasks" })
21431
21485
  ] }),
21432
21486
  /* @__PURE__ */ jsxs59(Row2, { gutter: [16, 16], className: styles.statsRow, children: [
@@ -21514,13 +21568,13 @@ import {
21514
21568
  ChevronRight as ChevronRight5,
21515
21569
  Circle,
21516
21570
  LayoutGrid as LayoutGrid2,
21517
- List as List14
21571
+ List as List15
21518
21572
  } from "lucide-react";
21519
21573
  import { createStyles as createStyles23 } from "antd-style";
21520
21574
 
21521
21575
  // src/components/GenUI/elements/TeamWorkspace/TaskDetailModal.tsx
21522
21576
  import { useState as useState60 } from "react";
21523
- import { Modal as Modal15, Typography as Typography42, Tag as Tag17, Divider as Divider7, Tabs as Tabs2, Timeline } from "antd";
21577
+ import { Modal as Modal15, Typography as Typography42, Tag as Tag18, Divider as Divider7, Tabs as Tabs2, Timeline } from "antd";
21524
21578
  import { createStyles as createStyles22 } from "antd-style";
21525
21579
  import {
21526
21580
  CheckCircle2 as CheckCircle22,
@@ -21534,7 +21588,7 @@ import {
21534
21588
  GitCommit
21535
21589
  } from "lucide-react";
21536
21590
  import { Fragment as Fragment18, jsx as jsx83, jsxs as jsxs60 } from "react/jsx-runtime";
21537
- var { Title: Title7, Text: Text32, Paragraph } = Typography42;
21591
+ var { Title: Title8, Text: Text32, Paragraph } = Typography42;
21538
21592
  var useStyles10 = createStyles22(({ token, css }) => ({
21539
21593
  modalContent: css`
21540
21594
  padding: 0;
@@ -21996,7 +22050,7 @@ var TaskDetailModal = ({
21996
22050
  ),
21997
22051
  /* @__PURE__ */ jsx83(Text32, { className: styles.taskId, children: task.id })
21998
22052
  ] }),
21999
- /* @__PURE__ */ jsx83(Title7, { level: 3, className: styles.title, children: task.title }),
22053
+ /* @__PURE__ */ jsx83(Title8, { level: 3, className: styles.title, children: task.title }),
22000
22054
  task.description && /* @__PURE__ */ jsx83("div", { className: styles.description, children: /* @__PURE__ */ jsx83(Paragraph, { style: { margin: 0 }, children: task.description }) }),
22001
22055
  /* @__PURE__ */ jsxs60("div", { className: styles.metaSection, children: [
22002
22056
  /* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
@@ -22048,7 +22102,7 @@ var TaskDetailModal = ({
22048
22102
  /* @__PURE__ */ jsx83(Divider7, {}),
22049
22103
  task.dependencies?.length > 0 && /* @__PURE__ */ jsxs60("div", { className: styles.dependenciesSection, children: [
22050
22104
  /* @__PURE__ */ jsx83(Text32, { className: styles.sectionTitle, children: "Dependencies" }),
22051
- /* @__PURE__ */ jsx83("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ jsxs60(Tag17, { className: styles.dependencyTag, children: [
22105
+ /* @__PURE__ */ jsx83("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ jsxs60(Tag18, { className: styles.dependencyTag, children: [
22052
22106
  /* @__PURE__ */ jsx83(Link, { size: 12 }),
22053
22107
  " ",
22054
22108
  dep
@@ -22069,7 +22123,7 @@ var TaskDetailModal = ({
22069
22123
 
22070
22124
  // src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
22071
22125
  import { jsx as jsx84, jsxs as jsxs61 } from "react/jsx-runtime";
22072
- var { Title: Title8, Text: Text33 } = Typography43;
22126
+ var { Title: Title9, Text: Text33 } = Typography43;
22073
22127
  var getInitials4 = (name) => {
22074
22128
  return name.split(/[\s_-]/).map((n) => n.charAt(0)).join("").toUpperCase().slice(0, 2);
22075
22129
  };
@@ -22549,7 +22603,7 @@ var IssuesView = ({
22549
22603
  return /* @__PURE__ */ jsxs61("div", { className: styles.container, children: [
22550
22604
  /* @__PURE__ */ jsxs61("div", { className: styles.header, children: [
22551
22605
  /* @__PURE__ */ jsxs61("div", { children: [
22552
- /* @__PURE__ */ jsx84(Title8, { level: 3, className: styles.title, children: "Issues" }),
22606
+ /* @__PURE__ */ jsx84(Title9, { level: 3, className: styles.title, children: "Issues" }),
22553
22607
  /* @__PURE__ */ jsxs61(Text33, { type: "secondary", children: [
22554
22608
  tasks?.length || 0,
22555
22609
  " tasks \u2022 Team: ",
@@ -22562,7 +22616,7 @@ var IssuesView = ({
22562
22616
  {
22563
22617
  className: `${styles.viewToggleButton} ${viewMode === "list" ? "active" : ""}`,
22564
22618
  onClick: () => setViewMode("list"),
22565
- children: /* @__PURE__ */ jsx84(List14, { size: 16 })
22619
+ children: /* @__PURE__ */ jsx84(List15, { size: 16 })
22566
22620
  }
22567
22621
  ),
22568
22622
  /* @__PURE__ */ jsx84(
@@ -22599,10 +22653,10 @@ import {
22599
22653
  useReactFlow as useReactFlow2
22600
22654
  } from "@xyflow/react";
22601
22655
  import "@xyflow/react/dist/style.css";
22602
- import { Typography as Typography44, Tag as Tag18, Space as Space37 } from "antd";
22656
+ import { Typography as Typography44, Tag as Tag19, Space as Space37 } from "antd";
22603
22657
  import { createStyles as createStyles24 } from "antd-style";
22604
22658
  import { jsx as jsx85, jsxs as jsxs62 } from "react/jsx-runtime";
22605
- var { Title: Title9, Text: Text34 } = Typography44;
22659
+ var { Title: Title10, Text: Text34 } = Typography44;
22606
22660
  var useStyles12 = createStyles24(({ token, css }) => ({
22607
22661
  container: css`
22608
22662
  height: 100%;
@@ -22718,7 +22772,7 @@ var TeamMemberNode = ({ data }) => {
22718
22772
  /* @__PURE__ */ jsxs62("div", { children: [
22719
22773
  /* @__PURE__ */ jsxs62("div", { className: styles.nodeTitle, children: [
22720
22774
  name,
22721
- isLead && /* @__PURE__ */ jsx85(Tag18, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
22775
+ isLead && /* @__PURE__ */ jsx85(Tag19, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
22722
22776
  ] }),
22723
22777
  /* @__PURE__ */ jsx85("div", { className: styles.nodeRole, children: role })
22724
22778
  ] })
@@ -22732,15 +22786,15 @@ var TeamMemberNode = ({ data }) => {
22732
22786
  }
22733
22787
  ),
22734
22788
  taskStats && /* @__PURE__ */ jsxs62("div", { className: styles.nodeStats, children: [
22735
- taskStats.completed > 0 && /* @__PURE__ */ jsxs62(Tag18, { color: "success", className: styles.statTag, children: [
22789
+ taskStats.completed > 0 && /* @__PURE__ */ jsxs62(Tag19, { color: "success", className: styles.statTag, children: [
22736
22790
  "\u2713 ",
22737
22791
  taskStats.completed
22738
22792
  ] }),
22739
- taskStats.inProgress > 0 && /* @__PURE__ */ jsxs62(Tag18, { color: "warning", className: styles.statTag, children: [
22793
+ taskStats.inProgress > 0 && /* @__PURE__ */ jsxs62(Tag19, { color: "warning", className: styles.statTag, children: [
22740
22794
  "\u27F3 ",
22741
22795
  taskStats.inProgress
22742
22796
  ] }),
22743
- taskStats.pending > 0 && /* @__PURE__ */ jsxs62(Tag18, { className: styles.statTag, children: [
22797
+ taskStats.pending > 0 && /* @__PURE__ */ jsxs62(Tag19, { className: styles.statTag, children: [
22744
22798
  "\u25CB ",
22745
22799
  taskStats.pending
22746
22800
  ] })
@@ -22839,7 +22893,7 @@ var TeamOrgCanvasInner = ({
22839
22893
  };
22840
22894
  return /* @__PURE__ */ jsxs62("div", { className: styles.container, children: [
22841
22895
  /* @__PURE__ */ jsxs62("div", { className: styles.header, children: [
22842
- /* @__PURE__ */ jsx85(Title9, { level: 3, className: styles.title, children: "Team Organization" }),
22896
+ /* @__PURE__ */ jsx85(Title10, { level: 3, className: styles.title, children: "Team Organization" }),
22843
22897
  /* @__PURE__ */ jsxs62(Text34, { type: "secondary", children: [
22844
22898
  teammates.length + 1,
22845
22899
  " members \u2022 ",
@@ -22903,10 +22957,10 @@ var TeamOrgCanvasInner = ({
22903
22957
  var TeamOrgCanvas = (props) => /* @__PURE__ */ jsx85(ReactFlowProvider3, { children: /* @__PURE__ */ jsx85(TeamOrgCanvasInner, { ...props }) });
22904
22958
 
22905
22959
  // src/components/GenUI/elements/TeamWorkspace/TeamMemberChat.tsx
22906
- import { Typography as Typography45, Tag as Tag19 } from "antd";
22960
+ import { Typography as Typography45, Tag as Tag20 } from "antd";
22907
22961
  import { createStyles as createStyles25 } from "antd-style";
22908
22962
  import { jsx as jsx86, jsxs as jsxs63 } from "react/jsx-runtime";
22909
- var { Title: Title10, Text: Text35 } = Typography45;
22963
+ var { Title: Title11, Text: Text35 } = Typography45;
22910
22964
  var useStyles13 = createStyles25(({ token, css }) => ({
22911
22965
  container: css`
22912
22966
  height: 100%;
@@ -23000,9 +23054,9 @@ var TeamMemberChat = ({
23000
23054
  }
23001
23055
  ),
23002
23056
  /* @__PURE__ */ jsxs63("div", { className: styles.headerInfo, children: [
23003
- /* @__PURE__ */ jsx86(Title10, { level: 4, className: styles.title, children: teammate.name }),
23057
+ /* @__PURE__ */ jsx86(Title11, { level: 4, className: styles.title, children: teammate.name }),
23004
23058
  /* @__PURE__ */ jsxs63("div", { children: [
23005
- /* @__PURE__ */ jsx86(Tag19, { color: "blue", children: teammate.role }),
23059
+ /* @__PURE__ */ jsx86(Tag20, { color: "blue", children: teammate.role }),
23006
23060
  teammate.description && /* @__PURE__ */ jsxs63(Text35, { className: styles.role, children: [
23007
23061
  "\u2022 ",
23008
23062
  teammate.description
@@ -23037,11 +23091,11 @@ import {
23037
23091
  } from "lucide-react";
23038
23092
 
23039
23093
  // src/components/GenUI/elements/MailboxDetailModal.tsx
23040
- import { Modal as Modal16, Typography as Typography46, Tag as Tag20, Divider as Divider8 } from "antd";
23094
+ import { Modal as Modal16, Typography as Typography46, Tag as Tag21, Divider as Divider8 } from "antd";
23041
23095
  import { createStyles as createStyles26 } from "antd-style";
23042
23096
  import { Mail as Mail2, Calendar as Calendar2 } from "lucide-react";
23043
23097
  import { jsx as jsx87, jsxs as jsxs64 } from "react/jsx-runtime";
23044
- var { Title: Title11, Text: Text36, Paragraph: Paragraph2 } = Typography46;
23098
+ var { Title: Title12, Text: Text36, Paragraph: Paragraph2 } = Typography46;
23045
23099
  var useStyles14 = createStyles26(({ token, css }) => ({
23046
23100
  modalContent: css`
23047
23101
  padding: 0;
@@ -23200,9 +23254,9 @@ var MailboxDetailModal = ({
23200
23254
  /* @__PURE__ */ jsxs64("div", { className: styles.header, children: [
23201
23255
  /* @__PURE__ */ jsx87("div", { className: styles.messageIcon, children: /* @__PURE__ */ jsx87(Mail2, { size: 20 }) }),
23202
23256
  /* @__PURE__ */ jsx87(Text36, { className: styles.messageId, children: message28.id }),
23203
- !message28.read && /* @__PURE__ */ jsx87(Tag20, { color: "red", children: "Unread" })
23257
+ !message28.read && /* @__PURE__ */ jsx87(Tag21, { color: "red", children: "Unread" })
23204
23258
  ] }),
23205
- /* @__PURE__ */ jsxs64(Title11, { level: 4, className: styles.title, children: [
23259
+ /* @__PURE__ */ jsxs64(Title12, { level: 4, className: styles.title, children: [
23206
23260
  "Message from ",
23207
23261
  message28.from
23208
23262
  ] }),
@@ -23244,7 +23298,7 @@ var MailboxDetailModal = ({
23244
23298
  ] }),
23245
23299
  /* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
23246
23300
  /* @__PURE__ */ jsx87(Text36, { className: styles.metaLabel, children: "Type" }),
23247
- /* @__PURE__ */ jsx87("div", { className: styles.metaValue, children: /* @__PURE__ */ jsx87(Tag20, { color: message28.type === "broadcast" ? "blue" : "default", children: message28.type }) })
23301
+ /* @__PURE__ */ jsx87("div", { className: styles.metaValue, children: /* @__PURE__ */ jsx87(Tag21, { color: message28.type === "broadcast" ? "blue" : "default", children: message28.type }) })
23248
23302
  ] })
23249
23303
  ] }),
23250
23304
  /* @__PURE__ */ jsx87(Divider8, {}),
@@ -23259,7 +23313,7 @@ var MailboxDetailModal = ({
23259
23313
 
23260
23314
  // src/components/GenUI/elements/MailboxPanel.tsx
23261
23315
  import { jsx as jsx88, jsxs as jsxs65 } from "react/jsx-runtime";
23262
- var { Title: Title12, Text: Text37 } = Typography47;
23316
+ var { Title: Title13, Text: Text37 } = Typography47;
23263
23317
  var useStyles15 = createStyles27(({ token, css }) => ({
23264
23318
  container: css`
23265
23319
  padding: ${token.paddingLG}px;
@@ -23541,7 +23595,7 @@ var MailboxPanel = ({ data }) => {
23541
23595
  };
23542
23596
  return /* @__PURE__ */ jsxs65("div", { className: styles.container, children: [
23543
23597
  /* @__PURE__ */ jsx88("div", { className: styles.header, children: /* @__PURE__ */ jsxs65("div", { children: [
23544
- /* @__PURE__ */ jsxs65(Title12, { level: 3, className: styles.title, children: [
23598
+ /* @__PURE__ */ jsxs65(Title13, { level: 3, className: styles.title, children: [
23545
23599
  /* @__PURE__ */ jsx88(Mail3, { size: 20, style: { marginRight: 8, verticalAlign: "middle" } }),
23546
23600
  "Mailbox"
23547
23601
  ] }),
@@ -24118,7 +24172,7 @@ var TaskBoard = ({
24118
24172
  };
24119
24173
 
24120
24174
  // src/components/GenUI/elements/Mailbox.tsx
24121
- import { useState as useState64, useMemo as useMemo20, useRef as useRef20, useEffect as useEffect39 } from "react";
24175
+ import { useState as useState64, useMemo as useMemo20, useRef as useRef20, useEffect as useEffect40 } from "react";
24122
24176
  import { jsx as jsx92, jsxs as jsxs69 } from "react/jsx-runtime";
24123
24177
  var useStyle12 = () => {
24124
24178
  return {
@@ -24414,7 +24468,7 @@ var TeamChat = ({ data }) => {
24414
24468
  const mentions = useMemo20(() => {
24415
24469
  return teammates?.map((t) => t.name) || [];
24416
24470
  }, [teammates]);
24417
- useEffect39(() => {
24471
+ useEffect40(() => {
24418
24472
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
24419
24473
  }, [sortedMessages]);
24420
24474
  const handleSend = () => {
@@ -24588,7 +24642,7 @@ import { Button as Button47, Typography as Typography48 } from "antd";
24588
24642
  import { ExpandOutlined as ExpandOutlined2 } from "@ant-design/icons";
24589
24643
 
24590
24644
  // src/streaming-html/StreamingHTMLRenderer.tsx
24591
- import React49, { useEffect as useEffect40, useRef as useRef21, useCallback as useCallback31, useState as useState65 } from "react";
24645
+ import React49, { useEffect as useEffect41, useRef as useRef21, useCallback as useCallback31, useState as useState65 } from "react";
24592
24646
 
24593
24647
  // src/streaming-html/show-widget-css-generator.ts
24594
24648
  function generateShowWidgetCSS(tokens) {
@@ -25291,10 +25345,10 @@ var StreamingHTMLRenderer = ({
25291
25345
  const [iframeWidth, setIframeWidth] = React49.useState(void 0);
25292
25346
  const [currentMessageIndex, setCurrentMessageIndex] = useState65(0);
25293
25347
  const [showLoading, setShowLoading] = useState65(true);
25294
- useEffect40(() => {
25348
+ useEffect41(() => {
25295
25349
  isCompleteRef.current = isComplete;
25296
25350
  }, [isComplete]);
25297
- useEffect40(() => {
25351
+ useEffect41(() => {
25298
25352
  if (iframeHeight > 0) {
25299
25353
  setShowLoading(false);
25300
25354
  return;
@@ -25370,7 +25424,7 @@ var StreamingHTMLRenderer = ({
25370
25424
  onError?.(streamingError);
25371
25425
  }
25372
25426
  }, [onError]);
25373
- useEffect40(() => {
25427
+ useEffect41(() => {
25374
25428
  const handleMessage = (event) => {
25375
25429
  const iframe = iframeRef.current;
25376
25430
  if (!iframe || event.source !== iframe.contentWindow) {
@@ -25424,7 +25478,7 @@ var StreamingHTMLRenderer = ({
25424
25478
  window.removeEventListener("message", handleMessage);
25425
25479
  };
25426
25480
  }, [onError, onPrompt, sendChunk, executeScripts]);
25427
- useEffect40(() => {
25481
+ useEffect41(() => {
25428
25482
  if (html === prevHTMLRef.current) {
25429
25483
  return;
25430
25484
  }
@@ -25435,12 +25489,12 @@ var StreamingHTMLRenderer = ({
25435
25489
  sendChunk(newChunk);
25436
25490
  }
25437
25491
  }, [html, sendChunk]);
25438
- useEffect40(() => {
25492
+ useEffect41(() => {
25439
25493
  if (isComplete && isReadyRef.current) {
25440
25494
  executeScripts();
25441
25495
  }
25442
25496
  }, [isComplete, executeScripts]);
25443
- useEffect40(() => {
25497
+ useEffect41(() => {
25444
25498
  const container = containerRef.current;
25445
25499
  if (!container) return;
25446
25500
  const antBubble = container.closest(".ant-bubble");
@@ -25466,7 +25520,7 @@ var StreamingHTMLRenderer = ({
25466
25520
  resizeObserverRef.current = null;
25467
25521
  };
25468
25522
  }, []);
25469
- useEffect40(() => {
25523
+ useEffect41(() => {
25470
25524
  return () => {
25471
25525
  isReadyRef.current = false;
25472
25526
  pendingChunksRef.current = [];
@@ -25781,13 +25835,13 @@ import { CodeHighlighter, Mermaid } from "@ant-design/x";
25781
25835
 
25782
25836
  // src/components/GenUI/ReactInfographic.tsx
25783
25837
  import { Infographic } from "@antv/infographic";
25784
- import { useRef as useRef22, useEffect as useEffect41 } from "react";
25838
+ import { useRef as useRef22, useEffect as useEffect42 } from "react";
25785
25839
  import { jsx as jsx96 } from "react/jsx-runtime";
25786
25840
  var ReactInfographic = (props) => {
25787
25841
  const { children } = props;
25788
25842
  const $container = useRef22(null);
25789
25843
  const infographicInstance = useRef22(null);
25790
- useEffect41(() => {
25844
+ useEffect42(() => {
25791
25845
  if ($container.current) {
25792
25846
  infographicInstance.current = new Infographic({
25793
25847
  container: $container.current,
@@ -25802,7 +25856,7 @@ var ReactInfographic = (props) => {
25802
25856
  infographicInstance.current?.destroy();
25803
25857
  };
25804
25858
  }, []);
25805
- useEffect41(() => {
25859
+ useEffect42(() => {
25806
25860
  const a = `infographic sequence-steps-simple
25807
25861
  data
25808
25862
  sequences
@@ -25818,7 +25872,7 @@ data
25818
25872
  };
25819
25873
 
25820
25874
  // src/components/GenUI/ReactChart.tsx
25821
- import { useEffect as useEffect42, useRef as useRef23, useState as useState66 } from "react";
25875
+ import { useEffect as useEffect43, useRef as useRef23, useState as useState66 } from "react";
25822
25876
  import * as echarts from "echarts";
25823
25877
  import { Card as Card22 } from "antd";
25824
25878
  import { parse } from "best-effort-json-parser";
@@ -26135,7 +26189,7 @@ var ReactChart = (props) => {
26135
26189
  const chartInstance = useRef23(null);
26136
26190
  const resizeObserverRef = useRef23(null);
26137
26191
  const [tableData, setTableData] = useState66(null);
26138
- useEffect42(() => {
26192
+ useEffect43(() => {
26139
26193
  if (!chartRef.current) {
26140
26194
  return;
26141
26195
  }
@@ -26208,7 +26262,7 @@ var ReactChart = (props) => {
26208
26262
  window.removeEventListener("resize", handleResize);
26209
26263
  };
26210
26264
  }, [children]);
26211
- useEffect42(() => {
26265
+ useEffect43(() => {
26212
26266
  return () => {
26213
26267
  if (resizeObserverRef.current) {
26214
26268
  resizeObserverRef.current.disconnect();
@@ -26907,7 +26961,7 @@ function normalize(name, steps) {
26907
26961
  }
26908
26962
 
26909
26963
  // src/components/Chat/WorkflowCanvas.tsx
26910
- import { useMemo as useMemo25, useEffect as useEffect44, useState as useState69, useCallback as useCallback36 } from "react";
26964
+ import { useMemo as useMemo25, useEffect as useEffect45, useState as useState69, useCallback as useCallback36 } from "react";
26911
26965
  import {
26912
26966
  ReactFlowProvider as ReactFlowProvider4,
26913
26967
  MarkerType,
@@ -26917,11 +26971,11 @@ import {
26917
26971
  useEdgesState as useEdgesState4
26918
26972
  } from "@xyflow/react";
26919
26973
  import "@xyflow/react/dist/style.css";
26920
- import { Empty as Empty13, Spin as Spin15, Tag as Tag22, Typography as Typography50, Tabs as Tabs3 } from "antd";
26974
+ import { Empty as Empty13, Spin as Spin15, Tag as Tag23, Typography as Typography50, Tabs as Tabs3 } from "antd";
26921
26975
 
26922
26976
  // src/components/Chat/WorkflowNode.tsx
26923
26977
  import { Handle as Handle3, Position as Position3 } from "@xyflow/react";
26924
- import { Tag as Tag21, Typography as Typography49, Tooltip as Tooltip22, Popover as Popover2 } from "antd";
26978
+ import { Tag as Tag22, Typography as Typography49, Tooltip as Tooltip22, Popover as Popover2 } from "antd";
26925
26979
  import { Workflow, UserCheck, CheckCircle, XCircle, Circle as Circle3, StopCircle, Loader2 as Loader27, CircleCheckBig, CircleX, CirclePause, Filter, Repeat } from "lucide-react";
26926
26980
  import { jsx as jsx104, jsxs as jsxs74 } from "react/jsx-runtime";
26927
26981
  if (typeof document !== "undefined") {
@@ -27013,7 +27067,7 @@ function SchemaView({ schema }) {
27013
27067
  /* @__PURE__ */ jsx104(Text38, { style: { fontSize: 11, fontWeight: isReq ? 600 : 400, fontFamily: "monospace" }, children: key }),
27014
27068
  isReq && /* @__PURE__ */ jsx104("span", { style: { color: "#ef4444", fontSize: 9 }, children: "*" }),
27015
27069
  propDesc && !hasNested && /* @__PURE__ */ jsx104(Text38, { type: "secondary", style: { fontSize: 10, flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: propDesc }),
27016
- /* @__PURE__ */ jsx104(Tag21, { color: typeColor(propType), style: { margin: 0, fontSize: 9, padding: "0 4px", lineHeight: "16px", marginLeft: "auto" }, children: propType })
27070
+ /* @__PURE__ */ jsx104(Tag22, { color: typeColor(propType), style: { margin: 0, fontSize: 9, padding: "0 4px", lineHeight: "16px", marginLeft: "auto" }, children: propType })
27017
27071
  ]
27018
27072
  }
27019
27073
  )
@@ -27223,8 +27277,8 @@ var WorkflowNode = ({ data }) => {
27223
27277
  }
27224
27278
  ),
27225
27279
  /* @__PURE__ */ jsxs74("div", { style: { display: "flex", gap: 4, marginTop: 6, flexWrap: "wrap" }, children: [
27226
- !hasRuntime && nodeType === "agent" && ref && /* @__PURE__ */ jsx104(Tag21, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: ref }),
27227
- !hasRuntime && nodeType === "agent" && !ref && /* @__PURE__ */ jsx104(Tag21, { color: "default", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: "general" }),
27280
+ !hasRuntime && nodeType === "agent" && ref && /* @__PURE__ */ jsx104(Tag22, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: ref }),
27281
+ !hasRuntime && nodeType === "agent" && !ref && /* @__PURE__ */ jsx104(Tag22, { color: "default", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: "general" }),
27228
27282
  ask && /* @__PURE__ */ jsx104(Tooltip22, { title: "This step requires human approval before continuing", children: /* @__PURE__ */ jsx104(
27229
27283
  "div",
27230
27284
  {
@@ -27259,9 +27313,9 @@ var WorkflowNode = ({ data }) => {
27259
27313
  children: /* @__PURE__ */ jsx104(Filter, { size: 12, style: { color: "#2f54eb" } })
27260
27314
  }
27261
27315
  ) }),
27262
- !hasRuntime && nodeType === "map" && innerRef && /* @__PURE__ */ jsx104(Tag21, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: innerRef }),
27316
+ !hasRuntime && nodeType === "map" && innerRef && /* @__PURE__ */ jsx104(Tag22, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: innerRef }),
27263
27317
  !hasRuntime && nodeType === "map" && inputTemplate && /* @__PURE__ */ jsx104(
27264
- Tag21,
27318
+ Tag22,
27265
27319
  {
27266
27320
  color: "default",
27267
27321
  style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px", maxWidth: 120 },
@@ -27269,27 +27323,27 @@ var WorkflowNode = ({ data }) => {
27269
27323
  children: inputTemplate.length > 20 ? inputTemplate.slice(0, 18) + "\u2026" : inputTemplate
27270
27324
  }
27271
27325
  ),
27272
- !hasRuntime && nodeType === "map" && (batchSize || maxConcurrency || innerConcurrency) && /* @__PURE__ */ jsxs74(Tag21, { color: "cyan", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27326
+ !hasRuntime && nodeType === "map" && (batchSize || maxConcurrency || innerConcurrency) && /* @__PURE__ */ jsxs74(Tag22, { color: "cyan", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27273
27327
  batchSize ?? 50,
27274
27328
  "\xD7",
27275
27329
  maxConcurrency ?? 10,
27276
27330
  "\xD7",
27277
27331
  innerConcurrency ?? 5
27278
27332
  ] }),
27279
- !hasRuntime && nodeType === "map" && reduceRef && /* @__PURE__ */ jsxs74(Tag21, { color: "blue", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27333
+ !hasRuntime && nodeType === "map" && reduceRef && /* @__PURE__ */ jsxs74(Tag22, { color: "blue", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27280
27334
  "\u2193 ",
27281
27335
  reduceRef
27282
27336
  ] }),
27283
- !hasRuntime && maxRetries ? /* @__PURE__ */ jsxs74(Tag21, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27337
+ !hasRuntime && maxRetries ? /* @__PURE__ */ jsxs74(Tag22, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27284
27338
  "\u21BB ",
27285
27339
  maxRetries
27286
27340
  ] }) : null,
27287
- !hasRuntime && timeout ? /* @__PURE__ */ jsxs74(Tag21, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27341
+ !hasRuntime && timeout ? /* @__PURE__ */ jsxs74(Tag22, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: [
27288
27342
  "\u23F1 ",
27289
27343
  timeout,
27290
27344
  "s"
27291
27345
  ] }) : null,
27292
- displayDuration && /* @__PURE__ */ jsx104(Tag21, { color: runState ? "blue" : "default", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: displayDuration }),
27346
+ displayDuration && /* @__PURE__ */ jsx104(Tag22, { color: runState ? "blue" : "default", style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px" }, children: displayDuration }),
27293
27347
  outputKey && /* @__PURE__ */ jsx104("span", { style: { marginLeft: "auto" } }),
27294
27348
  outputKey && /* @__PURE__ */ jsx104(
27295
27349
  Popover2,
@@ -27302,7 +27356,7 @@ var WorkflowNode = ({ data }) => {
27302
27356
  /* @__PURE__ */ jsx104(Text38, { style: { fontSize: 11, fontFamily: "monospace", color: "#6366f1" }, children: outputKey })
27303
27357
  ] }),
27304
27358
  content: nodeSchema ? /* @__PURE__ */ jsx104(SchemaView, { schema: nodeSchema }) : /* @__PURE__ */ jsx104(Text38, { type: "secondary", style: { fontSize: 11 }, children: "No schema defined" }),
27305
- children: /* @__PURE__ */ jsxs74(Tag21, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px", flexShrink: 0, cursor: "default" }, children: [
27359
+ children: /* @__PURE__ */ jsxs74(Tag22, { style: { margin: 0, fontSize: 10, padding: "0 5px", lineHeight: "16px", flexShrink: 0, cursor: "default" }, children: [
27306
27360
  "\u2192 ",
27307
27361
  outputKey
27308
27362
  ] })
@@ -27488,7 +27542,7 @@ function StepDetailPopover({ step }) {
27488
27542
  /* @__PURE__ */ jsxs76("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 12 }, children: [
27489
27543
  /* @__PURE__ */ jsx106("span", { style: { color: ssc.color, fontSize: 14 }, children: ssc.icon }),
27490
27544
  /* @__PURE__ */ jsx106(Text39, { strong: true, style: { fontSize: 14 }, children: step.stepName }),
27491
- /* @__PURE__ */ jsx106(Tag22, { color: "purple", style: { fontSize: 11 }, children: step.stepType })
27545
+ /* @__PURE__ */ jsx106(Tag23, { color: "purple", style: { fontSize: 11 }, children: step.stepType })
27492
27546
  ] }),
27493
27547
  step.edgePurpose && /* @__PURE__ */ jsx106("div", { style: { marginBottom: 10 }, children: /* @__PURE__ */ jsxs76(Text39, { type: "secondary", style: { fontSize: 11 }, children: [
27494
27548
  "Purpose: ",
@@ -27835,7 +27889,7 @@ var WorkflowCanvas = ({
27835
27889
  if (!node) return null;
27836
27890
  return matchStepByName(steps, node);
27837
27891
  }, [dsl.nodes, steps, selectedNodeId, isRuntime]);
27838
- useEffect44(() => {
27892
+ useEffect45(() => {
27839
27893
  setNodes(initialNodes);
27840
27894
  setEdges(initialEdges);
27841
27895
  }, [initialNodes, initialEdges, setNodes, setEdges]);
@@ -27850,7 +27904,7 @@ var WorkflowCanvas = ({
27850
27904
  }))
27851
27905
  );
27852
27906
  }, [setNodes]);
27853
- useEffect44(() => {
27907
+ useEffect45(() => {
27854
27908
  if (!isRuntime) return;
27855
27909
  setNodes(
27856
27910
  (nds) => nds.map((n) => ({
@@ -27968,7 +28022,7 @@ if (typeof document !== "undefined") {
27968
28022
  document.head.appendChild(style);
27969
28023
  }
27970
28024
  }
27971
- var { Text: Text40, Title: Title13 } = Typography51;
28025
+ var { Text: Text40, Title: Title14 } = Typography51;
27972
28026
  var statusConfig = {
27973
28027
  running: { icon: /* @__PURE__ */ jsx108(Loader28, { size: 14, style: { animation: "spin 1s linear infinite", color: "#1677ff" } }), label: "Running" },
27974
28028
  completed: { icon: /* @__PURE__ */ jsx108(CircleCheckBig2, { size: 14, style: { color: "#52c41a" } }), label: "Completed" },
@@ -28074,9 +28128,9 @@ function StepNode({ data, selected }) {
28074
28128
  ) })
28075
28129
  ] }),
28076
28130
  /* @__PURE__ */ jsxs77("div", { style: { display: "flex", gap: 4, alignItems: "center", flexWrap: "wrap" }, children: [
28077
- /* @__PURE__ */ jsx108(Tag23, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 6px", lineHeight: "18px" }, children: step.stepType }),
28131
+ /* @__PURE__ */ jsx108(Tag24, { color: "purple", style: { margin: 0, fontSize: 10, padding: "0 6px", lineHeight: "18px" }, children: step.stepType }),
28078
28132
  /* @__PURE__ */ jsx108(
28079
- Tag23,
28133
+ Tag24,
28080
28134
  {
28081
28135
  color: "blue",
28082
28136
  style: { margin: 0, fontSize: 10, padding: "0 6px", lineHeight: "18px" },
@@ -28150,7 +28204,7 @@ function StepDetailPopover2({ step }) {
28150
28204
  /* @__PURE__ */ jsxs77("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 12 }, children: [
28151
28205
  /* @__PURE__ */ jsx108("span", { style: { color: ssc.color, fontSize: 14 }, children: ssc.icon }),
28152
28206
  /* @__PURE__ */ jsx108(Text40, { strong: true, style: { fontSize: 14 }, children: step.stepName }),
28153
- /* @__PURE__ */ jsx108(Tag23, { color: "purple", style: { fontSize: 11 }, children: step.stepType })
28207
+ /* @__PURE__ */ jsx108(Tag24, { color: "purple", style: { fontSize: 11 }, children: step.stepType })
28154
28208
  ] }),
28155
28209
  step.edgePurpose && /* @__PURE__ */ jsx108("div", { style: { marginBottom: 10 }, children: /* @__PURE__ */ jsxs77(Text40, { type: "secondary", style: { fontSize: 11 }, children: [
28156
28210
  "Purpose: ",
@@ -28236,11 +28290,11 @@ function FlowCanvas({ steps }) {
28236
28290
  () => steps.find((s) => s.id === selectedNodeId) || null,
28237
28291
  [steps, selectedNodeId]
28238
28292
  );
28239
- useEffect45(() => {
28293
+ useEffect46(() => {
28240
28294
  setNodes(initialNodes);
28241
28295
  setEdges(initialEdges);
28242
28296
  }, [initialNodes, initialEdges, setNodes, setEdges]);
28243
- useEffect45(() => {
28297
+ useEffect46(() => {
28244
28298
  if (selectedNodeId) {
28245
28299
  setNodes(
28246
28300
  (nds) => nds.map((n) => ({
@@ -28466,13 +28520,13 @@ var RunDetail = ({ run, agentName, open, onClose, onRunUpdate, autoRefresh, onAu
28466
28520
  setGraphLoading(false);
28467
28521
  }
28468
28522
  }, [get, run.assistantId]);
28469
- useEffect45(() => {
28523
+ useEffect46(() => {
28470
28524
  if (!open) return;
28471
28525
  setLoading(true);
28472
28526
  fetchSteps().finally(() => setLoading(false));
28473
28527
  fetchGraphDefinition();
28474
28528
  }, [open, run.id, fetchSteps, fetchGraphDefinition]);
28475
- useEffect45(() => {
28529
+ useEffect46(() => {
28476
28530
  if (stepsPollTimeoutRef.current) {
28477
28531
  clearTimeout(stepsPollTimeoutRef.current);
28478
28532
  stepsPollTimeoutRef.current = null;
@@ -28501,7 +28555,7 @@ var RunDetail = ({ run, agentName, open, onClose, onRunUpdate, autoRefresh, onAu
28501
28555
  {
28502
28556
  title: /* @__PURE__ */ jsxs77(Space39, { children: [
28503
28557
  /* @__PURE__ */ jsx108(Text40, { strong: true, children: "Pipeline Execution" }),
28504
- /* @__PURE__ */ jsx108(Tag23, { color: "purple", style: { fontSize: 11 }, children: "Flow View" }),
28558
+ /* @__PURE__ */ jsx108(Tag24, { color: "purple", style: { fontSize: 11 }, children: "Flow View" }),
28505
28559
  /* @__PURE__ */ jsxs77(Space39, { size: 4, style: { marginLeft: 12 }, children: [
28506
28560
  /* @__PURE__ */ jsx108(Text40, { type: "secondary", style: { fontSize: 11 }, children: "Auto-refresh" }),
28507
28561
  /* @__PURE__ */ jsx108(Switch3, { size: "small", checked: autoRefresh, onChange: onAutoRefreshChange })
@@ -28586,7 +28640,7 @@ var TopologyRuntimeView = () => {
28586
28640
  setLoading(false);
28587
28641
  }
28588
28642
  }, [get]);
28589
- useEffect45(() => {
28643
+ useEffect46(() => {
28590
28644
  let cancelled = false;
28591
28645
  const init2 = async () => {
28592
28646
  try {
@@ -28622,7 +28676,7 @@ var TopologyRuntimeView = () => {
28622
28676
  cancelled = true;
28623
28677
  };
28624
28678
  }, [get]);
28625
- useEffect45(() => {
28679
+ useEffect46(() => {
28626
28680
  return () => {
28627
28681
  pollingSessionRef.current = 0;
28628
28682
  };
@@ -28638,7 +28692,7 @@ var TopologyRuntimeView = () => {
28638
28692
  }
28639
28693
  return /* @__PURE__ */ jsxs77("div", { style: { padding: 16, overflow: "auto", height: "100%" }, children: [
28640
28694
  /* @__PURE__ */ jsxs77("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: 16 }, children: [
28641
- /* @__PURE__ */ jsx108(Title13, { level: 5, style: { marginBottom: 0 }, children: "Workflow Runs" }),
28695
+ /* @__PURE__ */ jsx108(Title14, { level: 5, style: { marginBottom: 0 }, children: "Workflow Runs" }),
28642
28696
  /* @__PURE__ */ jsx108(Tooltip23, { title: "Refresh now", children: /* @__PURE__ */ jsx108(
28643
28697
  ReloadOutlined4,
28644
28698
  {
@@ -28648,7 +28702,7 @@ var TopologyRuntimeView = () => {
28648
28702
  ) })
28649
28703
  ] }),
28650
28704
  /* @__PURE__ */ jsx108(
28651
- List15,
28705
+ List16,
28652
28706
  {
28653
28707
  dataSource: runs,
28654
28708
  renderItem: (run) => /* @__PURE__ */ jsx108("div", { style: { marginBottom: 8 }, children: /* @__PURE__ */ jsx108(
@@ -28658,7 +28712,7 @@ var TopologyRuntimeView = () => {
28658
28712
  agentName: agentNames[run.assistantId] || run.assistantId,
28659
28713
  onClick: () => setSelectedRun(run),
28660
28714
  extra: /* @__PURE__ */ jsx108(
28661
- Popconfirm5,
28715
+ Popconfirm6,
28662
28716
  {
28663
28717
  title: "Delete run",
28664
28718
  description: "Delete this workflow run and all its step records?",
@@ -28695,11 +28749,11 @@ var TopologyRuntimeView = () => {
28695
28749
  };
28696
28750
 
28697
28751
  // src/components/Chat/TopologyInboxView.tsx
28698
- import { useEffect as useEffect46, useState as useState71 } from "react";
28699
- import { Card as Card23, Typography as Typography52, Spin as Spin17, Empty as Empty15, List as List16, Button as Button50, Space as Space40, Tag as Tag24 } from "antd";
28752
+ import { useEffect as useEffect47, useState as useState71 } from "react";
28753
+ import { Card as Card23, Typography as Typography52, Spin as Spin17, Empty as Empty15, List as List17, Button as Button50, Space as Space40, Tag as Tag25 } from "antd";
28700
28754
  import { InboxOutlined, ReloadOutlined as ReloadOutlined5 } from "@ant-design/icons";
28701
28755
  import { jsx as jsx109, jsxs as jsxs78 } from "react/jsx-runtime";
28702
- var { Text: Text41, Title: Title14 } = Typography52;
28756
+ var { Text: Text41, Title: Title15 } = Typography52;
28703
28757
  var TopologyInboxView = () => {
28704
28758
  const { get } = useApi();
28705
28759
  const [items, setItems] = useState71([]);
@@ -28730,7 +28784,7 @@ var TopologyInboxView = () => {
28730
28784
  setLoading(false);
28731
28785
  }
28732
28786
  };
28733
- useEffect46(() => {
28787
+ useEffect47(() => {
28734
28788
  fetchInbox();
28735
28789
  }, [get]);
28736
28790
  return /* @__PURE__ */ jsxs78("div", { style: { height: "100%", display: "flex", flexDirection: "column" }, children: [
@@ -28745,7 +28799,7 @@ var TopologyInboxView = () => {
28745
28799
  },
28746
28800
  children: [
28747
28801
  /* @__PURE__ */ jsxs78("div", { children: [
28748
- /* @__PURE__ */ jsxs78(Title14, { level: 4, style: { margin: 0 }, children: [
28802
+ /* @__PURE__ */ jsxs78(Title15, { level: 4, style: { margin: 0 }, children: [
28749
28803
  /* @__PURE__ */ jsx109(InboxOutlined, { style: { marginRight: 8 } }),
28750
28804
  "User Inbox"
28751
28805
  ] }),
@@ -28776,7 +28830,7 @@ var TopologyInboxView = () => {
28776
28830
  children: /* @__PURE__ */ jsx109(Spin17, { size: "large" })
28777
28831
  }
28778
28832
  ) : items.length === 0 ? /* @__PURE__ */ jsx109(Empty15, { description: "Inbox is empty" }) : /* @__PURE__ */ jsx109(
28779
- List16,
28833
+ List17,
28780
28834
  {
28781
28835
  dataSource: items,
28782
28836
  renderItem: (item) => /* @__PURE__ */ jsxs78(
@@ -28790,7 +28844,7 @@ var TopologyInboxView = () => {
28790
28844
  {
28791
28845
  style: { marginBottom: 8, display: "flex", justifyContent: "space-between" },
28792
28846
  children: /* @__PURE__ */ jsxs78(Space40, { size: 4, children: [
28793
- /* @__PURE__ */ jsx109(Tag24, { color: "blue", children: item.assistantName }),
28847
+ /* @__PURE__ */ jsx109(Tag25, { color: "blue", children: item.assistantName }),
28794
28848
  /* @__PURE__ */ jsx109(Text41, { type: "secondary", style: { fontSize: 11 }, children: new Date(item.startedAt).toLocaleString() })
28795
28849
  ] })
28796
28850
  }
@@ -28813,14 +28867,14 @@ var TopologyInboxView = () => {
28813
28867
  };
28814
28868
 
28815
28869
  // src/components/Chat/WorkflowAutomationView.tsx
28816
- import { useEffect as useEffect48, useState as useState72, useCallback as useCallback38, useMemo as useMemo30, useRef as useRef26 } from "react";
28870
+ import { useEffect as useEffect49, useState as useState72, useCallback as useCallback38, useMemo as useMemo30, useRef as useRef26 } from "react";
28817
28871
  import {
28818
28872
  ReactFlowProvider as ReactFlowProvider6
28819
28873
  } from "@xyflow/react";
28820
28874
  import "@xyflow/react/dist/style.css";
28821
- import { Spin as Spin18, Empty as Empty16, Card as Card24, Typography as Typography55, Button as Button52, Input as Input15, Modal as Modal18, Popconfirm as Popconfirm6 } from "antd";
28875
+ import { Spin as Spin18, Empty as Empty16, Card as Card24, Typography as Typography55, Button as Button52, Input as Input15, Modal as Modal18, Popconfirm as Popconfirm7 } from "antd";
28822
28876
  import {
28823
- PlusOutlined as PlusOutlined8,
28877
+ PlusOutlined as PlusOutlined9,
28824
28878
  DeleteOutlined as DeleteOutlined4,
28825
28879
  InfoCircleOutlined as InfoCircleOutlined6,
28826
28880
  MenuOutlined,
@@ -28956,7 +29010,7 @@ var CopilotPanel = ({
28956
29010
  };
28957
29011
 
28958
29012
  // src/components/Chat/CreateWorkflowModal.tsx
28959
- import { useEffect as useEffect47 } from "react";
29013
+ import { useEffect as useEffect48 } from "react";
28960
29014
  import { Modal as Modal17, Form as Form7, Input as Input14 } from "antd";
28961
29015
  import { jsx as jsx111 } from "react/jsx-runtime";
28962
29016
  function extractName(purpose) {
@@ -28982,7 +29036,7 @@ var CreateWorkflowModal = ({
28982
29036
  }) => {
28983
29037
  const { post } = useApi();
28984
29038
  const [form] = Form7.useForm();
28985
- useEffect47(() => {
29039
+ useEffect48(() => {
28986
29040
  if (open) {
28987
29041
  form.resetFields();
28988
29042
  }
@@ -29546,7 +29600,7 @@ function WorkflowFlowInner({
29546
29600
  (w) => w.name.toLowerCase().includes(q) || w.description.toLowerCase().includes(q)
29547
29601
  );
29548
29602
  }, [workflows, search]);
29549
- useEffect48(() => {
29603
+ useEffect49(() => {
29550
29604
  if (selectedId) {
29551
29605
  setListOpen(false);
29552
29606
  } else {
@@ -29625,7 +29679,7 @@ function WorkflowFlowInner({
29625
29679
  boxShadow: "0 2px 12px rgba(0,0,0,0.08)",
29626
29680
  border: "1px solid #f0f0f0"
29627
29681
  }, children: /* @__PURE__ */ jsx113(
29628
- Popconfirm6,
29682
+ Popconfirm7,
29629
29683
  {
29630
29684
  title: "Delete workflow",
29631
29685
  description: "This will permanently delete this workflow agent.",
@@ -29672,7 +29726,7 @@ function WorkflowFlowInner({
29672
29726
  {
29673
29727
  type: "text",
29674
29728
  size: "small",
29675
- icon: /* @__PURE__ */ jsx113(PlusOutlined8, {}),
29729
+ icon: /* @__PURE__ */ jsx113(PlusOutlined9, {}),
29676
29730
  onClick: onCreate,
29677
29731
  style: { color: "#6366f1" }
29678
29732
  }
@@ -29894,7 +29948,7 @@ var WorkflowAutomationView = () => {
29894
29948
  setGraphDef(null);
29895
29949
  }
29896
29950
  }, [get]);
29897
- useEffect48(() => {
29951
+ useEffect49(() => {
29898
29952
  let cancelled = false;
29899
29953
  const load2 = async () => {
29900
29954
  try {
@@ -29913,7 +29967,7 @@ var WorkflowAutomationView = () => {
29913
29967
  cancelled = true;
29914
29968
  };
29915
29969
  }, [fetchWorkflows]);
29916
- useEffect48(() => {
29970
+ useEffect49(() => {
29917
29971
  if (selectedId) {
29918
29972
  fetchDSL(selectedId);
29919
29973
  } else {
@@ -29924,7 +29978,7 @@ var WorkflowAutomationView = () => {
29924
29978
  e.preventDefault();
29925
29979
  resizingRef.current = { startX: e.clientX, startWidth: copilotWidth };
29926
29980
  }, [copilotWidth]);
29927
- useEffect48(() => {
29981
+ useEffect49(() => {
29928
29982
  const handleMouseMove = (e) => {
29929
29983
  if (!resizingRef.current) return;
29930
29984
  const delta = resizingRef.current.startX - e.clientX;
@@ -30021,7 +30075,7 @@ var WorkflowAutomationView = () => {
30021
30075
  Button52,
30022
30076
  {
30023
30077
  type: "primary",
30024
- icon: /* @__PURE__ */ jsx113(PlusOutlined8, {}),
30078
+ icon: /* @__PURE__ */ jsx113(PlusOutlined9, {}),
30025
30079
  onClick: () => setCreateModalOpen(true),
30026
30080
  children: "Create Workflow"
30027
30081
  }
@@ -30133,12 +30187,12 @@ var WorkflowAutomationView = () => {
30133
30187
  // src/components/Eval/EvalPanel.tsx
30134
30188
  import React66, { useState as useState75, useMemo as useMemo31 } from "react";
30135
30189
  import { createStyles as createStyles34 } from "antd-style";
30136
- import { Button as Button55, Card as Card28, Typography as Typography59, Row as Row4, Col as Col4, Tag as Tag28, theme as theme15, Dropdown as Dropdown2, Popconfirm as Popconfirm10, message as message18 } from "antd";
30190
+ import { Button as Button55, Card as Card28, Typography as Typography59, Row as Row4, Col as Col4, Tag as Tag29, theme as theme15, Dropdown as Dropdown2, Popconfirm as Popconfirm11, message as message18 } from "antd";
30137
30191
  import { Play as Play2, FlaskConical as FlaskConical2, TestTube2 as TestTube26, TrendingUp, CheckCircle as CheckCircle4, XCircle as XCircle3, ArrowRight as ArrowRight3, ChevronDown as ChevronDown5, Trash2 as Trash27, Clock as Clock5 } from "lucide-react";
30138
30192
 
30139
30193
  // src/components/Eval/EvalSuiteCardList.tsx
30140
30194
  import { createStyles as createStyles31 } from "antd-style";
30141
- import { Card as Card25, Typography as Typography56, Row as Row3, Col as Col3, Empty as Empty17, Popconfirm as Popconfirm7, Spin as Spin19 } from "antd";
30195
+ import { Card as Card25, Typography as Typography56, Row as Row3, Col as Col3, Empty as Empty17, Popconfirm as Popconfirm8, Spin as Spin19 } from "antd";
30142
30196
  import { Trash2 as Trash24, TestTube2 as TestTube24 } from "lucide-react";
30143
30197
  import { jsx as jsx114, jsxs as jsxs82 } from "react/jsx-runtime";
30144
30198
  var { Text: Text45 } = Typography56;
@@ -30223,7 +30277,7 @@ var EvalSuiteCardList = ({ projectId, onSelectSuite }) => {
30223
30277
  /* @__PURE__ */ jsx114("div", { className: styles.subtitle, children: "Server-side agent testing" })
30224
30278
  ] }),
30225
30279
  /* @__PURE__ */ jsx114(
30226
- Popconfirm7,
30280
+ Popconfirm8,
30227
30281
  {
30228
30282
  title: "Delete this suite?",
30229
30283
  onConfirm: (e) => {
@@ -30250,7 +30304,7 @@ var EvalSuiteCardList = ({ projectId, onSelectSuite }) => {
30250
30304
  // src/components/Eval/EvalSuiteDetail.tsx
30251
30305
  import { useState as useState73 } from "react";
30252
30306
  import { createStyles as createStyles32 } from "antd-style";
30253
- import { Button as Button53, Card as Card26, Typography as Typography57, Modal as Modal19, Form as Form8, Input as Input16, Select as Select8, Table as Table3, Popconfirm as Popconfirm8, Empty as Empty18 } from "antd";
30307
+ import { Button as Button53, Card as Card26, Typography as Typography57, Modal as Modal19, Form as Form8, Input as Input16, Select as Select8, Table as Table3, Popconfirm as Popconfirm9, Empty as Empty18 } from "antd";
30254
30308
  import { Play, Plus as Plus6, Trash2 as Trash25, Bot as Bot3, MessageSquare as MessageSquare3, FlaskConical } from "lucide-react";
30255
30309
  import { jsx as jsx115, jsxs as jsxs83 } from "react/jsx-runtime";
30256
30310
  var { Text: Text46 } = Typography57;
@@ -30410,7 +30464,7 @@ var EvalSuiteDetail = ({ projectId, suiteId, onBack, onRun }) => {
30410
30464
  title: "",
30411
30465
  key: "actions",
30412
30466
  width: 40,
30413
- render: (_, c) => /* @__PURE__ */ jsx115(Popconfirm8, { title: "Delete?", onConfirm: () => removeCase(projectId, suiteId, c.id), children: /* @__PURE__ */ jsx115(Button53, { type: "text", danger: true, size: "small", icon: /* @__PURE__ */ jsx115(Trash25, { size: 14 }) }) })
30467
+ render: (_, c) => /* @__PURE__ */ jsx115(Popconfirm9, { title: "Delete?", onConfirm: () => removeCase(projectId, suiteId, c.id), children: /* @__PURE__ */ jsx115(Button53, { type: "text", danger: true, size: "small", icon: /* @__PURE__ */ jsx115(Trash25, { size: 14 }) }) })
30414
30468
  }
30415
30469
  ];
30416
30470
  return /* @__PURE__ */ jsxs83("div", { className: styles.shell, children: [
@@ -30487,9 +30541,9 @@ var EvalSuiteDetail = ({ projectId, suiteId, onBack, onRun }) => {
30487
30541
  };
30488
30542
 
30489
30543
  // src/components/Eval/EvalRunResults.tsx
30490
- import { useEffect as useEffect49, useState as useState74 } from "react";
30544
+ import { useEffect as useEffect50, useState as useState74 } from "react";
30491
30545
  import { createStyles as createStyles33 } from "antd-style";
30492
- import { Button as Button54, Card as Card27, Typography as Typography58, Progress as Progress3, Tag as Tag27, Table as Table4, Empty as Empty19, Popconfirm as Popconfirm9, message as message17 } from "antd";
30546
+ import { Button as Button54, Card as Card27, Typography as Typography58, Progress as Progress3, Tag as Tag28, Table as Table4, Empty as Empty19, Popconfirm as Popconfirm10, message as message17 } from "antd";
30493
30547
  import { CheckCircle as CheckCircle3, XCircle as XCircle2, Trash2 as Trash26 } from "lucide-react";
30494
30548
  import { jsx as jsx116, jsxs as jsxs84 } from "react/jsx-runtime";
30495
30549
  var { Text: Text47 } = Typography58;
@@ -30578,7 +30632,7 @@ var EvalRunResults = ({ runId, onBack }) => {
30578
30632
  const client = useClient("__GLOBAL__");
30579
30633
  const [run, setRun] = useState74(null);
30580
30634
  const { status: streamingStatus, progress, connected } = useEvalRunStream(runId);
30581
- useEffect49(() => {
30635
+ useEffect50(() => {
30582
30636
  client.eval.runs.get(runId).then(setRun).catch(console.error);
30583
30637
  }, [runId, client]);
30584
30638
  if (!run) {
@@ -30595,10 +30649,10 @@ var EvalRunResults = ({ runId, onBack }) => {
30595
30649
  /* @__PURE__ */ jsxs84("div", { className: styles.topLeft, children: [
30596
30650
  /* @__PURE__ */ jsx116("button", { className: styles.breadcrumb, onClick: onBack, children: "\u2190 Back" }),
30597
30651
  /* @__PURE__ */ jsx116("span", { className: styles.pageTitle, children: "Run Results" }),
30598
- /* @__PURE__ */ jsx116(Tag27, { color: run.status === "completed" ? "success" : run.status === "running" ? "processing" : run.status === "failed" ? "error" : "warning", children: run.status })
30652
+ /* @__PURE__ */ jsx116(Tag28, { color: run.status === "completed" ? "success" : run.status === "running" ? "processing" : run.status === "failed" ? "error" : "warning", children: run.status })
30599
30653
  ] }),
30600
30654
  /* @__PURE__ */ jsx116(
30601
- Popconfirm9,
30655
+ Popconfirm10,
30602
30656
  {
30603
30657
  title: "Delete this run?",
30604
30658
  description: "Run results will be permanently deleted.",
@@ -30738,7 +30792,7 @@ var EvalRunResults = ({ runId, onBack }) => {
30738
30792
  align: "center",
30739
30793
  render: (_, r) => {
30740
30794
  const n = r.dimensionResults?.length || 0;
30741
- return n > 0 ? /* @__PURE__ */ jsx116(Tag27, { children: n }) : /* @__PURE__ */ jsx116(Text47, { type: "secondary", children: "\u2014" });
30795
+ return n > 0 ? /* @__PURE__ */ jsx116(Tag28, { children: n }) : /* @__PURE__ */ jsx116(Text47, { type: "secondary", children: "\u2014" });
30742
30796
  }
30743
30797
  },
30744
30798
  {
@@ -30747,7 +30801,7 @@ var EvalRunResults = ({ runId, onBack }) => {
30747
30801
  key: "score",
30748
30802
  width: 80,
30749
30803
  align: "center",
30750
- render: (s) => /* @__PURE__ */ jsx116(Tag27, { color: s >= 80 ? "success" : "error", children: typeof s === "number" ? s.toFixed(1) : "\u2014" })
30804
+ render: (s) => /* @__PURE__ */ jsx116(Tag28, { color: s >= 80 ? "success" : "error", children: typeof s === "number" ? s.toFixed(1) : "\u2014" })
30751
30805
  }
30752
30806
  ]
30753
30807
  }
@@ -30758,7 +30812,7 @@ var EvalRunResults = ({ runId, onBack }) => {
30758
30812
 
30759
30813
  // src/components/Eval/EvalPanel.tsx
30760
30814
  import { jsx as jsx117, jsxs as jsxs85 } from "react/jsx-runtime";
30761
- var { Text: Text48, Title: Title15, Paragraph: Paragraph3 } = Typography59;
30815
+ var { Text: Text48, Title: Title16, Paragraph: Paragraph3 } = Typography59;
30762
30816
  var useStyle16 = createStyles34(({ token, css }) => ({
30763
30817
  shell: css`
30764
30818
  display: flex;
@@ -31078,17 +31132,17 @@ var EvalPanel = () => {
31078
31132
  /* @__PURE__ */ jsx117(Text48, { type: "danger", children: r.failedCases }),
31079
31133
  /* @__PURE__ */ jsx117(Text48, { type: "secondary", children: " failed" })
31080
31134
  ] }),
31081
- passRate !== null && /* @__PURE__ */ jsxs85(Tag28, { color: passRate >= 80 ? "success" : passRate >= 50 ? "warning" : "error", children: [
31135
+ passRate !== null && /* @__PURE__ */ jsxs85(Tag29, { color: passRate >= 80 ? "success" : passRate >= 50 ? "warning" : "error", children: [
31082
31136
  passRate,
31083
31137
  "%"
31084
31138
  ] })
31085
31139
  ] }),
31086
31140
  /* @__PURE__ */ jsxs85("div", { className: styles.runRowRight, style: { gap: 16 }, children: [
31087
31141
  durationMs !== null && /* @__PURE__ */ jsx117(Text48, { type: "secondary", style: { fontSize: 12 }, children: fmtDuration(durationMs) }),
31088
- /* @__PURE__ */ jsx117(Tag28, { color: meta.color, style: { margin: 0 }, children: meta.label }),
31142
+ /* @__PURE__ */ jsx117(Tag29, { color: meta.color, style: { margin: 0 }, children: meta.label }),
31089
31143
  /* @__PURE__ */ jsx117(Text48, { strong: true, style: { fontSize: 15, minWidth: 40, textAlign: "right" }, children: typeof r.avgScore === "number" ? r.avgScore.toFixed(1) : "\u2014" }),
31090
31144
  /* @__PURE__ */ jsx117(
31091
- Popconfirm10,
31145
+ Popconfirm11,
31092
31146
  {
31093
31147
  title: "Delete this run?",
31094
31148
  description: "Run results will be permanently deleted.",
@@ -31189,7 +31243,7 @@ var EvalPanel = () => {
31189
31243
  };
31190
31244
 
31191
31245
  // src/components/Chat/PersonalAssistantPage.tsx
31192
- import { useEffect as useEffect51, useState as useState77, useCallback as useCallback40, useRef as useRef28 } from "react";
31246
+ import { useEffect as useEffect52, useState as useState77, useCallback as useCallback40, useRef as useRef28 } from "react";
31193
31247
  import { Card as Card29, Button as Button57, Input as Input18, Typography as Typography61, message as message20, Dropdown as Dropdown3, Modal as Modal21 } from "antd";
31194
31248
  import { createStyles as createStyles36 } from "antd-style";
31195
31249
  import { Bot as Bot4, Sparkles as Sparkles3, ArrowRight as ArrowRight4, ArrowLeft as ArrowLeft3, Smile, Zap, Heart, Lightbulb, Edit3, MoreHorizontal, MessagesSquare as MessagesSquare2, Trash2 as Trash29 } from "lucide-react";
@@ -31205,13 +31259,13 @@ var LatticeAgentWorkspace = ({
31205
31259
  }) => /* @__PURE__ */ jsx118(WorkspaceContextProvider, { workspaceId, projectId, children: /* @__PURE__ */ jsx118(AssistantContextProvider, { autoLoad: true, initialAssistantId: assistant_id, children: /* @__PURE__ */ jsx118(LatticeChat, { showProjectSelector: false, assistant_id, ...chatProps }) }) });
31206
31260
 
31207
31261
  // src/components/Chat/PersonalAssistantChannelModal.tsx
31208
- import { useEffect as useEffect50, useState as useState76, useCallback as useCallback39, useMemo as useMemo32, useRef as useRef27 } from "react";
31262
+ import { useEffect as useEffect51, useState as useState76, useCallback as useCallback39, useMemo as useMemo32, useRef as useRef27 } from "react";
31209
31263
  import {
31210
31264
  Button as Button56,
31211
31265
  Form as Form9,
31212
31266
  Input as Input17,
31213
31267
  Modal as Modal20,
31214
- Popconfirm as Popconfirm11,
31268
+ Popconfirm as Popconfirm12,
31215
31269
  Spin as Spin20,
31216
31270
  Switch as Switch4,
31217
31271
  Typography as Typography60,
@@ -31532,7 +31586,7 @@ var PersonalAssistantChannelModal = ({
31532
31586
  message19.error("Failed to check QR status");
31533
31587
  }
31534
31588
  }, [get, clearQrCountdown, form]);
31535
- useEffect50(() => {
31589
+ useEffect51(() => {
31536
31590
  return () => {
31537
31591
  if (qrCountdownRef.current) clearInterval(qrCountdownRef.current);
31538
31592
  };
@@ -31568,7 +31622,7 @@ var PersonalAssistantChannelModal = ({
31568
31622
  setBindingsLoading(false);
31569
31623
  }
31570
31624
  }, [get]);
31571
- useEffect50(() => {
31625
+ useEffect51(() => {
31572
31626
  if (open) {
31573
31627
  loadInstallations();
31574
31628
  resetState();
@@ -32090,7 +32144,7 @@ var PersonalAssistantChannelModal = ({
32090
32144
  const isEdit = formMode === "edit" && selectedId !== null;
32091
32145
  return /* @__PURE__ */ jsxs86("div", { className: styles.footer, children: [
32092
32146
  /* @__PURE__ */ jsx119("div", { children: isEdit && /* @__PURE__ */ jsx119(
32093
- Popconfirm11,
32147
+ Popconfirm12,
32094
32148
  {
32095
32149
  title: "Remove this channel?",
32096
32150
  description: "All bindings for this installation will also be lost.",
@@ -32132,7 +32186,7 @@ var PersonalAssistantChannelModal = ({
32132
32186
 
32133
32187
  // src/components/Chat/PersonalAssistantPage.tsx
32134
32188
  import { Fragment as Fragment24, jsx as jsx120, jsxs as jsxs87 } from "react/jsx-runtime";
32135
- var { Title: Title16, Text: Text50, Paragraph: Paragraph4 } = Typography61;
32189
+ var { Title: Title17, Text: Text50, Paragraph: Paragraph4 } = Typography61;
32136
32190
  var useStyles20 = createStyles36(({ css, token }) => ({
32137
32191
  container: css` display: flex; flex-direction: column; height: 100%; padding: 24px; overflow-y: auto; `,
32138
32192
  setupWrap: css` max-width: 520px; margin: 30px auto 0; `,
@@ -32235,7 +32289,7 @@ var PersonalAssistantPage = () => {
32235
32289
  return created.data.id;
32236
32290
  }, [get, post, workspaceId, projectId]);
32237
32291
  const lastDate = useRef28("");
32238
- useEffect51(() => {
32292
+ useEffect52(() => {
32239
32293
  if (!assistantId) return;
32240
32294
  let timer;
32241
32295
  const enter = () => {
@@ -32342,7 +32396,7 @@ var PersonalAssistantPage = () => {
32342
32396
  /* @__PURE__ */ jsx120("div", { className: styles.stepIndicator, children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx120("div", { className: `${styles.stepDot} ${i === step ? styles.stepDotActive : i < step ? styles.stepDotDone : styles.stepDotPending}` }, i)) }),
32343
32397
  step === 0 && /* @__PURE__ */ jsxs87(Card29, { className: styles.card, children: [
32344
32398
  /* @__PURE__ */ jsx120("div", { className: styles.avatar, children: /* @__PURE__ */ jsx120(Sparkles3, { size: 26 }) }),
32345
- /* @__PURE__ */ jsx120(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What would you like to call them?" }),
32399
+ /* @__PURE__ */ jsx120(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What would you like to call them?" }),
32346
32400
  /* @__PURE__ */ jsx120(Paragraph4, { type: "secondary", style: { textAlign: "center", margin: "0 0 24px" }, children: "This is the name you'll use every day \u2014 your go-to nickname for your AI sidekick." }),
32347
32401
  /* @__PURE__ */ jsx120(
32348
32402
  Input18,
@@ -32360,7 +32414,7 @@ var PersonalAssistantPage = () => {
32360
32414
  ] }),
32361
32415
  step === 1 && /* @__PURE__ */ jsxs87(Card29, { className: styles.card, children: [
32362
32416
  /* @__PURE__ */ jsx120("div", { className: styles.avatar, children: /* @__PURE__ */ jsx120(Smile, { size: 26 }) }),
32363
- /* @__PURE__ */ jsx120(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What's their vibe?" }),
32417
+ /* @__PURE__ */ jsx120(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What's their vibe?" }),
32364
32418
  /* @__PURE__ */ jsx120(Paragraph4, { type: "secondary", style: { textAlign: "center", margin: "0 0 20px" }, children: "Pick the personality that feels right. This shapes how they talk and support you." }),
32365
32419
  /* @__PURE__ */ jsx120("div", { className: styles.personalityGrid, children: PERSONALITIES.map((p) => /* @__PURE__ */ jsxs87(
32366
32420
  "div",
@@ -32398,7 +32452,7 @@ var PersonalAssistantPage = () => {
32398
32452
  ] }),
32399
32453
  step === 2 && /* @__PURE__ */ jsxs87(Card29, { className: styles.card, children: [
32400
32454
  /* @__PURE__ */ jsx120("div", { className: styles.avatar, children: /* @__PURE__ */ jsx120(Bot4, { size: 26 }) }),
32401
- /* @__PURE__ */ jsx120(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "Almost ready!" }),
32455
+ /* @__PURE__ */ jsx120(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "Almost ready!" }),
32402
32456
  /* @__PURE__ */ jsx120(Paragraph4, { type: "secondary", style: { textAlign: "center", margin: "0 0 24px" }, children: "Your assistant will have private memory and learn about you over time." }),
32403
32457
  /* @__PURE__ */ jsxs87(Card29, { size: "small", style: { background: "#fafafa", borderRadius: 12, marginBottom: 20 }, children: [
32404
32458
  /* @__PURE__ */ jsx120(Text50, { type: "secondary", style: { fontSize: 12, textTransform: "uppercase", letterSpacing: 1 }, children: "Name" }),
@@ -32575,15 +32629,14 @@ var CustomMenuPage = ({ component_key }) => {
32575
32629
  };
32576
32630
 
32577
32631
  // src/components/Chat/SharesPage.tsx
32578
- import { useEffect as useEffect52, useState as useState78 } from "react";
32579
- import { Table as Table5, Button as Button58, Dropdown as Dropdown4, message as message21, Modal as Modal22, Tag as Tag29, Typography as Typography62 } from "antd";
32580
- import { CopyOutlined as CopyOutlined4, StopOutlined as StopOutlined2, EditOutlined, MoreOutlined as MoreOutlined3 } from "@ant-design/icons";
32632
+ import { useEffect as useEffect53, useState as useState78 } from "react";
32633
+ import { Table as Table5, Button as Button58, Dropdown as Dropdown4, message as message21, Modal as Modal22, Tag as Tag30, Typography as Typography62 } from "antd";
32634
+ import { CopyOutlined as CopyOutlined4, StopOutlined as StopOutlined3, MoreOutlined as MoreOutlined3 } from "@ant-design/icons";
32581
32635
  import { jsx as jsx123, jsxs as jsxs89 } from "react/jsx-runtime";
32582
32636
  var { Text: Text51 } = Typography62;
32583
32637
  var SharesPage = ({ client }) => {
32584
32638
  const [shares, setShares] = useState78([]);
32585
32639
  const [loading, setLoading] = useState78(true);
32586
- const [editingShare, setEditingShare] = useState78(null);
32587
32640
  const loadShares = async () => {
32588
32641
  setLoading(true);
32589
32642
  try {
@@ -32594,7 +32647,7 @@ var SharesPage = ({ client }) => {
32594
32647
  }
32595
32648
  setLoading(false);
32596
32649
  };
32597
- useEffect52(() => {
32650
+ useEffect53(() => {
32598
32651
  loadShares();
32599
32652
  }, []);
32600
32653
  const handleCopy = (record) => {
@@ -32639,9 +32692,9 @@ ${pwdText}`.trim());
32639
32692
  title: "Status",
32640
32693
  key: "status",
32641
32694
  render: (_, r) => {
32642
- if (r.revoked) return /* @__PURE__ */ jsx123(Tag29, { color: "red", children: "Revoked" });
32643
- if (r.expiresAt && new Date(r.expiresAt) < /* @__PURE__ */ new Date()) return /* @__PURE__ */ jsx123(Tag29, { color: "orange", children: "Expired" });
32644
- return /* @__PURE__ */ jsx123(Tag29, { color: "green", children: "Active" });
32695
+ if (r.revoked) return /* @__PURE__ */ jsx123(Tag30, { color: "red", children: "Revoked" });
32696
+ if (r.expiresAt && new Date(r.expiresAt) < /* @__PURE__ */ new Date()) return /* @__PURE__ */ jsx123(Tag30, { color: "orange", children: "Expired" });
32697
+ return /* @__PURE__ */ jsx123(Tag30, { color: "green", children: "Active" });
32645
32698
  }
32646
32699
  },
32647
32700
  {
@@ -32661,21 +32714,9 @@ ${pwdText}`.trim());
32661
32714
  onClick: () => handleCopy(r)
32662
32715
  },
32663
32716
  ...r.revoked ? [] : [
32664
- {
32665
- key: "edit",
32666
- icon: /* @__PURE__ */ jsx123(EditOutlined, {}),
32667
- label: "Edit",
32668
- onClick: () => setEditingShare({
32669
- token: r.token,
32670
- path: r.address.resourcePath,
32671
- assistantId: r.assistantId ?? void 0,
32672
- visibility: r.visibility,
32673
- title: r.title ?? void 0
32674
- })
32675
- },
32676
32717
  {
32677
32718
  key: "revoke",
32678
- icon: /* @__PURE__ */ jsx123(StopOutlined2, {}),
32719
+ icon: /* @__PURE__ */ jsx123(StopOutlined3, {}),
32679
32720
  label: "Revoke",
32680
32721
  danger: true,
32681
32722
  onClick: () => handleRevoke(r.token)
@@ -32686,20 +32727,7 @@ ${pwdText}`.trim());
32686
32727
  ];
32687
32728
  return /* @__PURE__ */ jsxs89("div", { style: { padding: 24 }, children: [
32688
32729
  /* @__PURE__ */ jsx123(Typography62.Title, { level: 4, children: "My Shares" }),
32689
- /* @__PURE__ */ jsx123(Table5, { dataSource: shares, columns, rowKey: "token", loading, pagination: { pageSize: 20 } }),
32690
- editingShare && /* @__PURE__ */ jsx123(
32691
- ShareModal,
32692
- {
32693
- open: true,
32694
- filePath: editingShare.path,
32695
- assistantId: editingShare.assistantId,
32696
- existingToken: editingShare.token,
32697
- existingVisibility: editingShare.visibility,
32698
- existingTitle: editingShare.title,
32699
- onClose: () => setEditingShare(null),
32700
- onUpdated: () => loadShares()
32701
- }
32702
- )
32730
+ /* @__PURE__ */ jsx123(Table5, { dataSource: shares, columns, rowKey: "token", loading, pagination: { pageSize: 20 } })
32703
32731
  ] });
32704
32732
  };
32705
32733
 
@@ -32711,7 +32739,7 @@ import {
32711
32739
  } from "@ant-design/icons";
32712
32740
  import { Dropdown as Dropdown5, Tooltip as Tooltip25 } from "antd";
32713
32741
  import { createStyles as createStyles37 } from "antd-style";
32714
- import { useEffect as useEffect53, useMemo as useMemo34, useState as useState79 } from "react";
32742
+ import { useEffect as useEffect54, useMemo as useMemo34, useState as useState79 } from "react";
32715
32743
  import { Fragment as Fragment25, jsx as jsx124, jsxs as jsxs90 } from "react/jsx-runtime";
32716
32744
  var useStyle17 = createStyles37(({ token, css }) => {
32717
32745
  return {
@@ -32943,7 +32971,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
32943
32971
  const switchTab = (key) => {
32944
32972
  setActiveKey(key);
32945
32973
  };
32946
- useEffect53(() => {
32974
+ useEffect54(() => {
32947
32975
  if (!selectedCard) return;
32948
32976
  const key = JSON.stringify(selectedCard);
32949
32977
  if (items.find((item) => item.key === key)) {
@@ -33183,7 +33211,7 @@ var WorkspaceResourceManager = ({
33183
33211
  const { openContentApp, menuCollapsed, setMenuCollapsed } = useChatUIContext();
33184
33212
  const hasOpenedDefault = useRef29(false);
33185
33213
  const hasRegistered = useRef29(false);
33186
- useEffect54(() => {
33214
+ useEffect55(() => {
33187
33215
  if (!hasRegistered.current) {
33188
33216
  hasRegistered.current = true;
33189
33217
  regsiterElement("workspace_projects", {
@@ -33254,7 +33282,7 @@ var WorkspaceResourceManager = ({
33254
33282
  const [tenantModalOpen, setTenantModalOpen] = useState80(false);
33255
33283
  const [changePasswordOpen, setChangePasswordOpen] = useState80(false);
33256
33284
  const [fetchedCustomMenuItems, setFetchedCustomMenuItems] = useState80([]);
33257
- useEffect54(() => {
33285
+ useEffect55(() => {
33258
33286
  const fetchCustomMenu = async () => {
33259
33287
  try {
33260
33288
  const json = await get("/api/menu-items?menuTarget=workspace");
@@ -33267,7 +33295,7 @@ var WorkspaceResourceManager = ({
33267
33295
  };
33268
33296
  fetchCustomMenu();
33269
33297
  }, [get]);
33270
- useEffect54(() => {
33298
+ useEffect55(() => {
33271
33299
  for (const item of fetchedCustomMenuItems) {
33272
33300
  regsiterElement(item.id, {
33273
33301
  card_view: () => null,
@@ -33312,7 +33340,7 @@ var WorkspaceResourceManager = ({
33312
33340
  });
33313
33341
  }
33314
33342
  };
33315
- useEffect54(() => {
33343
+ useEffect55(() => {
33316
33344
  if (!hasOpenedDefault.current && menuItems.length > 0) {
33317
33345
  hasOpenedDefault.current = true;
33318
33346
  const firstRoute = menuItems.find((item) => item.type === "route");
@@ -33536,7 +33564,7 @@ var WorkspaceContextProvider = ({
33536
33564
  Client3.setWorkspaceContext(wsId || void 0, pjId || void 0);
33537
33565
  }
33538
33566
  }, []);
33539
- useEffect55(() => {
33567
+ useEffect56(() => {
33540
33568
  Client3.setWorkspaceContext(workspaceId || void 0, projectId || void 0);
33541
33569
  }, [workspaceId, projectId]);
33542
33570
  const [workspaces, setWorkspaces] = useState81([]);
@@ -33563,7 +33591,7 @@ var WorkspaceContextProvider = ({
33563
33591
  setWorkspaces([]);
33564
33592
  resetSelectedWorkspace();
33565
33593
  }, [resetSelectedWorkspace, setWorkspaces]);
33566
- useEffect55(() => {
33594
+ useEffect56(() => {
33567
33595
  resetWS();
33568
33596
  refreshWorkspaces();
33569
33597
  }, [tenantId]);
@@ -33596,29 +33624,29 @@ var WorkspaceContextProvider = ({
33596
33624
  setLoading(false);
33597
33625
  }
33598
33626
  }, [client, workspaceId]);
33599
- useEffect55(() => {
33627
+ useEffect56(() => {
33600
33628
  if (workspaceId && typeof window !== "undefined") {
33601
33629
  sessionStorage.setItem("workspaceId", workspaceId);
33602
33630
  }
33603
33631
  }, [workspaceId]);
33604
- useEffect55(() => {
33632
+ useEffect56(() => {
33605
33633
  if (projectId && typeof window !== "undefined") {
33606
33634
  sessionStorage.setItem("projectId", projectId);
33607
33635
  }
33608
33636
  }, [projectId]);
33609
- useEffect55(() => {
33637
+ useEffect56(() => {
33610
33638
  refreshWorkspaces().catch((err) => {
33611
33639
  console.warn("Failed to load workspaces:", err);
33612
33640
  });
33613
33641
  }, [refreshWorkspaces]);
33614
- useEffect55(() => {
33642
+ useEffect56(() => {
33615
33643
  if (workspaces.length > 0 && !workspaceId) {
33616
33644
  const firstWorkspace = workspaces[0];
33617
33645
  setWorkspaceId(firstWorkspace.id);
33618
33646
  }
33619
33647
  }, [workspaces, workspaceId]);
33620
33648
  const prevWorkspaceId = useRef30(workspaceId);
33621
- useEffect55(() => {
33649
+ useEffect56(() => {
33622
33650
  if (workspaceId) {
33623
33651
  refreshProjects(workspaceId);
33624
33652
  } else {
@@ -33807,6 +33835,18 @@ var WorkspaceContextProvider = ({
33807
33835
  },
33808
33836
  [client, workspaceId, projectId]
33809
33837
  );
33838
+ const listShares = useCallback41(
33839
+ async () => {
33840
+ return client.resources.listShares();
33841
+ },
33842
+ [client]
33843
+ );
33844
+ const unshareFile = useCallback41(
33845
+ async (token) => {
33846
+ await client.resources.unshare(token);
33847
+ },
33848
+ [client]
33849
+ );
33810
33850
  const value = {
33811
33851
  workspaceId,
33812
33852
  projectId,
@@ -33829,7 +33869,9 @@ var WorkspaceContextProvider = ({
33829
33869
  uploadFile,
33830
33870
  uploadFileToFolder,
33831
33871
  getFileViewUrl,
33832
- shareFile
33872
+ shareFile,
33873
+ listShares,
33874
+ unshareFile
33833
33875
  };
33834
33876
  const currentWorkspace = workspaces.find((w) => w.id === workspaceId);
33835
33877
  const workspaceName = currentWorkspace?.name;
@@ -33907,7 +33949,7 @@ var PinToMenuButton = ({
33907
33949
  setChecking(false);
33908
33950
  }
33909
33951
  }, [hasTarget, config.enableCustomMenu, get, contentType, assistantId, isMatch]);
33910
- useEffect56(() => {
33952
+ useEffect57(() => {
33911
33953
  checkPinned();
33912
33954
  }, [checkPinned]);
33913
33955
  if (!hasTarget || !config.enableCustomMenu) return null;
@@ -34446,7 +34488,7 @@ var ProjectSelector = ({
34446
34488
  };
34447
34489
 
34448
34490
  // src/components/Chat/ToolPanelFiles.tsx
34449
- import { useCallback as useCallback44, useEffect as useEffect57, useMemo as useMemo37, useState as useState85 } from "react";
34491
+ import { useCallback as useCallback44, useEffect as useEffect58, useMemo as useMemo37, useState as useState85 } from "react";
34450
34492
  import { message as message24 } from "antd";
34451
34493
 
34452
34494
  // src/components/Chat/FileDirectoryPanel.tsx
@@ -34942,7 +34984,7 @@ var ToolPanelFiles = () => {
34942
34984
  setDirectoryLoading((prev) => ({ ...prev, [path]: false }));
34943
34985
  }
34944
34986
  }, [directoryExpanded, listPath, currentAssistant?.id]);
34945
- useEffect57(() => {
34987
+ useEffect58(() => {
34946
34988
  resourceFolders.forEach((folder) => {
34947
34989
  void loadAssetsForFolder(folder, false);
34948
34990
  });
@@ -35587,7 +35629,7 @@ var LatticeChatView = (props) => {
35587
35629
  };
35588
35630
 
35589
35631
  // src/components/Chat/SettingsModal.tsx
35590
- import { useState as useState87, useEffect as useEffect58, useRef as useRef32 } from "react";
35632
+ import { useState as useState87, useEffect as useEffect59, useRef as useRef32 } from "react";
35591
35633
  import {
35592
35634
  Modal as Modal27,
35593
35635
  Input as Input21,
@@ -35610,12 +35652,12 @@ import {
35610
35652
  LinkOutlined as LinkOutlined6,
35611
35653
  CheckCircleFilled,
35612
35654
  CloseCircleFilled,
35613
- PlusOutlined as PlusOutlined9,
35655
+ PlusOutlined as PlusOutlined10,
35614
35656
  CloudServerOutlined
35615
35657
  } from "@ant-design/icons";
35616
35658
  import { createStyles as createStyles42 } from "antd-style";
35617
35659
  import { Fragment as Fragment31, jsx as jsx135, jsxs as jsxs98 } from "react/jsx-runtime";
35618
- var { Text: Text52, Title: Title17 } = Typography63;
35660
+ var { Text: Text52, Title: Title18 } = Typography63;
35619
35661
  var { TextArea: TextArea9 } = Input21;
35620
35662
  var useStyles25 = createStyles42(({ token, css }) => ({
35621
35663
  // settingsModal: css`
@@ -36001,7 +36043,7 @@ var SettingsModal = ({
36001
36043
  });
36002
36044
  const [serverConfigs, setServerConfigs] = useState87({});
36003
36045
  const connectionsRef = useRef32(connections);
36004
- useEffect58(() => {
36046
+ useEffect59(() => {
36005
36047
  connectionsRef.current = connections;
36006
36048
  }, [connections]);
36007
36049
  const [activeTabKey, setActiveTabKey] = useState87(
@@ -36203,7 +36245,7 @@ var SettingsModal = ({
36203
36245
  console.error("Failed to load models configuration:", error);
36204
36246
  }
36205
36247
  };
36206
- useEffect58(() => {
36248
+ useEffect59(() => {
36207
36249
  if (open && activeTabKey) {
36208
36250
  initializeServerConfig(activeTabKey);
36209
36251
  const connection = connections.find((c) => c.id === activeTabKey);
@@ -36212,7 +36254,7 @@ var SettingsModal = ({
36212
36254
  }
36213
36255
  }
36214
36256
  }, [open, activeTabKey]);
36215
- useEffect58(() => {
36257
+ useEffect59(() => {
36216
36258
  if (open && activeTabKey) {
36217
36259
  const connection = connections.find((c) => c.id === activeTabKey);
36218
36260
  if (connection?.connected) {
@@ -36769,7 +36811,7 @@ QUEUE_NAME=tasks`,
36769
36811
  /* @__PURE__ */ jsxs98("div", { className: styles.content, children: [
36770
36812
  /* @__PURE__ */ jsxs98("div", { className: styles.contentHeader, children: [
36771
36813
  /* @__PURE__ */ jsxs98("div", { className: styles.contentHeaderLeft, children: [
36772
- /* @__PURE__ */ jsx135(Title17, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
36814
+ /* @__PURE__ */ jsx135(Title18, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
36773
36815
  /* @__PURE__ */ jsxs98(Text52, { className: styles.contentDescription, children: [
36774
36816
  activeMenu === "environment" && "Manage environment variables for the gateway server",
36775
36817
  activeMenu === "models" && "Configure and register model lattices for use by agents"
@@ -36805,14 +36847,14 @@ QUEUE_NAME=tasks`,
36805
36847
  },
36806
36848
  children: connection.connecting ? /* @__PURE__ */ jsxs98(Fragment31, { children: [
36807
36849
  /* @__PURE__ */ jsx135(LinkOutlined6, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
36808
- /* @__PURE__ */ jsx135(Title17, { level: 4, children: "Connecting..." }),
36850
+ /* @__PURE__ */ jsx135(Title18, { level: 4, children: "Connecting..." }),
36809
36851
  /* @__PURE__ */ jsxs98(Text52, { type: "secondary", style: { textAlign: "center" }, children: [
36810
36852
  "Connecting to ",
36811
36853
  connection.url
36812
36854
  ] })
36813
36855
  ] }) : /* @__PURE__ */ jsxs98(Fragment31, { children: [
36814
36856
  /* @__PURE__ */ jsx135(LinkOutlined6, { style: { fontSize: 64, color: "#d9d9d9" } }),
36815
- /* @__PURE__ */ jsx135(Title17, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
36857
+ /* @__PURE__ */ jsx135(Title18, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
36816
36858
  /* @__PURE__ */ jsx135(
36817
36859
  Text52,
36818
36860
  {
@@ -36871,7 +36913,7 @@ QUEUE_NAME=tasks`,
36871
36913
  padding: "4px 8px"
36872
36914
  },
36873
36915
  children: [
36874
- /* @__PURE__ */ jsx135(PlusOutlined9, {}),
36916
+ /* @__PURE__ */ jsx135(PlusOutlined10, {}),
36875
36917
  /* @__PURE__ */ jsx135("span", { children: "Add Server" })
36876
36918
  ]
36877
36919
  }
@@ -36992,22 +37034,22 @@ var LatticeChatShell = (props) => {
36992
37034
  };
36993
37035
 
36994
37036
  // src/components/Chat/ChannelInstallationsDrawerContent.tsx
36995
- import { useEffect as useEffect59, useState as useState88 } from "react";
37037
+ import { useEffect as useEffect60, useState as useState88 } from "react";
36996
37038
  import {
36997
37039
  Button as Button65,
36998
37040
  Card as Card30,
36999
37041
  Form as Form10,
37000
37042
  Input as Input22,
37001
37043
  Modal as Modal28,
37002
- Popconfirm as Popconfirm13,
37044
+ Popconfirm as Popconfirm14,
37003
37045
  Spin as Spin24,
37004
- Tag as Tag31,
37046
+ Tag as Tag32,
37005
37047
  Typography as Typography64,
37006
37048
  message as message27
37007
37049
  } from "antd";
37008
37050
  import { Edit2 as Edit24, Plus as Plus10, RadioTower, Trash2 as Trash211 } from "lucide-react";
37009
37051
  import { jsx as jsx138, jsxs as jsxs100 } from "react/jsx-runtime";
37010
- var { Text: Text53, Title: Title18 } = Typography64;
37052
+ var { Text: Text53, Title: Title19 } = Typography64;
37011
37053
  var ChannelInstallationsDrawerContent = () => {
37012
37054
  const { get, post, put, del } = useApi();
37013
37055
  const [installations, setInstallations] = useState88([]);
@@ -37034,7 +37076,7 @@ var ChannelInstallationsDrawerContent = () => {
37034
37076
  setLoading(false);
37035
37077
  }
37036
37078
  };
37037
- useEffect59(() => {
37079
+ useEffect60(() => {
37038
37080
  loadInstallations();
37039
37081
  }, []);
37040
37082
  const handleDelete = async (installation) => {
@@ -37065,7 +37107,7 @@ var ChannelInstallationsDrawerContent = () => {
37065
37107
  alignItems: "center"
37066
37108
  },
37067
37109
  children: [
37068
- /* @__PURE__ */ jsx138(Title18, { level: 5, style: { margin: 0 }, children: "Channel Installations" }),
37110
+ /* @__PURE__ */ jsx138(Title19, { level: 5, style: { margin: 0 }, children: "Channel Installations" }),
37069
37111
  /* @__PURE__ */ jsx138(
37070
37112
  Button65,
37071
37113
  {
@@ -37111,7 +37153,7 @@ var ChannelInstallationsDrawerContent = () => {
37111
37153
  },
37112
37154
  children: [
37113
37155
  /* @__PURE__ */ jsx138(Text53, { strong: true, style: { fontSize: 15 }, children: installation.name || installation.id }),
37114
- /* @__PURE__ */ jsx138(Tag31, { color: "blue", children: installation.channel })
37156
+ /* @__PURE__ */ jsx138(Tag32, { color: "blue", children: installation.channel })
37115
37157
  ]
37116
37158
  }
37117
37159
  ),
@@ -37146,7 +37188,7 @@ var ChannelInstallationsDrawerContent = () => {
37146
37188
  }
37147
37189
  ),
37148
37190
  /* @__PURE__ */ jsx138(
37149
- Popconfirm13,
37191
+ Popconfirm14,
37150
37192
  {
37151
37193
  title: "Delete Channel Installation",
37152
37194
  description: `Are you sure you want to delete "${installation.name || installation.id}"?`,
@@ -37182,7 +37224,7 @@ var ChannelInstallationsDrawerContent = () => {
37182
37224
  };
37183
37225
  var LarkChannelInstallationFormModal = ({ installation, open, post, put, onCancel, onSave }) => {
37184
37226
  const [form] = Form10.useForm();
37185
- useEffect59(() => {
37227
+ useEffect60(() => {
37186
37228
  if (installation) {
37187
37229
  const config = installation.config;
37188
37230
  form.setFieldsValue({