@arbidocs/blocks 0.5.34 → 0.5.36

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.
Files changed (83) hide show
  1. package/README.md +30 -0
  2. package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs → ConnectedNativeDocxComparison-H2OZMWHT.cjs} +7 -7
  3. package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs.map → ConnectedNativeDocxComparison-H2OZMWHT.cjs.map} +1 -1
  4. package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js → ConnectedNativeDocxComparison-RWKFPJPJ.js} +6 -6
  5. package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js.map → ConnectedNativeDocxComparison-RWKFPJPJ.js.map} +1 -1
  6. package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js → ConnectedNativeDocxEditor-43BI5LN6.js} +5 -5
  7. package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js.map → ConnectedNativeDocxEditor-43BI5LN6.js.map} +1 -1
  8. package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs → ConnectedNativeDocxEditor-6DQEM6SD.cjs} +7 -7
  9. package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs.map → ConnectedNativeDocxEditor-6DQEM6SD.cjs.map} +1 -1
  10. package/dist/{ConnectedStreamedWordArtifact-S7EQ4FM2.cjs → ConnectedStreamedWordArtifact-3VKYIG6C.cjs} +7 -7
  11. package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +1 -0
  12. package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js → ConnectedStreamedWordArtifact-TEB332E3.js} +6 -6
  13. package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js.map → ConnectedStreamedWordArtifact-TEB332E3.js.map} +1 -1
  14. package/dist/agents/index.cjs +326 -326
  15. package/dist/agents/index.js +4 -4
  16. package/dist/calls/index.cjs +1 -1
  17. package/dist/calls/index.js +1 -1
  18. package/dist/{chunk-SSYRPBL5.cjs → chunk-2QDNQM63.cjs} +3 -3
  19. package/dist/{chunk-SSYRPBL5.cjs.map → chunk-2QDNQM63.cjs.map} +1 -1
  20. package/dist/{chunk-H7L43DIE.js → chunk-46WCQ4F3.js} +8 -3
  21. package/dist/chunk-46WCQ4F3.js.map +1 -0
  22. package/dist/{chunk-UWXCT3ON.js → chunk-4DKI37QQ.js} +3 -3
  23. package/dist/{chunk-UWXCT3ON.js.map → chunk-4DKI37QQ.js.map} +1 -1
  24. package/dist/{chunk-FSEZEVWZ.cjs → chunk-5NTSJV5H.cjs} +219 -2
  25. package/dist/chunk-5NTSJV5H.cjs.map +1 -0
  26. package/dist/{chunk-WUG24K7P.cjs → chunk-5V4HH7EH.cjs} +7 -2
  27. package/dist/chunk-5V4HH7EH.cjs.map +1 -0
  28. package/dist/{chunk-J6U6DIZK.cjs → chunk-6EQSP77K.cjs} +5 -5
  29. package/dist/{chunk-J6U6DIZK.cjs.map → chunk-6EQSP77K.cjs.map} +1 -1
  30. package/dist/{chunk-OPK6GYYR.js → chunk-7CHI36EP.js} +3 -3
  31. package/dist/{chunk-OPK6GYYR.js.map → chunk-7CHI36EP.js.map} +1 -1
  32. package/dist/{chunk-KBISVJPU.cjs → chunk-BRYRZOS3.cjs} +4 -4
  33. package/dist/{chunk-KBISVJPU.cjs.map → chunk-BRYRZOS3.cjs.map} +1 -1
  34. package/dist/{chunk-O76V2TUY.js → chunk-EZSYYENN.js} +5 -5
  35. package/dist/{chunk-O76V2TUY.js.map → chunk-EZSYYENN.js.map} +1 -1
  36. package/dist/{chunk-G5ISXB5I.js → chunk-FHB4G77H.js} +3 -3
  37. package/dist/{chunk-G5ISXB5I.js.map → chunk-FHB4G77H.js.map} +1 -1
  38. package/dist/{chunk-POU4O4D7.cjs → chunk-FY4C7HU5.cjs} +9 -9
  39. package/dist/{chunk-POU4O4D7.cjs.map → chunk-FY4C7HU5.cjs.map} +1 -1
  40. package/dist/{chunk-AL4GAWD3.js → chunk-MLHOG7YH.js} +3 -3
  41. package/dist/{chunk-AL4GAWD3.js.map → chunk-MLHOG7YH.js.map} +1 -1
  42. package/dist/{chunk-RFQ2FGL4.js → chunk-NUV5F6MM.js} +3 -3
  43. package/dist/{chunk-RFQ2FGL4.js.map → chunk-NUV5F6MM.js.map} +1 -1
  44. package/dist/{chunk-B426HYRI.cjs → chunk-PUX4M22Q.cjs} +49 -49
  45. package/dist/{chunk-B426HYRI.cjs.map → chunk-PUX4M22Q.cjs.map} +1 -1
  46. package/dist/{chunk-LTEDORG3.js → chunk-QFYRXQTD.js} +220 -5
  47. package/dist/chunk-QFYRXQTD.js.map +1 -0
  48. package/dist/{chunk-SXYXFCHN.js → chunk-VKY4SQMH.js} +3 -3
  49. package/dist/{chunk-SXYXFCHN.js.map → chunk-VKY4SQMH.js.map} +1 -1
  50. package/dist/{chunk-QU77RRZP.cjs → chunk-VMLEISRZ.cjs} +8 -8
  51. package/dist/{chunk-QU77RRZP.cjs.map → chunk-VMLEISRZ.cjs.map} +1 -1
  52. package/dist/{chunk-R3QNE46Z.cjs → chunk-XFSEPGF7.cjs} +4 -4
  53. package/dist/{chunk-R3QNE46Z.cjs.map → chunk-XFSEPGF7.cjs.map} +1 -1
  54. package/dist/collaboration/index.cjs +67 -67
  55. package/dist/collaboration/index.js +1 -1
  56. package/dist/connect/docx.cjs +9 -9
  57. package/dist/connect/docx.js +5 -5
  58. package/dist/connect/index.cjs +301 -301
  59. package/dist/connect/index.js +9 -9
  60. package/dist/connect/viewer.cjs +5 -5
  61. package/dist/connect/viewer.js +5 -5
  62. package/dist/index.cjs +552 -501
  63. package/dist/index.cjs.map +1 -1
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.js +51 -10
  66. package/dist/index.js.map +1 -1
  67. package/dist/nav/actions.d.ts +24 -0
  68. package/dist/nav/manifest.d.ts +16 -0
  69. package/dist/nav/types.d.ts +2 -0
  70. package/dist/shell/DockZone.d.ts +27 -0
  71. package/dist/shell/PanelModeSwitcher.d.ts +30 -0
  72. package/dist/shell/index.cjs +47 -39
  73. package/dist/shell/index.d.ts +2 -0
  74. package/dist/shell/index.js +1 -1
  75. package/dist/workflow-canvas/index.cjs +17 -17
  76. package/dist/workflow-canvas/index.js +4 -4
  77. package/node_modules/@arbidocs/coedit/package.json +1 -1
  78. package/package.json +5 -5
  79. package/dist/ConnectedStreamedWordArtifact-S7EQ4FM2.cjs.map +0 -1
  80. package/dist/chunk-FSEZEVWZ.cjs.map +0 -1
  81. package/dist/chunk-H7L43DIE.js.map +0 -1
  82. package/dist/chunk-LTEDORG3.js.map +0 -1
  83. package/dist/chunk-WUG24K7P.cjs.map +0 -1
@@ -9,9 +9,9 @@ var chunkYD3RN2FY_cjs = require('../chunk-YD3RN2FY.cjs');
9
9
  var chunkH6K7EWL2_cjs = require('../chunk-H6K7EWL2.cjs');
10
10
  var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
11
11
  require('../chunk-UAEYU2NN.cjs');
12
- var chunkNOKTUWTN_cjs = require('../chunk-NOKTUWTN.cjs');
13
12
  var chunkFEVJA4BP_cjs = require('../chunk-FEVJA4BP.cjs');
14
- var chunkQU77RRZP_cjs = require('../chunk-QU77RRZP.cjs');
13
+ var chunkNOKTUWTN_cjs = require('../chunk-NOKTUWTN.cjs');
14
+ var chunkVMLEISRZ_cjs = require('../chunk-VMLEISRZ.cjs');
15
15
  var chunkEFSL4O3B_cjs = require('../chunk-EFSL4O3B.cjs');
16
16
  var chunkWALADS2S_cjs = require('../chunk-WALADS2S.cjs');
17
17
  var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
@@ -23,17 +23,17 @@ require('../chunk-464YPRAE.cjs');
23
23
  require('../chunk-PICGTGEB.cjs');
24
24
  var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
25
25
  require('../chunk-ZESMRGDV.cjs');
26
- var chunkJ6U6DIZK_cjs = require('../chunk-J6U6DIZK.cjs');
26
+ var chunk6EQSP77K_cjs = require('../chunk-6EQSP77K.cjs');
27
27
  var chunkC2ECYOPP_cjs = require('../chunk-C2ECYOPP.cjs');
28
28
  var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
29
29
  var chunkHV7XHZLW_cjs = require('../chunk-HV7XHZLW.cjs');
30
+ var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
30
31
  var chunkRGWROTJ2_cjs = require('../chunk-RGWROTJ2.cjs');
31
32
  var chunkKUQOHPKP_cjs = require('../chunk-KUQOHPKP.cjs');
32
33
  var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
33
34
  require('../chunk-PCB2BPN3.cjs');
34
- var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
35
35
  require('../chunk-NWNVWO6L.cjs');
36
- var chunkWUG24K7P_cjs = require('../chunk-WUG24K7P.cjs');
36
+ var chunk5V4HH7EH_cjs = require('../chunk-5V4HH7EH.cjs');
37
37
  require('../chunk-7G2LJMUG.cjs');
38
38
  var chunkTM2D4XT4_cjs = require('../chunk-TM2D4XT4.cjs');
39
39
  var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
@@ -43,9 +43,9 @@ require('../chunk-VLCY46K6.cjs');
43
43
  require('../chunk-D54JXTPG.cjs');
44
44
  var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
45
45
  var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
46
- var chunkPOU4O4D7_cjs = require('../chunk-POU4O4D7.cjs');
46
+ var chunkFY4C7HU5_cjs = require('../chunk-FY4C7HU5.cjs');
47
47
  var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
48
- var chunkSSYRPBL5_cjs = require('../chunk-SSYRPBL5.cjs');
48
+ var chunk2QDNQM63_cjs = require('../chunk-2QDNQM63.cjs');
49
49
  var chunk3ZLNI7ZA_cjs = require('../chunk-3ZLNI7ZA.cjs');
50
50
  var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
51
51
  require('../chunk-SIB6C7P7.cjs');
@@ -67,8 +67,8 @@ var chunkC3YIVBTU_cjs = require('../chunk-C3YIVBTU.cjs');
67
67
  var chunkJVXHVFUA_cjs = require('../chunk-JVXHVFUA.cjs');
68
68
  var chunkMOIZ2R5X_cjs = require('../chunk-MOIZ2R5X.cjs');
69
69
  var chunkMB3S2ETI_cjs = require('../chunk-MB3S2ETI.cjs');
70
- var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
71
70
  var chunkMEMWZ72Y_cjs = require('../chunk-MEMWZ72Y.cjs');
71
+ var chunkZW6FPIFC_cjs = require('../chunk-ZW6FPIFC.cjs');
72
72
  var chunkLTO4JYU3_cjs = require('../chunk-LTO4JYU3.cjs');
73
73
  var chunkLNYEYR7W_cjs = require('../chunk-LNYEYR7W.cjs');
74
74
  var chunkZ2XZ2D4N_cjs = require('../chunk-Z2XZ2D4N.cjs');
@@ -163,9 +163,9 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
163
163
  if (isMe) openSettings();
164
164
  else openDirectChat?.(user.external_id);
165
165
  };
166
- const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltip, { children: [
166
+ const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
167
167
  /* @__PURE__ */ jsxRuntime.jsx(
168
- chunkJ6U6DIZK_cjs.EntityTooltipHeader,
168
+ chunk6EQSP77K_cjs.EntityTooltipHeader,
169
169
  {
170
170
  lead: /* @__PURE__ */ jsxRuntime.jsxs(
171
171
  ui.Avatar,
@@ -196,13 +196,13 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
196
196
  subtitle: user.email
197
197
  }
198
198
  ),
199
- userIsAgent && agentOwner && /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.EntityTooltipSection, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(react.ArbiBotHeadIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }), children: [
199
+ userIsAgent && agentOwner && /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.EntityTooltipSection, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(react.ArbiBotHeadIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }), children: [
200
200
  "Agent of",
201
201
  " ",
202
202
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: ui.getUserDisplayName(agentOwner) })
203
203
  ] }) }),
204
204
  sharedWorkspaces.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
205
- chunkJ6U6DIZK_cjs.EntityTooltipSection,
205
+ chunk6EQSP77K_cjs.EntityTooltipSection,
206
206
  {
207
207
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "w-3.5 h-3.5 flex-shrink-0" }),
208
208
  heading: "Shared Workspaces",
@@ -233,7 +233,7 @@ var ConnectedUserEntity = React9.memo(function ConnectedUserEntity2({
233
233
  ] })
234
234
  }
235
235
  ),
236
- interactive && variant === "pill" && canChat && /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.EntityTooltipHint, { isRuled: true, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleMore, { className: "w-3 h-3" }), children: "Click to send message" })
236
+ interactive && variant === "pill" && canChat && /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.EntityTooltipHint, { isRuled: true, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleMore, { className: "w-3 h-3" }), children: "Click to send message" })
237
237
  ] });
238
238
  return /* @__PURE__ */ jsxRuntime.jsx(
239
239
  ui.UserEntity,
@@ -387,7 +387,7 @@ function ConnectedWorkspaceActivity({
387
387
  [feed.data]
388
388
  );
389
389
  return /* @__PURE__ */ jsxRuntime.jsx(
390
- chunkJ6U6DIZK_cjs.WorkspaceActivityList,
390
+ chunk6EQSP77K_cjs.WorkspaceActivityList,
391
391
  {
392
392
  ...listProps,
393
393
  items,
@@ -1552,7 +1552,7 @@ function ConnectedWorkspaceNotificationMenu({
1552
1552
  }, [error, notify17]);
1553
1553
  if (!workspaceId) return null;
1554
1554
  return /* @__PURE__ */ jsxRuntime.jsx(
1555
- chunkJ6U6DIZK_cjs.WorkspaceNotificationMenu,
1555
+ chunk6EQSP77K_cjs.WorkspaceNotificationMenu,
1556
1556
  {
1557
1557
  ...menuProps,
1558
1558
  level,
@@ -1571,7 +1571,7 @@ function ConnectedThreadFollow({
1571
1571
  enabled: live
1572
1572
  });
1573
1573
  if (!conversationId) return null;
1574
- const Control = as === "menu-item" ? chunkJ6U6DIZK_cjs.ThreadFollowMenuItem : chunkJ6U6DIZK_cjs.ThreadFollowButton;
1574
+ const Control = as === "menu-item" ? chunk6EQSP77K_cjs.ThreadFollowMenuItem : chunk6EQSP77K_cjs.ThreadFollowButton;
1575
1575
  return /* @__PURE__ */ jsxRuntime.jsx(
1576
1576
  Control,
1577
1577
  {
@@ -1644,7 +1644,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1644
1644
  onChange: (e) => {
1645
1645
  const file = e.target.files?.[0];
1646
1646
  e.target.value = "";
1647
- if (file) void add(() => chunkPOU4O4D7_cjs.importSkillFile(file));
1647
+ if (file) void add(() => chunkFY4C7HU5_cjs.importSkillFile(file));
1648
1648
  }
1649
1649
  }
1650
1650
  ),
@@ -1669,7 +1669,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1669
1669
  className: "space-y-2",
1670
1670
  onSubmit: (e) => {
1671
1671
  e.preventDefault();
1672
- if (url.trim()) void add(() => chunkPOU4O4D7_cjs.importSkillFromUrl(url));
1672
+ if (url.trim()) void add(() => chunkFY4C7HU5_cjs.importSkillFromUrl(url));
1673
1673
  },
1674
1674
  children: [
1675
1675
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
@@ -1732,9 +1732,9 @@ function ConnectedSkillsLibrary({
1732
1732
  const [type, setType] = React9.useState("all");
1733
1733
  const [view, setView] = React9.useState("gallery");
1734
1734
  const [isBusy, setIsBusy] = React9.useState(false);
1735
- const all = React9.useMemo(() => chunkPOU4O4D7_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1735
+ const all = React9.useMemo(() => chunkFY4C7HU5_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1736
1736
  const shown = React9.useMemo(
1737
- () => chunkPOU4O4D7_cjs.filterLibrarySkills(all, { query, source, type }),
1737
+ () => chunkFY4C7HU5_cjs.filterLibrarySkills(all, { query, source, type }),
1738
1738
  [all, query, source, type]
1739
1739
  );
1740
1740
  const current = all.find((s) => s.slug === selected) ?? null;
@@ -1745,21 +1745,21 @@ function ConnectedSkillsLibrary({
1745
1745
  const count2 = (s) => all.filter((x) => x.source === s).length;
1746
1746
  const sourceOptions = [
1747
1747
  { id: "all", label: "All", count: all.length },
1748
- { id: "builtin", label: chunkPOU4O4D7_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1749
- { id: "mine", label: chunkPOU4O4D7_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1750
- { id: "shared", label: chunkPOU4O4D7_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1748
+ { id: "builtin", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1749
+ { id: "mine", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1750
+ { id: "shared", label: chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1751
1751
  ];
1752
1752
  const types = [...new Set(all.map((s) => s.type))];
1753
1753
  const typeOptions = [
1754
1754
  { id: "all", label: "Any kind" },
1755
- ...types.map((t) => ({ id: t, label: chunkPOU4O4D7_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1755
+ ...types.map((t) => ({ id: t, label: chunkFY4C7HU5_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1756
1756
  ];
1757
1757
  const pick = (slug) => {
1758
1758
  setSelected(slug);
1759
1759
  setMode("detail");
1760
1760
  };
1761
1761
  const markdownOf = async (skill) => {
1762
- if (!skill.docExtId) return chunkPOU4O4D7_cjs.workflowToSkillMarkdown(skill.workflow);
1762
+ if (!skill.docExtId) return chunkFY4C7HU5_cjs.workflowToSkillMarkdown(skill.workflow);
1763
1763
  const response = await arbi.documents.download(skill.docExtId);
1764
1764
  if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
1765
1765
  return response.text();
@@ -1823,7 +1823,7 @@ function ConnectedSkillsLibrary({
1823
1823
  try {
1824
1824
  documentTools.downloadBlob(
1825
1825
  new Blob([await markdownOf(skill)], { type: "text/markdown" }),
1826
- chunkPOU4O4D7_cjs.SKILL_MAIN_FILENAME
1826
+ chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME
1827
1827
  );
1828
1828
  } catch (error) {
1829
1829
  notify17(errorText(error, "Could not export the skill"), "error");
@@ -1864,10 +1864,10 @@ function ConnectedSkillsLibrary({
1864
1864
  }
1865
1865
  )
1866
1866
  ] }),
1867
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.SkillViewToggle, { value: view, onChange: setView })
1867
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.SkillViewToggle, { value: view, onChange: setView })
1868
1868
  ] }),
1869
1869
  /* @__PURE__ */ jsxRuntime.jsx(
1870
- chunkPOU4O4D7_cjs.SkillFilterChips,
1870
+ chunkFY4C7HU5_cjs.SkillFilterChips,
1871
1871
  {
1872
1872
  label: "Show",
1873
1873
  value: source,
@@ -1876,7 +1876,7 @@ function ConnectedSkillsLibrary({
1876
1876
  }
1877
1877
  ),
1878
1878
  types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1879
- chunkPOU4O4D7_cjs.SkillFilterChips,
1879
+ chunkFY4C7HU5_cjs.SkillFilterChips,
1880
1880
  {
1881
1881
  label: "Kind",
1882
1882
  value: type,
@@ -1923,12 +1923,12 @@ function ConnectedSkillsLibrary({
1923
1923
  view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
1924
1924
  ),
1925
1925
  children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
1926
- chunkPOU4O4D7_cjs.SkillTile,
1926
+ chunkFY4C7HU5_cjs.SkillTile,
1927
1927
  {
1928
1928
  name: skill.title,
1929
1929
  testId: `skill-tile-${skill.slug}`,
1930
1930
  description: skill.description,
1931
- sourceLabel: skill.isShared ? `${chunkPOU4O4D7_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkPOU4O4D7_cjs.SKILL_SOURCE_LABELS[skill.source],
1931
+ sourceLabel: skill.isShared ? `${chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkFY4C7HU5_cjs.SKILL_SOURCE_LABELS[skill.source],
1932
1932
  type: skill.type,
1933
1933
  icon,
1934
1934
  layout: view,
@@ -1963,7 +1963,7 @@ function ConnectedSkillsLibrary({
1963
1963
  }
1964
1964
  ),
1965
1965
  mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
1966
- chunkPOU4O4D7_cjs.SkillGenerateForm,
1966
+ chunkFY4C7HU5_cjs.SkillGenerateForm,
1967
1967
  {
1968
1968
  icon,
1969
1969
  onGenerate: (desc) => {
@@ -1990,11 +1990,11 @@ function ConnectedSkillsLibrary({
1990
1990
  ),
1991
1991
  mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
1992
1992
  mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
1993
- chunkPOU4O4D7_cjs.SkillLibraryDetail,
1993
+ chunkFY4C7HU5_cjs.SkillLibraryDetail,
1994
1994
  {
1995
1995
  skill: current,
1996
1996
  icon,
1997
- instructions: current.docExtId ? currentText ? chunkPOU4O4D7_cjs.parseSkillFrontmatter(currentText, chunkPOU4O4D7_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1997
+ instructions: current.docExtId ? currentText ? chunkFY4C7HU5_cjs.parseSkillFrontmatter(currentText, chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1998
1998
  isLoading: !!current.docExtId && textLoading,
1999
1999
  actions: {
2000
2000
  onRun: () => onRun(current.slug),
@@ -2029,7 +2029,7 @@ function SkillEditor({
2029
2029
  const [seeded, setSeeded] = React9.useState(!isEditing);
2030
2030
  const [nameError, setNameError] = React9.useState(null);
2031
2031
  if (isEditing && !seeded && text2 !== void 0) {
2032
- const parsed = chunkPOU4O4D7_cjs.parseSkillFrontmatter(text2, chunkPOU4O4D7_cjs.SKILL_MAIN_FILENAME);
2032
+ const parsed = chunkFY4C7HU5_cjs.parseSkillFrontmatter(text2, chunkFY4C7HU5_cjs.SKILL_MAIN_FILENAME);
2033
2033
  setDescription(parsed.description ?? "");
2034
2034
  setBody(parsed.content ?? "");
2035
2035
  setSeeded(true);
@@ -2043,15 +2043,15 @@ function SkillEditor({
2043
2043
  notify17("Add a short description.", "error");
2044
2044
  return;
2045
2045
  }
2046
- const slug = chunkPOU4O4D7_cjs.skillSlug(name);
2046
+ const slug = chunkFY4C7HU5_cjs.skillSlug(name);
2047
2047
  try {
2048
- await onSave(slug, chunkPOU4O4D7_cjs.serializeSkill({ name: slug, description, body }), isEditing);
2048
+ await onSave(slug, chunkFY4C7HU5_cjs.serializeSkill({ name: slug, description, body }), isEditing);
2049
2049
  } catch (err) {
2050
2050
  notify17(errorText(err, "Could not save the skill"), "error");
2051
2051
  }
2052
2052
  };
2053
2053
  return /* @__PURE__ */ jsxRuntime.jsx(
2054
- chunkPOU4O4D7_cjs.SkillEditForm,
2054
+ chunkFY4C7HU5_cjs.SkillEditForm,
2055
2055
  {
2056
2056
  name,
2057
2057
  onNameChange: setName,
@@ -2087,9 +2087,9 @@ function ConnectedAgentCreator({
2087
2087
  agent,
2088
2088
  initialName,
2089
2089
  onSaved,
2090
- capabilities = chunkPOU4O4D7_cjs.DEFAULT_AGENT_CAPABILITIES,
2091
- templates = chunkPOU4O4D7_cjs.DEFAULT_AGENT_TEMPLATES,
2092
- types = chunkPOU4O4D7_cjs.DEFAULT_AGENT_TYPES,
2090
+ capabilities = chunkFY4C7HU5_cjs.DEFAULT_AGENT_CAPABILITIES,
2091
+ templates = chunkFY4C7HU5_cjs.DEFAULT_AGENT_TEMPLATES,
2092
+ types = chunkFY4C7HU5_cjs.DEFAULT_AGENT_TYPES,
2093
2093
  canRevokeWorkspaces = false,
2094
2094
  labels
2095
2095
  }) {
@@ -2131,7 +2131,7 @@ function ConnectedAgentCreator({
2131
2131
  const initialValues = React9.useMemo(
2132
2132
  () => ({
2133
2133
  name: agent?.given_name ?? initialName ?? "",
2134
- persona: isEdit ? chunkPOU4O4D7_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
2134
+ persona: isEdit ? chunkFY4C7HU5_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
2135
2135
  modelName: String(agents.AGENT_MODEL_NAME ?? ""),
2136
2136
  capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
2137
2137
  type: "builtin",
@@ -2150,7 +2150,7 @@ function ConnectedAgentCreator({
2150
2150
  try {
2151
2151
  let agentExtId = agent?.external_id ?? early?.id ?? "";
2152
2152
  if (!agentExtId) {
2153
- if (!chunkPOU4O4D7_cjs.isValidAgentName(values.name)) {
2153
+ if (!chunkFY4C7HU5_cjs.isValidAgentName(values.name)) {
2154
2154
  notify17("Give the agent a name first.", "error");
2155
2155
  return;
2156
2156
  }
@@ -2186,7 +2186,7 @@ function ConnectedAgentCreator({
2186
2186
  title: `agent-${name}`,
2187
2187
  sections: {
2188
2188
  Agents: {
2189
- PERSONA: chunkPOU4O4D7_cjs.composePersona(name, values.persona),
2189
+ PERSONA: chunkFY4C7HU5_cjs.composePersona(name, values.persona),
2190
2190
  ...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
2191
2191
  ...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
2192
2192
  ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
@@ -2209,7 +2209,7 @@ function ConnectedAgentCreator({
2209
2209
  };
2210
2210
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2211
2211
  /* @__PURE__ */ jsxRuntime.jsx(
2212
- chunkPOU4O4D7_cjs.AgentCreator,
2212
+ chunkFY4C7HU5_cjs.AgentCreator,
2213
2213
  {
2214
2214
  open: ready,
2215
2215
  onOpenChange,
@@ -2225,11 +2225,11 @@ function ConnectedAgentCreator({
2225
2225
  ) : void 0,
2226
2226
  revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
2227
2227
  avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
2228
- chunkPOU4O4D7_cjs.AgentAvatarField,
2228
+ chunkFY4C7HU5_cjs.AgentAvatarField,
2229
2229
  {
2230
2230
  picture,
2231
2231
  isBusy: avatarBusy,
2232
- canGenerate: isEdit || chunkPOU4O4D7_cjs.isValidAgentName(values.name),
2232
+ canGenerate: isEdit || chunkFY4C7HU5_cjs.isValidAgentName(values.name),
2233
2233
  onGenerate: () => handleGenerateAvatar(values)
2234
2234
  }
2235
2235
  ),
@@ -2281,7 +2281,7 @@ function ConnectedAgentCreator({
2281
2281
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
2282
2282
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
2283
2283
  ] }),
2284
- connect && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2284
+ connect && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2285
2285
  ]
2286
2286
  }
2287
2287
  ) })
@@ -2318,7 +2318,7 @@ function ConnectedWorkflowHistory({
2318
2318
  const { openConversation } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
2319
2319
  const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
2320
2320
  return /* @__PURE__ */ jsxRuntime.jsx(
2321
- chunkPOU4O4D7_cjs.TaskRunsDialog,
2321
+ chunkFY4C7HU5_cjs.TaskRunsDialog,
2322
2322
  {
2323
2323
  inline,
2324
2324
  hideHeader,
@@ -2354,14 +2354,14 @@ function ConnectedTaskActivityDialog({
2354
2354
  const activity = react.useConversationActivity(conversationId, { live });
2355
2355
  const { data: agents = [] } = react.useAgents();
2356
2356
  const { userId } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
2357
- const { members } = chunkQU77RRZP_cjs.useConnectedWorkspaceRole();
2357
+ const { members } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
2358
2358
  const renderPerson = React9.useCallback(
2359
2359
  (id) => {
2360
2360
  const isMe = !!id && id === userId;
2361
2361
  const member = members.find((m) => m.user.external_id === id)?.user;
2362
2362
  const name = member && [member.given_name, member.family_name].filter(Boolean).join(" ") || member?.email;
2363
2363
  const person = { id, label: isMe ? "You" : name || "Someone", isMe };
2364
- return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(chunkSSYRPBL5_cjs.PersonPill, { person });
2364
+ return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(chunk2QDNQM63_cjs.PersonPill, { person });
2365
2365
  },
2366
2366
  [renderTaskPerson, userId, members]
2367
2367
  );
@@ -2370,7 +2370,7 @@ function ConnectedTaskActivityDialog({
2370
2370
  [agents]
2371
2371
  );
2372
2372
  return /* @__PURE__ */ jsxRuntime.jsx(
2373
- chunkPOU4O4D7_cjs.TaskActivityDialog,
2373
+ chunkFY4C7HU5_cjs.TaskActivityDialog,
2374
2374
  {
2375
2375
  open: true,
2376
2376
  onOpenChange: (open) => !open && onClose(),
@@ -2516,7 +2516,7 @@ function useWorkflowThread(workflow, options2 = {}) {
2516
2516
  );
2517
2517
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
2518
2518
  const steps = React9.useMemo(
2519
- () => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) : chunkPOU4O4D7_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
2519
+ () => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) : chunkFY4C7HU5_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
2520
2520
  [workflow, conversation?.plan?.steps]
2521
2521
  );
2522
2522
  const activity = react.useConversationActivity(threadId, { live: !!threadId });
@@ -2576,7 +2576,7 @@ function useWorkflowThread(workflow, options2 = {}) {
2576
2576
  criteria: [],
2577
2577
  max_passes: 3,
2578
2578
  documents: [],
2579
- steps: chunkPOU4O4D7_cjs.toPlanSteps(workflow, {
2579
+ steps: chunkFY4C7HU5_cjs.toPlanSteps(workflow, {
2580
2580
  inputs: values,
2581
2581
  resolveWorkflow: options2.resolveWorkflow,
2582
2582
  compose: options2.compose
@@ -2663,7 +2663,7 @@ function useWorkflowThread(workflow, options2 = {}) {
2663
2663
  const anyRunning = Object.values(states).some((s) => s.status === "running");
2664
2664
  const needsStart = !threadId || idle && !anyRunning;
2665
2665
  const runError = idle ? conversation?.last_error ?? null : null;
2666
- const view = chunkPOU4O4D7_cjs.useWorkflowView({
2666
+ const view = chunkFY4C7HU5_cjs.useWorkflowView({
2667
2667
  steps,
2668
2668
  states,
2669
2669
  inputs,
@@ -2829,7 +2829,7 @@ function WorkflowWordDialog({
2829
2829
  title: title ?? labels.wordTitle,
2830
2830
  size: "xl",
2831
2831
  testId: "workflow-word-dialog",
2832
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQU77RRZP_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2832
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVMLEISRZ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2833
2833
  }
2834
2834
  );
2835
2835
  }
@@ -3151,7 +3151,7 @@ function ConnectedWorkflowRunner({
3151
3151
  );
3152
3152
  };
3153
3153
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
3154
- chunkPOU4O4D7_cjs.WorkflowRunner,
3154
+ chunkFY4C7HU5_cjs.WorkflowRunner,
3155
3155
  {
3156
3156
  people,
3157
3157
  ...runnerProps,
@@ -3197,7 +3197,7 @@ function ConnectedWorkflowRunner({
3197
3197
  ) }),
3198
3198
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3199
3199
  /* @__PURE__ */ jsxRuntime.jsx(
3200
- chunkPOU4O4D7_cjs.WorkflowStepBar,
3200
+ chunkFY4C7HU5_cjs.WorkflowStepBar,
3201
3201
  {
3202
3202
  run: view,
3203
3203
  levels: chunkEZLZ3MDU_cjs.stepLevels(view.steps),
@@ -3488,7 +3488,7 @@ function ConnectedTagTable({
3488
3488
  const fail = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
3489
3489
  const snapshot2 = (data) => {
3490
3490
  const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
3491
- const bytes = chunkJ6U6DIZK_cjs.tagTableDocx(data, {
3491
+ const bytes = chunk6EQSP77K_cjs.tagTableDocx(data, {
3492
3492
  title,
3493
3493
  nameOf: (id) => people.find((p) => p.value === id)?.label
3494
3494
  });
@@ -3497,7 +3497,7 @@ function ConnectedTagTable({
3497
3497
  return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
3498
3498
  };
3499
3499
  return /* @__PURE__ */ jsxRuntime.jsx(
3500
- chunkJ6U6DIZK_cjs.TagTable,
3500
+ chunk6EQSP77K_cjs.TagTable,
3501
3501
  {
3502
3502
  ...props,
3503
3503
  table,
@@ -3635,9 +3635,9 @@ function GlossaryExport({ labelId, nameOf }) {
3635
3635
  const narrowed = agreements.find((a) => a.id === narrowTo);
3636
3636
  const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
3637
3637
  const download = (format) => {
3638
- const entries = chunkJ6U6DIZK_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3639
- const blob = format === "docx" ? new Blob([chunkJ6U6DIZK_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkJ6U6DIZK_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3640
- documentTools.downloadBlob(blob, chunkJ6U6DIZK_cjs.glossaryFileName(title, format));
3638
+ const entries = chunk6EQSP77K_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3639
+ const blob = format === "docx" ? new Blob([chunk6EQSP77K_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunk6EQSP77K_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3640
+ documentTools.downloadBlob(blob, chunk6EQSP77K_cjs.glossaryFileName(title, format));
3641
3641
  };
3642
3642
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
3643
3643
  agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4423,7 +4423,7 @@ var DocumentSharedCell = React9.memo(function DocumentSharedCell2({
4423
4423
  [document2.external_id, onToggle]
4424
4424
  );
4425
4425
  return /* @__PURE__ */ jsxRuntime.jsx(
4426
- chunkJ6U6DIZK_cjs.SharedCell,
4426
+ chunk6EQSP77K_cjs.SharedCell,
4427
4427
  {
4428
4428
  item: document2,
4429
4429
  onToggle: handleToggle,
@@ -5134,7 +5134,7 @@ function KindSection({
5134
5134
  {
5135
5135
  testId: `tags-kind-${kind}`,
5136
5136
  title: ui.tagKindTitle(kind, { plural: true }),
5137
- description: chunkJ6U6DIZK_cjs.tagKindDescription(kind),
5137
+ description: chunk6EQSP77K_cjs.tagKindDescription(kind),
5138
5138
  actions: picker,
5139
5139
  children: [
5140
5140
  browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -5145,9 +5145,9 @@ function KindSection({
5145
5145
  children: [
5146
5146
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
5147
5147
  "Extracting ",
5148
- chunkJ6U6DIZK_cjs.entitiesPhrase().toLowerCase(),
5148
+ chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase(),
5149
5149
  " from ",
5150
- chunkJ6U6DIZK_cjs.documentCount(extractingCount),
5150
+ chunk6EQSP77K_cjs.documentCount(extractingCount),
5151
5151
  "\u2026"
5152
5152
  ]
5153
5153
  }
@@ -5165,7 +5165,7 @@ function KindSection({
5165
5165
  onOpenDocument: (id) => openDocument(id),
5166
5166
  onOpenFact: ctx.onOpenFact,
5167
5167
  onOpenThread: (id) => openConversation(id),
5168
- labels: chunkJ6U6DIZK_cjs.tagTableLabels(kind),
5168
+ labels: chunk6EQSP77K_cjs.tagTableLabels(kind),
5169
5169
  testId: `tags-table-${kind}`
5170
5170
  }
5171
5171
  )
@@ -5267,12 +5267,12 @@ function TagSection({
5267
5267
  onOpenDocument: (id) => openDocument(id),
5268
5268
  onOpenFact: ctx.onOpenFact,
5269
5269
  onOpenThread: (id) => openConversation(id),
5270
- labels: chunkJ6U6DIZK_cjs.tagTableLabels(tag.kind),
5270
+ labels: chunk6EQSP77K_cjs.tagTableLabels(tag.kind),
5271
5271
  testId: "tags-rows"
5272
5272
  }
5273
5273
  ),
5274
5274
  /* @__PURE__ */ jsxRuntime.jsx(
5275
- chunkJ6U6DIZK_cjs.TagDetail,
5275
+ chunk6EQSP77K_cjs.TagDetail,
5276
5276
  {
5277
5277
  row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
5278
5278
  fields: schema.data?.fields ?? [],
@@ -5284,10 +5284,10 @@ function TagSection({
5284
5284
  onOpenDocument: (id) => openDocument(id),
5285
5285
  onOpenFact: ctx.onOpenFact,
5286
5286
  onOpenThread: (id) => openConversation(id),
5287
- noteLabel: chunkJ6U6DIZK_cjs.tagNoteLabel(tag.kind),
5287
+ noteLabel: chunk6EQSP77K_cjs.tagNoteLabel(tag.kind),
5288
5288
  noteIsValue: tag.kind === "annotation",
5289
5289
  renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
5290
- labels: chunkJ6U6DIZK_cjs.tagDetailLabels(),
5290
+ labels: chunk6EQSP77K_cjs.tagDetailLabels(),
5291
5291
  testId: "tags-detail"
5292
5292
  }
5293
5293
  )
@@ -5375,7 +5375,7 @@ function ConnectedTagsPage({
5375
5375
  const onDelete = async (t) => {
5376
5376
  const nested = browser.getChildTags([...tags], t.external_id);
5377
5377
  const uses = browser.tagUseCount(t);
5378
- const n2 = chunkJ6U6DIZK_cjs.tagsPageNouns();
5378
+ const n2 = chunk6EQSP77K_cjs.tagsPageNouns();
5379
5379
  const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
5380
5380
  const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
5381
5381
  const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
@@ -5396,16 +5396,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
5396
5396
  try {
5397
5397
  await extract.mutateAsync(docIds);
5398
5398
  notify17(
5399
- `Extracting ${chunkJ6U6DIZK_cjs.entitiesPhrase().toLowerCase()} from ${chunkJ6U6DIZK_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
5399
+ `Extracting ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()} from ${chunk6EQSP77K_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
5400
5400
  "info"
5401
5401
  );
5402
5402
  } catch (error) {
5403
- notify17(browser.refusalReason(error, `Could not extract ${chunkJ6U6DIZK_cjs.entitiesPhrase().toLowerCase()}`), "error");
5403
+ notify17(browser.refusalReason(error, `Could not extract ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()}`), "error");
5404
5404
  throw error;
5405
5405
  }
5406
5406
  };
5407
5407
  const picker = /* @__PURE__ */ jsxRuntime.jsx(
5408
- chunkJ6U6DIZK_cjs.TagPicker,
5408
+ chunk6EQSP77K_cjs.TagPicker,
5409
5409
  {
5410
5410
  tags: viewTags,
5411
5411
  selectedId: tag?.external_id,
@@ -5419,10 +5419,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
5419
5419
  onOpenTag: openTag,
5420
5420
  onOpenFact
5421
5421
  };
5422
- const n = chunkJ6U6DIZK_cjs.tagsPageNouns();
5422
+ const n = chunk6EQSP77K_cjs.tagsPageNouns();
5423
5423
  const action = view === "person" || view === "organisation" ? {
5424
5424
  label: "Extract",
5425
- title: `Extract ${chunkJ6U6DIZK_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
5425
+ title: `Extract ${chunk6EQSP77K_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
5426
5426
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
5427
5427
  run: () => setExtracting(true),
5428
5428
  testId: "tags-extract-entities"
@@ -5572,7 +5572,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
5572
5572
  }
5573
5573
  ),
5574
5574
  /* @__PURE__ */ jsxRuntime.jsx(
5575
- chunkJ6U6DIZK_cjs.ExtractEntitiesDialog,
5575
+ chunk6EQSP77K_cjs.ExtractEntitiesDialog,
5576
5576
  {
5577
5577
  open: extracting,
5578
5578
  onOpenChange: setExtracting,
@@ -7575,7 +7575,7 @@ function ConnectedFactsPage({
7575
7575
  onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
7576
7576
  navSlotRef: setNavSlot,
7577
7577
  navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
7578
- chunkJ6U6DIZK_cjs.GridRowNavigator,
7578
+ chunk6EQSP77K_cjs.GridRowNavigator,
7579
7579
  {
7580
7580
  gridApi,
7581
7581
  selectedId: editingId,
@@ -10571,7 +10571,7 @@ function ConnectedWorkspaceMembers({
10571
10571
  minWidth: 150,
10572
10572
  sortable: true,
10573
10573
  valueGetter: (p) => p.data ? memberName(p.data.user) : "",
10574
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberNameCell, { children: renderMember(p.data) }) : null
10574
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberNameCell, { children: renderMember(p.data) }) : null
10575
10575
  },
10576
10576
  {
10577
10577
  colId: "email",
@@ -10581,7 +10581,7 @@ function ConnectedWorkspaceMembers({
10581
10581
  sortable: true,
10582
10582
  valueGetter: (p) => p.data?.user.email ?? "",
10583
10583
  // Plain text, not a mailto: the row's click selects it.
10584
- cellRenderer: (p) => p.data?.user.email ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { className: "truncate", title: p.data.user.email, children: p.data.user.email }) : null
10584
+ cellRenderer: (p) => p.data?.user.email ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { className: "truncate", title: p.data.user.email, children: p.data.user.email }) : null
10585
10585
  },
10586
10586
  {
10587
10587
  colId: "role",
@@ -10595,7 +10595,7 @@ function ConnectedWorkspaceMembers({
10595
10595
  if (!row2) return null;
10596
10596
  const lock = roleLock(row2.user.external_id, selfId, isOwner);
10597
10597
  return /* @__PURE__ */ jsxRuntime.jsx(
10598
- chunkWUG24K7P_cjs.MemberRoleCell,
10598
+ chunk5V4HH7EH_cjs.MemberRoleCell,
10599
10599
  {
10600
10600
  role: row2.role,
10601
10601
  roles: ALL_ROLES,
@@ -10615,7 +10615,7 @@ function ConnectedWorkspaceMembers({
10615
10615
  minWidth: 125,
10616
10616
  sortable: true,
10617
10617
  valueGetter: (p) => p.data ? new Date(p.data.joined_at).getTime() : "",
10618
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { className: "cursor-default", children: ui.formatFriendlyDate(p.data.joined_at) }) : null
10618
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { className: "cursor-default", children: ui.formatFriendlyDate(p.data.joined_at) }) : null
10619
10619
  },
10620
10620
  {
10621
10621
  colId: "conversation_count",
@@ -10625,7 +10625,7 @@ function ConnectedWorkspaceMembers({
10625
10625
  sortable: true,
10626
10626
  type: "numericColumn",
10627
10627
  valueGetter: (p) => p.data?.conversation_count ?? 0,
10628
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { children: p.data.conversation_count }) : null
10628
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { children: p.data.conversation_count }) : null
10629
10629
  },
10630
10630
  {
10631
10631
  colId: "document_count",
@@ -10635,7 +10635,7 @@ function ConnectedWorkspaceMembers({
10635
10635
  sortable: true,
10636
10636
  type: "numericColumn",
10637
10637
  valueGetter: (p) => p.data?.document_count ?? 0,
10638
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { children: p.data.document_count }) : null
10638
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberMutedText, { children: p.data.document_count }) : null
10639
10639
  },
10640
10640
  {
10641
10641
  colId: "files_mb",
@@ -10648,7 +10648,7 @@ function ConnectedWorkspaceMembers({
10648
10648
  cellRenderer: (p) => {
10649
10649
  if (!p.data) return null;
10650
10650
  const mb = p.data.files_mb ?? 0;
10651
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkWUG24K7P_cjs.MemberMutedText, { children: [
10651
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk5V4HH7EH_cjs.MemberMutedText, { children: [
10652
10652
  mb >= 100 ? Math.round(mb).toLocaleString("en-US") : mb.toFixed(1),
10653
10653
  " MB"
10654
10654
  ] });
@@ -10688,7 +10688,7 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
10688
10688
  );
10689
10689
  const canChangeRoleSelected = selected.some((m) => !roleLock(m.user.external_id, selfId, isOwner));
10690
10690
  const ownerOnly = `Only available to ${workspaceWord2} owner`;
10691
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberListLoading, {});
10691
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk5V4HH7EH_cjs.MemberListLoading, {});
10692
10692
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "workspace-users", className: "relative flex flex-col", children: [
10693
10693
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
10694
10694
  chunkLKK52DEY_cjs.GridView,
@@ -10706,7 +10706,7 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
10706
10706
  }
10707
10707
  ) }),
10708
10708
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkV4ISCZJ7_cjs.SelectionBar, { count: selected.length, onClear: () => setSelected([]), children: /* @__PURE__ */ jsxRuntime.jsx(
10709
- chunkWUG24K7P_cjs.MemberBulkActions,
10709
+ chunk5V4HH7EH_cjs.MemberBulkActions,
10710
10710
  {
10711
10711
  roles: BULK_ROLES,
10712
10712
  onChangeRole: (value) => void changeSelectedRoles(value),
@@ -10750,13 +10750,13 @@ function ConnectedWorkspaceSettings({
10750
10750
  const [membersExpanded, setMembersExpanded] = React9.useState(false);
10751
10751
  const [shareOpen, setShareOpen] = React9.useState(false);
10752
10752
  if (!workspace) {
10753
- return /* @__PURE__ */ jsxRuntime.jsx(chunkQ7BS7EOU_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
10753
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkQ7BS7EOU_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
10754
10754
  }
10755
10755
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10756
10756
  /* @__PURE__ */ jsxRuntime.jsxs(chunkQ7BS7EOU_cjs.WorkspacePageFrame, { testId, children: [
10757
10757
  /* @__PURE__ */ jsxRuntime.jsxs(chunkQ7BS7EOU_cjs.WorkspaceIdentityPanel, { children: [
10758
10758
  /* @__PURE__ */ jsxRuntime.jsx(
10759
- chunkJ6U6DIZK_cjs.EntityIdentityBar,
10759
+ chunk6EQSP77K_cjs.EntityIdentityBar,
10760
10760
  {
10761
10761
  testId: "workspace-identity-bar",
10762
10762
  canEdit: isOwner,
@@ -10773,7 +10773,7 @@ function ConnectedWorkspaceSettings({
10773
10773
  label: "Name",
10774
10774
  value: workspace.name,
10775
10775
  placeholder: "Untitled",
10776
- maxLength: chunkJ6U6DIZK_cjs.IDENTITY_NAME_MAX_LENGTH,
10776
+ maxLength: chunk6EQSP77K_cjs.IDENTITY_NAME_MAX_LENGTH,
10777
10777
  valueClassName: "truncate text-base font-semibold",
10778
10778
  testId: "workspace-home-title",
10779
10779
  hideLabel: true,
@@ -10996,7 +10996,7 @@ function ConnectedMailboxSyncDialog({
10996
10996
  error: foldersError
10997
10997
  } = react.useMailboxFolders(catalog.vendor_key, open && tokensBridged);
10998
10998
  const foldersLoading = !tokensBridged || foldersQueryLoading;
10999
- const folderTree = chunkWUG24K7P_cjs.buildMailFolderTree(folders);
10999
+ const folderTree = chunk5V4HH7EH_cjs.buildMailFolderTree(folders);
11000
11000
  const [expandAllNonce, setExpandAllNonce] = React9.useState(0);
11001
11001
  const [collapseAllNonce, setCollapseAllNonce] = React9.useState(0);
11002
11002
  const selectAllIds = folderTree.flatMap(
@@ -11127,7 +11127,7 @@ function ConnectedMailboxSyncDialog({
11127
11127
  }
11128
11128
  )
11129
11129
  ) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkFEVJA4BP_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFEVJA4BP_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
11130
- chunkWUG24K7P_cjs.MailFolderTree,
11130
+ chunk5V4HH7EH_cjs.MailFolderTree,
11131
11131
  {
11132
11132
  nodes: folderTree,
11133
11133
  selected: selectedFolders,
@@ -11529,36 +11529,36 @@ function ConnectedSharePointAdminConsentPage({
11529
11529
  const result = givenResult === void 0 ? queryResult : givenResult;
11530
11530
  const { apiBaseUrl } = chunkB3NYBMDR_cjs.useBlocksEnvironment().runtimeConfig;
11531
11531
  const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
11532
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentCard, { size: "md", children: [
11532
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { size: "md", children: [
11533
11533
  /* @__PURE__ */ jsxRuntime.jsx(
11534
- chunkPOU4O4D7_cjs.ConsentHeader,
11534
+ chunkFY4C7HU5_cjs.ConsentHeader,
11535
11535
  {
11536
11536
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkWALADS2S_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
11537
11537
  title: "Approve ARBI for SharePoint access",
11538
11538
  children: "A member of your organization uses ARBI and wants to sync documents from SharePoint. Your Microsoft 365 organization requires an administrator to approve this once for the whole organization."
11539
11539
  }
11540
11540
  ),
11541
- result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
11542
- result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
11543
- /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentSection, { title: "What you are approving", children: [
11541
+ result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
11542
+ result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
11543
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentSection, { title: "What you are approving", children: [
11544
11544
  /* @__PURE__ */ jsxRuntime.jsx(
11545
- chunkPOU4O4D7_cjs.ConsentBulletList,
11545
+ chunkFY4C7HU5_cjs.ConsentBulletList,
11546
11546
  {
11547
11547
  items: [
11548
11548
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11549
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
11549
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
11550
11550
  " \u2014 lets each user who connects their own account import documents from sites they already have access to. ARBI never gets more access than the user has."
11551
11551
  ] }),
11552
11552
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11553
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
11553
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
11554
11554
  " \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
11555
11555
  ] })
11556
11556
  ]
11557
11557
  }
11558
11558
  ),
11559
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
11559
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
11560
11560
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { asChild: true, className: "w-full pointer-coarse:h-11", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: consentUrl, children: "Review and approve in Microsoft" }) }),
11561
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
11561
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
11562
11562
  ] })
11563
11563
  ] }) });
11564
11564
  }
@@ -14456,36 +14456,36 @@ function ConnectedAddContacts({
14456
14456
  const [rows, setRows] = React9.useState(null);
14457
14457
  const selfEmail = arbi.isLoggedIn ? arbi.user.identity()?.email : null;
14458
14458
  const submit = async () => {
14459
- if (!chunkWUG24K7P_cjs.emailTokens(text2).length) {
14459
+ if (!chunk5V4HH7EH_cjs.emailTokens(text2).length) {
14460
14460
  notify17("Please enter at least one email address", "error");
14461
14461
  return;
14462
14462
  }
14463
- const plan = chunkWUG24K7P_cjs.planContactInvites(text2, contacts, selfEmail);
14464
- if (plan.send.length > chunkWUG24K7P_cjs.MAX_INVITE_EMAILS) {
14465
- notify17(`Maximum ${chunkWUG24K7P_cjs.MAX_INVITE_EMAILS} new emails allowed per batch`, "error");
14463
+ const plan = chunk5V4HH7EH_cjs.planContactInvites(text2, contacts, selfEmail);
14464
+ if (plan.send.length > chunk5V4HH7EH_cjs.MAX_INVITE_EMAILS) {
14465
+ notify17(`Maximum ${chunk5V4HH7EH_cjs.MAX_INVITE_EMAILS} new emails allowed per batch`, "error");
14466
14466
  return;
14467
14467
  }
14468
14468
  setRows(plan.rows);
14469
14469
  if (!plan.send.length) {
14470
- notify17(chunkWUG24K7P_cjs.summarizeUnsentInvites(plan.rows), "info");
14470
+ notify17(chunk5V4HH7EH_cjs.summarizeUnsentInvites(plan.rows), "info");
14471
14471
  onSuccess?.();
14472
14472
  return;
14473
14473
  }
14474
14474
  try {
14475
14475
  const response = await invite.mutateAsync(plan.send);
14476
- setRows(chunkWUG24K7P_cjs.applyContactInviteResults(plan, response));
14477
- const summary = chunkWUG24K7P_cjs.summarizeContactInvites(response);
14476
+ setRows(chunk5V4HH7EH_cjs.applyContactInviteResults(plan, response));
14477
+ const summary = chunk5V4HH7EH_cjs.summarizeContactInvites(response);
14478
14478
  notify17(summary.message, summary.failed ? "error" : "success");
14479
14479
  onSuccess?.();
14480
14480
  } catch (error) {
14481
14481
  const message = browser.refusalReason(error, "Failed to add contacts");
14482
- setRows(chunkWUG24K7P_cjs.failContactInvites(plan, message));
14482
+ setRows(chunk5V4HH7EH_cjs.failContactInvites(plan, message));
14483
14483
  notify17(message, "error");
14484
14484
  }
14485
14485
  };
14486
14486
  if (rows)
14487
14487
  return /* @__PURE__ */ jsxRuntime.jsx(
14488
- chunkWUG24K7P_cjs.AddContactsResults,
14488
+ chunk5V4HH7EH_cjs.AddContactsResults,
14489
14489
  {
14490
14490
  rows,
14491
14491
  onDone: onClose,
@@ -14496,11 +14496,11 @@ function ConnectedAddContacts({
14496
14496
  }
14497
14497
  );
14498
14498
  return /* @__PURE__ */ jsxRuntime.jsx(
14499
- chunkWUG24K7P_cjs.AddContactsForm,
14499
+ chunk5V4HH7EH_cjs.AddContactsForm,
14500
14500
  {
14501
14501
  value: text2,
14502
14502
  onChange: setText,
14503
- emailCount: chunkWUG24K7P_cjs.emailTokens(text2).length,
14503
+ emailCount: chunk5V4HH7EH_cjs.emailTokens(text2).length,
14504
14504
  isPending: invite.isPending,
14505
14505
  onSubmit: () => void submit(),
14506
14506
  onCancel: onClose,
@@ -14909,7 +14909,7 @@ function ConnectedWorkspaceList({
14909
14909
  else void openWorkspace(workspace.external_id, { name: workspace.name });
14910
14910
  };
14911
14911
  const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
14912
- if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.LoadingIndicator, { message: "Loading workspaces..." });
14912
+ if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading workspaces..." });
14913
14913
  if (list.error) {
14914
14914
  return /* @__PURE__ */ jsxRuntime.jsx(
14915
14915
  chunkH6K7EWL2_cjs.HomeLoadError,
@@ -14982,7 +14982,7 @@ function ConnectedWorkspaceList({
14982
14982
  workspaceState
14983
14983
  }
14984
14984
  ) })
14985
- ) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkH6K7EWL2_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
14985
+ ) : /* @__PURE__ */ jsxRuntime.jsx(React9.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkH6K7EWL2_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
14986
14986
  WorkspaceTableView,
14987
14987
  {
14988
14988
  list,
@@ -15224,7 +15224,7 @@ function ProjectsListPage({
15224
15224
  }
15225
15225
  ),
15226
15226
  /* @__PURE__ */ jsxRuntime.jsx(
15227
- chunkJ6U6DIZK_cjs.Toolbar,
15227
+ chunk6EQSP77K_cjs.Toolbar,
15228
15228
  {
15229
15229
  search,
15230
15230
  onSearch: setSearch,
@@ -15644,7 +15644,7 @@ var COMPACT_BELOW = 132;
15644
15644
  var NO_DOCUMENTS = [];
15645
15645
  function useFilesWorkspace() {
15646
15646
  const { workspaceId, userId, live } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
15647
- const { members, role } = chunkQU77RRZP_cjs.useConnectedWorkspaceRole();
15647
+ const { members, role } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
15648
15648
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
15649
15649
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
15650
15650
  return {
@@ -16848,7 +16848,7 @@ function ConnectedContactCardForm({
16848
16848
  }) {
16849
16849
  const { notify: notify17 } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
16850
16850
  const [form, setForm] = React9.useState(
16851
- () => contact?.card ? chunkWUG24K7P_cjs.contactToForm(contact.card) : chunkWUG24K7P_cjs.EMPTY_CONTACT_FORM
16851
+ () => contact?.card ? chunk5V4HH7EH_cjs.contactToForm(contact.card) : chunk5V4HH7EH_cjs.EMPTY_CONTACT_FORM
16852
16852
  );
16853
16853
  const [invite, setInvite] = React9.useState(false);
16854
16854
  const [errors, setErrors] = React9.useState({});
@@ -16862,14 +16862,14 @@ function ConnectedContactCardForm({
16862
16862
  const locked = !!contact && !contact.card;
16863
16863
  const set = (key, value) => setForm((f) => ({ ...f, [key]: value }));
16864
16864
  const submit = () => {
16865
- const found = chunkWUG24K7P_cjs.validateContactForm(form);
16866
- const email = chunkWUG24K7P_cjs.inviteEmail(form);
16865
+ const found = chunk5V4HH7EH_cjs.validateContactForm(form);
16866
+ const email = chunk5V4HH7EH_cjs.inviteEmail(form);
16867
16867
  if (invite && !email && !found.emails) found.emails = "Add an e-mail address to invite";
16868
16868
  setErrors(found);
16869
16869
  setServerError(null);
16870
16870
  setDuplicateOf(null);
16871
16871
  if (Object.keys(found).length) return;
16872
- const card = chunkWUG24K7P_cjs.formToContactCard(form);
16872
+ const card = chunk5V4HH7EH_cjs.formToContactCard(form);
16873
16873
  const onError = (err) => {
16874
16874
  setServerError(browser.refusalReason(err, "Could not save"));
16875
16875
  if (err instanceof browser.DuplicateContactError && err.contactId !== contact?.external_id)
@@ -16877,10 +16877,10 @@ function ConnectedContactCardForm({
16877
16877
  };
16878
16878
  const onInvited = (result) => {
16879
16879
  if (result.status === "failed") {
16880
- setServerError(result.outcome_detail || chunkWUG24K7P_cjs.DEFAULT_CONTACT_OUTCOME_LABELS.failed);
16880
+ setServerError(result.outcome_detail || chunk5V4HH7EH_cjs.DEFAULT_CONTACT_OUTCOME_LABELS.failed);
16881
16881
  return;
16882
16882
  }
16883
- notify17(chunkWUG24K7P_cjs.contactOutcomeMessage({ ...result, outcome: result.outcome ?? "invited" }), "success");
16883
+ notify17(chunk5V4HH7EH_cjs.contactOutcomeMessage({ ...result, outcome: result.outcome ?? "invited" }), "success");
16884
16884
  onDone();
16885
16885
  };
16886
16886
  if (invite && email) {
@@ -16936,7 +16936,7 @@ function ConnectedContactCardForm({
16936
16936
  linked && contact && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", "data-testid": "contact-linked-email", children: [
16937
16937
  "ARBI: ",
16938
16938
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: contact.email }),
16939
- chunkWUG24K7P_cjs.contactStatusLabel(contact.status) && ` \xB7 ${chunkWUG24K7P_cjs.contactStatusLabel(contact.status)}`
16939
+ chunk5V4HH7EH_cjs.contactStatusLabel(contact.status) && ` \xB7 ${chunk5V4HH7EH_cjs.contactStatusLabel(contact.status)}`
16940
16940
  ] }),
16941
16941
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
16942
16942
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "contact-name", children: "Name" }),
@@ -17139,7 +17139,7 @@ function ImportVcfSummary({
17139
17139
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "min-w-0", children: [
17140
17140
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: o.file }),
17141
17141
  ": ",
17142
- "error" in o ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive", children: o.error }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: chunkWUG24K7P_cjs.summarizeImport(o.result) })
17142
+ "error" in o ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive", children: o.error }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: chunk5V4HH7EH_cjs.summarizeImport(o.result) })
17143
17143
  ] }),
17144
17144
  "result" in o && o.result.skipped.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "text-xs text-muted-foreground", children: [
17145
17145
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer", children: "Why cards were skipped" }),
@@ -17177,7 +17177,7 @@ function ConnectedContactsDirectory({
17177
17177
  const [confirmDelete, setConfirmDelete] = React9.useState(null);
17178
17178
  const [importState, setImportState] = React9.useState(null);
17179
17179
  const contacts = React9.useMemo(() => data.filter((c) => !(c.user && ui.isAgent(c.user))), [data]);
17180
- const shown = React9.useMemo(() => contacts.filter((c) => chunkWUG24K7P_cjs.matchesContact(c, q)), [contacts, q]);
17180
+ const shown = React9.useMemo(() => contacts.filter((c) => chunk5V4HH7EH_cjs.matchesContact(c, q)), [contacts, q]);
17181
17181
  if (editing)
17182
17182
  return /* @__PURE__ */ jsxRuntime.jsxs(
17183
17183
  "section",
@@ -17196,7 +17196,7 @@ function ConnectedContactsDirectory({
17196
17196
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "size-4" })
17197
17197
  }
17198
17198
  ),
17199
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" : chunkWUG24K7P_cjs.contactName(editing) || "Contact" })
17199
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" : chunk5V4HH7EH_cjs.contactName(editing) || "Contact" })
17200
17200
  ] }),
17201
17201
  /* @__PURE__ */ jsxRuntime.jsx(
17202
17202
  ConnectedContactCardForm,
@@ -17268,8 +17268,8 @@ function ConnectedContactsDirectory({
17268
17268
  "\u201D."
17269
17269
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid divide-y divide-border rounded-lg border border-border", children: shown.map((c, i) => {
17270
17270
  const id = c.external_id ?? `row-${i}`;
17271
- const name = chunkWUG24K7P_cjs.contactName(c);
17272
- const status = chunkWUG24K7P_cjs.contactStatusLabel(c.status);
17271
+ const name = chunk5V4HH7EH_cjs.contactName(c);
17272
+ const status = chunk5V4HH7EH_cjs.contactStatusLabel(c.status);
17273
17273
  const peer = onMessage && c.status === "registered" ? c.user : null;
17274
17274
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center justify-between gap-2 px-3 py-2 text-sm", children: [
17275
17275
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -17299,7 +17299,7 @@ function ConnectedContactsDirectory({
17299
17299
  )
17300
17300
  ] }),
17301
17301
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate text-xs text-muted-foreground", children: [
17302
- chunkWUG24K7P_cjs.primaryEmail(c) !== name && chunkWUG24K7P_cjs.primaryEmail(c),
17302
+ chunk5V4HH7EH_cjs.primaryEmail(c) !== name && chunk5V4HH7EH_cjs.primaryEmail(c),
17303
17303
  c.card?.organization,
17304
17304
  c.card?.birthday && `Birthday ${c.card.birthday}`
17305
17305
  ].filter(Boolean).join(" \xB7 ") })
@@ -17428,7 +17428,7 @@ function recentConversations(conversations) {
17428
17428
  return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
17429
17429
  id: c.external_id,
17430
17430
  title: c.title?.trim() || "Untitled thread",
17431
- subtitle: c.status ? [chunkPOU4O4D7_cjs.STATUS_LABELS[chunkPOU4O4D7_cjs.asTaskStatus(c.status)], c.due_at ? `due ${shortDate(c.due_at)}` : null].filter(Boolean).join(" \xB7 ") : `${c.message_count} ${c.message_count === 1 ? "message" : "messages"}`,
17431
+ subtitle: c.status ? [chunkFY4C7HU5_cjs.STATUS_LABELS[chunkFY4C7HU5_cjs.asTaskStatus(c.status)], c.due_at ? `due ${shortDate(c.due_at)}` : null].filter(Boolean).join(" \xB7 ") : `${c.message_count} ${c.message_count === 1 ? "message" : "messages"}`,
17432
17432
  time: timeAndDate(c.updated_at)
17433
17433
  }));
17434
17434
  }
@@ -18078,7 +18078,7 @@ function MailRecipientInput({
18078
18078
  const { head, token } = currentToken(value);
18079
18079
  const found = source.useSuggestions(token);
18080
18080
  const options2 = React9.useMemo(() => {
18081
- const chosen = new Set(chunkWUG24K7P_cjs.parseMailRecipients(head).map((r) => r.email.toLowerCase()));
18081
+ const chosen = new Set(chunk5V4HH7EH_cjs.parseMailRecipients(head).map((r) => r.email.toLowerCase()));
18082
18082
  return found.filter((p) => !chosen.has(p.email.toLowerCase())).slice(0, 8);
18083
18083
  }, [found, head]);
18084
18084
  const open = focused && !dismissed && token.length > 0 && options2.length > 0;
@@ -18226,7 +18226,7 @@ function useWordBody({
18226
18226
  }
18227
18227
  var MailBodyEditor = React9.lazy(
18228
18228
  () => import('../MailBodyEditor-D7MGJMLH.cjs').catch(() => ({
18229
- default: chunkWUG24K7P_cjs.PlainMailBodyEditor
18229
+ default: chunk5V4HH7EH_cjs.PlainMailBodyEditor
18230
18230
  }))
18231
18231
  );
18232
18232
  var NativeDocxEditor = React9.lazy(
@@ -18319,9 +18319,9 @@ function MailComposerForm({
18319
18319
  }, [drafts, draftId, subject]);
18320
18320
  const body = () => ({
18321
18321
  ...initial,
18322
- to: chunkWUG24K7P_cjs.parseMailRecipients(to),
18323
- cc: chunkWUG24K7P_cjs.parseMailRecipients(cc),
18324
- bcc: chunkWUG24K7P_cjs.parseMailRecipients(bcc),
18322
+ to: chunk5V4HH7EH_cjs.parseMailRecipients(to),
18323
+ cc: chunk5V4HH7EH_cjs.parseMailRecipients(cc),
18324
+ bcc: chunk5V4HH7EH_cjs.parseMailRecipients(bcc),
18325
18325
  subject,
18326
18326
  text: text2,
18327
18327
  html,
@@ -18793,7 +18793,7 @@ function MailComposerForm({
18793
18793
  }
18794
18794
  ),
18795
18795
  documents && /* @__PURE__ */ jsxRuntime.jsx(
18796
- chunkWUG24K7P_cjs.MailDocumentPicker,
18796
+ chunk5V4HH7EH_cjs.MailDocumentPicker,
18797
18797
  {
18798
18798
  documents: documents.documents,
18799
18799
  disabled: locked,
@@ -18912,7 +18912,7 @@ function ConnectedMailComposer({
18912
18912
  openId,
18913
18913
  async (from, id) => {
18914
18914
  const message = await client.getMessage(from, id);
18915
- return chunkWUG24K7P_cjs.draftMailCompose(
18915
+ return chunk5V4HH7EH_cjs.draftMailCompose(
18916
18916
  message,
18917
18917
  await hydrateMailAttachments(client, from, message.id, message.attachments, {
18918
18918
  isOnline,
@@ -18926,11 +18926,11 @@ function ConnectedMailComposer({
18926
18926
  const start = React9.useMemo(() => {
18927
18927
  if (replyTo)
18928
18928
  return original.data && account ? {
18929
- ...chunkWUG24K7P_cjs.replyMailCompose(original.data, { account, folderRole: "inbox" }),
18929
+ ...chunk5V4HH7EH_cjs.replyMailCompose(original.data, { account, folderRole: "inbox" }),
18930
18930
  text: "",
18931
18931
  html: ""
18932
18932
  } : void 0;
18933
- return reloaded ? draft.data : initial ?? (openId ? draft.data : chunkWUG24K7P_cjs.emptyMailCompose());
18933
+ return reloaded ? draft.data : initial ?? (openId ? draft.data : chunk5V4HH7EH_cjs.emptyMailCompose());
18934
18934
  }, [replyTo, original.data, account, reloaded, initial, openId, draft.data]);
18935
18935
  if (!start)
18936
18936
  return draft.error ?? original.error ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "p-4 text-sm text-destructive", children: (draft.error ?? original.error)?.message }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-4 text-sm text-muted-foreground", children: "Loading draft\u2026" });
@@ -19237,7 +19237,7 @@ function ConnectedMailbox({
19237
19237
  const message = detail.data;
19238
19238
  React9.useEffect(() => {
19239
19239
  if (!composeAttachments?.length) return;
19240
- openCompose({ ...chunkWUG24K7P_cjs.emptyMailCompose(), attachments: composeAttachments });
19240
+ openCompose({ ...chunk5V4HH7EH_cjs.emptyMailCompose(), attachments: composeAttachments });
19241
19241
  onComposeOpened?.();
19242
19242
  }, [composeAttachments]);
19243
19243
  React9.useEffect(() => {
@@ -19369,7 +19369,7 @@ function ConnectedMailbox({
19369
19369
  const editDraft = async () => {
19370
19370
  if (!message) return;
19371
19371
  try {
19372
- openCompose(chunkWUG24K7P_cjs.draftMailCompose(message, await hydrate(message.attachments)));
19372
+ openCompose(chunk5V4HH7EH_cjs.draftMailCompose(message, await hydrate(message.attachments)));
19373
19373
  } catch (e) {
19374
19374
  setActionError(e instanceof Error ? e.message : "Could not load draft attachments");
19375
19375
  }
@@ -19378,7 +19378,7 @@ function ConnectedMailbox({
19378
19378
  if (!message || !account) return;
19379
19379
  try {
19380
19380
  const attachments = forward ? await hydrate(message.attachments) : [];
19381
- openCompose(chunkWUG24K7P_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
19381
+ openCompose(chunk5V4HH7EH_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
19382
19382
  } catch (e) {
19383
19383
  setActionError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
19384
19384
  }
@@ -19498,7 +19498,7 @@ function ConnectedMailbox({
19498
19498
  {
19499
19499
  size: "sm",
19500
19500
  disabled: !ready || !!compose,
19501
- onClick: () => openCompose(chunkWUG24K7P_cjs.emptyMailCompose()),
19501
+ onClick: () => openCompose(chunk5V4HH7EH_cjs.emptyMailCompose()),
19502
19502
  children: [
19503
19503
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-1.5 size-4" }),
19504
19504
  "Email"
@@ -19577,7 +19577,7 @@ function ConnectedMailbox({
19577
19577
  onEdit: (value) => openCompose({ ...value })
19578
19578
  }),
19579
19579
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: deviceFolder ? "hidden" : "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
19580
- chunkWUG24K7P_cjs.MailGrid,
19580
+ chunk5V4HH7EH_cjs.MailGrid,
19581
19581
  {
19582
19582
  messages: filteredMessages,
19583
19583
  loading: list.isPending && list.fetchStatus !== "idle",
@@ -19641,7 +19641,7 @@ function ConnectedMailbox({
19641
19641
  },
19642
19642
  `${account?.id}-${composeSession}`
19643
19643
  ) : message && selected ? /* @__PURE__ */ jsxRuntime.jsx(
19644
- chunkWUG24K7P_cjs.MailMessageView,
19644
+ chunk5V4HH7EH_cjs.MailMessageView,
19645
19645
  {
19646
19646
  account,
19647
19647
  message,
@@ -19778,7 +19778,7 @@ function ConnectedMailMessage({
19778
19778
  const attachments = forward ? await hydrateMailAttachments(client, account, message.id, message.attachments, {
19779
19779
  isOnline
19780
19780
  }) : [];
19781
- onCompose(chunkWUG24K7P_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
19781
+ onCompose(chunk5V4HH7EH_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
19782
19782
  } catch (e) {
19783
19783
  setError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
19784
19784
  }
@@ -19786,7 +19786,7 @@ function ConnectedMailMessage({
19786
19786
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [
19787
19787
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "px-4 pt-3 text-sm text-destructive", children: error }),
19788
19788
  /* @__PURE__ */ jsxRuntime.jsx(
19789
- chunkWUG24K7P_cjs.MailMessageView,
19789
+ chunk5V4HH7EH_cjs.MailMessageView,
19790
19790
  {
19791
19791
  account,
19792
19792
  message,
@@ -19797,7 +19797,7 @@ function ConnectedMailMessage({
19797
19797
  onBack: onClose,
19798
19798
  onEditDraft: () => void hydrateMailAttachments(client, account, message.id, message.attachments, {
19799
19799
  isOnline
19800
- }).then((attachments) => onCompose(chunkWUG24K7P_cjs.draftMailCompose(message, attachments))).catch((e) => setError(e.message)),
19800
+ }).then((attachments) => onCompose(chunk5V4HH7EH_cjs.draftMailCompose(message, attachments))).catch((e) => setError(e.message)),
19801
19801
  onReply: (forward, all) => void reply(forward, all),
19802
19802
  onReplyWithArbi: onReplyWithArbi && account.provider === "native" ? () => onReplyWithArbi(message, account) : void 0,
19803
19803
  onUpdate: (body) => void update(body),
@@ -21186,7 +21186,7 @@ function EventEditorDialog({
21186
21186
  const { notify: notify17, runtimeConfig } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
21187
21187
  const attachmentDocuments = documents.map((document2) => ({
21188
21188
  doc_id: document2.external_id,
21189
- title: chunkQU77RRZP_cjs.toWorkflowFieldDocument(document2).title,
21189
+ title: chunkVMLEISRZ_cjs.toWorkflowFieldDocument(document2).title,
21190
21190
  url: chunk725OETK3_cjs.buildDeepLinkUrl(
21191
21191
  { workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
21192
21192
  runtimeConfig.deploymentDomain
@@ -23705,9 +23705,9 @@ function ConnectedTagEntity({
23705
23705
  onEditClick();
23706
23706
  }
23707
23707
  };
23708
- const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltip, { children: [
23708
+ const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
23709
23709
  /* @__PURE__ */ jsxRuntime.jsx(
23710
- chunkJ6U6DIZK_cjs.EntityTooltipHeader,
23710
+ chunk6EQSP77K_cjs.EntityTooltipHeader,
23711
23711
  {
23712
23712
  lead: /* @__PURE__ */ jsxRuntime.jsx(
23713
23713
  "span",
@@ -26162,9 +26162,9 @@ function ConnectedWorkspaceEntity({
26162
26162
  );
26163
26163
  const documentCount2 = (workspace.shared_document_count ?? 0) + (workspace.private_document_count ?? 0);
26164
26164
  const conversationCount = (workspace.shared_conversation_count ?? 0) + (workspace.private_conversation_count ?? 0);
26165
- const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltip, { children: [
26165
+ const tooltipContent = /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltip, { children: [
26166
26166
  /* @__PURE__ */ jsxRuntime.jsx(
26167
- chunkJ6U6DIZK_cjs.EntityTooltipHeader,
26167
+ chunk6EQSP77K_cjs.EntityTooltipHeader,
26168
26168
  {
26169
26169
  lead: /* @__PURE__ */ jsxRuntime.jsx(
26170
26170
  ui.ShieldIcon,
@@ -26181,7 +26181,7 @@ function ConnectedWorkspaceEntity({
26181
26181
  }
26182
26182
  ),
26183
26183
  /* @__PURE__ */ jsxRuntime.jsx(
26184
- chunkJ6U6DIZK_cjs.EntityTooltipStats,
26184
+ chunk6EQSP77K_cjs.EntityTooltipStats,
26185
26185
  {
26186
26186
  stats: [
26187
26187
  {
@@ -26205,11 +26205,11 @@ function ConnectedWorkspaceEntity({
26205
26205
  ]
26206
26206
  }
26207
26207
  ),
26208
- workspace.updated_at && /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltipHint, { children: [
26208
+ workspace.updated_at && /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { children: [
26209
26209
  "Updated ",
26210
26210
  ui.formatFriendlyDate(workspace.updated_at)
26211
26211
  ] }),
26212
- interactive && variant !== "icon" && /* @__PURE__ */ jsxRuntime.jsxs(chunkJ6U6DIZK_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "WORKSPACE", className: "w-3 h-3" }), children: [
26212
+ interactive && variant !== "icon" && /* @__PURE__ */ jsxRuntime.jsxs(chunk6EQSP77K_cjs.EntityTooltipHint, { icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "WORKSPACE", className: "w-3 h-3" }), children: [
26213
26213
  "Click to open ",
26214
26214
  ui.getEntityLabel("WORKSPACE").toLowerCase(),
26215
26215
  " settings"
@@ -26325,7 +26325,7 @@ function useBatchCompleteToasts() {
26325
26325
  }
26326
26326
  }, AI_FIELDS_NOTICE_WINDOW_MS);
26327
26327
  } else if (message.batch_type === "entity_extract") {
26328
- say(`${chunkJ6U6DIZK_cjs.entitiesPhrase()} extracted from ${chunkJ6U6DIZK_cjs.documentCount(docIds.length)}`, "success", {
26328
+ say(`${chunk6EQSP77K_cjs.entitiesPhrase()} extracted from ${chunk6EQSP77K_cjs.documentCount(docIds.length)}`, "success", {
26329
26329
  ...openTags && { action: { label: "View", onClick: openTags } }
26330
26330
  });
26331
26331
  } else if (message.batch_type === "upload") {
@@ -28071,7 +28071,7 @@ function ConnectedFilesPage({
28071
28071
  const deleteDocuments = react.useDeleteDocuments();
28072
28072
  const isDocumentsPending = isLoading && documents.length === 0;
28073
28073
  const { workspaceId, userId, live } = chunkJVXHVFUA_cjs.useConnectedWorkspace();
28074
- const { role, members } = chunkQU77RRZP_cjs.useConnectedWorkspaceRole();
28074
+ const { role, members } = chunkVMLEISRZ_cjs.useConnectedWorkspaceRole();
28075
28075
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
28076
28076
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
28077
28077
  const isMember = role != null;
@@ -28486,7 +28486,7 @@ function ConnectedFilesPage({
28486
28486
  viewMode === "grid" ? (
28487
28487
  // ‹ n / N › over the table's displayed rows; a step opens the document.
28488
28488
  /* @__PURE__ */ jsxRuntime.jsx(
28489
- chunkJ6U6DIZK_cjs.GridRowNavigator,
28489
+ chunk6EQSP77K_cjs.GridRowNavigator,
28490
28490
  {
28491
28491
  gridApi,
28492
28492
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -29159,10 +29159,10 @@ function ConnectedChatThread({
29159
29159
  };
29160
29160
  const History = host.ThreadHistory;
29161
29161
  return /* @__PURE__ */ jsxRuntime.jsx(
29162
- chunkWUG24K7P_cjs.DmThreadFrame,
29162
+ chunk5V4HH7EH_cjs.DmThreadFrame,
29163
29163
  {
29164
29164
  accessBanner: pendingAccessRequest ? /* @__PURE__ */ jsxRuntime.jsx(
29165
- chunkWUG24K7P_cjs.DmAccessRequestBanner,
29165
+ chunk5V4HH7EH_cjs.DmAccessRequestBanner,
29166
29166
  {
29167
29167
  name: peer?.given_name ?? "They",
29168
29168
  onReview: () => host.onReviewAccessRequest?.(pendingAccessRequest)
@@ -30057,7 +30057,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
30057
30057
  ({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
30058
30058
  []
30059
30059
  );
30060
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
30060
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
30061
30061
  }
30062
30062
  function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
30063
30063
  const { notify: notify17 } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
@@ -30174,7 +30174,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
30174
30174
  }, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
30175
30175
  if (editAgent) {
30176
30176
  return /* @__PURE__ */ jsxRuntime.jsx(
30177
- chunkPOU4O4D7_cjs.AgentEditView,
30177
+ chunkFY4C7HU5_cjs.AgentEditView,
30178
30178
  {
30179
30179
  agentName: editAgent.name,
30180
30180
  config: /* @__PURE__ */ jsxRuntime.jsx(
@@ -30190,7 +30190,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
30190
30190
  }
30191
30191
  if (view === "main") {
30192
30192
  return /* @__PURE__ */ jsxRuntime.jsx(
30193
- chunkPOU4O4D7_cjs.AgentMainView,
30193
+ chunkFY4C7HU5_cjs.AgentMainView,
30194
30194
  {
30195
30195
  onConnectExternal: () => setView("connect"),
30196
30196
  config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -30206,11 +30206,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
30206
30206
  }
30207
30207
  if (result) {
30208
30208
  return /* @__PURE__ */ jsxRuntime.jsx(
30209
- chunkPOU4O4D7_cjs.AgentCreatedView,
30209
+ chunkFY4C7HU5_cjs.AgentCreatedView,
30210
30210
  {
30211
30211
  email: result.email,
30212
30212
  signingKey: result.signingKey,
30213
- instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
30213
+ instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
30214
30214
  config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
30215
30215
  isConfigOpen: configOpen,
30216
30216
  onToggleConfig: () => setConfigOpen((v) => !v),
@@ -30219,7 +30219,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
30219
30219
  );
30220
30220
  }
30221
30221
  return /* @__PURE__ */ jsxRuntime.jsx(
30222
- chunkPOU4O4D7_cjs.AgentCreateView,
30222
+ chunkFY4C7HU5_cjs.AgentCreateView,
30223
30223
  {
30224
30224
  name,
30225
30225
  onNameChange: setName,
@@ -31918,14 +31918,14 @@ var referencesOf = (inputs) => {
31918
31918
  return value?.documents ?? [];
31919
31919
  };
31920
31920
  var PROMPT_BINDINGS = {
31921
- [chunkPOU4O4D7_cjs.GENERATE_IMAGE_ID]: {
31921
+ [chunkFY4C7HU5_cjs.GENERATE_IMAGE_ID]: {
31922
31922
  attachScope: false,
31923
31923
  tools: (inputs) => {
31924
31924
  const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
31925
31925
  return {
31926
31926
  retrieval_chunk: browser.buildRetrievalChunkTool([]),
31927
31927
  retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
31928
- ...aspectRatio && aspectRatio !== chunkPOU4O4D7_cjs.IMAGE_ASPECT_AUTO ? {
31928
+ ...aspectRatio && aspectRatio !== chunkFY4C7HU5_cjs.IMAGE_ASPECT_AUTO ? {
31929
31929
  image_generation: {
31930
31930
  name: "image_generation",
31931
31931
  description: "image generation",
@@ -31961,7 +31961,7 @@ function useWorkflowTasks() {
31961
31961
  );
31962
31962
  const create4 = React9.useCallback(
31963
31963
  async (ctx, forceWorkflow = false) => {
31964
- const request = chunkPOU4O4D7_cjs.taskComposerToCreateRequest(
31964
+ const request = chunkFY4C7HU5_cjs.taskComposerToCreateRequest(
31965
31965
  { ...ctx, documentTitles, plan: ctx.plan ?? null },
31966
31966
  activeWorkspaceId ?? void 0,
31967
31967
  forceWorkflow
@@ -32003,7 +32003,7 @@ function useWorkflowTasks() {
32003
32003
  );
32004
32004
  const update = React9.useCallback(
32005
32005
  async (task, ctx) => {
32006
- const patch = chunkPOU4O4D7_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
32006
+ const patch = chunkFY4C7HU5_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
32007
32007
  if (task.is_owner === false) delete patch.shared;
32008
32008
  await updateConversation.mutateAsync({ conversationId: task.external_id, patch });
32009
32009
  },
@@ -32011,7 +32011,7 @@ function useWorkflowTasks() {
32011
32011
  );
32012
32012
  const updateWorkflow = React9.useCallback(
32013
32013
  async (workflow, ctx) => {
32014
- const patch = chunkPOU4O4D7_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
32014
+ const patch = chunkFY4C7HU5_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
32015
32015
  if (workflow.is_owner === false) delete patch.shared;
32016
32016
  const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId;
32017
32017
  const updated = await updateWorkflowMutation.mutateAsync({
@@ -32041,7 +32041,7 @@ var text = (inputs, name) => {
32041
32041
  function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
32042
32042
  const { data: documents = [] } = react.useDocuments();
32043
32043
  const { data: workspaceTags = [] } = react.useTags();
32044
- const tags = React9.useMemo(() => chunkSSYRPBL5_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
32044
+ const tags = React9.useMemo(() => chunk2QDNQM63_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
32045
32045
  const createTag = react.useCreateTag();
32046
32046
  const updateTag = react.useUpdateTag();
32047
32047
  const generate = react.useGenerateDocTags();
@@ -32052,8 +32052,8 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
32052
32052
  const annotate = React9.useCallback(
32053
32053
  async ({ inputs, scope }) => {
32054
32054
  const description = text(inputs, "description");
32055
- const name = text(inputs, "name") || chunkPOU4O4D7_cjs.deriveAnnotationName(description);
32056
- const matching = chunkSSYRPBL5_cjs.matchWorkflowScope(documents, scope);
32055
+ const name = text(inputs, "name") || chunkFY4C7HU5_cjs.deriveAnnotationName(description);
32056
+ const matching = chunk2QDNQM63_cjs.matchWorkflowScope(documents, scope);
32057
32057
  if (!name || !description || matching.length === 0) return;
32058
32058
  try {
32059
32059
  const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
@@ -32096,9 +32096,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
32096
32096
  async (launch) => {
32097
32097
  const { workflow, inputs, scope, agentId } = launch;
32098
32098
  if (workflow.run.kind === "operation") {
32099
- if (workflow.id === chunkPOU4O4D7_cjs.ANNOTATE_ID) {
32099
+ if (workflow.id === chunkFY4C7HU5_cjs.ANNOTATE_ID) {
32100
32100
  await annotate(launch);
32101
- chunkPOU4O4D7_cjs.recordWorkflowUse(workflow.id);
32101
+ chunkFY4C7HU5_cjs.recordWorkflowUse(workflow.id);
32102
32102
  return;
32103
32103
  }
32104
32104
  throw new Error(`No host handler for workflow "${workflow.id}"`);
@@ -32108,7 +32108,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
32108
32108
  );
32109
32109
  const prompt = chunk76L6LOP3_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
32110
32110
  if (!prompt) return;
32111
- chunkPOU4O4D7_cjs.recordWorkflowUse(workflow.id);
32111
+ chunkFY4C7HU5_cjs.recordWorkflowUse(workflow.id);
32112
32112
  if (agentId) {
32113
32113
  try {
32114
32114
  const created = await createTask({
@@ -32153,7 +32153,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
32153
32153
  const binding = PROMPT_BINDINGS[workflow.id];
32154
32154
  if (!inPlace) openNewConversation();
32155
32155
  if (binding?.attachScope !== false && !chunk76L6LOP3_cjs.isEmptyWorkflowScope(scope)) {
32156
- const ids = chunkSSYRPBL5_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
32156
+ const ids = chunk2QDNQM63_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
32157
32157
  if (ids.length > 0) {
32158
32158
  session.setConversationDocuments(
32159
32159
  inPlace ? session.getState().conversationId ?? "new" : "new",
@@ -32188,30 +32188,30 @@ function ConnectedWorkflowStart({
32188
32188
  const onLaunch = useLaunchWorkflow({ landing });
32189
32189
  const { openUpload } = chunkB3NYBMDR_cjs.useBlocksEnvironment();
32190
32190
  const { data: workspaceTags = [] } = react.useTags();
32191
- const tags = React9.useMemo(() => chunkSSYRPBL5_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
32191
+ const tags = React9.useMemo(() => chunk2QDNQM63_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
32192
32192
  const fieldPlaceholder = React9.useCallback(
32193
32193
  (field, inputs, workflow) => {
32194
- if (workflow.id !== chunkPOU4O4D7_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
32195
- const derived = chunkPOU4O4D7_cjs.deriveAnnotationName(String(inputs.description ?? ""));
32194
+ if (workflow.id !== chunkFY4C7HU5_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
32195
+ const derived = chunkFY4C7HU5_cjs.deriveAnnotationName(String(inputs.description ?? ""));
32196
32196
  return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
32197
32197
  },
32198
32198
  []
32199
32199
  );
32200
32200
  return /* @__PURE__ */ jsxRuntime.jsx(
32201
- chunkQU77RRZP_cjs.ConnectedWorkflowLauncher,
32201
+ chunkVMLEISRZ_cjs.ConnectedWorkflowLauncher,
32202
32202
  {
32203
32203
  ...rest,
32204
32204
  workflows,
32205
32205
  onLaunch,
32206
- renderIcon: chunkPOU4O4D7_cjs.renderWorkflowIcon,
32206
+ renderIcon: chunkFY4C7HU5_cjs.renderWorkflowIcon,
32207
32207
  onAddFiles: openUpload,
32208
32208
  agentLabels: AGENT_LABELS,
32209
32209
  addFilesAction,
32210
32210
  fieldPlaceholder,
32211
- submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkPOU4O4D7_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
32211
+ submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkFY4C7HU5_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
32212
32212
  renderNotice: ({ workflow, inputs }) => {
32213
- if (workflow.id !== chunkPOU4O4D7_cjs.ANNOTATE_ID) return null;
32214
- const name = String(inputs.name ?? "").trim() || chunkPOU4O4D7_cjs.deriveAnnotationName(String(inputs.description ?? ""));
32213
+ if (workflow.id !== chunkFY4C7HU5_cjs.ANNOTATE_ID) return null;
32214
+ const name = String(inputs.name ?? "").trim() || chunkFY4C7HU5_cjs.deriveAnnotationName(String(inputs.description ?? ""));
32215
32215
  const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
32216
32216
  if (!existing) return null;
32217
32217
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -32242,25 +32242,25 @@ function useSkillsEnabled() {
32242
32242
  // src/connection/workflows/useWorkflowDefinitions.ts
32243
32243
  function useWorkflowDefinitions() {
32244
32244
  const { data: listings } = react.useSkills();
32245
- const usage = chunkPOU4O4D7_cjs.useWorkflowUsage();
32245
+ const usage = chunkFY4C7HU5_cjs.useWorkflowUsage();
32246
32246
  const skillsEnabled = useSkillsEnabled();
32247
32247
  return React9.useMemo(() => {
32248
32248
  const { host: builtins, skills: fromServer } = chunk76L6LOP3_cjs.mergeSkillWorkflows(
32249
- chunkPOU4O4D7_cjs.WEB_WORKFLOWS,
32249
+ chunkFY4C7HU5_cjs.WEB_WORKFLOWS,
32250
32250
  listings ?? []
32251
32251
  );
32252
32252
  const all = [...builtins, ...fromServer];
32253
32253
  const byId = new Map(all.map((w) => [w.id, w]));
32254
- const pinned = chunkPOU4O4D7_cjs.DASHBOARD_PINNED.flatMap((id) => {
32254
+ const pinned = chunkFY4C7HU5_cjs.DASHBOARD_PINNED.flatMap((id) => {
32255
32255
  const w = byId.get(id);
32256
32256
  return w ? [w] : [];
32257
32257
  });
32258
32258
  return {
32259
32259
  skills: all,
32260
32260
  skillsEnabled,
32261
- start: skillsEnabled ? [...builtins, ...chunkPOU4O4D7_cjs.sortByRecentUse(fromServer, usage)] : [],
32262
- dashboard: [...pinned, ...chunkPOU4O4D7_cjs.DASHBOARD_OPERATIONS],
32263
- forTasks: [chunkPOU4O4D7_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkPOU4O4D7_cjs.REMIND_TASK]
32261
+ start: skillsEnabled ? [...builtins, ...chunkFY4C7HU5_cjs.sortByRecentUse(fromServer, usage)] : [],
32262
+ dashboard: [...pinned, ...chunkFY4C7HU5_cjs.DASHBOARD_OPERATIONS],
32263
+ forTasks: [chunkFY4C7HU5_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkFY4C7HU5_cjs.REMIND_TASK]
32264
32264
  };
32265
32265
  }, [listings, usage, skillsEnabled]);
32266
32266
  }
@@ -32282,7 +32282,7 @@ function resolveLaunchInputs(workflow, request) {
32282
32282
  function useWorkflowLaunch() {
32283
32283
  const { skills } = useWorkflowDefinitions();
32284
32284
  const launch = React9.useCallback(
32285
- (workflowId, options2 = {}) => chunkPOU4O4D7_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
32285
+ (workflowId, options2 = {}) => chunkFY4C7HU5_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
32286
32286
  []
32287
32287
  );
32288
32288
  const itemsFor = React9.useCallback(
@@ -32311,8 +32311,8 @@ function useWorkflowLaunch() {
32311
32311
  return { launch, itemsFor, scopeItemsFor };
32312
32312
  }
32313
32313
  function Inner() {
32314
- const request = chunkPOU4O4D7_cjs.useWorkflowLaunchRequest();
32315
- const close = chunkPOU4O4D7_cjs.closeWorkflowLaunch;
32314
+ const request = chunkFY4C7HU5_cjs.useWorkflowLaunchRequest();
32315
+ const close = chunkFY4C7HU5_cjs.closeWorkflowLaunch;
32316
32316
  const { skills } = useWorkflowDefinitions();
32317
32317
  const run = useLaunchWorkflow({ landing: request?.landing });
32318
32318
  const workflow = skills.find((w) => w.id === request?.workflowId);
@@ -32350,7 +32350,7 @@ function Inner() {
32350
32350
  );
32351
32351
  }
32352
32352
  function WorkflowLaunchHost() {
32353
- return chunkPOU4O4D7_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
32353
+ return chunkFY4C7HU5_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
32354
32354
  }
32355
32355
  var BUILTIN_GLOBAL_DIALOGS = {
32356
32356
  quota: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedQuotaDialog, { info: props, onClose }),
@@ -32409,7 +32409,7 @@ var ConversationEntity = React9.memo(function ConversationEntity2({
32409
32409
  );
32410
32410
  const icon2 = /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: isShared, className: `${iconSizeClass} shrink-0` });
32411
32411
  return /* @__PURE__ */ jsxRuntime.jsx(
32412
- chunkPOU4O4D7_cjs.EntityChip,
32412
+ chunkFY4C7HU5_cjs.EntityChip,
32413
32413
  {
32414
32414
  variant,
32415
32415
  icon: icon2,
@@ -32431,7 +32431,7 @@ function WorkflowRunStatusCell({ conversation }) {
32431
32431
  });
32432
32432
  const { data: members = [] } = react.useWorkspaceUsers();
32433
32433
  const me = react.useArbiSession().user?.external_id;
32434
- const steps = chunkPOU4O4D7_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
32434
+ const steps = chunkFY4C7HU5_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
32435
32435
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
32436
32436
  const nameOf = (id) => {
32437
32437
  if (id === me) return "you";
@@ -32439,7 +32439,7 @@ function WorkflowRunStatusCell({ conversation }) {
32439
32439
  return person ? ui.getUserDisplayName(person) : void 0;
32440
32440
  };
32441
32441
  return /* @__PURE__ */ jsxRuntime.jsx(
32442
- chunkPOU4O4D7_cjs.WorkflowRunStatus,
32442
+ chunkFY4C7HU5_cjs.WorkflowRunStatus,
32443
32443
  {
32444
32444
  steps,
32445
32445
  states,
@@ -32473,7 +32473,7 @@ function ConversationStatusCell({ conversation }) {
32473
32473
  if (conversation.plan?.steps?.length && !isLiveGenerating)
32474
32474
  return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
32475
32475
  return /* @__PURE__ */ jsxRuntime.jsx(
32476
- chunkPOU4O4D7_cjs.ThreadStatusLine,
32476
+ chunkFY4C7HU5_cjs.ThreadStatusLine,
32477
32477
  {
32478
32478
  state: threadStateOf(conversation, isLiveGenerating),
32479
32479
  className: "h-full",
@@ -32805,16 +32805,16 @@ function useConnectedThreadActivity(conversationId) {
32805
32805
  const openWorkflow = chunkB3NYBMDR_cjs.useOpenWorkflow();
32806
32806
  const workspaceExtId = react.useArbiSessionState((s) => s.workspaceId);
32807
32807
  const task = conversations.find((c) => c.external_id === conversationId);
32808
- const latestMessageAt = chunkPOU4O4D7_cjs.latestMessageTime(messageHistory);
32808
+ const latestMessageAt = chunkFY4C7HU5_cjs.latestMessageTime(messageHistory);
32809
32809
  const events = (activity.data ?? []).filter(
32810
- (event) => !chunkPOU4O4D7_cjs.isSupersededStop(event, latestMessageAt)
32810
+ (event) => !chunkFY4C7HU5_cjs.isSupersededStop(event, latestMessageAt)
32811
32811
  );
32812
32812
  const personName = (extId) => {
32813
32813
  const person = members.find((m) => m.user.external_id === extId)?.user;
32814
32814
  return person ? ui.getUserDisplayName(person) : "someone";
32815
32815
  };
32816
- const planSteps = chunkPOU4O4D7_cjs.fromPlanSteps(task?.plan?.steps ?? []);
32817
- const entries = chunkPOU4O4D7_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
32816
+ const planSteps = chunkFY4C7HU5_cjs.fromPlanSteps(task?.plan?.steps ?? []);
32817
+ const entries = chunkFY4C7HU5_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
32818
32818
  const items = entries.map(({ event, label, recipients }) => {
32819
32819
  const messageActivity = [
32820
32820
  "created",
@@ -32840,7 +32840,7 @@ function useConnectedThreadActivity(conversationId) {
32840
32840
  const messageId = sourceMessage ?? [...messageHistory].reverse().find((message) => Date.parse(message.created_at ?? "") <= Date.parse(event.created_at))?.external_id ?? messageHistory[0]?.external_id;
32841
32841
  const doc = docId ? docs.find((d) => d.external_id === docId) : void 0;
32842
32842
  const mailDraftId = event.kind === "notified" && event.detail?.event === "mail_draft_ready" && typeof event.detail?.mail_id === "string" ? event.detail.mail_id : void 0;
32843
- const missed = event.kind === "notified" && recipients.length ? chunkPOU4O4D7_cjs.unnotifiedMentions(
32843
+ const missed = event.kind === "notified" && recipients.length ? chunkFY4C7HU5_cjs.unnotifiedMentions(
32844
32844
  messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,
32845
32845
  recipients,
32846
32846
  event.actor_ext_id
@@ -32873,7 +32873,7 @@ function useConnectedThreadActivity(conversationId) {
32873
32873
  ) : void 0,
32874
32874
  docId,
32875
32875
  docTitle: doc ? ui.getDocumentTitle(doc) : void 0,
32876
- label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkPOU4O4D7_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
32876
+ label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkFY4C7HU5_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
32877
32877
  description: [
32878
32878
  name,
32879
32879
  label,
@@ -32887,7 +32887,7 @@ function useConnectedThreadActivity(conversationId) {
32887
32887
  stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : void 0,
32888
32888
  // No avatar tooltip: the entry is already a button (or titled row) that carries the same
32889
32889
  // details, and a tooltip trigger inside it would be a nested <button>.
32890
- avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AssistantEntity, { variant: "icon", size: 20, showTooltip: false }) : member ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user: member, tooltip: false }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" }),
32890
+ avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AssistantEntity, { variant: "icon", size: 20, showTooltip: false }) : member ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user: member, tooltip: false }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "size-4 text-muted-foreground" }),
32891
32891
  time: ui.formatRelativeTime(event.created_at, { style: "short" }),
32892
32892
  exactTime: ui.formatFriendlyDate(event.created_at),
32893
32893
  onOpenDocument: docId && doc ? () => openDocument(docId) : void 0,
@@ -32936,7 +32936,7 @@ function useConnectedThreadActivity(conversationId) {
32936
32936
  onSelect: () => navigateToConversation(source)
32937
32937
  });
32938
32938
  }
32939
- const links = chunkPOU4O4D7_cjs.linkedRunsFromActivity(activity.data);
32939
+ const links = chunkFY4C7HU5_cjs.linkedRunsFromActivity(activity.data);
32940
32940
  const threadName = (id, workflowId) => conversations.find((c) => c.external_id === id)?.title || workflows.find((w) => w.external_id === workflowId)?.name || "Linked thread";
32941
32941
  const signals = links.raised.map((raised) => ({
32942
32942
  step: raised.step,
@@ -32951,7 +32951,7 @@ function useConnectedThreadActivity(conversationId) {
32951
32951
  if (links.startedBy) {
32952
32952
  const { conversationId: parentId, step, signal } = links.startedBy;
32953
32953
  const parent = conversations.find((c) => c.external_id === parentId);
32954
- const parentSteps = chunkPOU4O4D7_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
32954
+ const parentSteps = chunkFY4C7HU5_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
32955
32955
  startedBy = {
32956
32956
  stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? "a step",
32957
32957
  threadTitle: parent?.title || "another thread",
@@ -32984,7 +32984,7 @@ function ConnectedThreadTaskBar({
32984
32984
  const person = members.find((m) => m.user.external_id === id)?.user;
32985
32985
  return person ? ui.getUserDisplayName(person) : void 0;
32986
32986
  };
32987
- const steps = chunkPOU4O4D7_cjs.fromPlanSteps(task?.plan?.steps ?? []);
32987
+ const steps = chunkFY4C7HU5_cjs.fromPlanSteps(task?.plan?.steps ?? []);
32988
32988
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
32989
32989
  const runInputs = task?.skill_inputs ?? {};
32990
32990
  const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
@@ -33010,7 +33010,7 @@ function ConnectedThreadTaskBar({
33010
33010
  task?.plan?.steps?.length ? (
33011
33011
  // A workflow run: its named steps, with what happened in the thread under each.
33012
33012
  /* @__PURE__ */ jsxRuntime.jsx(
33013
- chunkPOU4O4D7_cjs.WorkflowThreadStrip,
33013
+ chunkFY4C7HU5_cjs.WorkflowThreadStrip,
33014
33014
  {
33015
33015
  steps,
33016
33016
  states,
@@ -33037,7 +33037,7 @@ function ConnectedThreadTaskBar({
33037
33037
  renderStepAction: (step, phase) => (
33038
33038
  // A signer or a draft's person acts on their step even on a thread they cannot edit.
33039
33039
  canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
33040
- chunkPOU4O4D7_cjs.WorkflowStepAction,
33040
+ chunkFY4C7HU5_cjs.WorkflowStepAction,
33041
33041
  {
33042
33042
  step,
33043
33043
  phase,
@@ -33058,8 +33058,8 @@ function ConnectedThreadTaskBar({
33058
33058
  }
33059
33059
  )
33060
33060
  ) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33061
- startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
33062
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
33061
+ startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
33062
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
33063
33063
  ] }) : (
33064
33064
  // Ordinary chats record no activity events, so an empty ribbon says nothing rather than
33065
33065
  // "No recorded activity yet" while the answer and its steps are right there in the thread.
@@ -33093,7 +33093,7 @@ function ConnectedThreadTaskBar({
33093
33093
  ) }),
33094
33094
  /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuContent, { align: "end", children: [
33095
33095
  /* @__PURE__ */ jsxRuntime.jsx(
33096
- chunkJ6U6DIZK_cjs.ThreadFollowMenuItem,
33096
+ chunk6EQSP77K_cjs.ThreadFollowMenuItem,
33097
33097
  {
33098
33098
  following: follow.following,
33099
33099
  onFollowingChange: (on) => (
@@ -33258,7 +33258,7 @@ function ConnectedTaskComposer({
33258
33258
  const { tasks: allTasks } = react.useWorkItems();
33259
33259
  const { data: documents = [] } = react.useDocuments();
33260
33260
  const { create: create4, update, updateWorkflow, isPending } = useWorkflowTasks();
33261
- const scopeSource = chunkQU77RRZP_cjs.useConnectedWorkflowScopeSource();
33261
+ const scopeSource = chunkVMLEISRZ_cjs.useConnectedWorkflowScopeSource();
33262
33262
  const activeWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
33263
33263
  const activeWorkspace = React9.useMemo(
33264
33264
  () => workspaces.find((w) => w.external_id === activeWorkspaceId) ?? null,
@@ -33275,7 +33275,7 @@ function ConnectedTaskComposer({
33275
33275
  const label = (t) => t.title?.trim() || "Untitled task";
33276
33276
  if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
33277
33277
  const subject = task ?? { external_id: "__new__" };
33278
- return chunkPOU4O4D7_cjs.moveTargets(
33278
+ return chunkFY4C7HU5_cjs.moveTargets(
33279
33279
  [...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
33280
33280
  subject
33281
33281
  ).map((t) => ({ id: t.external_id, name: label(t) }));
@@ -33290,33 +33290,33 @@ function ConnectedTaskComposer({
33290
33290
  );
33291
33291
  const initialValues = React9.useMemo(() => {
33292
33292
  const ids = {
33293
- customWorkflowId: chunkPOU4O4D7_cjs.CUSTOM_TASK_ID,
33294
- reminderWorkflowId: chunkPOU4O4D7_cjs.REMIND_TASK_ID,
33293
+ customWorkflowId: chunkFY4C7HU5_cjs.CUSTOM_TASK_ID,
33294
+ reminderWorkflowId: chunkFY4C7HU5_cjs.REMIND_TASK_ID,
33295
33295
  definitions: forTasks
33296
33296
  };
33297
33297
  const base = launchWorkflow ? {
33298
- ...chunkPOU4O4D7_cjs.workflowToComposerValues(launchWorkflow, ids),
33298
+ ...chunkFY4C7HU5_cjs.workflowToComposerValues(launchWorkflow, ids),
33299
33299
  when: "once",
33300
33300
  runAt: "",
33301
33301
  rrule: "",
33302
33302
  eventKind: "",
33303
33303
  afterTaskId: "",
33304
33304
  name: ""
33305
- } : editingWorkflow ? chunkPOU4O4D7_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkPOU4O4D7_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
33305
+ } : editingWorkflow ? chunkFY4C7HU5_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkFY4C7HU5_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
33306
33306
  // Run now is the default start; scheduling is the fallback in the same field.
33307
33307
  assignee: "agent",
33308
- workflowId: initialWorkflowId ?? chunkPOU4O4D7_cjs.CUSTOM_TASK_ID,
33308
+ workflowId: initialWorkflowId ?? chunkFY4C7HU5_cjs.CUSTOM_TASK_ID,
33309
33309
  when: startLater ? "once" : "now",
33310
33310
  ...initialPrompt ? {
33311
33311
  inputs: {
33312
- [initialWorkflowId === chunkPOU4O4D7_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
33312
+ [initialWorkflowId === chunkFY4C7HU5_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
33313
33313
  }
33314
33314
  } : {},
33315
33315
  // A scheduled run needs an agent: the owner's Assistant unless another is picked.
33316
33316
  ...startLater && defaultAgentId ? { agentId: defaultAgentId } : {}
33317
33317
  } : initialAgentExtId ? (
33318
33318
  // Assigning an agent means agentic work: the free instruction, and tell me when done.
33319
- { agentId: initialAgentExtId, workflowId: chunkPOU4O4D7_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
33319
+ { agentId: initialAgentExtId, workflowId: chunkFY4C7HU5_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
33320
33320
  ) : {};
33321
33321
  return {
33322
33322
  timezone: chunkQUMUAJ2P_cjs.detectTimeZone(),
@@ -33377,7 +33377,7 @@ function ConnectedTaskComposer({
33377
33377
  const ctx = {
33378
33378
  workflow: chosen,
33379
33379
  values: submitted,
33380
- plan: chosen.id === chunkPOU4O4D7_cjs.CUSTOM_TASK_ID ? plan : null
33380
+ plan: chosen.id === chunkFY4C7HU5_cjs.CUSTOM_TASK_ID ? plan : null
33381
33381
  };
33382
33382
  try {
33383
33383
  if (isWorkflow && editingWorkflow && !options2?.runOnce) {
@@ -33413,7 +33413,7 @@ function ConnectedTaskComposer({
33413
33413
  }
33414
33414
  };
33415
33415
  return /* @__PURE__ */ jsxRuntime.jsx(
33416
- chunkPOU4O4D7_cjs.TaskComposer,
33416
+ chunkFY4C7HU5_cjs.TaskComposer,
33417
33417
  {
33418
33418
  open,
33419
33419
  onOpenChange,
@@ -33427,15 +33427,15 @@ function ConnectedTaskComposer({
33427
33427
  tasks: taskOptions,
33428
33428
  initialValues,
33429
33429
  timezones,
33430
- eventOptions: chunkPOU4O4D7_cjs.AUTOMATION_EVENTS,
33430
+ eventOptions: chunkFY4C7HU5_cjs.AUTOMATION_EVENTS,
33431
33431
  eventWorkflowOptions: workspaceAutomations.filter((item) => item.external_id !== editingWorkflow?.external_id).map((item) => ({ id: item.external_id, label: item.name })),
33432
33432
  isPending,
33433
33433
  planDrafting: planWork.isPending,
33434
33434
  hasPlan: plan !== null,
33435
- renderIcon: chunkPOU4O4D7_cjs.renderWorkflowIcon,
33435
+ renderIcon: chunkFY4C7HU5_cjs.renderWorkflowIcon,
33436
33436
  scopeSource,
33437
33437
  renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
33438
- chunkQU77RRZP_cjs.ConnectedWorkflowDocumentsField,
33438
+ chunkVMLEISRZ_cjs.ConnectedWorkflowDocumentsField,
33439
33439
  {
33440
33440
  field,
33441
33441
  value,
@@ -33466,8 +33466,8 @@ function ConnectedTaskComposer({
33466
33466
  ...plan ? { addAndStart: "Approve plan and start", addAndSchedule: "Approve plan and schedule" } : {}
33467
33467
  },
33468
33468
  onSubmit: submit,
33469
- goal: (values) => values.workflowId === chunkPOU4O4D7_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
33470
- chunkPOU4O4D7_cjs.TaskPlan,
33469
+ goal: (values) => values.workflowId === chunkFY4C7HU5_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
33470
+ chunkFY4C7HU5_cjs.TaskPlan,
33471
33471
  {
33472
33472
  plan,
33473
33473
  onChange: setPlan,
@@ -33667,7 +33667,7 @@ function ConnectedTaskStartDialog({
33667
33667
  };
33668
33668
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33669
33669
  /* @__PURE__ */ jsxRuntime.jsx(
33670
- chunkPOU4O4D7_cjs.TaskStartDialog,
33670
+ chunkFY4C7HU5_cjs.TaskStartDialog,
33671
33671
  {
33672
33672
  open: open && !later,
33673
33673
  onOpenChange: (next) => {
@@ -33699,7 +33699,7 @@ function ConnectedTaskStartDialog({
33699
33699
  kind: "workflow",
33700
33700
  startLater: true,
33701
33701
  initialPrompt: later.prompt,
33702
- initialWorkflowId: later.todo ? chunkPOU4O4D7_cjs.REMIND_TASK_ID : void 0,
33702
+ initialWorkflowId: later.todo ? chunkFY4C7HU5_cjs.REMIND_TASK_ID : void 0,
33703
33703
  initialShared: later.shared,
33704
33704
  launchWorkflow: later.workflow
33705
33705
  }
@@ -33713,7 +33713,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
33713
33713
  const [later, setLater] = React9.useState(null);
33714
33714
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33715
33715
  /* @__PURE__ */ jsxRuntime.jsx(
33716
- chunkPOU4O4D7_cjs.ThreadLauncher,
33716
+ chunkFY4C7HU5_cjs.ThreadLauncher,
33717
33717
  {
33718
33718
  workflows: task.workflows,
33719
33719
  people: task.people,
@@ -33750,7 +33750,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
33750
33750
  kind: "workflow",
33751
33751
  startLater: true,
33752
33752
  initialPrompt: later.prompt,
33753
- initialWorkflowId: later.todo ? chunkPOU4O4D7_cjs.REMIND_TASK_ID : void 0,
33753
+ initialWorkflowId: later.todo ? chunkFY4C7HU5_cjs.REMIND_TASK_ID : void 0,
33754
33754
  initialShared: later.shared,
33755
33755
  launchWorkflow: later.workflow
33756
33756
  }
@@ -33779,13 +33779,13 @@ function ConnectedNewThreadDialog({
33779
33779
  });
33780
33780
  const parentOptions = React9.useMemo(() => {
33781
33781
  const leaf = { external_id: "__new__" };
33782
- return chunkPOU4O4D7_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
33782
+ return chunkFY4C7HU5_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
33783
33783
  id: t.external_id,
33784
33784
  name: t.title?.trim() || "Untitled task"
33785
33785
  }));
33786
33786
  }, [tasks]);
33787
33787
  const submit = async (values) => {
33788
- const request = chunkPOU4O4D7_cjs.newThreadToRequest(values);
33788
+ const request = chunkFY4C7HU5_cjs.newThreadToRequest(values);
33789
33789
  try {
33790
33790
  if (!workspaceId) throw new Error("Open a workspace to add a task.");
33791
33791
  if (!request.startAssistant && request.todo) {
@@ -33826,7 +33826,7 @@ function ConnectedNewThreadDialog({
33826
33826
  }
33827
33827
  };
33828
33828
  return /* @__PURE__ */ jsxRuntime.jsx(
33829
- chunkPOU4O4D7_cjs.NewThreadDialog,
33829
+ chunkFY4C7HU5_cjs.NewThreadDialog,
33830
33830
  {
33831
33831
  open,
33832
33832
  onOpenChange,
@@ -33861,7 +33861,7 @@ function useRenderTaskPerson() {
33861
33861
  return React9.useCallback(
33862
33862
  (person) => {
33863
33863
  const user = person.id ? byId.get(person.id) : void 0;
33864
- return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkSSYRPBL5_cjs.PersonPill, { person });
33864
+ return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunk2QDNQM63_cjs.PersonPill, { person });
33865
33865
  },
33866
33866
  [byId]
33867
33867
  );
@@ -33884,7 +33884,7 @@ function ConnectedConversationStart() {
33884
33884
  const browse = openSkillsBrowser ? [
33885
33885
  {
33886
33886
  id: "browse-all",
33887
- iconNode: chunkPOU4O4D7_cjs.renderWorkflowIcon("library"),
33887
+ iconNode: chunkFY4C7HU5_cjs.renderWorkflowIcon("library"),
33888
33888
  title: "Browse all",
33889
33889
  description: "See every skill, make a copy, add your own",
33890
33890
  onSelect: () => openSkillsBrowser(),
@@ -33997,7 +33997,7 @@ function getToolParams(detail) {
33997
33997
  return params;
33998
33998
  }
33999
33999
  function StepModelIcon({ modelName, tag }) {
34000
- const cfg = tag === "Premium" ? null : chunkPOU4O4D7_cjs.getModelIcon(modelName, tag);
34000
+ const cfg = tag === "Premium" ? null : chunkFY4C7HU5_cjs.getModelIcon(modelName, tag);
34001
34001
  if (tag !== "Premium" && !cfg) return null;
34002
34002
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
34003
34003
  /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: tag === "Premium" ? /* @__PURE__ */ jsxRuntime.jsx(ui.ProviderIcon, { modelName: modelName ?? void 0, size: 11 }) : cfg && /* @__PURE__ */ jsxRuntime.jsx(cfg.icon, { className: cfg.className, style: { width: 11, height: 11 } }) }) }),
@@ -34112,15 +34112,15 @@ var AgentStepsComponent = ({
34112
34112
  const lastStepIndex = mergedSteps[mergedSteps.length - 1].index;
34113
34113
  const renderRow = (step, depth, isLastInList) => {
34114
34114
  const i = posByIndex.get(step.index);
34115
- const presentation = chunkPOU4O4D7_cjs.getAgentStepPresentation(step, docInfo);
34115
+ const presentation = chunkFY4C7HU5_cjs.getAgentStepPresentation(step, docInfo);
34116
34116
  const { tool, Icon } = presentation;
34117
34117
  const { label, summary, isMultiLine, details } = browser.getStepDisplay(step, docInfo);
34118
- const accent = chunkPOU4O4D7_cjs.stepAccent(step, tool);
34118
+ const accent = chunkFY4C7HU5_cjs.stepAccent(step, tool);
34119
34119
  const duration = stepDurations[i];
34120
34120
  const isLastStep = step.index === lastStepIndex;
34121
34121
  const isActive = step.index === currentStepIndex;
34122
34122
  const tier = step.step === "goal" ? step.model_recommendation : null;
34123
- const TierIcon = tier ? chunkPOU4O4D7_cjs.MODEL_TIER_ICON_MAP[tier] : null;
34123
+ const TierIcon = tier ? chunkFY4C7HU5_cjs.MODEL_TIER_ICON_MAP[tier] : null;
34124
34124
  const useLiveDuration = isLastStep && liveTimer != null && step.t != null;
34125
34125
  const durationNode = useLiveDuration ? /* @__PURE__ */ jsxRuntime.jsx(
34126
34126
  MessageLiveSeconds,
@@ -34144,7 +34144,7 @@ var AgentStepsComponent = ({
34144
34144
  })) : null;
34145
34145
  const folded = childrenByParent.get(step.index);
34146
34146
  return /* @__PURE__ */ jsxRuntime.jsxs(
34147
- chunkPOU4O4D7_cjs.StepRow,
34147
+ chunkFY4C7HU5_cjs.StepRow,
34148
34148
  {
34149
34149
  index: step.index,
34150
34150
  number: displayNumber.get(step.index) ?? String(i + 1),
@@ -34158,7 +34158,7 @@ var AgentStepsComponent = ({
34158
34158
  titleTestId: isActive ? "agent-expanded-current-step-description" : void 0,
34159
34159
  badge: TierIcon ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
34160
34160
  /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex shrink-0 items-center self-center", children: /* @__PURE__ */ jsxRuntime.jsx(TierIcon, { size: 12, className: accent.fg, "aria-hidden": true }) }) }),
34161
- /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkPOU4O4D7_cjs.MODEL_TIER_LABELS[tier] ?? tier })
34161
+ /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkFY4C7HU5_cjs.MODEL_TIER_LABELS[tier] ?? tier })
34162
34162
  ] }) : void 0,
34163
34163
  meta: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
34164
34164
  isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(StepModelIcon, { modelName: step.usage?.model, tag: getModelTag(step.usage?.model) }),
@@ -34173,14 +34173,14 @@ var AgentStepsComponent = ({
34173
34173
  summary && !isActive && (step.narration ? (
34174
34174
  /* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
34175
34175
  Tool summaries stay plain text: one-line headlines where a clamp matters. */
34176
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEFSL4O3B_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
34177
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
34178
- details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepDetail, { index: step.index, children: d }, di)),
34179
- showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
34180
- toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
34181
- criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.GoalCriteria, { criteria: criteriaView }),
34176
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEFSL4O3B_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
34177
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
34178
+ details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepDetail, { index: step.index, children: d }, di)),
34179
+ showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
34180
+ toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
34181
+ criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.GoalCriteria, { criteria: criteriaView }),
34182
34182
  folded && folded.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
34183
- chunkPOU4O4D7_cjs.SubStepGroup,
34183
+ chunkFY4C7HU5_cjs.SubStepGroup,
34184
34184
  {
34185
34185
  parentIndex: step.index,
34186
34186
  summary: summariseSubSteps(folded),
@@ -34206,7 +34206,7 @@ var AgentStepsComponent = ({
34206
34206
  leftParts.push(`${browser.formatTokens(totalInputTokens)} in`);
34207
34207
  if (totalOutputTokens > 0) leftParts.push(`${browser.formatTokens(totalOutputTokens)} out`);
34208
34208
  summaryNode = /* @__PURE__ */ jsxRuntime.jsx(
34209
- chunkPOU4O4D7_cjs.StepTraceSummary,
34209
+ chunkFY4C7HU5_cjs.StepTraceSummary,
34210
34210
  {
34211
34211
  left: leftParts.join(" \xB7 "),
34212
34212
  isNearBudget: browser.isNearAiUsageBudget(contextUsage),
@@ -34214,7 +34214,7 @@ var AgentStepsComponent = ({
34214
34214
  }
34215
34215
  );
34216
34216
  }
34217
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
34217
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
34218
34218
  if (row2.lane) {
34219
34219
  return /* @__PURE__ */ jsxRuntime.jsx(
34220
34220
  LaneBinding,
@@ -34251,7 +34251,7 @@ function LaneBinding({
34251
34251
  const running = !closed && isStreaming;
34252
34252
  const latest = inner[inner.length - 1];
34253
34253
  return /* @__PURE__ */ jsxRuntime.jsx(
34254
- chunkPOU4O4D7_cjs.SubAgentLane,
34254
+ chunkFY4C7HU5_cjs.SubAgentLane,
34255
34255
  {
34256
34256
  handle,
34257
34257
  number,
@@ -34374,7 +34374,7 @@ function AgentBarShell({
34374
34374
  }, [isStepsExpanded, steps]);
34375
34375
  const visibleStepCount = React9.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
34376
34376
  return /* @__PURE__ */ jsxRuntime.jsx(
34377
- chunkPOU4O4D7_cjs.AgentBar,
34377
+ chunkFY4C7HU5_cjs.AgentBar,
34378
34378
  {
34379
34379
  className,
34380
34380
  testId,
@@ -34430,7 +34430,7 @@ function AgentControlBar({
34430
34430
  const isPaused = controlState === "paused" || controlState === "resuming";
34431
34431
  const steps = agentSteps ?? [];
34432
34432
  const currentStep = browser.getCurrentStep(steps);
34433
- const currentPresentation = chunkPOU4O4D7_cjs.getCurrentAgentStepPresentation(steps);
34433
+ const currentPresentation = chunkFY4C7HU5_cjs.getCurrentAgentStepPresentation(steps);
34434
34434
  const CurrentStepIcon = currentPresentation?.Icon;
34435
34435
  const stepLabel2 = currentPresentation?.description ?? "Agent working\u2026";
34436
34436
  const runningLanes = browser.extractSubagentLanes(steps).filter((l) => l.status === "running");
@@ -34447,7 +34447,7 @@ function AgentControlBar({
34447
34447
  }
34448
34448
  );
34449
34449
  const status = /* @__PURE__ */ jsxRuntime.jsx(
34450
- chunkPOU4O4D7_cjs.AgentBarStatus,
34450
+ chunkFY4C7HU5_cjs.AgentBarStatus,
34451
34451
  {
34452
34452
  state: showState ? controlState : void 0,
34453
34453
  stateLabel: STATE_LABEL[controlState],
@@ -34489,7 +34489,7 @@ function AgentControlBar({
34489
34489
  ];
34490
34490
  const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
34491
34491
  onStop && /* @__PURE__ */ jsxRuntime.jsx(
34492
- chunkPOU4O4D7_cjs.AgentBarIconButton,
34492
+ chunkFY4C7HU5_cjs.AgentBarIconButton,
34493
34493
  {
34494
34494
  onClick: onStop,
34495
34495
  title: "Stop",
@@ -34498,22 +34498,22 @@ function AgentControlBar({
34498
34498
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
34499
34499
  }
34500
34500
  ),
34501
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AgentBarMenu, { items: menuItems })
34501
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentBarMenu, { items: menuItems })
34502
34502
  ] });
34503
34503
  const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
34504
34504
  (message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
34505
34505
  );
34506
34506
  const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
34507
- const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.AgentBarNotes, { children: [
34507
+ const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.AgentBarNotes, { children: [
34508
34508
  queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
34509
- chunkPOU4O4D7_cjs.AgentBarQueuedNote,
34509
+ chunkFY4C7HU5_cjs.AgentBarQueuedNote,
34510
34510
  {
34511
34511
  text: message.content ?? "",
34512
34512
  isAcknowledged: message.acknowledged
34513
34513
  },
34514
34514
  index
34515
34515
  )),
34516
- probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
34516
+ probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
34517
34517
  ] }) : null;
34518
34518
  return /* @__PURE__ */ jsxRuntime.jsx(
34519
34519
  AgentBarShell,
@@ -34570,7 +34570,7 @@ function RunningSubagentsRoster({
34570
34570
  if (leafId) selectThread(leafId);
34571
34571
  };
34572
34572
  return /* @__PURE__ */ jsxRuntime.jsx(
34573
- chunkPOU4O4D7_cjs.SubagentRoster,
34573
+ chunkFY4C7HU5_cjs.SubagentRoster,
34574
34574
  {
34575
34575
  lanes: rosterLanes,
34576
34576
  className,
@@ -35312,7 +35312,7 @@ function WorkflowStepMessage({
35312
35312
  const { conversations } = react.useConversationItems();
35313
35313
  const activity = react.useConversationActivity(conversationId ?? void 0, { live: true });
35314
35314
  const plan = conversations.find((c) => c.external_id === conversationId)?.plan;
35315
- const steps = chunkPOU4O4D7_cjs.fromPlanSteps(plan?.steps ?? []);
35315
+ const steps = chunkFY4C7HU5_cjs.fromPlanSteps(plan?.steps ?? []);
35316
35316
  const found = steps.find((s) => s.id === step);
35317
35317
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
35318
35318
  const { data: documents = [] } = react.useDocuments();
@@ -35484,7 +35484,7 @@ var MessageComponent = ({
35484
35484
  const isQueuedAnswer = !isUser && message.status === "queued" && !isGenerating;
35485
35485
  const isAwaitingAnswer = (isGenerating || isRunningOnServer) && !isStopped && !!message.pendingUserInput;
35486
35486
  const showWorkingIndicator = (isGenerating || isRunningOnServer) && !isQueuedAnswer && !responseContent.trim() && !linkedArtifact && !isAwaitingAnswer;
35487
- const workingStepLabel = showWorkingIndicator ? chunkPOU4O4D7_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
35487
+ const workingStepLabel = showWorkingIndicator ? chunkFY4C7HU5_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
35488
35488
  const workingStepStart = showWorkingIndicator ? browser.getCurrentStep(message.agentSteps ?? [])?.t ?? 0 : 0;
35489
35489
  const showEmptyAnswer = !isUser && !isGenerating && !isRunningOnServer && !isFailed && !isStopped && !responseContent.trim() && !linkedArtifact;
35490
35490
  const isEmptyStopped = isStopped && !responseContent.trim();
@@ -35788,7 +35788,7 @@ var MessageComponent = ({
35788
35788
  },
35789
35789
  "data-testid": `message-model-${messageId}`,
35790
35790
  children: /* @__PURE__ */ jsxRuntime.jsx(
35791
- chunkPOU4O4D7_cjs.AssistantEntity,
35791
+ chunkFY4C7HU5_cjs.AssistantEntity,
35792
35792
  {
35793
35793
  name: modelDisplayName,
35794
35794
  modelName,
@@ -35901,7 +35901,7 @@ var MessageComponent = ({
35901
35901
  // Stays the ARBI identity while streaming: the model name arrives
35902
35902
  // with the first step that reports one and would swap the author
35903
35903
  // mid-answer. The model is shown in the footer once settled.
35904
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
35904
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
35905
35905
  ),
35906
35906
  timeLabel,
35907
35907
  isSettled: settledForHeader,
@@ -36366,7 +36366,7 @@ function ConnectedMessageList({ messages }) {
36366
36366
  start: virtualItem.start,
36367
36367
  messageId: entry.id,
36368
36368
  setSize: transcript.length,
36369
- children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
36369
+ children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
36370
36370
  "button",
36371
36371
  {
36372
36372
  className: "mt-1 hover:underline text-primary",
@@ -37261,7 +37261,7 @@ function ConnectedConversation({
37261
37261
  }, [isGenerating]);
37262
37262
  const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
37263
37263
  const composerSkills = React9.useMemo(
37264
- () => ({ builtin: chunkPOU4O4D7_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
37264
+ () => ({ builtin: chunkFY4C7HU5_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
37265
37265
  [slashWorkflows.openFor]
37266
37266
  );
37267
37267
  const browseSkills = React9.useMemo(
@@ -37336,7 +37336,7 @@ function ConnectedConversation({
37336
37336
  /* @__PURE__ */ jsxRuntime.jsx(chunkBIWPXSGS_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
37337
37337
  /* @__PURE__ */ jsxRuntime.jsx(chunkBIWPXSGS_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
37338
37338
  ] })
37339
- ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
37339
+ ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
37340
37340
  ConnectedConversationEmpty,
37341
37341
  {
37342
37342
  hasDocuments: allWorkspaceDocuments.length > 0,
@@ -39196,7 +39196,7 @@ function SsoResendVerificationButton({
39196
39196
  onClick: async () => handleResendEmailVerification(),
39197
39197
  disabled: loading || disabled,
39198
39198
  "aria-label": "Resend verification email",
39199
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkJ6U6DIZK_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
39199
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunk6EQSP77K_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
39200
39200
  "Didn't get a verification email? ",
39201
39201
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
39202
39202
  ] })
@@ -40090,27 +40090,27 @@ function ConnectedOAuthConsentPage({
40090
40090
  oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
40091
40091
  }
40092
40092
  if (error && !params) {
40093
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
40093
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
40094
40094
  }
40095
40095
  if (!params) {
40096
40096
  return null;
40097
40097
  }
40098
40098
  if (clientInfo?.isLocalAgentFlow) {
40099
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentMessage, { tone: "warning", title: "Close this tab", children: "This tab opened alongside the correct authorization page. Please close this tab and complete the connection in the other tab that opened at the same time." }) });
40099
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentMessage, { tone: "warning", title: "Close this tab", children: "This tab opened alongside the correct authorization page. Please close this tab and complete the connection in the other tab that opened at the same time." }) });
40100
40100
  }
40101
40101
  if (!isAuthenticated2) {
40102
40102
  return null;
40103
40103
  }
40104
40104
  if (callbackUrl) {
40105
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentCard, { size: "md", children: [
40106
- /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
40105
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { size: "md", children: [
40106
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
40107
40107
  "A new tab has opened to complete the connection. If it succeeded, you can close this page. If you see a connection error there, paste the URL below into Claude Cowork \u2014",
40108
40108
  " ",
40109
40109
  copied ? "it's already copied to your clipboard." : "copy it first."
40110
40110
  ] }),
40111
- /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentSection, { title: "Callback URL", children: [
40112
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
40113
- /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentText, { variant: "hint", children: [
40111
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentSection, { title: "Callback URL", children: [
40112
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
40113
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentText, { variant: "hint", children: [
40114
40114
  "In Claude Code, paste the URL at the prompt that says",
40115
40115
  " ",
40116
40116
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
@@ -40119,17 +40119,17 @@ function ConnectedOAuthConsentPage({
40119
40119
  ] })
40120
40120
  ] }) });
40121
40121
  }
40122
- return /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentCard, { children: [
40123
- /* @__PURE__ */ jsxRuntime.jsxs(chunkPOU4O4D7_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
40124
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
40122
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentCard, { children: [
40123
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkFY4C7HU5_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
40124
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
40125
40125
  " is requesting access to your ",
40126
40126
  appName,
40127
40127
  " workspace."
40128
40128
  ] }),
40129
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentPermissionList, { items: permissions }) }),
40130
- error && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentNotice, { tone: "error", children: error }),
40131
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
40132
- /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.ConsentFootnote, { children: footnote })
40129
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentPermissionList, { items: permissions }) }),
40130
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentNotice, { tone: "error", children: error }),
40131
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
40132
+ /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.ConsentFootnote, { children: footnote })
40133
40133
  ] }) });
40134
40134
  }
40135
40135
  function ConnectedSharedFilesPage({
@@ -40313,43 +40313,43 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
40313
40313
  });
40314
40314
  Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
40315
40315
  enumerable: true,
40316
- get: function () { return chunkQU77RRZP_cjs.ConnectedWorkflowDocumentsField; }
40316
+ get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowDocumentsField; }
40317
40317
  });
40318
40318
  Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
40319
40319
  enumerable: true,
40320
- get: function () { return chunkQU77RRZP_cjs.ConnectedWorkflowLauncher; }
40320
+ get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowLauncher; }
40321
40321
  });
40322
40322
  Object.defineProperty(exports, "ConnectedWorkflowsTable", {
40323
40323
  enumerable: true,
40324
- get: function () { return chunkQU77RRZP_cjs.ConnectedWorkflowsTable; }
40324
+ get: function () { return chunkVMLEISRZ_cjs.ConnectedWorkflowsTable; }
40325
40325
  });
40326
40326
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
40327
40327
  enumerable: true,
40328
- get: function () { return chunkQU77RRZP_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
40328
+ get: function () { return chunkVMLEISRZ_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
40329
40329
  });
40330
40330
  Object.defineProperty(exports, "toWorkflowFieldDocument", {
40331
40331
  enumerable: true,
40332
- get: function () { return chunkQU77RRZP_cjs.toWorkflowFieldDocument; }
40332
+ get: function () { return chunkVMLEISRZ_cjs.toWorkflowFieldDocument; }
40333
40333
  });
40334
40334
  Object.defineProperty(exports, "useConnectedAgentOptions", {
40335
40335
  enumerable: true,
40336
- get: function () { return chunkQU77RRZP_cjs.useConnectedAgentOptions; }
40336
+ get: function () { return chunkVMLEISRZ_cjs.useConnectedAgentOptions; }
40337
40337
  });
40338
40338
  Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
40339
40339
  enumerable: true,
40340
- get: function () { return chunkQU77RRZP_cjs.useConnectedWorkflowScopeSource; }
40340
+ get: function () { return chunkVMLEISRZ_cjs.useConnectedWorkflowScopeSource; }
40341
40341
  });
40342
40342
  Object.defineProperty(exports, "useConnectedWorkspaceRole", {
40343
40343
  enumerable: true,
40344
- get: function () { return chunkQU77RRZP_cjs.useConnectedWorkspaceRole; }
40344
+ get: function () { return chunkVMLEISRZ_cjs.useConnectedWorkspaceRole; }
40345
40345
  });
40346
40346
  Object.defineProperty(exports, "useDocxCommentTarget", {
40347
40347
  enumerable: true,
40348
- get: function () { return chunkQU77RRZP_cjs.useDocxCommentTarget; }
40348
+ get: function () { return chunkVMLEISRZ_cjs.useDocxCommentTarget; }
40349
40349
  });
40350
40350
  Object.defineProperty(exports, "useNativeDocxSupport", {
40351
40351
  enumerable: true,
40352
- get: function () { return chunkQU77RRZP_cjs.useNativeDocxSupport; }
40352
+ get: function () { return chunkVMLEISRZ_cjs.useNativeDocxSupport; }
40353
40353
  });
40354
40354
  Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
40355
40355
  enumerable: true,