@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.js CHANGED
@@ -15663,7 +15663,7 @@ var import_react51 = require("react");
15663
15663
  var import_antd34 = require("antd");
15664
15664
  var import_icons21 = require("@ant-design/icons");
15665
15665
  var import_jsx_runtime46 = require("react/jsx-runtime");
15666
- var { Text: Text20 } = import_antd34.Typography;
15666
+ var { Text: Text20, Title: Title5 } = import_antd34.Typography;
15667
15667
  var EXPIRY_OPTIONS = [
15668
15668
  { label: "Never", value: void 0 },
15669
15669
  { label: "1 hour", value: "1h" },
@@ -15683,34 +15683,60 @@ function expiryToDate(option) {
15683
15683
  const ms = map[option] ?? 0;
15684
15684
  return ms ? new Date(now + ms).toISOString() : void 0;
15685
15685
  }
15686
+ function formatExpiry(d) {
15687
+ if (!d) return "Never";
15688
+ return new Date(d).toLocaleDateString();
15689
+ }
15690
+ function filePathMatch(record, filePath) {
15691
+ const normalizedPath = filePath.replace(/^\/?project\//, "");
15692
+ return record.address.resourcePath === normalizedPath;
15693
+ }
15686
15694
  var ShareModal = ({
15687
15695
  open,
15688
15696
  filePath,
15689
15697
  assistantId,
15690
15698
  fileName,
15691
- existingToken,
15692
- existingVisibility,
15693
- existingTitle,
15694
- onClose,
15695
- onUpdated
15699
+ onClose
15696
15700
  }) => {
15697
- const { shareFile } = useWorkspaceContext();
15701
+ const { shareFile, listShares, unshareFile } = useWorkspaceContext();
15698
15702
  const { config: shellConfig } = useLatticeChatShellContext();
15699
15703
  const baseURL = (shellConfig?.baseURL ?? "").replace(/\/$/, "");
15700
- const isEditMode = !!existingToken;
15701
- const [state, setState] = (0, import_react51.useState)(isEditMode ? "edit" : "creating");
15702
- const [token, setToken] = (0, import_react51.useState)(existingToken ?? "");
15703
- const [url, setUrl] = (0, import_react51.useState)(existingToken ? `/s/${existingToken}` : "");
15704
- const [title, setTitle] = (0, import_react51.useState)(existingTitle ?? fileName ?? "");
15705
- const [visibility, setVisibility] = (0, import_react51.useState)(
15706
- existingVisibility ?? "public"
15707
- );
15704
+ const [view, setView] = (0, import_react51.useState)("list");
15705
+ const [shares, setShares] = (0, import_react51.useState)([]);
15706
+ const [loading, setLoading] = (0, import_react51.useState)(false);
15707
+ const [title, setTitle] = (0, import_react51.useState)(fileName ?? "");
15708
+ const [visibility, setVisibility] = (0, import_react51.useState)("public");
15708
15709
  const [password, setPassword] = (0, import_react51.useState)("");
15709
15710
  const [expiry, setExpiry] = (0, import_react51.useState)(void 0);
15710
15711
  const [maxAccess, setMaxAccess] = (0, import_react51.useState)(void 0);
15711
15712
  const [error, setError] = (0, import_react51.useState)("");
15713
+ const [resultUrl, setResultUrl] = (0, import_react51.useState)("");
15714
+ const [resultPwd, setResultPwd] = (0, import_react51.useState)("");
15715
+ const loadShares = (0, import_react51.useCallback)(async () => {
15716
+ setLoading(true);
15717
+ try {
15718
+ const all = await listShares();
15719
+ setShares(all.filter((r) => filePathMatch(r, filePath) && !r.revoked));
15720
+ } catch {
15721
+ }
15722
+ setLoading(false);
15723
+ }, [listShares, filePath]);
15724
+ (0, import_react51.useEffect)(() => {
15725
+ if (open) {
15726
+ setView("list");
15727
+ loadShares();
15728
+ }
15729
+ }, [open, loadShares]);
15730
+ const handleCreate = (0, import_react51.useCallback)(async () => {
15731
+ setView("create");
15732
+ setTitle(fileName ?? "");
15733
+ setVisibility("public");
15734
+ setPassword("");
15735
+ setExpiry(void 0);
15736
+ setMaxAccess(void 0);
15737
+ setError("");
15738
+ }, [fileName]);
15712
15739
  const handleShare = (0, import_react51.useCallback)(async () => {
15713
- setState("creating");
15714
15740
  setError("");
15715
15741
  try {
15716
15742
  const result = await shareFile(filePath, assistantId, {
@@ -15720,109 +15746,137 @@ var ShareModal = ({
15720
15746
  expiresAt: expiryToDate(expiry),
15721
15747
  maxAccess: maxAccess ?? void 0
15722
15748
  });
15723
- setToken(result.token);
15724
- setUrl(result.url);
15725
- setState("result");
15749
+ setResultUrl(`${baseURL}${result.url}`);
15750
+ setResultPwd(password);
15751
+ setView("result");
15752
+ loadShares();
15726
15753
  } catch (err) {
15727
15754
  setError(err instanceof Error ? err.message : "Failed to create share");
15728
- setState("error");
15755
+ setView("error");
15729
15756
  }
15730
- }, [
15731
- filePath,
15732
- assistantId,
15733
- title,
15734
- visibility,
15735
- password,
15736
- expiry,
15737
- maxAccess,
15738
- shareFile
15739
- ]);
15740
- const handleCopy = (0, import_react51.useCallback)(() => {
15741
- const fullUrl = `${baseURL}${url}`;
15742
- const titleText = title ? `${title}
15743
- ` : "";
15744
- const pwdText = visibility === "password" && password ? `Password: ${password}
15757
+ }, [filePath, assistantId, title, visibility, password, expiry, maxAccess, shareFile, baseURL, loadShares]);
15758
+ const handleCopy = (0, import_react51.useCallback)((fullUrl, shareTitle, pwd, isProtected) => {
15759
+ const titleText = shareTitle ? `${shareTitle}
15745
15760
  ` : "";
15761
+ const pwdText = pwd ? `Password: ${pwd}
15762
+ ` : isProtected ? "Password protected\n" : "";
15746
15763
  navigator.clipboard.writeText(`${titleText}${fullUrl}
15747
15764
  ${pwdText}`.trim());
15748
- import_antd34.message.success("Copied to clipboard");
15749
- }, [url, baseURL, title, visibility, password]);
15750
- const handleOpen = (0, import_react51.useCallback)(() => {
15751
- window.open(`${baseURL}${url}`, "_blank");
15752
- }, [url, baseURL]);
15765
+ import_antd34.message.success("Copied");
15766
+ }, []);
15767
+ const handleRevoke = (0, import_react51.useCallback)(async (token) => {
15768
+ try {
15769
+ await unshareFile(token);
15770
+ import_antd34.message.success("Share revoked");
15771
+ loadShares();
15772
+ } catch {
15773
+ import_antd34.message.error("Failed to revoke");
15774
+ }
15775
+ }, [unshareFile, loadShares]);
15776
+ const handleOpen = (0, import_react51.useCallback)((fullUrl) => {
15777
+ window.open(fullUrl, "_blank");
15778
+ }, []);
15753
15779
  return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
15754
15780
  import_antd34.Modal,
15755
15781
  {
15756
- title: isEditMode ? "Edit Share" : "Share Resource",
15782
+ title: "Share Resource",
15757
15783
  open,
15758
15784
  onCancel: onClose,
15759
15785
  footer: null,
15760
- width: 420,
15786
+ width: 480,
15761
15787
  children: [
15762
- (state === "edit" || state === "creating") && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15788
+ view === "list" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15789
+ shares.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15790
+ import_antd34.List,
15791
+ {
15792
+ loading,
15793
+ dataSource: shares,
15794
+ renderItem: (r) => {
15795
+ const fullUrl = `${baseURL}/s/${r.token}`;
15796
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15797
+ import_antd34.List.Item,
15798
+ {
15799
+ actions: [
15800
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15801
+ import_antd34.Button,
15802
+ {
15803
+ type: "text",
15804
+ size: "small",
15805
+ icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.CopyOutlined, {}),
15806
+ onClick: () => handleCopy(fullUrl, r.title ?? void 0, void 0, r.visibility === "password")
15807
+ },
15808
+ "copy"
15809
+ ),
15810
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15811
+ import_antd34.Button,
15812
+ {
15813
+ type: "text",
15814
+ size: "small",
15815
+ icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.LinkOutlined, {}),
15816
+ onClick: () => handleOpen(fullUrl)
15817
+ },
15818
+ "open"
15819
+ ),
15820
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Popconfirm, { title: "Revoke this share?", onConfirm: () => handleRevoke(r.token), children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "text", size: "small", danger: true, icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.StopOutlined, {}) }) }, "revoke")
15821
+ ],
15822
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15823
+ import_antd34.List.Item.Meta,
15824
+ {
15825
+ title: r.title || fileName || r.address.resourcePath.split("/").pop(),
15826
+ description: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { size: "small", children: [
15827
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Tag, { color: r.visibility === "password" ? "orange" : "green", children: r.visibility === "password" ? "Password" : "Public" }),
15828
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Text20, { type: "secondary", style: { fontSize: 12 }, children: [
15829
+ "Expires: ",
15830
+ formatExpiry(r.expiresAt)
15831
+ ] })
15832
+ ] })
15833
+ }
15834
+ )
15835
+ }
15836
+ );
15837
+ }
15838
+ }
15839
+ ) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { style: { textAlign: "center", padding: "16px 0" }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", children: "No active shares yet" }) }),
15840
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "primary", block: true, icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.PlusOutlined, {}), onClick: handleCreate, children: "Create New Share" })
15841
+ ] }),
15842
+ view === "create" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15763
15843
  /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { children: [
15764
15844
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Title" }),
15765
15845
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Input, { value: title, onChange: (e) => setTitle(e.target.value) })
15766
15846
  ] }),
15767
15847
  /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { children: [
15768
15848
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Visibility" }),
15769
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
15770
- import_antd34.Select,
15771
- {
15772
- value: visibility,
15773
- onChange: setVisibility,
15774
- style: { width: "100%" },
15775
- children: [
15776
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: "public", children: "Public" }),
15777
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: "password", children: "Password" })
15778
- ]
15779
- }
15780
- )
15849
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Select, { value: visibility, onChange: setVisibility, style: { width: "100%" }, children: [
15850
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: "public", children: "Public" }),
15851
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: "password", children: "Password" })
15852
+ ] })
15781
15853
  ] }),
15782
15854
  visibility === "password" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { children: [
15783
15855
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Password" }),
15784
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15785
- import_antd34.Input.Password,
15786
- {
15787
- value: password,
15788
- onChange: (e) => setPassword(e.target.value)
15789
- }
15790
- )
15856
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Input.Password, { value: password, onChange: (e) => setPassword(e.target.value) })
15791
15857
  ] }),
15792
15858
  /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { children: [
15793
15859
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Expires" }),
15794
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15795
- import_antd34.Select,
15796
- {
15797
- value: expiry,
15798
- onChange: setExpiry,
15799
- style: { width: "100%" },
15800
- children: EXPIRY_OPTIONS.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: opt.value, children: opt.label }, opt.label))
15801
- }
15802
- )
15860
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select, { value: expiry, onChange: setExpiry, style: { width: "100%" }, children: EXPIRY_OPTIONS.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Select.Option, { value: opt.value, children: opt.label }, opt.label)) })
15803
15861
  ] }),
15804
15862
  /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { children: [
15805
15863
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "secondary", style: { fontSize: 12 }, children: "Max accesses (empty = unlimited)" }),
15806
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
15807
- import_antd34.InputNumber,
15808
- {
15809
- value: maxAccess,
15810
- onChange: (v) => setMaxAccess(v ?? void 0),
15811
- style: { width: "100%" },
15812
- min: 1
15813
- }
15814
- )
15864
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.InputNumber, { value: maxAccess, onChange: (v) => setMaxAccess(v ?? void 0), style: { width: "100%" }, min: 1 })
15815
15865
  ] }),
15816
- !isEditMode && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "primary", block: true, onClick: handleShare, children: "Create Share" })
15866
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { style: { display: "flex", gap: 8 }, children: [
15867
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { block: true, onClick: () => setView("list"), children: "Back" }),
15868
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "primary", block: true, onClick: handleShare, children: "Create Share" })
15869
+ ] })
15817
15870
  ] }),
15818
- state === "result" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15819
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Input, { value: `${baseURL}${url}`, readOnly: true, style: { fontFamily: "monospace" } }),
15871
+ view === "result" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { direction: "vertical", style: { width: "100%" }, size: "middle", children: [
15872
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Input, { value: resultUrl, readOnly: true, style: { fontFamily: "monospace" } }),
15820
15873
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_antd34.Space, { children: [
15821
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.CopyOutlined, {}), onClick: handleCopy, children: "Copy" }),
15822
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.LinkOutlined, {}), onClick: handleOpen, children: "Open" })
15823
- ] }) })
15874
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.CopyOutlined, {}), onClick: () => handleCopy(resultUrl, title, resultPwd), children: "Copy" }),
15875
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_icons21.LinkOutlined, {}), onClick: () => handleOpen(resultUrl), children: "Open" })
15876
+ ] }) }),
15877
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { block: true, onClick: () => setView("list"), children: "Back to shares" })
15824
15878
  ] }),
15825
- state === "error" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { style: { textAlign: "center", padding: "24px 0" }, children: [
15879
+ view === "error" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { style: { textAlign: "center", padding: "24px 0" }, children: [
15826
15880
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text20, { type: "danger", children: error }),
15827
15881
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("br", {}),
15828
15882
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_antd34.Button, { onClick: handleShare, style: { marginTop: 16 }, children: "Retry" })
@@ -19979,7 +20033,7 @@ var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime"));
19979
20033
  var import_client_sdk6 = require("@axiom-lattice/client-sdk");
19980
20034
  var import_jsx_runtime77 = require("react/jsx-runtime");
19981
20035
  import_dayjs2.default.extend(import_relativeTime.default);
19982
- var { Text: Text27, Title: Title5 } = import_antd61.Typography;
20036
+ var { Text: Text27, Title: Title6 } = import_antd61.Typography;
19983
20037
  var useStyles7 = (0, import_antd_style19.createStyles)(({ token, css }) => ({
19984
20038
  container: css`
19985
20039
  height: 100%;
@@ -20293,7 +20347,7 @@ var ScheduleViewer = ({ data }) => {
20293
20347
  };
20294
20348
  return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: styles.container, children: [
20295
20349
  /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: styles.header, children: [
20296
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
20350
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Title6, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
20297
20351
  /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_antd61.Tooltip, { title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
20298
20352
  import_antd61.Button,
20299
20353
  {
@@ -20959,7 +21013,7 @@ function useTeamWorkspaceData(threadId, assistantId) {
20959
21013
 
20960
21014
  // src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
20961
21015
  var import_jsx_runtime82 = require("react/jsx-runtime");
20962
- var { Title: Title6, Text: Text31 } = import_antd66.Typography;
21016
+ var { Title: Title7, Text: Text31 } = import_antd66.Typography;
20963
21017
  var useStyles9 = (0, import_antd_style21.createStyles)(({ token, css }) => ({
20964
21018
  container: css`
20965
21019
  padding: ${token.paddingLG}px;
@@ -21230,7 +21284,7 @@ var TeamDashboard = ({
21230
21284
  const { styles } = useStyles9();
21231
21285
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: styles.container, children: [
21232
21286
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: styles.header, children: [
21233
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
21287
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Title7, { level: 3, className: styles.title, children: "Team Dashboard" }),
21234
21288
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(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" })
21235
21289
  ] }),
21236
21290
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_antd66.Row, { gutter: [16, 16], className: styles.statsRow, children: [
@@ -21319,7 +21373,7 @@ var import_antd67 = require("antd");
21319
21373
  var import_antd_style22 = require("antd-style");
21320
21374
  var import_lucide_react22 = require("lucide-react");
21321
21375
  var import_jsx_runtime83 = require("react/jsx-runtime");
21322
- var { Title: Title7, Text: Text32, Paragraph } = import_antd67.Typography;
21376
+ var { Title: Title8, Text: Text32, Paragraph } = import_antd67.Typography;
21323
21377
  var useStyles10 = (0, import_antd_style22.createStyles)(({ token, css }) => ({
21324
21378
  modalContent: css`
21325
21379
  padding: 0;
@@ -21781,7 +21835,7 @@ var TaskDetailModal = ({
21781
21835
  ),
21782
21836
  /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Text32, { className: styles.taskId, children: task.id })
21783
21837
  ] }),
21784
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Title7, { level: 3, className: styles.title, children: task.title }),
21838
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Title8, { level: 3, className: styles.title, children: task.title }),
21785
21839
  task.description && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: styles.description, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Paragraph, { style: { margin: 0 }, children: task.description }) }),
21786
21840
  /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: styles.metaSection, children: [
21787
21841
  /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: styles.metaItem, children: [
@@ -21854,7 +21908,7 @@ var TaskDetailModal = ({
21854
21908
 
21855
21909
  // src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
21856
21910
  var import_jsx_runtime84 = require("react/jsx-runtime");
21857
- var { Title: Title8, Text: Text33 } = import_antd68.Typography;
21911
+ var { Title: Title9, Text: Text33 } = import_antd68.Typography;
21858
21912
  var getInitials4 = (name) => {
21859
21913
  return name.split(/[\s_-]/).map((n) => n.charAt(0)).join("").toUpperCase().slice(0, 2);
21860
21914
  };
@@ -22334,7 +22388,7 @@ var IssuesView = ({
22334
22388
  return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: styles.container, children: [
22335
22389
  /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: styles.header, children: [
22336
22390
  /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
22337
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Title8, { level: 3, className: styles.title, children: "Issues" }),
22391
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Title9, { level: 3, className: styles.title, children: "Issues" }),
22338
22392
  /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(Text33, { type: "secondary", children: [
22339
22393
  tasks?.length || 0,
22340
22394
  " tasks \u2022 Team: ",
@@ -22379,7 +22433,7 @@ var import_style3 = require("@xyflow/react/dist/style.css");
22379
22433
  var import_antd69 = require("antd");
22380
22434
  var import_antd_style24 = require("antd-style");
22381
22435
  var import_jsx_runtime85 = require("react/jsx-runtime");
22382
- var { Title: Title9, Text: Text34 } = import_antd69.Typography;
22436
+ var { Title: Title10, Text: Text34 } = import_antd69.Typography;
22383
22437
  var useStyles12 = (0, import_antd_style24.createStyles)(({ token, css }) => ({
22384
22438
  container: css`
22385
22439
  height: 100%;
@@ -22616,7 +22670,7 @@ var TeamOrgCanvasInner = ({
22616
22670
  };
22617
22671
  return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: styles.container, children: [
22618
22672
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: styles.header, children: [
22619
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Title9, { level: 3, className: styles.title, children: "Team Organization" }),
22673
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Title10, { level: 3, className: styles.title, children: "Team Organization" }),
22620
22674
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Text34, { type: "secondary", children: [
22621
22675
  teammates.length + 1,
22622
22676
  " members \u2022 ",
@@ -22683,7 +22737,7 @@ var TeamOrgCanvas = (props) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(imp
22683
22737
  var import_antd70 = require("antd");
22684
22738
  var import_antd_style25 = require("antd-style");
22685
22739
  var import_jsx_runtime86 = require("react/jsx-runtime");
22686
- var { Title: Title10, Text: Text35 } = import_antd70.Typography;
22740
+ var { Title: Title11, Text: Text35 } = import_antd70.Typography;
22687
22741
  var useStyles13 = (0, import_antd_style25.createStyles)(({ token, css }) => ({
22688
22742
  container: css`
22689
22743
  height: 100%;
@@ -22777,7 +22831,7 @@ var TeamMemberChat = ({
22777
22831
  }
22778
22832
  ),
22779
22833
  /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: styles.headerInfo, children: [
22780
- /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Title10, { level: 4, className: styles.title, children: teammate.name }),
22834
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Title11, { level: 4, className: styles.title, children: teammate.name }),
22781
22835
  /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { children: [
22782
22836
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_antd70.Tag, { color: "blue", children: teammate.role }),
22783
22837
  teammate.description && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(Text35, { className: styles.role, children: [
@@ -22813,7 +22867,7 @@ var import_antd71 = require("antd");
22813
22867
  var import_antd_style26 = require("antd-style");
22814
22868
  var import_lucide_react24 = require("lucide-react");
22815
22869
  var import_jsx_runtime87 = require("react/jsx-runtime");
22816
- var { Title: Title11, Text: Text36, Paragraph: Paragraph2 } = import_antd71.Typography;
22870
+ var { Title: Title12, Text: Text36, Paragraph: Paragraph2 } = import_antd71.Typography;
22817
22871
  var useStyles14 = (0, import_antd_style26.createStyles)(({ token, css }) => ({
22818
22872
  modalContent: css`
22819
22873
  padding: 0;
@@ -22974,7 +23028,7 @@ var MailboxDetailModal = ({
22974
23028
  /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Text36, { className: styles.messageId, children: message28.id }),
22975
23029
  !message28.read && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_antd71.Tag, { color: "red", children: "Unread" })
22976
23030
  ] }),
22977
- /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Title11, { level: 4, className: styles.title, children: [
23031
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(Title12, { level: 4, className: styles.title, children: [
22978
23032
  "Message from ",
22979
23033
  message28.from
22980
23034
  ] }),
@@ -23031,7 +23085,7 @@ var MailboxDetailModal = ({
23031
23085
 
23032
23086
  // src/components/GenUI/elements/MailboxPanel.tsx
23033
23087
  var import_jsx_runtime88 = require("react/jsx-runtime");
23034
- var { Title: Title12, Text: Text37 } = import_antd72.Typography;
23088
+ var { Title: Title13, Text: Text37 } = import_antd72.Typography;
23035
23089
  var useStyles15 = (0, import_antd_style27.createStyles)(({ token, css }) => ({
23036
23090
  container: css`
23037
23091
  padding: ${token.paddingLG}px;
@@ -23313,7 +23367,7 @@ var MailboxPanel = ({ data }) => {
23313
23367
  };
23314
23368
  return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: styles.container, children: [
23315
23369
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { className: styles.header, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { children: [
23316
- /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(Title12, { level: 3, className: styles.title, children: [
23370
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(Title13, { level: 3, className: styles.title, children: [
23317
23371
  /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_lucide_react25.Mail, { size: 20, style: { marginRight: 8, verticalAlign: "middle" } }),
23318
23372
  "Mailbox"
23319
23373
  ] }),
@@ -27716,7 +27770,7 @@ if (typeof document !== "undefined") {
27716
27770
  document.head.appendChild(style);
27717
27771
  }
27718
27772
  }
27719
- var { Text: Text40, Title: Title13 } = import_antd81.Typography;
27773
+ var { Text: Text40, Title: Title14 } = import_antd81.Typography;
27720
27774
  var statusConfig = {
27721
27775
  running: { icon: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_lucide_react28.Loader2, { size: 14, style: { animation: "spin 1s linear infinite", color: "#1677ff" } }), label: "Running" },
27722
27776
  completed: { icon: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_lucide_react28.CircleCheckBig, { size: 14, style: { color: "#52c41a" } }), label: "Completed" },
@@ -28386,7 +28440,7 @@ var TopologyRuntimeView = () => {
28386
28440
  }
28387
28441
  return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { style: { padding: 16, overflow: "auto", height: "100%" }, children: [
28388
28442
  /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: 16 }, children: [
28389
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Title13, { level: 5, style: { marginBottom: 0 }, children: "Workflow Runs" }),
28443
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Title14, { level: 5, style: { marginBottom: 0 }, children: "Workflow Runs" }),
28390
28444
  /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(import_antd81.Tooltip, { title: "Refresh now", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
28391
28445
  import_icons40.ReloadOutlined,
28392
28446
  {
@@ -28447,7 +28501,7 @@ var import_react93 = require("react");
28447
28501
  var import_antd82 = require("antd");
28448
28502
  var import_icons41 = require("@ant-design/icons");
28449
28503
  var import_jsx_runtime109 = require("react/jsx-runtime");
28450
- var { Text: Text41, Title: Title14 } = import_antd82.Typography;
28504
+ var { Text: Text41, Title: Title15 } = import_antd82.Typography;
28451
28505
  var TopologyInboxView = () => {
28452
28506
  const { get } = useApi();
28453
28507
  const [items, setItems] = (0, import_react93.useState)([]);
@@ -28493,7 +28547,7 @@ var TopologyInboxView = () => {
28493
28547
  },
28494
28548
  children: [
28495
28549
  /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { children: [
28496
- /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(Title14, { level: 4, style: { margin: 0 }, children: [
28550
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(Title15, { level: 4, style: { margin: 0 }, children: [
28497
28551
  /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_icons41.InboxOutlined, { style: { marginRight: 8 } }),
28498
28552
  "User Inbox"
28499
28553
  ] }),
@@ -30481,7 +30535,7 @@ var EvalRunResults = ({ runId, onBack }) => {
30481
30535
 
30482
30536
  // src/components/Eval/EvalPanel.tsx
30483
30537
  var import_jsx_runtime117 = require("react/jsx-runtime");
30484
- var { Text: Text48, Title: Title15, Paragraph: Paragraph3 } = import_antd90.Typography;
30538
+ var { Text: Text48, Title: Title16, Paragraph: Paragraph3 } = import_antd90.Typography;
30485
30539
  var useStyle16 = (0, import_antd_style34.createStyles)(({ token, css }) => ({
30486
30540
  shell: css`
30487
30541
  display: flex;
@@ -31843,7 +31897,7 @@ var PersonalAssistantChannelModal = ({
31843
31897
 
31844
31898
  // src/components/Chat/PersonalAssistantPage.tsx
31845
31899
  var import_jsx_runtime120 = require("react/jsx-runtime");
31846
- var { Title: Title16, Text: Text50, Paragraph: Paragraph4 } = import_antd92.Typography;
31900
+ var { Title: Title17, Text: Text50, Paragraph: Paragraph4 } = import_antd92.Typography;
31847
31901
  var useStyles20 = (0, import_antd_style36.createStyles)(({ css, token }) => ({
31848
31902
  container: css` display: flex; flex-direction: column; height: 100%; padding: 24px; overflow-y: auto; `,
31849
31903
  setupWrap: css` max-width: 520px; margin: 30px auto 0; `,
@@ -32053,7 +32107,7 @@ var PersonalAssistantPage = () => {
32053
32107
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: styles.stepIndicator, children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: `${styles.stepDot} ${i === step ? styles.stepDotActive : i < step ? styles.stepDotDone : styles.stepDotPending}` }, i)) }),
32054
32108
  step === 0 && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_antd92.Card, { className: styles.card, children: [
32055
32109
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: styles.avatar, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react36.Sparkles, { size: 26 }) }),
32056
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What would you like to call them?" }),
32110
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What would you like to call them?" }),
32057
32111
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(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." }),
32058
32112
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
32059
32113
  import_antd92.Input,
@@ -32071,7 +32125,7 @@ var PersonalAssistantPage = () => {
32071
32125
  ] }),
32072
32126
  step === 1 && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_antd92.Card, { className: styles.card, children: [
32073
32127
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: styles.avatar, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react36.Smile, { size: 26 }) }),
32074
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What's their vibe?" }),
32128
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "What's their vibe?" }),
32075
32129
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(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." }),
32076
32130
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: styles.personalityGrid, children: PERSONALITIES.map((p) => /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
32077
32131
  "div",
@@ -32109,7 +32163,7 @@ var PersonalAssistantPage = () => {
32109
32163
  ] }),
32110
32164
  step === 2 && /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_antd92.Card, { className: styles.card, children: [
32111
32165
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: styles.avatar, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_lucide_react36.Bot, { size: 26 }) }),
32112
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title16, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "Almost ready!" }),
32166
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Title17, { level: 3, style: { textAlign: "center", margin: "0 0 4px" }, children: "Almost ready!" }),
32113
32167
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Paragraph4, { type: "secondary", style: { textAlign: "center", margin: "0 0 24px" }, children: "Your assistant will have private memory and learn about you over time." }),
32114
32168
  /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_antd92.Card, { size: "small", style: { background: "#fafafa", borderRadius: 12, marginBottom: 20 }, children: [
32115
32169
  /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Text50, { type: "secondary", style: { fontSize: 12, textTransform: "uppercase", letterSpacing: 1 }, children: "Name" }),
@@ -32294,7 +32348,6 @@ var { Text: Text51 } = import_antd95.Typography;
32294
32348
  var SharesPage = ({ client }) => {
32295
32349
  const [shares, setShares] = (0, import_react105.useState)([]);
32296
32350
  const [loading, setLoading] = (0, import_react105.useState)(true);
32297
- const [editingShare, setEditingShare] = (0, import_react105.useState)(null);
32298
32351
  const loadShares = async () => {
32299
32352
  setLoading(true);
32300
32353
  try {
@@ -32372,18 +32425,6 @@ ${pwdText}`.trim());
32372
32425
  onClick: () => handleCopy(r)
32373
32426
  },
32374
32427
  ...r.revoked ? [] : [
32375
- {
32376
- key: "edit",
32377
- icon: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons44.EditOutlined, {}),
32378
- label: "Edit",
32379
- onClick: () => setEditingShare({
32380
- token: r.token,
32381
- path: r.address.resourcePath,
32382
- assistantId: r.assistantId ?? void 0,
32383
- visibility: r.visibility,
32384
- title: r.title ?? void 0
32385
- })
32386
- },
32387
32428
  {
32388
32429
  key: "revoke",
32389
32430
  icon: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_icons44.StopOutlined, {}),
@@ -32397,20 +32438,7 @@ ${pwdText}`.trim());
32397
32438
  ];
32398
32439
  return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { style: { padding: 24 }, children: [
32399
32440
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_antd95.Typography.Title, { level: 4, children: "My Shares" }),
32400
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_antd95.Table, { dataSource: shares, columns, rowKey: "token", loading, pagination: { pageSize: 20 } }),
32401
- editingShare && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
32402
- ShareModal,
32403
- {
32404
- open: true,
32405
- filePath: editingShare.path,
32406
- assistantId: editingShare.assistantId,
32407
- existingToken: editingShare.token,
32408
- existingVisibility: editingShare.visibility,
32409
- existingTitle: editingShare.title,
32410
- onClose: () => setEditingShare(null),
32411
- onUpdated: () => loadShares()
32412
- }
32413
- )
32441
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_antd95.Table, { dataSource: shares, columns, rowKey: "token", loading, pagination: { pageSize: 20 } })
32414
32442
  ] });
32415
32443
  };
32416
32444
 
@@ -33514,6 +33542,18 @@ var WorkspaceContextProvider = ({
33514
33542
  },
33515
33543
  [client, workspaceId, projectId]
33516
33544
  );
33545
+ const listShares = (0, import_react108.useCallback)(
33546
+ async () => {
33547
+ return client.resources.listShares();
33548
+ },
33549
+ [client]
33550
+ );
33551
+ const unshareFile = (0, import_react108.useCallback)(
33552
+ async (token) => {
33553
+ await client.resources.unshare(token);
33554
+ },
33555
+ [client]
33556
+ );
33517
33557
  const value = {
33518
33558
  workspaceId,
33519
33559
  projectId,
@@ -33536,7 +33576,9 @@ var WorkspaceContextProvider = ({
33536
33576
  uploadFile,
33537
33577
  uploadFileToFolder,
33538
33578
  getFileViewUrl,
33539
- shareFile
33579
+ shareFile,
33580
+ listShares,
33581
+ unshareFile
33540
33582
  };
33541
33583
  const currentWorkspace = workspaces.find((w) => w.id === workspaceId);
33542
33584
  const workspaceName = currentWorkspace?.name;
@@ -35293,7 +35335,7 @@ var import_antd104 = require("antd");
35293
35335
  var import_icons47 = require("@ant-design/icons");
35294
35336
  var import_antd_style42 = require("antd-style");
35295
35337
  var import_jsx_runtime135 = require("react/jsx-runtime");
35296
- var { Text: Text52, Title: Title17 } = import_antd104.Typography;
35338
+ var { Text: Text52, Title: Title18 } = import_antd104.Typography;
35297
35339
  var { TextArea: TextArea9 } = import_antd104.Input;
35298
35340
  var useStyles25 = (0, import_antd_style42.createStyles)(({ token, css }) => ({
35299
35341
  // settingsModal: css`
@@ -36447,7 +36489,7 @@ QUEUE_NAME=tasks`,
36447
36489
  /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: styles.content, children: [
36448
36490
  /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: styles.contentHeader, children: [
36449
36491
  /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: styles.contentHeaderLeft, children: [
36450
- /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title17, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
36492
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title18, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
36451
36493
  /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(Text52, { className: styles.contentDescription, children: [
36452
36494
  activeMenu === "environment" && "Manage environment variables for the gateway server",
36453
36495
  activeMenu === "models" && "Configure and register model lattices for use by agents"
@@ -36483,14 +36525,14 @@ QUEUE_NAME=tasks`,
36483
36525
  },
36484
36526
  children: connection.connecting ? /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_jsx_runtime135.Fragment, { children: [
36485
36527
  /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_icons47.LinkOutlined, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
36486
- /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title17, { level: 4, children: "Connecting..." }),
36528
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title18, { level: 4, children: "Connecting..." }),
36487
36529
  /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(Text52, { type: "secondary", style: { textAlign: "center" }, children: [
36488
36530
  "Connecting to ",
36489
36531
  connection.url
36490
36532
  ] })
36491
36533
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_jsx_runtime135.Fragment, { children: [
36492
36534
  /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_icons47.LinkOutlined, { style: { fontSize: 64, color: "#d9d9d9" } }),
36493
- /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title17, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
36535
+ /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Title18, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
36494
36536
  /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
36495
36537
  Text52,
36496
36538
  {
@@ -36674,7 +36716,7 @@ var import_react117 = require("react");
36674
36716
  var import_antd105 = require("antd");
36675
36717
  var import_lucide_react43 = require("lucide-react");
36676
36718
  var import_jsx_runtime138 = require("react/jsx-runtime");
36677
- var { Text: Text53, Title: Title18 } = import_antd105.Typography;
36719
+ var { Text: Text53, Title: Title19 } = import_antd105.Typography;
36678
36720
  var ChannelInstallationsDrawerContent = () => {
36679
36721
  const { get, post, put, del } = useApi();
36680
36722
  const [installations, setInstallations] = (0, import_react117.useState)([]);
@@ -36732,7 +36774,7 @@ var ChannelInstallationsDrawerContent = () => {
36732
36774
  alignItems: "center"
36733
36775
  },
36734
36776
  children: [
36735
- /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Title18, { level: 5, style: { margin: 0 }, children: "Channel Installations" }),
36777
+ /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Title19, { level: 5, style: { margin: 0 }, children: "Channel Installations" }),
36736
36778
  /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
36737
36779
  import_antd105.Button,
36738
36780
  {