@arbidocs/blocks 0.5.17 → 0.5.18

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/dist/{ConnectedNativeDocxComparison-BC5WSJEU.js → ConnectedNativeDocxComparison-FZNRXKCH.js} +6 -6
  2. package/dist/{ConnectedNativeDocxComparison-BC5WSJEU.js.map → ConnectedNativeDocxComparison-FZNRXKCH.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-O2COCSHL.cjs → ConnectedNativeDocxComparison-KEDY65GN.cjs} +7 -7
  4. package/dist/{ConnectedNativeDocxComparison-O2COCSHL.cjs.map → ConnectedNativeDocxComparison-KEDY65GN.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-JGIHX4KM.js → ConnectedNativeDocxEditor-E3ZGVJZJ.js} +5 -5
  6. package/dist/{ConnectedNativeDocxEditor-JGIHX4KM.js.map → ConnectedNativeDocxEditor-E3ZGVJZJ.js.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-OLKFI6ER.cjs → ConnectedNativeDocxEditor-WDIX32SH.cjs} +7 -7
  8. package/dist/{ConnectedNativeDocxEditor-OLKFI6ER.cjs.map → ConnectedNativeDocxEditor-WDIX32SH.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-FCHEZYHG.cjs → ConnectedStreamedWordArtifact-AALQYJ5H.cjs} +7 -7
  10. package/dist/ConnectedStreamedWordArtifact-AALQYJ5H.cjs.map +1 -0
  11. package/dist/{ConnectedStreamedWordArtifact-QXVGVP22.js → ConnectedStreamedWordArtifact-HTUZ2KK2.js} +6 -6
  12. package/dist/{ConnectedStreamedWordArtifact-QXVGVP22.js.map → ConnectedStreamedWordArtifact-HTUZ2KK2.js.map} +1 -1
  13. package/dist/{WorkspaceTableView-V4ZNTVS4.js → WorkspaceTableView-4VMLQOQ5.js} +3 -3
  14. package/dist/{WorkspaceTableView-V4ZNTVS4.js.map → WorkspaceTableView-4VMLQOQ5.js.map} +1 -1
  15. package/dist/{WorkspaceTableView-VCIRIQRL.cjs → WorkspaceTableView-S2ZHZ64L.cjs} +4 -4
  16. package/dist/{WorkspaceTableView-VCIRIQRL.cjs.map → WorkspaceTableView-S2ZHZ64L.cjs.map} +1 -1
  17. package/dist/agents/index.cjs +326 -326
  18. package/dist/agents/index.js +4 -4
  19. package/dist/{chunk-N5YEF3LC.js → chunk-7F5Z4K5W.js} +18 -20
  20. package/dist/chunk-7F5Z4K5W.js.map +1 -0
  21. package/dist/{chunk-PYIDGKZW.cjs → chunk-APZFUKR4.cjs} +51 -51
  22. package/dist/{chunk-PYIDGKZW.cjs.map → chunk-APZFUKR4.cjs.map} +1 -1
  23. package/dist/{chunk-KUDS6DY4.js → chunk-CTCF4I22.js} +3 -3
  24. package/dist/{chunk-KUDS6DY4.js.map → chunk-CTCF4I22.js.map} +1 -1
  25. package/dist/{chunk-NZUPFIS7.js → chunk-E3H7Q3ZO.js} +3 -3
  26. package/dist/{chunk-NZUPFIS7.js.map → chunk-E3H7Q3ZO.js.map} +1 -1
  27. package/dist/{chunk-I5UQUMUL.cjs → chunk-G6GUMZOZ.cjs} +4 -4
  28. package/dist/{chunk-I5UQUMUL.cjs.map → chunk-G6GUMZOZ.cjs.map} +1 -1
  29. package/dist/{chunk-IFE4MZXD.js → chunk-H7L43DIE.js} +3 -3
  30. package/dist/{chunk-IFE4MZXD.js.map → chunk-H7L43DIE.js.map} +1 -1
  31. package/dist/{chunk-NXOPNJ3Y.cjs → chunk-HVEDOBLY.cjs} +4 -4
  32. package/dist/{chunk-NXOPNJ3Y.cjs.map → chunk-HVEDOBLY.cjs.map} +1 -1
  33. package/dist/{chunk-G6NRTQ25.cjs → chunk-LFVD3CS5.cjs} +5 -5
  34. package/dist/{chunk-G6NRTQ25.cjs.map → chunk-LFVD3CS5.cjs.map} +1 -1
  35. package/dist/{chunk-C2CWWEHO.cjs → chunk-LKK52DEY.cjs} +18 -20
  36. package/dist/chunk-LKK52DEY.cjs.map +1 -0
  37. package/dist/{chunk-LDB77NUS.cjs → chunk-LNLAD7XW.cjs} +4 -4
  38. package/dist/{chunk-LDB77NUS.cjs.map → chunk-LNLAD7XW.cjs.map} +1 -1
  39. package/dist/{chunk-7TAWJXSR.js → chunk-M3AADQ4Y.js} +4 -4
  40. package/dist/{chunk-7TAWJXSR.js.map → chunk-M3AADQ4Y.js.map} +1 -1
  41. package/dist/{chunk-VIUWP2FC.js → chunk-MYJJ3RPH.js} +3 -3
  42. package/dist/{chunk-VIUWP2FC.js.map → chunk-MYJJ3RPH.js.map} +1 -1
  43. package/dist/{chunk-B5SEHTMC.cjs → chunk-P4NS4LV7.cjs} +4 -4
  44. package/dist/{chunk-B5SEHTMC.cjs.map → chunk-P4NS4LV7.cjs.map} +1 -1
  45. package/dist/{chunk-YN6ND3LW.js → chunk-PJYE6AJS.js} +5 -5
  46. package/dist/{chunk-YN6ND3LW.js.map → chunk-PJYE6AJS.js.map} +1 -1
  47. package/dist/{chunk-XGCXHDZT.cjs → chunk-RZ3EBN7G.cjs} +8 -8
  48. package/dist/{chunk-XGCXHDZT.cjs.map → chunk-RZ3EBN7G.cjs.map} +1 -1
  49. package/dist/{chunk-E65JWVDL.js → chunk-T5ZFFHC6.js} +3 -3
  50. package/dist/{chunk-E65JWVDL.js.map → chunk-T5ZFFHC6.js.map} +1 -1
  51. package/dist/{chunk-4R5OHS2D.js → chunk-TXLMCQOH.js} +3 -3
  52. package/dist/{chunk-4R5OHS2D.js.map → chunk-TXLMCQOH.js.map} +1 -1
  53. package/dist/{chunk-HPUEYVG3.cjs → chunk-UR6DWL4L.cjs} +11 -11
  54. package/dist/{chunk-HPUEYVG3.cjs.map → chunk-UR6DWL4L.cjs.map} +1 -1
  55. package/dist/{chunk-KB5RAHUZ.js → chunk-VNWWK44S.js} +3 -3
  56. package/dist/{chunk-KB5RAHUZ.js.map → chunk-VNWWK44S.js.map} +1 -1
  57. package/dist/{chunk-HJQLVCIK.cjs → chunk-WUG24K7P.cjs} +4 -4
  58. package/dist/{chunk-HJQLVCIK.cjs.map → chunk-WUG24K7P.cjs.map} +1 -1
  59. package/dist/collaboration/index.cjs +68 -68
  60. package/dist/collaboration/index.js +2 -2
  61. package/dist/connect/docx.cjs +9 -9
  62. package/dist/connect/docx.js +5 -5
  63. package/dist/connect/index.cjs +478 -479
  64. package/dist/connect/index.cjs.map +1 -1
  65. package/dist/connect/index.js +10 -11
  66. package/dist/connect/index.js.map +1 -1
  67. package/dist/connect/viewer.cjs +46 -46
  68. package/dist/connect/viewer.js +8 -8
  69. package/dist/databases/index.cjs +2 -2
  70. package/dist/databases/index.js +1 -1
  71. package/dist/facts/index.cjs +2 -2
  72. package/dist/facts/index.js +1 -1
  73. package/dist/files/index.cjs +223 -223
  74. package/dist/files/index.js +2 -2
  75. package/dist/index.cjs +448 -448
  76. package/dist/index.js +6 -6
  77. package/dist/workflow-canvas/index.cjs +17 -17
  78. package/dist/workflow-canvas/index.js +4 -4
  79. package/node_modules/@arbidocs/coedit/package.json +1 -1
  80. package/package.json +5 -5
  81. package/dist/ConnectedStreamedWordArtifact-FCHEZYHG.cjs.map +0 -1
  82. package/dist/chunk-C2CWWEHO.cjs.map +0 -1
  83. package/dist/chunk-N5YEF3LC.js.map +0 -1
@@ -10,9 +10,9 @@ var chunkOU3RGQFX_cjs = require('../chunk-OU3RGQFX.cjs');
10
10
  require('../chunk-REH7PX3N.cjs');
11
11
  var chunk7IQDS246_cjs = require('../chunk-7IQDS246.cjs');
12
12
  var chunkSZGUU2TS_cjs = require('../chunk-SZGUU2TS.cjs');
13
- var chunkXGCXHDZT_cjs = require('../chunk-XGCXHDZT.cjs');
13
+ var chunkRZ3EBN7G_cjs = require('../chunk-RZ3EBN7G.cjs');
14
14
  var chunk6MHGFCIW_cjs = require('../chunk-6MHGFCIW.cjs');
15
- var chunkB5SEHTMC_cjs = require('../chunk-B5SEHTMC.cjs');
15
+ var chunkP4NS4LV7_cjs = require('../chunk-P4NS4LV7.cjs');
16
16
  var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
17
17
  var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
18
18
  var chunk2XLVE2XD_cjs = require('../chunk-2XLVE2XD.cjs');
@@ -22,7 +22,7 @@ require('../chunk-464YPRAE.cjs');
22
22
  require('../chunk-4UGVMOTK.cjs');
23
23
  var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
24
24
  require('../chunk-RAYCOBF7.cjs');
25
- var chunkG6NRTQ25_cjs = require('../chunk-G6NRTQ25.cjs');
25
+ var chunkLFVD3CS5_cjs = require('../chunk-LFVD3CS5.cjs');
26
26
  var chunkXAJIKT6Y_cjs = require('../chunk-XAJIKT6Y.cjs');
27
27
  var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
28
28
  var chunkJYYJGYUP_cjs = require('../chunk-JYYJGYUP.cjs');
@@ -32,7 +32,7 @@ require('../chunk-ZU2B2RZK.cjs');
32
32
  var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
33
33
  require('../chunk-PCB2BPN3.cjs');
34
34
  require('../chunk-NWNVWO6L.cjs');
35
- var chunkHJQLVCIK_cjs = require('../chunk-HJQLVCIK.cjs');
35
+ var chunkWUG24K7P_cjs = require('../chunk-WUG24K7P.cjs');
36
36
  require('../chunk-7G2LJMUG.cjs');
37
37
  var chunkTM2D4XT4_cjs = require('../chunk-TM2D4XT4.cjs');
38
38
  var chunk5Y6V7F6W_cjs = require('../chunk-5Y6V7F6W.cjs');
@@ -42,9 +42,10 @@ require('../chunk-VLCY46K6.cjs');
42
42
  require('../chunk-D54JXTPG.cjs');
43
43
  var chunkJIOHDVWH_cjs = require('../chunk-JIOHDVWH.cjs');
44
44
  var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
45
- var chunkHPUEYVG3_cjs = require('../chunk-HPUEYVG3.cjs');
45
+ var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
46
+ var chunkUR6DWL4L_cjs = require('../chunk-UR6DWL4L.cjs');
46
47
  var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
47
- var chunkI5UQUMUL_cjs = require('../chunk-I5UQUMUL.cjs');
48
+ var chunkG6GUMZOZ_cjs = require('../chunk-G6GUMZOZ.cjs');
48
49
  var chunkF4UYC2M2_cjs = require('../chunk-F4UYC2M2.cjs');
49
50
  var chunkAQPZ4QMV_cjs = require('../chunk-AQPZ4QMV.cjs');
50
51
  require('../chunk-SIB6C7P7.cjs');
@@ -53,8 +54,7 @@ var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
53
54
  require('../chunk-AHDJXIUB.cjs');
54
55
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
55
56
  require('../chunk-3L5MXUBZ.cjs');
56
- var chunkC2CWWEHO_cjs = require('../chunk-C2CWWEHO.cjs');
57
- var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
57
+ var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
58
58
  var chunkEWRRV37Z_cjs = require('../chunk-EWRRV37Z.cjs');
59
59
  var chunkCG757WKY_cjs = require('../chunk-CG757WKY.cjs');
60
60
  var chunkW3PSIIMN_cjs = require('../chunk-W3PSIIMN.cjs');
@@ -187,7 +187,7 @@ function ConnectedWorkspaceActivity({
187
187
  [feed.data]
188
188
  );
189
189
  return /* @__PURE__ */ jsxRuntime.jsx(
190
- chunkG6NRTQ25_cjs.WorkspaceActivityList,
190
+ chunkLFVD3CS5_cjs.WorkspaceActivityList,
191
191
  {
192
192
  ...listProps,
193
193
  items,
@@ -629,7 +629,7 @@ function NotificationCenter({
629
629
  ) }),
630
630
  /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "notifications-list", className: "flex flex-1 flex-col min-h-0 px-3 pt-1", children: [
631
631
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-h-0", children: /* @__PURE__ */ jsxRuntime.jsx(
632
- chunkC2CWWEHO_cjs.GridView,
632
+ chunkLKK52DEY_cjs.GridView,
633
633
  {
634
634
  items: filtered,
635
635
  columnDefs,
@@ -655,7 +655,6 @@ function NotificationCenter({
655
655
  }
656
656
  },
657
657
  suppressMenuHide: false,
658
- headerHeight: 40,
659
658
  rowHeight: 48,
660
659
  animateRows: true,
661
660
  suppressCellFocus: true,
@@ -865,7 +864,7 @@ function ConnectedWorkspaceNotificationMenu({
865
864
  }, [error, notify17]);
866
865
  if (!workspaceId) return null;
867
866
  return /* @__PURE__ */ jsxRuntime.jsx(
868
- chunkG6NRTQ25_cjs.WorkspaceNotificationMenu,
867
+ chunkLFVD3CS5_cjs.WorkspaceNotificationMenu,
869
868
  {
870
869
  ...menuProps,
871
870
  level,
@@ -884,7 +883,7 @@ function ConnectedThreadFollow({
884
883
  enabled: live
885
884
  });
886
885
  if (!conversationId) return null;
887
- const Control = as === "menu-item" ? chunkG6NRTQ25_cjs.ThreadFollowMenuItem : chunkG6NRTQ25_cjs.ThreadFollowButton;
886
+ const Control = as === "menu-item" ? chunkLFVD3CS5_cjs.ThreadFollowMenuItem : chunkLFVD3CS5_cjs.ThreadFollowButton;
888
887
  return /* @__PURE__ */ jsxRuntime.jsx(
889
888
  Control,
890
889
  {
@@ -957,7 +956,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
957
956
  onChange: (e) => {
958
957
  const file = e.target.files?.[0];
959
958
  e.target.value = "";
960
- if (file) void add(() => chunkHPUEYVG3_cjs.importSkillFile(file));
959
+ if (file) void add(() => chunkUR6DWL4L_cjs.importSkillFile(file));
961
960
  }
962
961
  }
963
962
  ),
@@ -982,7 +981,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
982
981
  className: "space-y-2",
983
982
  onSubmit: (e) => {
984
983
  e.preventDefault();
985
- if (url.trim()) void add(() => chunkHPUEYVG3_cjs.importSkillFromUrl(url));
984
+ if (url.trim()) void add(() => chunkUR6DWL4L_cjs.importSkillFromUrl(url));
986
985
  },
987
986
  children: [
988
987
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
@@ -1045,9 +1044,9 @@ function ConnectedSkillsLibrary({
1045
1044
  const [type, setType] = React7.useState("all");
1046
1045
  const [view, setView] = React7.useState("gallery");
1047
1046
  const [isBusy, setIsBusy] = React7.useState(false);
1048
- const all = React7.useMemo(() => chunkHPUEYVG3_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1047
+ const all = React7.useMemo(() => chunkUR6DWL4L_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1049
1048
  const shown = React7.useMemo(
1050
- () => chunkHPUEYVG3_cjs.filterLibrarySkills(all, { query, source, type }),
1049
+ () => chunkUR6DWL4L_cjs.filterLibrarySkills(all, { query, source, type }),
1051
1050
  [all, query, source, type]
1052
1051
  );
1053
1052
  const current = all.find((s) => s.slug === selected) ?? null;
@@ -1058,21 +1057,21 @@ function ConnectedSkillsLibrary({
1058
1057
  const count2 = (s) => all.filter((x) => x.source === s).length;
1059
1058
  const sourceOptions = [
1060
1059
  { id: "all", label: "All", count: all.length },
1061
- { id: "builtin", label: chunkHPUEYVG3_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1062
- { id: "mine", label: chunkHPUEYVG3_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1063
- { id: "shared", label: chunkHPUEYVG3_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1060
+ { id: "builtin", label: chunkUR6DWL4L_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1061
+ { id: "mine", label: chunkUR6DWL4L_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1062
+ { id: "shared", label: chunkUR6DWL4L_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1064
1063
  ];
1065
1064
  const types = [...new Set(all.map((s) => s.type))];
1066
1065
  const typeOptions = [
1067
1066
  { id: "all", label: "Any kind" },
1068
- ...types.map((t) => ({ id: t, label: chunkHPUEYVG3_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1067
+ ...types.map((t) => ({ id: t, label: chunkUR6DWL4L_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1069
1068
  ];
1070
1069
  const pick = (slug) => {
1071
1070
  setSelected(slug);
1072
1071
  setMode("detail");
1073
1072
  };
1074
1073
  const markdownOf = async (skill) => {
1075
- if (!skill.docExtId) return chunkHPUEYVG3_cjs.workflowToSkillMarkdown(skill.workflow);
1074
+ if (!skill.docExtId) return chunkUR6DWL4L_cjs.workflowToSkillMarkdown(skill.workflow);
1076
1075
  const response = await arbi.documents.download(skill.docExtId);
1077
1076
  if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
1078
1077
  return response.text();
@@ -1136,7 +1135,7 @@ function ConnectedSkillsLibrary({
1136
1135
  try {
1137
1136
  documentTools.downloadBlob(
1138
1137
  new Blob([await markdownOf(skill)], { type: "text/markdown" }),
1139
- chunkHPUEYVG3_cjs.SKILL_MAIN_FILENAME
1138
+ chunkUR6DWL4L_cjs.SKILL_MAIN_FILENAME
1140
1139
  );
1141
1140
  } catch (error) {
1142
1141
  notify17(errorText(error, "Could not export the skill"), "error");
@@ -1177,10 +1176,10 @@ function ConnectedSkillsLibrary({
1177
1176
  }
1178
1177
  )
1179
1178
  ] }),
1180
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.SkillViewToggle, { value: view, onChange: setView })
1179
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.SkillViewToggle, { value: view, onChange: setView })
1181
1180
  ] }),
1182
1181
  /* @__PURE__ */ jsxRuntime.jsx(
1183
- chunkHPUEYVG3_cjs.SkillFilterChips,
1182
+ chunkUR6DWL4L_cjs.SkillFilterChips,
1184
1183
  {
1185
1184
  label: "Show",
1186
1185
  value: source,
@@ -1189,7 +1188,7 @@ function ConnectedSkillsLibrary({
1189
1188
  }
1190
1189
  ),
1191
1190
  types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1192
- chunkHPUEYVG3_cjs.SkillFilterChips,
1191
+ chunkUR6DWL4L_cjs.SkillFilterChips,
1193
1192
  {
1194
1193
  label: "Kind",
1195
1194
  value: type,
@@ -1236,12 +1235,12 @@ function ConnectedSkillsLibrary({
1236
1235
  view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
1237
1236
  ),
1238
1237
  children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
1239
- chunkHPUEYVG3_cjs.SkillTile,
1238
+ chunkUR6DWL4L_cjs.SkillTile,
1240
1239
  {
1241
1240
  name: skill.title,
1242
1241
  testId: `skill-tile-${skill.slug}`,
1243
1242
  description: skill.description,
1244
- sourceLabel: skill.isShared ? `${chunkHPUEYVG3_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkHPUEYVG3_cjs.SKILL_SOURCE_LABELS[skill.source],
1243
+ sourceLabel: skill.isShared ? `${chunkUR6DWL4L_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkUR6DWL4L_cjs.SKILL_SOURCE_LABELS[skill.source],
1245
1244
  type: skill.type,
1246
1245
  icon,
1247
1246
  layout: view,
@@ -1276,7 +1275,7 @@ function ConnectedSkillsLibrary({
1276
1275
  }
1277
1276
  ),
1278
1277
  mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
1279
- chunkHPUEYVG3_cjs.SkillGenerateForm,
1278
+ chunkUR6DWL4L_cjs.SkillGenerateForm,
1280
1279
  {
1281
1280
  icon,
1282
1281
  onGenerate: (desc) => {
@@ -1303,11 +1302,11 @@ function ConnectedSkillsLibrary({
1303
1302
  ),
1304
1303
  mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
1305
1304
  mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
1306
- chunkHPUEYVG3_cjs.SkillLibraryDetail,
1305
+ chunkUR6DWL4L_cjs.SkillLibraryDetail,
1307
1306
  {
1308
1307
  skill: current,
1309
1308
  icon,
1310
- instructions: current.docExtId ? currentText ? chunkHPUEYVG3_cjs.parseSkillFrontmatter(currentText, chunkHPUEYVG3_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1309
+ instructions: current.docExtId ? currentText ? chunkUR6DWL4L_cjs.parseSkillFrontmatter(currentText, chunkUR6DWL4L_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1311
1310
  isLoading: !!current.docExtId && textLoading,
1312
1311
  actions: {
1313
1312
  onRun: () => onRun(current.slug),
@@ -1342,7 +1341,7 @@ function SkillEditor({
1342
1341
  const [seeded, setSeeded] = React7.useState(!isEditing);
1343
1342
  const [nameError, setNameError] = React7.useState(null);
1344
1343
  if (isEditing && !seeded && text2 !== void 0) {
1345
- const parsed = chunkHPUEYVG3_cjs.parseSkillFrontmatter(text2, chunkHPUEYVG3_cjs.SKILL_MAIN_FILENAME);
1344
+ const parsed = chunkUR6DWL4L_cjs.parseSkillFrontmatter(text2, chunkUR6DWL4L_cjs.SKILL_MAIN_FILENAME);
1346
1345
  setDescription(parsed.description ?? "");
1347
1346
  setBody(parsed.content ?? "");
1348
1347
  setSeeded(true);
@@ -1356,15 +1355,15 @@ function SkillEditor({
1356
1355
  notify17("Add a short description.", "error");
1357
1356
  return;
1358
1357
  }
1359
- const slug = chunkHPUEYVG3_cjs.skillSlug(name);
1358
+ const slug = chunkUR6DWL4L_cjs.skillSlug(name);
1360
1359
  try {
1361
- await onSave(slug, chunkHPUEYVG3_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1360
+ await onSave(slug, chunkUR6DWL4L_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1362
1361
  } catch (err) {
1363
1362
  notify17(errorText(err, "Could not save the skill"), "error");
1364
1363
  }
1365
1364
  };
1366
1365
  return /* @__PURE__ */ jsxRuntime.jsx(
1367
- chunkHPUEYVG3_cjs.SkillEditForm,
1366
+ chunkUR6DWL4L_cjs.SkillEditForm,
1368
1367
  {
1369
1368
  name,
1370
1369
  onNameChange: setName,
@@ -1400,9 +1399,9 @@ function ConnectedAgentCreator({
1400
1399
  agent,
1401
1400
  initialName,
1402
1401
  onSaved,
1403
- capabilities = chunkHPUEYVG3_cjs.DEFAULT_AGENT_CAPABILITIES,
1404
- templates = chunkHPUEYVG3_cjs.DEFAULT_AGENT_TEMPLATES,
1405
- types = chunkHPUEYVG3_cjs.DEFAULT_AGENT_TYPES,
1402
+ capabilities = chunkUR6DWL4L_cjs.DEFAULT_AGENT_CAPABILITIES,
1403
+ templates = chunkUR6DWL4L_cjs.DEFAULT_AGENT_TEMPLATES,
1404
+ types = chunkUR6DWL4L_cjs.DEFAULT_AGENT_TYPES,
1406
1405
  canRevokeWorkspaces = false,
1407
1406
  labels
1408
1407
  }) {
@@ -1444,7 +1443,7 @@ function ConnectedAgentCreator({
1444
1443
  const initialValues = React7.useMemo(
1445
1444
  () => ({
1446
1445
  name: agent?.given_name ?? initialName ?? "",
1447
- persona: isEdit ? chunkHPUEYVG3_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1446
+ persona: isEdit ? chunkUR6DWL4L_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1448
1447
  modelName: String(agents.AGENT_MODEL_NAME ?? ""),
1449
1448
  capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
1450
1449
  type: "builtin",
@@ -1463,7 +1462,7 @@ function ConnectedAgentCreator({
1463
1462
  try {
1464
1463
  let agentExtId = agent?.external_id ?? early?.id ?? "";
1465
1464
  if (!agentExtId) {
1466
- if (!chunkHPUEYVG3_cjs.isValidAgentName(values.name)) {
1465
+ if (!chunkUR6DWL4L_cjs.isValidAgentName(values.name)) {
1467
1466
  notify17("Give the agent a name first.", "error");
1468
1467
  return;
1469
1468
  }
@@ -1499,7 +1498,7 @@ function ConnectedAgentCreator({
1499
1498
  title: `agent-${name}`,
1500
1499
  sections: {
1501
1500
  Agents: {
1502
- PERSONA: chunkHPUEYVG3_cjs.composePersona(name, values.persona),
1501
+ PERSONA: chunkUR6DWL4L_cjs.composePersona(name, values.persona),
1503
1502
  ...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
1504
1503
  ...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
1505
1504
  ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
@@ -1522,7 +1521,7 @@ function ConnectedAgentCreator({
1522
1521
  };
1523
1522
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1524
1523
  /* @__PURE__ */ jsxRuntime.jsx(
1525
- chunkHPUEYVG3_cjs.AgentCreator,
1524
+ chunkUR6DWL4L_cjs.AgentCreator,
1526
1525
  {
1527
1526
  open: ready,
1528
1527
  onOpenChange,
@@ -1538,11 +1537,11 @@ function ConnectedAgentCreator({
1538
1537
  ) : void 0,
1539
1538
  revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
1540
1539
  avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
1541
- chunkHPUEYVG3_cjs.AgentAvatarField,
1540
+ chunkUR6DWL4L_cjs.AgentAvatarField,
1542
1541
  {
1543
1542
  picture,
1544
1543
  isBusy: avatarBusy,
1545
- canGenerate: isEdit || chunkHPUEYVG3_cjs.isValidAgentName(values.name),
1544
+ canGenerate: isEdit || chunkUR6DWL4L_cjs.isValidAgentName(values.name),
1546
1545
  onGenerate: () => handleGenerateAvatar(values)
1547
1546
  }
1548
1547
  ),
@@ -1594,7 +1593,7 @@ function ConnectedAgentCreator({
1594
1593
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
1595
1594
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
1596
1595
  ] }),
1597
- connect && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
1596
+ connect && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
1598
1597
  ]
1599
1598
  }
1600
1599
  ) })
@@ -1631,7 +1630,7 @@ function ConnectedWorkflowHistory({
1631
1630
  const { openConversation } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
1632
1631
  const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
1633
1632
  return /* @__PURE__ */ jsxRuntime.jsx(
1634
- chunkHPUEYVG3_cjs.TaskRunsDialog,
1633
+ chunkUR6DWL4L_cjs.TaskRunsDialog,
1635
1634
  {
1636
1635
  inline,
1637
1636
  hideHeader,
@@ -1667,14 +1666,14 @@ function ConnectedTaskActivityDialog({
1667
1666
  const activity = react.useConversationActivity(conversationId, { live });
1668
1667
  const { data: agents = [] } = react.useAgents();
1669
1668
  const { userId } = chunkT55BHIB7_cjs.useConnectedWorkspace();
1670
- const { members } = chunkXGCXHDZT_cjs.useConnectedWorkspaceRole();
1669
+ const { members } = chunkRZ3EBN7G_cjs.useConnectedWorkspaceRole();
1671
1670
  const renderPerson = React7.useCallback(
1672
1671
  (id) => {
1673
1672
  const isMe = !!id && id === userId;
1674
1673
  const member = members.find((m) => m.user.external_id === id)?.user;
1675
1674
  const name = member && [member.given_name, member.family_name].filter(Boolean).join(" ") || member?.email;
1676
1675
  const person = { id, label: isMe ? "You" : name || "Someone", isMe };
1677
- return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(chunkI5UQUMUL_cjs.PersonPill, { person });
1676
+ return renderTaskPerson ? renderTaskPerson(person) : /* @__PURE__ */ jsxRuntime.jsx(chunkG6GUMZOZ_cjs.PersonPill, { person });
1678
1677
  },
1679
1678
  [renderTaskPerson, userId, members]
1680
1679
  );
@@ -1683,7 +1682,7 @@ function ConnectedTaskActivityDialog({
1683
1682
  [agents]
1684
1683
  );
1685
1684
  return /* @__PURE__ */ jsxRuntime.jsx(
1686
- chunkHPUEYVG3_cjs.TaskActivityDialog,
1685
+ chunkUR6DWL4L_cjs.TaskActivityDialog,
1687
1686
  {
1688
1687
  open: true,
1689
1688
  onOpenChange: (open) => !open && onClose(),
@@ -1829,7 +1828,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1829
1828
  );
1830
1829
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
1831
1830
  const steps = React7.useMemo(
1832
- () => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) : chunkHPUEYVG3_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1831
+ () => chunkEZLZ3MDU_cjs.workflowSteps(workflow).length > 0 ? chunkEZLZ3MDU_cjs.workflowSteps(workflow) : chunkUR6DWL4L_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1833
1832
  [workflow, conversation?.plan?.steps]
1834
1833
  );
1835
1834
  const activity = react.useConversationActivity(threadId, { live: !!threadId });
@@ -1889,7 +1888,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1889
1888
  criteria: [],
1890
1889
  max_passes: 3,
1891
1890
  documents: [],
1892
- steps: chunkHPUEYVG3_cjs.toPlanSteps(workflow, {
1891
+ steps: chunkUR6DWL4L_cjs.toPlanSteps(workflow, {
1893
1892
  inputs: values,
1894
1893
  resolveWorkflow: options2.resolveWorkflow,
1895
1894
  compose: options2.compose
@@ -1976,7 +1975,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1976
1975
  const anyRunning = Object.values(states).some((s) => s.status === "running");
1977
1976
  const needsStart = !threadId || idle && !anyRunning;
1978
1977
  const runError = idle ? conversation?.last_error ?? null : null;
1979
- const view = chunkHPUEYVG3_cjs.useWorkflowView({
1978
+ const view = chunkUR6DWL4L_cjs.useWorkflowView({
1980
1979
  steps,
1981
1980
  states,
1982
1981
  inputs,
@@ -2142,7 +2141,7 @@ function WorkflowWordDialog({
2142
2141
  title: title ?? labels.wordTitle,
2143
2142
  size: "xl",
2144
2143
  testId: "workflow-word-dialog",
2145
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXGCXHDZT_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2144
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkRZ3EBN7G_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2146
2145
  }
2147
2146
  );
2148
2147
  }
@@ -2451,7 +2450,7 @@ function ConnectedWorkflowRunner({
2451
2450
  );
2452
2451
  };
2453
2452
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
2454
- chunkHPUEYVG3_cjs.WorkflowRunner,
2453
+ chunkUR6DWL4L_cjs.WorkflowRunner,
2455
2454
  {
2456
2455
  people,
2457
2456
  ...runnerProps,
@@ -2497,7 +2496,7 @@ function ConnectedWorkflowRunner({
2497
2496
  ) }),
2498
2497
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2499
2498
  /* @__PURE__ */ jsxRuntime.jsx(
2500
- chunkHPUEYVG3_cjs.WorkflowStepBar,
2499
+ chunkUR6DWL4L_cjs.WorkflowStepBar,
2501
2500
  {
2502
2501
  run: view,
2503
2502
  levels: chunkEZLZ3MDU_cjs.stepLevels(view.steps),
@@ -2788,7 +2787,7 @@ function ConnectedTagTable({
2788
2787
  const fail = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
2789
2788
  const snapshot2 = (data) => {
2790
2789
  const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
2791
- const bytes = chunkG6NRTQ25_cjs.tagTableDocx(data, {
2790
+ const bytes = chunkLFVD3CS5_cjs.tagTableDocx(data, {
2792
2791
  title,
2793
2792
  nameOf: (id) => people.find((p) => p.value === id)?.label
2794
2793
  });
@@ -2797,7 +2796,7 @@ function ConnectedTagTable({
2797
2796
  return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
2798
2797
  };
2799
2798
  return /* @__PURE__ */ jsxRuntime.jsx(
2800
- chunkG6NRTQ25_cjs.TagTable,
2799
+ chunkLFVD3CS5_cjs.TagTable,
2801
2800
  {
2802
2801
  ...props,
2803
2802
  table,
@@ -2935,9 +2934,9 @@ function GlossaryExport({ labelId, nameOf }) {
2935
2934
  const narrowed = agreements.find((a) => a.id === narrowTo);
2936
2935
  const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
2937
2936
  const download = (format) => {
2938
- const entries = chunkG6NRTQ25_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
2939
- const blob = format === "docx" ? new Blob([chunkG6NRTQ25_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkG6NRTQ25_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
2940
- documentTools.downloadBlob(blob, chunkG6NRTQ25_cjs.glossaryFileName(title, format));
2937
+ const entries = chunkLFVD3CS5_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
2938
+ const blob = format === "docx" ? new Blob([chunkLFVD3CS5_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkLFVD3CS5_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
2939
+ documentTools.downloadBlob(blob, chunkLFVD3CS5_cjs.glossaryFileName(title, format));
2941
2940
  };
2942
2941
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
2943
2942
  agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3030,7 +3029,7 @@ function TileStatusBadge({ doc, status }) {
3030
3029
  case "failed":
3031
3030
  tone = "danger";
3032
3031
  icon2 = /* @__PURE__ */ jsxRuntime.jsx(
3033
- chunkB5SEHTMC_cjs.FailedStageIcon,
3032
+ chunkP4NS4LV7_cjs.FailedStageIcon,
3034
3033
  {
3035
3034
  stage: doc.failed_stage ?? null,
3036
3035
  errorMessage: doc.error_message,
@@ -3057,7 +3056,7 @@ function TileStatusBadge({ doc, status }) {
3057
3056
  return null;
3058
3057
  }
3059
3058
  return /* @__PURE__ */ jsxRuntime.jsx(
3060
- chunkB5SEHTMC_cjs.StatusPill,
3059
+ chunkP4NS4LV7_cjs.StatusPill,
3061
3060
  {
3062
3061
  tone,
3063
3062
  icon: icon2,
@@ -3069,11 +3068,11 @@ function TileStatusBadge({ doc, status }) {
3069
3068
  function TileVisibilityBadge({ doc }) {
3070
3069
  const shared = !!doc.shared;
3071
3070
  return /* @__PURE__ */ jsxRuntime.jsx(
3072
- chunkB5SEHTMC_cjs.StatusPill,
3071
+ chunkP4NS4LV7_cjs.StatusPill,
3073
3072
  {
3074
3073
  icon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: shared, className: "size-3.5", "aria-hidden": true }),
3075
3074
  label: shared ? ui.getEntityLabel("WORKSPACE") : "Only you",
3076
- title: chunkB5SEHTMC_cjs.visibilityAudience(shared),
3075
+ title: chunkP4NS4LV7_cjs.visibilityAudience(shared),
3077
3076
  testId: `explorer-file-visibility-${doc.external_id}`
3078
3077
  }
3079
3078
  );
@@ -3100,7 +3099,7 @@ function FileTooltipContent({
3100
3099
  }) {
3101
3100
  const labels = (doc.doctags ?? []).map((dt) => tagNameById.get(dt.tag_ext_id)).filter((name) => !!name);
3102
3101
  return /* @__PURE__ */ jsxRuntime.jsx(
3103
- chunkB5SEHTMC_cjs.ExplorerFileTooltip,
3102
+ chunkP4NS4LV7_cjs.ExplorerFileTooltip,
3104
3103
  {
3105
3104
  title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
3106
3105
  summary: ui.getDocumentSubject(doc),
@@ -3109,7 +3108,7 @@ function FileTooltipContent({
3109
3108
  shared: !!doc.shared,
3110
3109
  visibilityIcon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: !!doc.shared, className: "h-3 w-3" }),
3111
3110
  labels,
3112
- uiLabels: { shared: chunkB5SEHTMC_cjs.visibilityAudience(true), private: chunkB5SEHTMC_cjs.visibilityAudience(false) }
3111
+ uiLabels: { shared: chunkP4NS4LV7_cjs.visibilityAudience(true), private: chunkP4NS4LV7_cjs.visibilityAudience(false) }
3113
3112
  }
3114
3113
  );
3115
3114
  }
@@ -3221,7 +3220,7 @@ var FileTile = React7.memo(function FileTile2({
3221
3220
  ];
3222
3221
  const tooltip = renaming || dndActive ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(FileTooltipContent, { doc, modifiedBy, tagNameById });
3223
3222
  return /* @__PURE__ */ jsxRuntime.jsx(
3224
- chunkB5SEHTMC_cjs.ExplorerFileTile,
3223
+ chunkP4NS4LV7_cjs.ExplorerFileTile,
3225
3224
  {
3226
3225
  id: doc.external_id,
3227
3226
  title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
@@ -3315,17 +3314,17 @@ var FolderTile = React7.memo(function FolderTile2({
3315
3314
  }
3316
3315
  ] : []
3317
3316
  ];
3318
- const displayName = folder.path.length === 1 ? chunkB5SEHTMC_cjs.formatFolderSegment(folder.name) : folder.name;
3319
- const providerIcon = folder.path.length === 1 && chunkB5SEHTMC_cjs.hasFolderProviderIcon(folder.name) ? /* @__PURE__ */ jsxRuntime.jsx(
3317
+ const displayName = folder.path.length === 1 ? chunkP4NS4LV7_cjs.formatFolderSegment(folder.name) : folder.name;
3318
+ const providerIcon = folder.path.length === 1 && chunkP4NS4LV7_cjs.hasFolderProviderIcon(folder.name) ? /* @__PURE__ */ jsxRuntime.jsx(
3320
3319
  "span",
3321
3320
  {
3322
3321
  className: "flex items-center justify-center drop-shadow-sm",
3323
3322
  style: { width: iconSize, height: iconSize },
3324
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FolderProviderIcon, { folderPath: folder.name, className: "h-full w-full" })
3323
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FolderProviderIcon, { folderPath: folder.name, className: "h-full w-full" })
3325
3324
  }
3326
3325
  ) : void 0;
3327
3326
  return /* @__PURE__ */ jsxRuntime.jsx(
3328
- chunkB5SEHTMC_cjs.ExplorerFolderTile,
3327
+ chunkP4NS4LV7_cjs.ExplorerFolderTile,
3329
3328
  {
3330
3329
  name: folder.name,
3331
3330
  displayName: displayName === "" ? null : displayName,
@@ -3415,7 +3414,7 @@ function describeGlyph(resolved, doc) {
3415
3414
  }
3416
3415
  return {
3417
3416
  node: /* @__PURE__ */ jsxRuntime.jsx(
3418
- chunkB5SEHTMC_cjs.FailedStageIcon,
3417
+ chunkP4NS4LV7_cjs.FailedStageIcon,
3419
3418
  {
3420
3419
  stage: resolved.failedStage,
3421
3420
  errorMessage: doc.error_message,
@@ -3460,7 +3459,7 @@ var StatusCell = React7.memo(function StatusCell2({
3460
3459
  if (isPendingSync) {
3461
3460
  return cell(
3462
3461
  /* @__PURE__ */ jsxRuntime.jsx(
3463
- chunkB5SEHTMC_cjs.StatusPill,
3462
+ chunkP4NS4LV7_cjs.StatusPill,
3464
3463
  {
3465
3464
  tone: "warning",
3466
3465
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "size-3.5" }),
@@ -3475,7 +3474,7 @@ var StatusCell = React7.memo(function StatusCell2({
3475
3474
  case "completed":
3476
3475
  return cell(
3477
3476
  /* @__PURE__ */ jsxRuntime.jsx(
3478
- chunkB5SEHTMC_cjs.StatusPill,
3477
+ chunkP4NS4LV7_cjs.StatusPill,
3479
3478
  {
3480
3479
  tone: "success",
3481
3480
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "size-3.5" }),
@@ -3488,7 +3487,7 @@ var StatusCell = React7.memo(function StatusCell2({
3488
3487
  case "skipped":
3489
3488
  return cell(
3490
3489
  /* @__PURE__ */ jsxRuntime.jsx(
3491
- chunkB5SEHTMC_cjs.StatusPill,
3490
+ chunkP4NS4LV7_cjs.StatusPill,
3492
3491
  {
3493
3492
  tone: "neutral",
3494
3493
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SkipForward, { className: "size-3.5" }),
@@ -3501,7 +3500,7 @@ var StatusCell = React7.memo(function StatusCell2({
3501
3500
  case "empty":
3502
3501
  return cell(
3503
3502
  /* @__PURE__ */ jsxRuntime.jsx(
3504
- chunkB5SEHTMC_cjs.StatusPill,
3503
+ chunkP4NS4LV7_cjs.StatusPill,
3505
3504
  {
3506
3505
  tone: "warning",
3507
3506
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileX, { className: "size-3.5" }),
@@ -3514,7 +3513,7 @@ var StatusCell = React7.memo(function StatusCell2({
3514
3513
  case "low-content":
3515
3514
  return cell(
3516
3515
  /* @__PURE__ */ jsxRuntime.jsx(
3517
- chunkB5SEHTMC_cjs.StatusPill,
3516
+ chunkP4NS4LV7_cjs.StatusPill,
3518
3517
  {
3519
3518
  tone: "warning",
3520
3519
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-3.5" }),
@@ -3529,7 +3528,7 @@ var StatusCell = React7.memo(function StatusCell2({
3529
3528
  if (quota) {
3530
3529
  return cell(
3531
3530
  /* @__PURE__ */ jsxRuntime.jsx(
3532
- chunkB5SEHTMC_cjs.StatusPill,
3531
+ chunkP4NS4LV7_cjs.StatusPill,
3533
3532
  {
3534
3533
  tone: "warning",
3535
3534
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "size-3.5" }),
@@ -3542,11 +3541,11 @@ var StatusCell = React7.memo(function StatusCell2({
3542
3541
  }
3543
3542
  return cell(
3544
3543
  /* @__PURE__ */ jsxRuntime.jsx(
3545
- chunkB5SEHTMC_cjs.StatusPill,
3544
+ chunkP4NS4LV7_cjs.StatusPill,
3546
3545
  {
3547
3546
  tone: "danger",
3548
3547
  icon: /* @__PURE__ */ jsxRuntime.jsx(
3549
- chunkB5SEHTMC_cjs.FailedStageIcon,
3548
+ chunkP4NS4LV7_cjs.FailedStageIcon,
3550
3549
  {
3551
3550
  stage: failedStage,
3552
3551
  errorMessage: doc.error_message,
@@ -3563,7 +3562,7 @@ var StatusCell = React7.memo(function StatusCell2({
3563
3562
  const isDocx = doc.file_name?.toLowerCase().endsWith(".docx");
3564
3563
  return cell(
3565
3564
  /* @__PURE__ */ jsxRuntime.jsx(
3566
- chunkB5SEHTMC_cjs.StatusPill,
3565
+ chunkP4NS4LV7_cjs.StatusPill,
3567
3566
  {
3568
3567
  tone: "neutral",
3569
3568
  label: isDocx ? "Uploaded" : "Queued",
@@ -3580,7 +3579,7 @@ var StatusCell = React7.memo(function StatusCell2({
3580
3579
  case "analysing":
3581
3580
  return cell(
3582
3581
  /* @__PURE__ */ jsxRuntime.jsx(
3583
- chunkB5SEHTMC_cjs.StatusPill,
3582
+ chunkP4NS4LV7_cjs.StatusPill,
3584
3583
  {
3585
3584
  tone: "info",
3586
3585
  label: PROCESSING_LABELS[status],
@@ -3663,7 +3662,7 @@ var DocumentNameCell = React7.memo(function DocumentNameCell2({
3663
3662
  }
3664
3663
  };
3665
3664
  return /* @__PURE__ */ jsxRuntime.jsx(
3666
- chunkB5SEHTMC_cjs.DocumentNameCellFrame,
3665
+ chunkP4NS4LV7_cjs.DocumentNameCellFrame,
3667
3666
  {
3668
3667
  testId: `open-document-viewer-button-${doc.external_id}`,
3669
3668
  isViewing,
@@ -3692,7 +3691,7 @@ var DocumentNameCell = React7.memo(function DocumentNameCell2({
3692
3691
  openTimerRef.current = window.setTimeout(onOpen, OPEN_AFTER_DOUBLE_CLICK_WINDOW_MS);
3693
3692
  },
3694
3693
  actions: /* @__PURE__ */ jsxRuntime.jsx(
3695
- chunkB5SEHTMC_cjs.DocumentRowMenu,
3694
+ chunkP4NS4LV7_cjs.DocumentRowMenu,
3696
3695
  {
3697
3696
  canEdit,
3698
3697
  onOpen,
@@ -3723,14 +3722,14 @@ var DocumentSharedCell = React7.memo(function DocumentSharedCell2({
3723
3722
  [document2.external_id, onToggle]
3724
3723
  );
3725
3724
  return /* @__PURE__ */ jsxRuntime.jsx(
3726
- chunkG6NRTQ25_cjs.SharedCell,
3725
+ chunkLFVD3CS5_cjs.SharedCell,
3727
3726
  {
3728
3727
  item: document2,
3729
3728
  onToggle: handleToggle,
3730
3729
  disabled,
3731
3730
  disabledTooltip,
3732
- tooltipActive: chunkB5SEHTMC_cjs.visibilityToggleTooltip(true),
3733
- tooltipInactive: chunkB5SEHTMC_cjs.visibilityToggleTooltip(false),
3731
+ tooltipActive: chunkP4NS4LV7_cjs.visibilityToggleTooltip(true),
3732
+ tooltipInactive: chunkP4NS4LV7_cjs.visibilityToggleTooltip(false),
3734
3733
  workspaceLabel: ui.getEntityLabel("WORKSPACE")
3735
3734
  }
3736
3735
  );
@@ -3744,7 +3743,7 @@ function useDocumentFolders(documents, value) {
3744
3743
  }, [documents, value]);
3745
3744
  }
3746
3745
  function folderSegments(folder) {
3747
- return folder.split("/").map((part, i) => i === 0 ? chunkB5SEHTMC_cjs.formatFolderSegment(part) : part).filter((part, i) => i > 0 || part !== "");
3746
+ return folder.split("/").map((part, i) => i === 0 ? chunkP4NS4LV7_cjs.formatFolderSegment(part) : part).filter((part, i) => i > 0 || part !== "");
3748
3747
  }
3749
3748
  var DocumentFolderCell = React7.memo(
3750
3749
  function DocumentFolderCell2({
@@ -3756,14 +3755,14 @@ var DocumentFolderCell = React7.memo(
3756
3755
  const folder = document2.folder;
3757
3756
  const folders = useDocumentFolders(allDocuments, folder);
3758
3757
  return /* @__PURE__ */ jsxRuntime.jsx(
3759
- chunkB5SEHTMC_cjs.FolderCell,
3758
+ chunkP4NS4LV7_cjs.FolderCell,
3760
3759
  {
3761
3760
  folder,
3762
3761
  segments: folder ? folderSegments(folder) : [],
3763
- icon: folder && chunkB5SEHTMC_cjs.hasFolderProviderIcon(folder) ? /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FolderProviderIcon, { folderPath: folder, className: "h-3.5 w-3.5 flex-none shrink-0" }) : void 0,
3762
+ icon: folder && chunkP4NS4LV7_cjs.hasFolderProviderIcon(folder) ? /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FolderProviderIcon, { folderPath: folder, className: "h-3.5 w-3.5 flex-none shrink-0" }) : void 0,
3764
3763
  isEditable,
3765
3764
  picker: /* @__PURE__ */ jsxRuntime.jsx(
3766
- chunkB5SEHTMC_cjs.FolderCommandList,
3765
+ chunkP4NS4LV7_cjs.FolderCommandList,
3767
3766
  {
3768
3767
  folders,
3769
3768
  value: folder,
@@ -3798,7 +3797,7 @@ var RelatedDocumentsCell = React7.memo(function RelatedDocumentsCell2({
3798
3797
  onCompare
3799
3798
  }) {
3800
3799
  return /* @__PURE__ */ jsxRuntime.jsx(
3801
- chunkB5SEHTMC_cjs.RelatedDocsCell,
3800
+ chunkP4NS4LV7_cjs.RelatedDocsCell,
3802
3801
  {
3803
3802
  parent: related.parent,
3804
3803
  attachments: related.children,
@@ -4038,9 +4037,9 @@ function ConnectedTagForm({
4038
4037
  });
4039
4038
  }
4040
4039
  }
4041
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.TagFormRoot, { children: [
4040
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.TagFormRoot, { children: [
4042
4041
  !nameOnRow && /* @__PURE__ */ jsxRuntime.jsx(
4043
- chunkB5SEHTMC_cjs.TagFormNameField,
4042
+ chunkP4NS4LV7_cjs.TagFormNameField,
4044
4043
  {
4045
4044
  label: group || nameByKind ? `${ui.tagKindTitle(kind)} Name` : `${columnLabel} Name`,
4046
4045
  placeholder: `Enter ${kindNoun ?? columnLabel.toLowerCase()} name...`,
@@ -4050,7 +4049,7 @@ function ConnectedTagForm({
4050
4049
  }
4051
4050
  ),
4052
4051
  kinds.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
4053
- chunkB5SEHTMC_cjs.TagFormSelectField,
4052
+ chunkP4NS4LV7_cjs.TagFormSelectField,
4054
4053
  {
4055
4054
  label: "Kind",
4056
4055
  testId: "inline-tag-form-kind-field",
@@ -4065,7 +4064,7 @@ function ConnectedTagForm({
4065
4064
  }
4066
4065
  ),
4067
4066
  kind === "annotation" && /* @__PURE__ */ jsxRuntime.jsx(
4068
- chunkB5SEHTMC_cjs.TagFormSelectField,
4067
+ chunkP4NS4LV7_cjs.TagFormSelectField,
4069
4068
  {
4070
4069
  label: group === "annotation" ? "Value type" : "Field Type",
4071
4070
  testId: "inline-tag-form-type-field",
@@ -4077,7 +4076,7 @@ function ConnectedTagForm({
4077
4076
  }
4078
4077
  ),
4079
4078
  showParentPicker && /* @__PURE__ */ jsxRuntime.jsx(
4080
- chunkB5SEHTMC_cjs.TagFormSelectField,
4079
+ chunkP4NS4LV7_cjs.TagFormSelectField,
4081
4080
  {
4082
4081
  label: "Nested Under",
4083
4082
  value: parentId,
@@ -4101,14 +4100,14 @@ function ConnectedTagForm({
4101
4100
  hint: !canClearParent ? "This field can move to a different parent, but the API has no way to move it back to the top level." : void 0
4102
4101
  }
4103
4102
  ),
4104
- nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
4103
+ nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
4105
4104
  "Other fields are nested under this one, so it cannot itself be nested \u2014 fields nest",
4106
4105
  " ",
4107
4106
  browser.TAG_NESTING_MAX_DEPTH,
4108
4107
  " levels deep."
4109
4108
  ] }),
4110
4109
  tagType === "select" && /* @__PURE__ */ jsxRuntime.jsx(
4111
- chunkB5SEHTMC_cjs.TagFormOptionsEditor,
4110
+ chunkP4NS4LV7_cjs.TagFormOptionsEditor,
4112
4111
  {
4113
4112
  label: "Options",
4114
4113
  options: options2,
@@ -4121,7 +4120,7 @@ function ConnectedTagForm({
4121
4120
  }
4122
4121
  ),
4123
4122
  tagType === "text" && /* @__PURE__ */ jsxRuntime.jsx(
4124
- chunkB5SEHTMC_cjs.TagFormInstructionField,
4123
+ chunkP4NS4LV7_cjs.TagFormInstructionField,
4125
4124
  {
4126
4125
  label: "AI Instruction",
4127
4126
  optionalLabel: "(optional)",
@@ -4131,12 +4130,12 @@ function ConnectedTagForm({
4131
4130
  onChange: setInstruction
4132
4131
  }
4133
4132
  ),
4134
- metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.TagFormMeta, { lines: metaLines }),
4133
+ metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.TagFormMeta, { lines: metaLines }),
4135
4134
  /* @__PURE__ */ jsxRuntime.jsx(
4136
- chunkB5SEHTMC_cjs.TagFormFooter,
4135
+ chunkP4NS4LV7_cjs.TagFormFooter,
4137
4136
  {
4138
4137
  sharedToggle: isCreate ? /* @__PURE__ */ jsxRuntime.jsx(
4139
- chunkB5SEHTMC_cjs.TagFormSharedToggle,
4138
+ chunkP4NS4LV7_cjs.TagFormSharedToggle,
4140
4139
  {
4141
4140
  label: "Shared with workspace",
4142
4141
  toggle: /* @__PURE__ */ jsxRuntime.jsx(
@@ -4434,7 +4433,7 @@ function KindSection({
4434
4433
  {
4435
4434
  testId: `tags-kind-${kind}`,
4436
4435
  title: ui.tagKindTitle(kind, { plural: true }),
4437
- description: chunkG6NRTQ25_cjs.tagKindDescription(kind),
4436
+ description: chunkLFVD3CS5_cjs.tagKindDescription(kind),
4438
4437
  actions: picker,
4439
4438
  children: [
4440
4439
  browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -4445,9 +4444,9 @@ function KindSection({
4445
4444
  children: [
4446
4445
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
4447
4446
  "Extracting ",
4448
- chunkG6NRTQ25_cjs.entitiesPhrase().toLowerCase(),
4447
+ chunkLFVD3CS5_cjs.entitiesPhrase().toLowerCase(),
4449
4448
  " from ",
4450
- chunkG6NRTQ25_cjs.documentCount(extractingCount),
4449
+ chunkLFVD3CS5_cjs.documentCount(extractingCount),
4451
4450
  "\u2026"
4452
4451
  ]
4453
4452
  }
@@ -4465,7 +4464,7 @@ function KindSection({
4465
4464
  onOpenDocument: (id) => openDocument(id),
4466
4465
  onOpenFact: ctx.onOpenFact,
4467
4466
  onOpenThread: (id) => openConversation(id),
4468
- labels: chunkG6NRTQ25_cjs.tagTableLabels(kind),
4467
+ labels: chunkLFVD3CS5_cjs.tagTableLabels(kind),
4469
4468
  testId: `tags-table-${kind}`
4470
4469
  }
4471
4470
  )
@@ -4567,12 +4566,12 @@ function TagSection({
4567
4566
  onOpenDocument: (id) => openDocument(id),
4568
4567
  onOpenFact: ctx.onOpenFact,
4569
4568
  onOpenThread: (id) => openConversation(id),
4570
- labels: chunkG6NRTQ25_cjs.tagTableLabels(tag.kind),
4569
+ labels: chunkLFVD3CS5_cjs.tagTableLabels(tag.kind),
4571
4570
  testId: "tags-rows"
4572
4571
  }
4573
4572
  ),
4574
4573
  /* @__PURE__ */ jsxRuntime.jsx(
4575
- chunkG6NRTQ25_cjs.TagDetail,
4574
+ chunkLFVD3CS5_cjs.TagDetail,
4576
4575
  {
4577
4576
  row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
4578
4577
  fields: schema.data?.fields ?? [],
@@ -4584,10 +4583,10 @@ function TagSection({
4584
4583
  onOpenDocument: (id) => openDocument(id),
4585
4584
  onOpenFact: ctx.onOpenFact,
4586
4585
  onOpenThread: (id) => openConversation(id),
4587
- noteLabel: chunkG6NRTQ25_cjs.tagNoteLabel(tag.kind),
4586
+ noteLabel: chunkLFVD3CS5_cjs.tagNoteLabel(tag.kind),
4588
4587
  noteIsValue: tag.kind === "annotation",
4589
4588
  renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
4590
- labels: chunkG6NRTQ25_cjs.tagDetailLabels(),
4589
+ labels: chunkLFVD3CS5_cjs.tagDetailLabels(),
4591
4590
  testId: "tags-detail"
4592
4591
  }
4593
4592
  )
@@ -4675,7 +4674,7 @@ function ConnectedTagsPage({
4675
4674
  const onDelete = async (t) => {
4676
4675
  const nested = browser.getChildTags([...tags], t.external_id);
4677
4676
  const uses = browser.tagUseCount(t);
4678
- const n2 = chunkG6NRTQ25_cjs.tagsPageNouns();
4677
+ const n2 = chunkLFVD3CS5_cjs.tagsPageNouns();
4679
4678
  const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
4680
4679
  const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
4681
4680
  const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
@@ -4696,16 +4695,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4696
4695
  try {
4697
4696
  await extract.mutateAsync(docIds);
4698
4697
  notify17(
4699
- `Extracting ${chunkG6NRTQ25_cjs.entitiesPhrase().toLowerCase()} from ${chunkG6NRTQ25_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4698
+ `Extracting ${chunkLFVD3CS5_cjs.entitiesPhrase().toLowerCase()} from ${chunkLFVD3CS5_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4700
4699
  "info"
4701
4700
  );
4702
4701
  } catch (error) {
4703
- notify17(browser.refusalReason(error, `Could not extract ${chunkG6NRTQ25_cjs.entitiesPhrase().toLowerCase()}`), "error");
4702
+ notify17(browser.refusalReason(error, `Could not extract ${chunkLFVD3CS5_cjs.entitiesPhrase().toLowerCase()}`), "error");
4704
4703
  throw error;
4705
4704
  }
4706
4705
  };
4707
4706
  const picker = /* @__PURE__ */ jsxRuntime.jsx(
4708
- chunkG6NRTQ25_cjs.TagPicker,
4707
+ chunkLFVD3CS5_cjs.TagPicker,
4709
4708
  {
4710
4709
  tags: viewTags,
4711
4710
  selectedId: tag?.external_id,
@@ -4719,10 +4718,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4719
4718
  onOpenTag: openTag,
4720
4719
  onOpenFact
4721
4720
  };
4722
- const n = chunkG6NRTQ25_cjs.tagsPageNouns();
4721
+ const n = chunkLFVD3CS5_cjs.tagsPageNouns();
4723
4722
  const action = view === "person" || view === "organisation" ? {
4724
4723
  label: "Extract",
4725
- title: `Extract ${chunkG6NRTQ25_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4724
+ title: `Extract ${chunkLFVD3CS5_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4726
4725
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
4727
4726
  run: () => setExtracting(true),
4728
4727
  testId: "tags-extract-entities"
@@ -4762,7 +4761,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4762
4761
  onTabChange: () => {
4763
4762
  },
4764
4763
  variant: "underline",
4765
- firstTabContent: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
4764
+ firstTabContent: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
4766
4765
  chunk2EI7NCUA_cjs.FilterInput,
4767
4766
  {
4768
4767
  value: filterText,
@@ -4790,7 +4789,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4790
4789
  )
4791
4790
  }
4792
4791
  ) }),
4793
- centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
4792
+ centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
4794
4793
  chunk2WLXQGWC_cjs.ViewToggle,
4795
4794
  {
4796
4795
  options: browser.TAG_KINDS.map((k) => ({
@@ -4872,7 +4871,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4872
4871
  }
4873
4872
  ),
4874
4873
  /* @__PURE__ */ jsxRuntime.jsx(
4875
- chunkG6NRTQ25_cjs.ExtractEntitiesDialog,
4874
+ chunkLFVD3CS5_cjs.ExtractEntitiesDialog,
4876
4875
  {
4877
4876
  open: extracting,
4878
4877
  onOpenChange: setExtracting,
@@ -5651,7 +5650,7 @@ function useFactFilters(notes, view, chat) {
5651
5650
  (selected, setSelected, opts) => {
5652
5651
  const applied = new Set(selected);
5653
5652
  return /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
5654
- chunkB5SEHTMC_cjs.FieldLabelsSelect,
5653
+ chunkP4NS4LV7_cjs.FieldLabelsSelect,
5655
5654
  {
5656
5655
  options: labelOptions,
5657
5656
  appliedIds: applied,
@@ -5877,7 +5876,7 @@ var FactHeader = React7.memo(function FactHeader2({
5877
5876
  if (params.enableSorting) params.progressSort(e.shiftKey);
5878
5877
  },
5879
5878
  children: [
5880
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilterButton, { params, colId }),
5879
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilterButton, { params, colId }),
5881
5880
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "order-2 min-w-0 flex-1 truncate", children: params.displayName }),
5882
5881
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ag-sort-indicator-container order-2 flex-shrink-0", "aria-hidden": "true", children: [
5883
5882
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -6141,7 +6140,7 @@ function useFactsGrid({
6141
6140
  var DEFAULT_TIMELINE_LABEL_WIDTH = 240;
6142
6141
  function useFactsPageView() {
6143
6142
  const [view, setView] = React7.useState("table");
6144
- const [rowHeight, setRowHeight] = React7.useState(chunkB5SEHTMC_cjs.ROW_MIN);
6143
+ const [rowHeight, setRowHeight] = React7.useState(chunkP4NS4LV7_cjs.ROW_MIN);
6145
6144
  const [labelWidth, setLabelWidth] = React7.useState(DEFAULT_TIMELINE_LABEL_WIDTH);
6146
6145
  const [zoom, setZoom] = React7.useState(1);
6147
6146
  const [filterText, setFilterText] = React7.useState("");
@@ -6505,7 +6504,7 @@ function ConnectedExportPanel({
6505
6504
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", "data-testid": "export-documents", children: [
6506
6505
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-auto space-y-6 p-6", children: [
6507
6506
  jobRunning && job && /* @__PURE__ */ jsxRuntime.jsx(
6508
- chunkB5SEHTMC_cjs.TransferProgressView,
6507
+ chunkP4NS4LV7_cjs.TransferProgressView,
6509
6508
  {
6510
6509
  title: `${job.mode === "move" ? "Moving" : "Copying"} to ${targetName(job.target_workspace_ext_id)}`,
6511
6510
  processed: job.processed ?? 0,
@@ -6518,7 +6517,7 @@ function ConnectedExportPanel({
6518
6517
  ),
6519
6518
  jobDone && job && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6520
6519
  react.isTransferResumable(job) && /* @__PURE__ */ jsxRuntime.jsx(
6521
- chunkB5SEHTMC_cjs.TransferResumeBanner,
6520
+ chunkP4NS4LV7_cjs.TransferResumeBanner,
6522
6521
  {
6523
6522
  message: `Stopped at ${job.processed} of ${job.total}. Resume to finish \u2014 nothing is copied twice.`,
6524
6523
  onResume: () => handleResume(job),
@@ -6526,7 +6525,7 @@ function ConnectedExportPanel({
6526
6525
  }
6527
6526
  ),
6528
6527
  /* @__PURE__ */ jsxRuntime.jsx(
6529
- chunkB5SEHTMC_cjs.ExportResultsReport,
6528
+ chunkP4NS4LV7_cjs.ExportResultsReport,
6530
6529
  {
6531
6530
  summary: `${job.mode === "move" ? "Moved" : "Copied"} ${plural(
6532
6531
  Number(job.counts?.copied ?? 0) + Number(job.counts?.removed ?? 0),
@@ -6539,7 +6538,7 @@ function ConnectedExportPanel({
6539
6538
  ] }),
6540
6539
  !jobId && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6541
6540
  resumable && /* @__PURE__ */ jsxRuntime.jsx(
6542
- chunkB5SEHTMC_cjs.TransferResumeBanner,
6541
+ chunkP4NS4LV7_cjs.TransferResumeBanner,
6543
6542
  {
6544
6543
  message: `A ${resumable.mode} to ${targetName(resumable.target_workspace_ext_id)} stopped at ${resumable.processed} of ${resumable.total}.`,
6545
6544
  onResume: () => handleResume(resumable),
@@ -6547,7 +6546,7 @@ function ConnectedExportPanel({
6547
6546
  }
6548
6547
  ),
6549
6548
  /* @__PURE__ */ jsxRuntime.jsx(
6550
- chunkB5SEHTMC_cjs.TransferScopeChooser,
6549
+ chunkP4NS4LV7_cjs.TransferScopeChooser,
6551
6550
  {
6552
6551
  scope: scopeChoice,
6553
6552
  onScopeChange: setScopeChoice,
@@ -6558,7 +6557,7 @@ function ConnectedExportPanel({
6558
6557
  }
6559
6558
  ),
6560
6559
  /* @__PURE__ */ jsxRuntime.jsx(
6561
- chunkB5SEHTMC_cjs.TransferKindsPicker,
6560
+ chunkP4NS4LV7_cjs.TransferKindsPicker,
6562
6561
  {
6563
6562
  options: ALL_KINDS.map((kind) => ({
6564
6563
  kind,
@@ -6571,9 +6570,9 @@ function ConnectedExportPanel({
6571
6570
  )
6572
6571
  }
6573
6572
  ),
6574
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
6573
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
6575
6574
  /* @__PURE__ */ jsxRuntime.jsx(
6576
- chunkB5SEHTMC_cjs.ExportMethodChooser,
6575
+ chunkP4NS4LV7_cjs.ExportMethodChooser,
6577
6576
  {
6578
6577
  mode,
6579
6578
  onModeChange: setMode,
@@ -6585,17 +6584,17 @@ function ConnectedExportPanel({
6585
6584
  ),
6586
6585
  mode !== "download" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6587
6586
  /* @__PURE__ */ jsxRuntime.jsx(
6588
- chunkB5SEHTMC_cjs.ExportWorkspacePicker,
6587
+ chunkP4NS4LV7_cjs.ExportWorkspacePicker,
6589
6588
  {
6590
6589
  workspaces: workspaceOptions,
6591
6590
  selectedId: targetId,
6592
6591
  onSelect: setTargetId
6593
6592
  }
6594
6593
  ),
6595
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
6594
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
6596
6595
  ] }),
6597
6596
  /* @__PURE__ */ jsxRuntime.jsx(
6598
- chunkB5SEHTMC_cjs.TransferPlanSummary,
6597
+ chunkP4NS4LV7_cjs.TransferPlanSummary,
6599
6598
  {
6600
6599
  lines: summary.lines,
6601
6600
  warnings: summary.warnings,
@@ -6612,7 +6611,7 @@ function ConnectedExportPanel({
6612
6611
  ] })
6613
6612
  ] }),
6614
6613
  !jobId && /* @__PURE__ */ jsxRuntime.jsx(
6615
- chunkB5SEHTMC_cjs.ExportFooter,
6614
+ chunkP4NS4LV7_cjs.ExportFooter,
6616
6615
  {
6617
6616
  onCancel: onClose,
6618
6617
  onSubmit: handleSubmit,
@@ -6653,7 +6652,7 @@ function OpenExportDialog({
6653
6652
  children: [
6654
6653
  /* @__PURE__ */ jsxRuntime.jsxs(chunkULWRNGGE_cjs.ModalHeader, { children: [
6655
6654
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
6656
- chunkB5SEHTMC_cjs.ExportModalTitle,
6655
+ chunkP4NS4LV7_cjs.ExportModalTitle,
6657
6656
  {
6658
6657
  workspace: workspace ? {
6659
6658
  icon: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "touch-hit inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -6821,7 +6820,7 @@ function ConnectedFactsPage({
6821
6820
  setView(request.view === "list" ? "table" : request.view);
6822
6821
  onRequestHandled?.("view");
6823
6822
  }, [request?.view]);
6824
- const factsRowHeight = pageView.rowHeight === chunkB5SEHTMC_cjs.ROW_MIN ? chunkB5SEHTMC_cjs.ROW_MIN : chunkB5SEHTMC_cjs.rowHeightForLines(chunkB5SEHTMC_cjs.linesForRowHeight(pageView.rowHeight));
6823
+ const factsRowHeight = pageView.rowHeight === chunkP4NS4LV7_cjs.ROW_MIN ? chunkP4NS4LV7_cjs.ROW_MIN : chunkP4NS4LV7_cjs.rowHeightForLines(chunkP4NS4LV7_cjs.linesForRowHeight(pageView.rowHeight));
6825
6824
  const [isExportOpen, setIsExportOpen] = React7.useState(false);
6826
6825
  const [filterOpen, setFilterOpen] = React7.useState(false);
6827
6826
  const [factSection, setFactSection] = React7.useState(null);
@@ -6875,7 +6874,7 @@ function ConnectedFactsPage({
6875
6874
  onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
6876
6875
  navSlotRef: setNavSlot,
6877
6876
  navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
6878
- chunkG6NRTQ25_cjs.GridRowNavigator,
6877
+ chunkLFVD3CS5_cjs.GridRowNavigator,
6879
6878
  {
6880
6879
  gridApi,
6881
6880
  selectedId: editingId,
@@ -6888,7 +6887,7 @@ function ConnectedFactsPage({
6888
6887
  tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6889
6888
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkYD3RN2FY_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
6890
6889
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
6891
- chunkB5SEHTMC_cjs.RowDensityControl,
6890
+ chunkP4NS4LV7_cjs.RowDensityControl,
6892
6891
  {
6893
6892
  rowHeight: factsRowHeight,
6894
6893
  onRowHeightChange: pageView.setRowHeight,
@@ -7041,7 +7040,7 @@ function ConnectedFactsPage({
7041
7040
  className: ui.cn("h-full", view !== "table" || notes.length === 0 ? "hidden" : void 0),
7042
7041
  "data-testid": "facts-table-pane",
7043
7042
  children: /* @__PURE__ */ jsxRuntime.jsx(
7044
- chunkC2CWWEHO_cjs.GridView,
7043
+ chunkLKK52DEY_cjs.GridView,
7045
7044
  {
7046
7045
  items: filteredNotes,
7047
7046
  columnDefs: grid.factColumns,
@@ -8017,7 +8016,7 @@ function ConnectedPremiumModels() {
8017
8016
  if (target !== void 0) save(target);
8018
8017
  },
8019
8018
  children: /* @__PURE__ */ jsxRuntime.jsx(
8020
- chunkC2CWWEHO_cjs.GridView,
8019
+ chunkLKK52DEY_cjs.GridView,
8021
8020
  {
8022
8021
  items: rows,
8023
8022
  columnDefs: COLUMNS,
@@ -9554,7 +9553,7 @@ function ConnectedWorkspaceMembers({
9554
9553
  minWidth: 150,
9555
9554
  sortable: true,
9556
9555
  valueGetter: (p) => p.data ? memberName(p.data.user) : "",
9557
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberNameCell, { children: renderMember(p.data) }) : null
9556
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberNameCell, { children: renderMember(p.data) }) : null
9558
9557
  },
9559
9558
  {
9560
9559
  colId: "email",
@@ -9564,7 +9563,7 @@ function ConnectedWorkspaceMembers({
9564
9563
  sortable: true,
9565
9564
  valueGetter: (p) => p.data?.user.email ?? "",
9566
9565
  // Plain text, not a mailto: the row's click selects it.
9567
- cellRenderer: (p) => p.data?.user.email ? /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberMutedText, { className: "truncate", title: p.data.user.email, children: p.data.user.email }) : null
9566
+ 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
9568
9567
  },
9569
9568
  {
9570
9569
  colId: "role",
@@ -9578,7 +9577,7 @@ function ConnectedWorkspaceMembers({
9578
9577
  if (!row2) return null;
9579
9578
  const lock = roleLock(row2.user.external_id, selfId, isOwner);
9580
9579
  return /* @__PURE__ */ jsxRuntime.jsx(
9581
- chunkHJQLVCIK_cjs.MemberRoleCell,
9580
+ chunkWUG24K7P_cjs.MemberRoleCell,
9582
9581
  {
9583
9582
  role: row2.role,
9584
9583
  roles: ALL_ROLES,
@@ -9598,7 +9597,7 @@ function ConnectedWorkspaceMembers({
9598
9597
  minWidth: 125,
9599
9598
  sortable: true,
9600
9599
  valueGetter: (p) => p.data ? new Date(p.data.joined_at).getTime() : "",
9601
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberMutedText, { className: "cursor-default", children: ui.formatFriendlyDate(p.data.joined_at) }) : null
9600
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { className: "cursor-default", children: ui.formatFriendlyDate(p.data.joined_at) }) : null
9602
9601
  },
9603
9602
  {
9604
9603
  colId: "conversation_count",
@@ -9608,7 +9607,7 @@ function ConnectedWorkspaceMembers({
9608
9607
  sortable: true,
9609
9608
  type: "numericColumn",
9610
9609
  valueGetter: (p) => p.data?.conversation_count ?? 0,
9611
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberMutedText, { children: p.data.conversation_count }) : null
9610
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { children: p.data.conversation_count }) : null
9612
9611
  },
9613
9612
  {
9614
9613
  colId: "document_count",
@@ -9618,7 +9617,7 @@ function ConnectedWorkspaceMembers({
9618
9617
  sortable: true,
9619
9618
  type: "numericColumn",
9620
9619
  valueGetter: (p) => p.data?.document_count ?? 0,
9621
- cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberMutedText, { children: p.data.document_count }) : null
9620
+ cellRenderer: (p) => p.data ? /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberMutedText, { children: p.data.document_count }) : null
9622
9621
  },
9623
9622
  {
9624
9623
  colId: "files_mb",
@@ -9631,7 +9630,7 @@ function ConnectedWorkspaceMembers({
9631
9630
  cellRenderer: (p) => {
9632
9631
  if (!p.data) return null;
9633
9632
  const mb = p.data.files_mb ?? 0;
9634
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkHJQLVCIK_cjs.MemberMutedText, { children: [
9633
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkWUG24K7P_cjs.MemberMutedText, { children: [
9635
9634
  mb >= 100 ? Math.round(mb).toLocaleString("en-US") : mb.toFixed(1),
9636
9635
  " MB"
9637
9636
  ] });
@@ -9671,10 +9670,10 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
9671
9670
  );
9672
9671
  const canChangeRoleSelected = selected.some((m) => !roleLock(m.user.external_id, selfId, isOwner));
9673
9672
  const ownerOnly = `Only available to ${workspaceWord2} owner`;
9674
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkHJQLVCIK_cjs.MemberListLoading, {});
9673
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkWUG24K7P_cjs.MemberListLoading, {});
9675
9674
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "workspace-users", className: "relative flex flex-col", children: [
9676
9675
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
9677
- chunkC2CWWEHO_cjs.GridView,
9676
+ chunkLKK52DEY_cjs.GridView,
9678
9677
  {
9679
9678
  items: rows,
9680
9679
  columnDefs,
@@ -9689,7 +9688,7 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
9689
9688
  }
9690
9689
  ) }),
9691
9690
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkV4ISCZJ7_cjs.SelectionBar, { count: selected.length, onClear: () => setSelected([]), children: /* @__PURE__ */ jsxRuntime.jsx(
9692
- chunkHJQLVCIK_cjs.MemberBulkActions,
9691
+ chunkWUG24K7P_cjs.MemberBulkActions,
9693
9692
  {
9694
9693
  roles: BULK_ROLES,
9695
9694
  onChangeRole: (value) => void changeSelectedRoles(value),
@@ -9733,13 +9732,13 @@ function ConnectedWorkspaceSettings({
9733
9732
  const [membersExpanded, setMembersExpanded] = React7.useState(false);
9734
9733
  const [shareOpen, setShareOpen] = React7.useState(false);
9735
9734
  if (!workspace) {
9736
- return /* @__PURE__ */ jsxRuntime.jsx(chunkDAL6B556_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkG6NRTQ25_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
9735
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDAL6B556_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkLFVD3CS5_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
9737
9736
  }
9738
9737
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9739
9738
  /* @__PURE__ */ jsxRuntime.jsxs(chunkDAL6B556_cjs.WorkspacePageFrame, { testId, children: [
9740
9739
  /* @__PURE__ */ jsxRuntime.jsxs(chunkDAL6B556_cjs.WorkspaceIdentityPanel, { children: [
9741
9740
  /* @__PURE__ */ jsxRuntime.jsx(
9742
- chunkG6NRTQ25_cjs.EntityIdentityBar,
9741
+ chunkLFVD3CS5_cjs.EntityIdentityBar,
9743
9742
  {
9744
9743
  testId: "workspace-identity-bar",
9745
9744
  canEdit: isOwner,
@@ -9756,7 +9755,7 @@ function ConnectedWorkspaceSettings({
9756
9755
  label: "Name",
9757
9756
  value: workspace.name,
9758
9757
  placeholder: "Untitled",
9759
- maxLength: chunkG6NRTQ25_cjs.IDENTITY_NAME_MAX_LENGTH,
9758
+ maxLength: chunkLFVD3CS5_cjs.IDENTITY_NAME_MAX_LENGTH,
9760
9759
  valueClassName: "truncate text-base font-semibold",
9761
9760
  testId: "workspace-home-title",
9762
9761
  hideLabel: true,
@@ -9992,7 +9991,7 @@ function ConnectedMailboxSyncDialog({
9992
9991
  error: foldersError
9993
9992
  } = react.useMailboxFolders(catalog.vendor_key, open && tokensBridged);
9994
9993
  const foldersLoading = !tokensBridged || foldersQueryLoading;
9995
- const folderTree = chunkHJQLVCIK_cjs.buildMailFolderTree(folders);
9994
+ const folderTree = chunkWUG24K7P_cjs.buildMailFolderTree(folders);
9996
9995
  const [expandAllNonce, setExpandAllNonce] = React7.useState(0);
9997
9996
  const [collapseAllNonce, setCollapseAllNonce] = React7.useState(0);
9998
9997
  const selectAllIds = folderTree.flatMap(
@@ -10123,7 +10122,7 @@ function ConnectedMailboxSyncDialog({
10123
10122
  }
10124
10123
  )
10125
10124
  ) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk7IQDS246_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunk7IQDS246_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
10126
- chunkHJQLVCIK_cjs.MailFolderTree,
10125
+ chunkWUG24K7P_cjs.MailFolderTree,
10127
10126
  {
10128
10127
  nodes: folderTree,
10129
10128
  selected: selectedFolders,
@@ -13556,7 +13555,7 @@ function useConnectedWorkspaceList({
13556
13555
  };
13557
13556
  }
13558
13557
  var WorkspaceTableView = React7.lazy(
13559
- () => import('../WorkspaceTableView-VCIRIQRL.cjs').then((m) => ({ default: m.WorkspaceTableView }))
13558
+ () => import('../WorkspaceTableView-S2ZHZ64L.cjs').then((m) => ({ default: m.WorkspaceTableView }))
13560
13559
  );
13561
13560
  var WORKSPACES_TAB_ID = "workspaces";
13562
13561
  var defaultRenderMember2 = (user, size) => {
@@ -13608,7 +13607,7 @@ function ConnectedWorkspaceList({
13608
13607
  else void openWorkspace(workspace.external_id, { name: workspace.name });
13609
13608
  };
13610
13609
  const createDisabledReason = list.canCreateProjects === false ? react.PROJECT_CREATION_DENIED_REASON : void 0;
13611
- if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkG6NRTQ25_cjs.LoadingIndicator, { message: "Loading workspaces..." });
13610
+ if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkLFVD3CS5_cjs.LoadingIndicator, { message: "Loading workspaces..." });
13612
13611
  if (list.error) {
13613
13612
  return /* @__PURE__ */ jsxRuntime.jsx(
13614
13613
  chunkM36FYCOE_cjs.HomeLoadError,
@@ -13681,7 +13680,7 @@ function ConnectedWorkspaceList({
13681
13680
  workspaceState
13682
13681
  }
13683
13682
  ) })
13684
- ) : /* @__PURE__ */ jsxRuntime.jsx(React7.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkG6NRTQ25_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkM36FYCOE_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
13683
+ ) : /* @__PURE__ */ jsxRuntime.jsx(React7.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkLFVD3CS5_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkM36FYCOE_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
13685
13684
  WorkspaceTableView,
13686
13685
  {
13687
13686
  list,
@@ -13983,7 +13982,7 @@ function ConnectedContactCardForm({
13983
13982
  }) {
13984
13983
  const { notify: notify17 } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
13985
13984
  const [form, setForm] = React7.useState(
13986
- () => contact?.card ? chunkHJQLVCIK_cjs.contactToForm(contact.card) : chunkHJQLVCIK_cjs.EMPTY_CONTACT_FORM
13985
+ () => contact?.card ? chunkWUG24K7P_cjs.contactToForm(contact.card) : chunkWUG24K7P_cjs.EMPTY_CONTACT_FORM
13987
13986
  );
13988
13987
  const [invite, setInvite] = React7.useState(false);
13989
13988
  const [errors, setErrors] = React7.useState({});
@@ -13997,14 +13996,14 @@ function ConnectedContactCardForm({
13997
13996
  const locked = !!contact && !contact.card;
13998
13997
  const set = (key, value) => setForm((f) => ({ ...f, [key]: value }));
13999
13998
  const submit = () => {
14000
- const found = chunkHJQLVCIK_cjs.validateContactForm(form);
14001
- const email = chunkHJQLVCIK_cjs.inviteEmail(form);
13999
+ const found = chunkWUG24K7P_cjs.validateContactForm(form);
14000
+ const email = chunkWUG24K7P_cjs.inviteEmail(form);
14002
14001
  if (invite && !email && !found.emails) found.emails = "Add an e-mail address to invite";
14003
14002
  setErrors(found);
14004
14003
  setServerError(null);
14005
14004
  setDuplicateOf(null);
14006
14005
  if (Object.keys(found).length) return;
14007
- const card = chunkHJQLVCIK_cjs.formToContactCard(form);
14006
+ const card = chunkWUG24K7P_cjs.formToContactCard(form);
14008
14007
  const onError = (err) => {
14009
14008
  setServerError(browser.refusalReason(err, "Could not save"));
14010
14009
  if (err instanceof browser.DuplicateContactError && err.contactId !== contact?.external_id)
@@ -14012,10 +14011,10 @@ function ConnectedContactCardForm({
14012
14011
  };
14013
14012
  const onInvited = (result) => {
14014
14013
  if (result.status === "failed") {
14015
- setServerError(result.outcome_detail || chunkHJQLVCIK_cjs.DEFAULT_CONTACT_OUTCOME_LABELS.failed);
14014
+ setServerError(result.outcome_detail || chunkWUG24K7P_cjs.DEFAULT_CONTACT_OUTCOME_LABELS.failed);
14016
14015
  return;
14017
14016
  }
14018
- notify17(chunkHJQLVCIK_cjs.contactOutcomeMessage({ ...result, outcome: result.outcome ?? "invited" }), "success");
14017
+ notify17(chunkWUG24K7P_cjs.contactOutcomeMessage({ ...result, outcome: result.outcome ?? "invited" }), "success");
14019
14018
  onDone();
14020
14019
  };
14021
14020
  if (invite && email) {
@@ -14071,7 +14070,7 @@ function ConnectedContactCardForm({
14071
14070
  linked && contact && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", "data-testid": "contact-linked-email", children: [
14072
14071
  "ARBI: ",
14073
14072
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: contact.email }),
14074
- chunkHJQLVCIK_cjs.contactStatusLabel(contact.status) && ` \xB7 ${chunkHJQLVCIK_cjs.contactStatusLabel(contact.status)}`
14073
+ chunkWUG24K7P_cjs.contactStatusLabel(contact.status) && ` \xB7 ${chunkWUG24K7P_cjs.contactStatusLabel(contact.status)}`
14075
14074
  ] }),
14076
14075
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1", children: [
14077
14076
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "contact-name", children: "Name" }),
@@ -14274,7 +14273,7 @@ function ImportVcfSummary({
14274
14273
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "min-w-0", children: [
14275
14274
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: o.file }),
14276
14275
  ": ",
14277
- "error" in o ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-destructive", children: o.error }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: chunkHJQLVCIK_cjs.summarizeImport(o.result) })
14276
+ "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) })
14278
14277
  ] }),
14279
14278
  "result" in o && o.result.skipped.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "text-xs text-muted-foreground", children: [
14280
14279
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: "cursor-pointer", children: "Why cards were skipped" }),
@@ -14312,7 +14311,7 @@ function ConnectedContactsDirectory({
14312
14311
  const [confirmDelete, setConfirmDelete] = React7.useState(null);
14313
14312
  const [importState, setImportState] = React7.useState(null);
14314
14313
  const contacts = React7.useMemo(() => data.filter((c) => !(c.user && ui.isAgent(c.user))), [data]);
14315
- const shown = React7.useMemo(() => contacts.filter((c) => chunkHJQLVCIK_cjs.matchesContact(c, q)), [contacts, q]);
14314
+ const shown = React7.useMemo(() => contacts.filter((c) => chunkWUG24K7P_cjs.matchesContact(c, q)), [contacts, q]);
14316
14315
  if (editing)
14317
14316
  return /* @__PURE__ */ jsxRuntime.jsxs(
14318
14317
  "section",
@@ -14331,7 +14330,7 @@ function ConnectedContactsDirectory({
14331
14330
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, { className: "size-4" })
14332
14331
  }
14333
14332
  ),
14334
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" : chunkHJQLVCIK_cjs.contactName(editing) || "Contact" })
14333
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-base font-semibold text-foreground", children: editing === "new" ? "New contact" : chunkWUG24K7P_cjs.contactName(editing) || "Contact" })
14335
14334
  ] }),
14336
14335
  /* @__PURE__ */ jsxRuntime.jsx(
14337
14336
  ConnectedContactCardForm,
@@ -14403,8 +14402,8 @@ function ConnectedContactsDirectory({
14403
14402
  "\u201D."
14404
14403
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid divide-y divide-border rounded-lg border border-border", children: shown.map((c, i) => {
14405
14404
  const id = c.external_id ?? `row-${i}`;
14406
- const name = chunkHJQLVCIK_cjs.contactName(c);
14407
- const status = chunkHJQLVCIK_cjs.contactStatusLabel(c.status);
14405
+ const name = chunkWUG24K7P_cjs.contactName(c);
14406
+ const status = chunkWUG24K7P_cjs.contactStatusLabel(c.status);
14408
14407
  const peer = onMessage && c.status === "registered" ? c.user : null;
14409
14408
  return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center justify-between gap-2 px-3 py-2 text-sm", children: [
14410
14409
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -14434,7 +14433,7 @@ function ConnectedContactsDirectory({
14434
14433
  )
14435
14434
  ] }),
14436
14435
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate text-xs text-muted-foreground", children: [
14437
- chunkHJQLVCIK_cjs.primaryEmail(c) !== name && chunkHJQLVCIK_cjs.primaryEmail(c),
14436
+ chunkWUG24K7P_cjs.primaryEmail(c) !== name && chunkWUG24K7P_cjs.primaryEmail(c),
14438
14437
  c.card?.organization,
14439
14438
  c.card?.birthday && `Birthday ${c.card.birthday}`
14440
14439
  ].filter(Boolean).join(" \xB7 ") })
@@ -14505,36 +14504,36 @@ function ConnectedAddContacts({
14505
14504
  const [rows, setRows] = React7.useState(null);
14506
14505
  const selfEmail = arbi.isLoggedIn ? arbi.user.identity()?.email : null;
14507
14506
  const submit = async () => {
14508
- if (!chunkHJQLVCIK_cjs.emailTokens(text2).length) {
14507
+ if (!chunkWUG24K7P_cjs.emailTokens(text2).length) {
14509
14508
  notify17("Please enter at least one email address", "error");
14510
14509
  return;
14511
14510
  }
14512
- const plan = chunkHJQLVCIK_cjs.planContactInvites(text2, contacts, selfEmail);
14513
- if (plan.send.length > chunkHJQLVCIK_cjs.MAX_INVITE_EMAILS) {
14514
- notify17(`Maximum ${chunkHJQLVCIK_cjs.MAX_INVITE_EMAILS} new emails allowed per batch`, "error");
14511
+ const plan = chunkWUG24K7P_cjs.planContactInvites(text2, contacts, selfEmail);
14512
+ if (plan.send.length > chunkWUG24K7P_cjs.MAX_INVITE_EMAILS) {
14513
+ notify17(`Maximum ${chunkWUG24K7P_cjs.MAX_INVITE_EMAILS} new emails allowed per batch`, "error");
14515
14514
  return;
14516
14515
  }
14517
14516
  setRows(plan.rows);
14518
14517
  if (!plan.send.length) {
14519
- notify17(chunkHJQLVCIK_cjs.summarizeUnsentInvites(plan.rows), "info");
14518
+ notify17(chunkWUG24K7P_cjs.summarizeUnsentInvites(plan.rows), "info");
14520
14519
  onSuccess?.();
14521
14520
  return;
14522
14521
  }
14523
14522
  try {
14524
14523
  const response = await invite.mutateAsync(plan.send);
14525
- setRows(chunkHJQLVCIK_cjs.applyContactInviteResults(plan, response));
14526
- const summary = chunkHJQLVCIK_cjs.summarizeContactInvites(response);
14524
+ setRows(chunkWUG24K7P_cjs.applyContactInviteResults(plan, response));
14525
+ const summary = chunkWUG24K7P_cjs.summarizeContactInvites(response);
14527
14526
  notify17(summary.message, summary.failed ? "error" : "success");
14528
14527
  onSuccess?.();
14529
14528
  } catch (error) {
14530
14529
  const message = browser.refusalReason(error, "Failed to add contacts");
14531
- setRows(chunkHJQLVCIK_cjs.failContactInvites(plan, message));
14530
+ setRows(chunkWUG24K7P_cjs.failContactInvites(plan, message));
14532
14531
  notify17(message, "error");
14533
14532
  }
14534
14533
  };
14535
14534
  if (rows)
14536
14535
  return /* @__PURE__ */ jsxRuntime.jsx(
14537
- chunkHJQLVCIK_cjs.AddContactsResults,
14536
+ chunkWUG24K7P_cjs.AddContactsResults,
14538
14537
  {
14539
14538
  rows,
14540
14539
  onDone: onClose,
@@ -14545,11 +14544,11 @@ function ConnectedAddContacts({
14545
14544
  }
14546
14545
  );
14547
14546
  return /* @__PURE__ */ jsxRuntime.jsx(
14548
- chunkHJQLVCIK_cjs.AddContactsForm,
14547
+ chunkWUG24K7P_cjs.AddContactsForm,
14549
14548
  {
14550
14549
  value: text2,
14551
14550
  onChange: setText,
14552
- emailCount: chunkHJQLVCIK_cjs.emailTokens(text2).length,
14551
+ emailCount: chunkWUG24K7P_cjs.emailTokens(text2).length,
14553
14552
  isPending: invite.isPending,
14554
14553
  onSubmit: () => void submit(),
14555
14554
  onCancel: onClose,
@@ -14629,7 +14628,7 @@ function recentConversations(conversations) {
14629
14628
  return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
14630
14629
  id: c.external_id,
14631
14630
  title: c.title?.trim() || "Untitled thread",
14632
- subtitle: c.status ? [chunkHPUEYVG3_cjs.STATUS_LABELS[chunkHPUEYVG3_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"}`,
14631
+ subtitle: c.status ? [chunkUR6DWL4L_cjs.STATUS_LABELS[chunkUR6DWL4L_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"}`,
14633
14632
  time: timeAndDate(c.updated_at)
14634
14633
  }));
14635
14634
  }
@@ -15403,7 +15402,7 @@ function MailRecipientInput({
15403
15402
  const { head, token } = currentToken(value);
15404
15403
  const found = source.useSuggestions(token);
15405
15404
  const options2 = React7.useMemo(() => {
15406
- const chosen = new Set(chunkHJQLVCIK_cjs.parseMailRecipients(head).map((r) => r.email.toLowerCase()));
15405
+ const chosen = new Set(chunkWUG24K7P_cjs.parseMailRecipients(head).map((r) => r.email.toLowerCase()));
15407
15406
  return found.filter((p) => !chosen.has(p.email.toLowerCase())).slice(0, 8);
15408
15407
  }, [found, head]);
15409
15408
  const open = focused && !dismissed && token.length > 0 && options2.length > 0;
@@ -15551,7 +15550,7 @@ function useWordBody({
15551
15550
  }
15552
15551
  var MailBodyEditor = React7.lazy(
15553
15552
  () => import('../MailBodyEditor-D7MGJMLH.cjs').catch(() => ({
15554
- default: chunkHJQLVCIK_cjs.PlainMailBodyEditor
15553
+ default: chunkWUG24K7P_cjs.PlainMailBodyEditor
15555
15554
  }))
15556
15555
  );
15557
15556
  var NativeDocxEditor = React7.lazy(
@@ -15644,9 +15643,9 @@ function MailComposerForm({
15644
15643
  }, [drafts, draftId, subject]);
15645
15644
  const body = () => ({
15646
15645
  ...initial,
15647
- to: chunkHJQLVCIK_cjs.parseMailRecipients(to),
15648
- cc: chunkHJQLVCIK_cjs.parseMailRecipients(cc),
15649
- bcc: chunkHJQLVCIK_cjs.parseMailRecipients(bcc),
15646
+ to: chunkWUG24K7P_cjs.parseMailRecipients(to),
15647
+ cc: chunkWUG24K7P_cjs.parseMailRecipients(cc),
15648
+ bcc: chunkWUG24K7P_cjs.parseMailRecipients(bcc),
15650
15649
  subject,
15651
15650
  text: text2,
15652
15651
  html,
@@ -16118,7 +16117,7 @@ function MailComposerForm({
16118
16117
  }
16119
16118
  ),
16120
16119
  documents && /* @__PURE__ */ jsxRuntime.jsx(
16121
- chunkHJQLVCIK_cjs.MailDocumentPicker,
16120
+ chunkWUG24K7P_cjs.MailDocumentPicker,
16122
16121
  {
16123
16122
  documents: documents.documents,
16124
16123
  disabled: locked,
@@ -16237,7 +16236,7 @@ function ConnectedMailComposer({
16237
16236
  openId,
16238
16237
  async (from, id) => {
16239
16238
  const message = await client.getMessage(from, id);
16240
- return chunkHJQLVCIK_cjs.draftMailCompose(
16239
+ return chunkWUG24K7P_cjs.draftMailCompose(
16241
16240
  message,
16242
16241
  await hydrateMailAttachments(client, from, message.id, message.attachments, {
16243
16242
  isOnline,
@@ -16251,11 +16250,11 @@ function ConnectedMailComposer({
16251
16250
  const start = React7.useMemo(() => {
16252
16251
  if (replyTo)
16253
16252
  return original.data && account ? {
16254
- ...chunkHJQLVCIK_cjs.replyMailCompose(original.data, { account, folderRole: "inbox" }),
16253
+ ...chunkWUG24K7P_cjs.replyMailCompose(original.data, { account, folderRole: "inbox" }),
16255
16254
  text: "",
16256
16255
  html: ""
16257
16256
  } : void 0;
16258
- return reloaded ? draft.data : initial ?? (openId ? draft.data : chunkHJQLVCIK_cjs.emptyMailCompose());
16257
+ return reloaded ? draft.data : initial ?? (openId ? draft.data : chunkWUG24K7P_cjs.emptyMailCompose());
16259
16258
  }, [replyTo, original.data, account, reloaded, initial, openId, draft.data]);
16260
16259
  if (!start)
16261
16260
  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" });
@@ -16562,7 +16561,7 @@ function ConnectedMailbox({
16562
16561
  const message = detail.data;
16563
16562
  React7.useEffect(() => {
16564
16563
  if (!composeAttachments?.length) return;
16565
- openCompose({ ...chunkHJQLVCIK_cjs.emptyMailCompose(), attachments: composeAttachments });
16564
+ openCompose({ ...chunkWUG24K7P_cjs.emptyMailCompose(), attachments: composeAttachments });
16566
16565
  onComposeOpened?.();
16567
16566
  }, [composeAttachments]);
16568
16567
  React7.useEffect(() => {
@@ -16694,7 +16693,7 @@ function ConnectedMailbox({
16694
16693
  const editDraft = async () => {
16695
16694
  if (!message) return;
16696
16695
  try {
16697
- openCompose(chunkHJQLVCIK_cjs.draftMailCompose(message, await hydrate(message.attachments)));
16696
+ openCompose(chunkWUG24K7P_cjs.draftMailCompose(message, await hydrate(message.attachments)));
16698
16697
  } catch (e) {
16699
16698
  setActionError(e instanceof Error ? e.message : "Could not load draft attachments");
16700
16699
  }
@@ -16703,7 +16702,7 @@ function ConnectedMailbox({
16703
16702
  if (!message || !account) return;
16704
16703
  try {
16705
16704
  const attachments = forward ? await hydrate(message.attachments) : [];
16706
- openCompose(chunkHJQLVCIK_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
16705
+ openCompose(chunkWUG24K7P_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
16707
16706
  } catch (e) {
16708
16707
  setActionError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
16709
16708
  }
@@ -16734,7 +16733,7 @@ function ConnectedMailbox({
16734
16733
  onTabChange: () => {
16735
16734
  },
16736
16735
  compactBreakpoint: 360,
16737
- firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesFilterBar, { children: [
16736
+ firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesFilterBar, { children: [
16738
16737
  /* @__PURE__ */ jsxRuntime.jsx(
16739
16738
  chunk2EI7NCUA_cjs.FilterInput,
16740
16739
  {
@@ -16769,7 +16768,7 @@ function ConnectedMailbox({
16769
16768
  }
16770
16769
  ),
16771
16770
  folderList && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
16772
- chunkB5SEHTMC_cjs.FolderFilterButton,
16771
+ chunkP4NS4LV7_cjs.FolderFilterButton,
16773
16772
  {
16774
16773
  label: folderList.find((f) => f.id === folderId)?.name ?? "Folders",
16775
16774
  isActive: false,
@@ -16777,7 +16776,7 @@ function ConnectedMailbox({
16777
16776
  onOpenChange: setFolderMenuOpen,
16778
16777
  testId: "mail-folder-button",
16779
16778
  children: folderList.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
16780
- chunkB5SEHTMC_cjs.FolderPickerRow,
16779
+ chunkP4NS4LV7_cjs.FolderPickerRow,
16781
16780
  {
16782
16781
  label: item.name,
16783
16782
  count: item.unread > 0 ? item.unread : void 0,
@@ -16823,7 +16822,7 @@ function ConnectedMailbox({
16823
16822
  {
16824
16823
  size: "sm",
16825
16824
  disabled: !ready || !!compose,
16826
- onClick: () => openCompose(chunkHJQLVCIK_cjs.emptyMailCompose()),
16825
+ onClick: () => openCompose(chunkWUG24K7P_cjs.emptyMailCompose()),
16827
16826
  children: [
16828
16827
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "mr-1.5 size-4" }),
16829
16828
  "Email"
@@ -16902,7 +16901,7 @@ function ConnectedMailbox({
16902
16901
  onEdit: (value) => openCompose({ ...value })
16903
16902
  }),
16904
16903
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: deviceFolder ? "hidden" : "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
16905
- chunkHJQLVCIK_cjs.MailGrid,
16904
+ chunkWUG24K7P_cjs.MailGrid,
16906
16905
  {
16907
16906
  messages: filteredMessages,
16908
16907
  loading: list.isPending && list.fetchStatus !== "idle",
@@ -16966,7 +16965,7 @@ function ConnectedMailbox({
16966
16965
  },
16967
16966
  `${account?.id}-${composeSession}`
16968
16967
  ) : message && selected ? /* @__PURE__ */ jsxRuntime.jsx(
16969
- chunkHJQLVCIK_cjs.MailMessageView,
16968
+ chunkWUG24K7P_cjs.MailMessageView,
16970
16969
  {
16971
16970
  account,
16972
16971
  message,
@@ -17103,7 +17102,7 @@ function ConnectedMailMessage({
17103
17102
  const attachments = forward ? await hydrateMailAttachments(client, account, message.id, message.attachments, {
17104
17103
  isOnline
17105
17104
  }) : [];
17106
- onCompose(chunkHJQLVCIK_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
17105
+ onCompose(chunkWUG24K7P_cjs.replyMailCompose(message, { account, folderRole, forward, all, attachments }));
17107
17106
  } catch (e) {
17108
17107
  setError(e instanceof Error ? e.message : "Could not prepare forwarded attachments");
17109
17108
  }
@@ -17111,7 +17110,7 @@ function ConnectedMailMessage({
17111
17110
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", children: [
17112
17111
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "px-4 pt-3 text-sm text-destructive", children: error }),
17113
17112
  /* @__PURE__ */ jsxRuntime.jsx(
17114
- chunkHJQLVCIK_cjs.MailMessageView,
17113
+ chunkWUG24K7P_cjs.MailMessageView,
17115
17114
  {
17116
17115
  account,
17117
17116
  message,
@@ -17122,7 +17121,7 @@ function ConnectedMailMessage({
17122
17121
  onBack: onClose,
17123
17122
  onEditDraft: () => void hydrateMailAttachments(client, account, message.id, message.attachments, {
17124
17123
  isOnline
17125
- }).then((attachments) => onCompose(chunkHJQLVCIK_cjs.draftMailCompose(message, attachments))).catch((e) => setError(e.message)),
17124
+ }).then((attachments) => onCompose(chunkWUG24K7P_cjs.draftMailCompose(message, attachments))).catch((e) => setError(e.message)),
17126
17125
  onReply: (forward, all) => void reply(forward, all),
17127
17126
  onReplyWithArbi: onReplyWithArbi && account.provider === "native" ? () => onReplyWithArbi(message, account) : void 0,
17128
17127
  onUpdate: (body) => void update(body),
@@ -18511,7 +18510,7 @@ function EventEditorDialog({
18511
18510
  const { notify: notify17, runtimeConfig } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
18512
18511
  const attachmentDocuments = documents.map((document2) => ({
18513
18512
  doc_id: document2.external_id,
18514
- title: chunkXGCXHDZT_cjs.toWorkflowFieldDocument(document2).title,
18513
+ title: chunkRZ3EBN7G_cjs.toWorkflowFieldDocument(document2).title,
18515
18514
  url: chunk725OETK3_cjs.buildDeepLinkUrl(
18516
18515
  { workspaceId: workspaceId ?? void 0, documentId: document2.external_id },
18517
18516
  runtimeConfig.deploymentDomain
@@ -20639,7 +20638,7 @@ var useFilesPrefs = zustand.create()(
20639
20638
  (state) => state.viewModes[prefsKey] === viewMode ? state : { viewModes: { ...state.viewModes, [prefsKey]: viewMode } }
20640
20639
  ),
20641
20640
  // New users start at the compact minimum (more rows at once).
20642
- rowHeight: chunkB5SEHTMC_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
20641
+ rowHeight: chunkP4NS4LV7_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
20643
20642
  setRowHeight: (rowHeight) => set({ rowHeight })
20644
20643
  }),
20645
20644
  {
@@ -20711,7 +20710,7 @@ var COMPACT_BELOW = 132;
20711
20710
  var NO_DOCUMENTS = [];
20712
20711
  function useFilesWorkspace() {
20713
20712
  const { workspaceId, userId, live } = chunkT55BHIB7_cjs.useConnectedWorkspace();
20714
- const { members, role } = chunkXGCXHDZT_cjs.useConnectedWorkspaceRole();
20713
+ const { members, role } = chunkRZ3EBN7G_cjs.useConnectedWorkspaceRole();
20715
20714
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
20716
20715
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
20717
20716
  return {
@@ -20786,8 +20785,8 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
20786
20785
  const { folders, files } = React7.useMemo(() => {
20787
20786
  const result = isSearching ? {
20788
20787
  folders: [],
20789
- files: chunkB5SEHTMC_cjs.searchExplorerDocuments(documents, search, sort)
20790
- } : chunkB5SEHTMC_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
20788
+ files: chunkP4NS4LV7_cjs.searchExplorerDocuments(documents, search, sort)
20789
+ } : chunkP4NS4LV7_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
20791
20790
  if (sortReversed) result.files = [...result.files].reverse();
20792
20791
  return result;
20793
20792
  }, [documents, currentPath, sort, isSearching, search, sortReversed, pendingFolders]);
@@ -20798,7 +20797,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
20798
20797
  const orderedFileIds = React7.useMemo(() => files.map((d) => d.external_id), [files]);
20799
20798
  const folderDocs = React7.useMemo(() => {
20800
20799
  const map = /* @__PURE__ */ new Map();
20801
- for (const f of folders) map.set(f.path.join("/"), chunkB5SEHTMC_cjs.collectFolderDocs(documents, f.path));
20800
+ for (const f of folders) map.set(f.path.join("/"), chunkP4NS4LV7_cjs.collectFolderDocs(documents, f.path));
20802
20801
  return map;
20803
20802
  }, [folders, documents]);
20804
20803
  const folderSelection = React7.useMemo(() => {
@@ -20946,7 +20945,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
20946
20945
  let name = base;
20947
20946
  let i = 2;
20948
20947
  while (siblings.has(name.toLowerCase())) name = `${base} ${i++}`;
20949
- const path = chunkB5SEHTMC_cjs.joinFolderPath([...currentPath, name]);
20948
+ const path = chunkP4NS4LV7_cjs.joinFolderPath([...currentPath, name]);
20950
20949
  if (!path) return;
20951
20950
  addPendingFolder(wsId, path);
20952
20951
  setEditingFolderPath(path);
@@ -20982,10 +20981,10 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
20982
20981
  notify17(`A folder named "${name}" already exists here.`, "error");
20983
20982
  return;
20984
20983
  }
20985
- const oldPath = chunkB5SEHTMC_cjs.joinFolderPath(folder.path);
20984
+ const oldPath = chunkP4NS4LV7_cjs.joinFolderPath(folder.path);
20986
20985
  const newPrefix = [...folder.path.slice(0, -1), name];
20987
- const newPath = chunkB5SEHTMC_cjs.joinFolderPath(newPrefix);
20988
- const docs = chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path);
20986
+ const newPath = chunkP4NS4LV7_cjs.joinFolderPath(newPrefix);
20987
+ const docs = chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path);
20989
20988
  try {
20990
20989
  if (await renameFolder(docs, folder.path, newPrefix) > 0) {
20991
20990
  notify17(`Renamed folder to "${name}"`, "success");
@@ -21044,7 +21043,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21044
21043
  const handleToggleFolder = React7.useCallback(
21045
21044
  (folder, e) => {
21046
21045
  e.stopPropagation();
21047
- const ids = chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
21046
+ const ids = chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
21048
21047
  if (ids.length === 0) return;
21049
21048
  if (ids.every((id) => selectedSet.has(id))) {
21050
21049
  const remove = new Set(ids);
@@ -21105,9 +21104,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21105
21104
  );
21106
21105
  const handleDelete = React7.useCallback(
21107
21106
  async (doc) => {
21108
- const name = chunkB5SEHTMC_cjs.getExplorerDisplayName(doc);
21107
+ const name = chunkP4NS4LV7_cjs.getExplorerDisplayName(doc);
21109
21108
  const confirmed = await confirm({
21110
- message: `Delete "${name}"? ${chunkB5SEHTMC_cjs.RECENTLY_DELETED_HINT}`,
21109
+ message: `Delete "${name}"? ${chunkP4NS4LV7_cjs.RECENTLY_DELETED_HINT}`,
21111
21110
  title: "Delete file"
21112
21111
  });
21113
21112
  if (!confirmed) return;
@@ -21127,7 +21126,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21127
21126
  );
21128
21127
  const handleFolderDownload = React7.useCallback(
21129
21128
  (folder) => {
21130
- const docs = chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path);
21129
+ const docs = chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path);
21131
21130
  if (docs.length > 0) void downloadDocuments(docs);
21132
21131
  },
21133
21132
  [documents, downloadDocuments]
@@ -21136,7 +21135,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21136
21135
  if (onFolderMove) return onFolderMove;
21137
21136
  if (!onMoveSelected) return void 0;
21138
21137
  return (folder) => {
21139
- const ids = chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
21138
+ const ids = chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
21140
21139
  if (ids.length === 0) return;
21141
21140
  onSelectionChange(ids);
21142
21141
  onMoveSelected();
@@ -21144,14 +21143,14 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21144
21143
  }, [documents, onFolderMove, onMoveSelected, onSelectionChange]);
21145
21144
  const handleFolderDelete = React7.useCallback(
21146
21145
  async (folder) => {
21147
- const docs = chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path);
21146
+ const docs = chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path);
21148
21147
  if (docs.length === 0) {
21149
- const path = chunkB5SEHTMC_cjs.joinFolderPath(folder.path);
21148
+ const path = chunkP4NS4LV7_cjs.joinFolderPath(folder.path);
21150
21149
  if (wsId && path) removePendingFolder(wsId, path);
21151
21150
  return;
21152
21151
  }
21153
21152
  const confirmed = await confirm({
21154
- message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkB5SEHTMC_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
21153
+ message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkP4NS4LV7_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
21155
21154
  title: "Delete folder"
21156
21155
  });
21157
21156
  if (!confirmed) return;
@@ -21168,8 +21167,8 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21168
21167
  [confirm, documents, deleteDocuments, onSelectionChange, removePendingFolder, wsId, notify17]
21169
21168
  );
21170
21169
  const canDeleteFolder = React7.useCallback(
21171
- (folder) => canUpload && chunkB5SEHTMC_cjs.collectFolderDocs(documents, folder.path).every(
21172
- (doc) => chunkB5SEHTMC_cjs.canDeleteDocument(doc, userId, role)
21170
+ (folder) => canUpload && chunkP4NS4LV7_cjs.collectFolderDocs(documents, folder.path).every(
21171
+ (doc) => chunkP4NS4LV7_cjs.canDeleteDocument(doc, userId, role)
21173
21172
  ),
21174
21173
  [canUpload, documents, userId, role]
21175
21174
  );
@@ -21228,7 +21227,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21228
21227
  setActiveDragId(null);
21229
21228
  const data = event.over?.data.current;
21230
21229
  if (data?.type === "folder" && data.path) {
21231
- const targetFolder = chunkB5SEHTMC_cjs.joinFolderPath(data.path);
21230
+ const targetFolder = chunkP4NS4LV7_cjs.joinFolderPath(data.path);
21232
21231
  const moving = dragIdsRef.current.filter((id) => {
21233
21232
  const doc = documents.find((d) => d.external_id === id);
21234
21233
  return doc && (doc.folder ?? null) !== targetFolder;
@@ -21268,7 +21267,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21268
21267
  const dropped = Array.from(e.dataTransfer.files ?? []);
21269
21268
  if (dropped.length > 0) {
21270
21269
  e.preventDefault();
21271
- onUploadFiles(dropped, chunkB5SEHTMC_cjs.joinFolderPath(currentPath));
21270
+ onUploadFiles(dropped, chunkP4NS4LV7_cjs.joinFolderPath(currentPath));
21272
21271
  }
21273
21272
  },
21274
21273
  [canUpload, currentPath, onUploadFiles]
@@ -21285,9 +21284,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21285
21284
  onDragEnd: handleDragEnd,
21286
21285
  onDragCancel: () => setActiveDragId(null),
21287
21286
  children: [
21288
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.ExplorerStage, { children: [
21287
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.ExplorerStage, { children: [
21289
21288
  /* @__PURE__ */ jsxRuntime.jsx(
21290
- chunkB5SEHTMC_cjs.ExplorerScroller,
21289
+ chunkP4NS4LV7_cjs.ExplorerScroller,
21291
21290
  {
21292
21291
  ref: scrollRef,
21293
21292
  onClick: handleBackgroundClick,
@@ -21297,15 +21296,15 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21297
21296
  onDragLeave: handleNativeDragLeave,
21298
21297
  onDrop: handleNativeDrop,
21299
21298
  "data-testid": "explorer-scroll",
21300
- children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
21301
- chunkB5SEHTMC_cjs.ExplorerEmpty,
21299
+ children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
21300
+ chunkP4NS4LV7_cjs.ExplorerEmpty,
21302
21301
  {
21303
21302
  title: isSearching ? `No files match "${search.trim()}"` : "This folder is empty",
21304
21303
  description: isSearching ? "Try a different search." : canUpload ? "Drop files here or use Upload to add documents." : "No documents here yet."
21305
21304
  }
21306
21305
  ) : containerWidth === 0 ? (
21307
21306
  // Not measured yet: rendering now would flash one stretched column.
21308
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.ExplorerLoadingTiles, {})
21307
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.ExplorerLoadingTiles, {})
21309
21308
  ) : /* @__PURE__ */ jsxRuntime.jsx(
21310
21309
  "div",
21311
21310
  {
@@ -21366,7 +21365,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21366
21365
  dragging: activeDragId === doc.external_id,
21367
21366
  dndActive: activeDragId !== null,
21368
21367
  renaming: renamingId === doc.external_id,
21369
- canDelete: chunkB5SEHTMC_cjs.canDeleteDocument(doc, userId, role),
21368
+ canDelete: chunkP4NS4LV7_cjs.canDeleteDocument(doc, userId, role),
21370
21369
  thumbnailUrl: thumbnailsById.get(doc.external_id),
21371
21370
  modifiedBy: userById.get(
21372
21371
  doc.updated_by_ext_id ?? doc.created_by_ext_id
@@ -21395,9 +21394,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21395
21394
  )
21396
21395
  }
21397
21396
  ),
21398
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
21397
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
21399
21398
  isFileDragOver && /* @__PURE__ */ jsxRuntime.jsx(
21400
- chunkB5SEHTMC_cjs.ExplorerDropOverlay,
21399
+ chunkP4NS4LV7_cjs.ExplorerDropOverlay,
21401
21400
  {
21402
21401
  label: `Drop to upload${currentPath.length > 0 ? ` to "${currentPath[currentPath.length - 1]}"` : ""}`
21403
21402
  }
@@ -21411,7 +21410,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
21411
21410
  function DragPreview({ doc, count: count2 }) {
21412
21411
  const Icon = ui.getFileTypeIcon(doc.file_name, { mime: doc.file_type });
21413
21412
  return /* @__PURE__ */ jsxRuntime.jsx(
21414
- chunkB5SEHTMC_cjs.ExplorerDragPreview,
21413
+ chunkP4NS4LV7_cjs.ExplorerDragPreview,
21415
21414
  {
21416
21415
  icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }),
21417
21416
  title: ui.getDocumentTitle(doc, doc.file_name ?? "Untitled"),
@@ -21497,7 +21496,7 @@ function ConnectedUploadDropzone({
21497
21496
  const onFiles = browse(fileInputRef);
21498
21497
  const onFolder = browse(folderInputRef);
21499
21498
  const dropTarget = /* @__PURE__ */ jsxRuntime.jsx(
21500
- chunkB5SEHTMC_cjs.UploadDropArea,
21499
+ chunkP4NS4LV7_cjs.UploadDropArea,
21501
21500
  {
21502
21501
  isActive: dragActive,
21503
21502
  isDisabled: disabled,
@@ -21511,11 +21510,11 @@ function ConnectedUploadDropzone({
21511
21510
  onClick: (e) => {
21512
21511
  if (e.target === e.currentTarget) onFiles();
21513
21512
  },
21514
- actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
21513
+ actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
21515
21514
  }
21516
21515
  );
21517
21516
  const urlDialog = (trigger) => onUrlsSubmit ? /* @__PURE__ */ jsxRuntime.jsx(
21518
- chunkB5SEHTMC_cjs.UrlInputDialog,
21517
+ chunkP4NS4LV7_cjs.UrlInputDialog,
21519
21518
  {
21520
21519
  onUrlsSubmit,
21521
21520
  processing: disabled,
@@ -21528,12 +21527,12 @@ function ConnectedUploadDropzone({
21528
21527
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
21529
21528
  dropTarget,
21530
21529
  compactLeadingAction,
21531
- onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
21530
+ onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
21532
21531
  ] });
21533
21532
  }
21534
21533
  if (!source) {
21535
21534
  return /* @__PURE__ */ jsxRuntime.jsx(
21536
- chunkB5SEHTMC_cjs.UploadSourcePicker,
21535
+ chunkP4NS4LV7_cjs.UploadSourcePicker,
21537
21536
  {
21538
21537
  isDisabled: disabled,
21539
21538
  options: [
@@ -21569,14 +21568,14 @@ function ConnectedUploadDropzone({
21569
21568
  }
21570
21569
  if (source === "computer") {
21571
21570
  return /* @__PURE__ */ jsxRuntime.jsxs(
21572
- chunkB5SEHTMC_cjs.UploadSourceSection,
21571
+ chunkP4NS4LV7_cjs.UploadSourceSection,
21573
21572
  {
21574
21573
  testId: "upload-source-computer",
21575
21574
  className: "flex w-full flex-col gap-3 pointer-coarse:flex-col-reverse",
21576
21575
  children: [
21577
21576
  dropTarget,
21578
21577
  /* @__PURE__ */ jsxRuntime.jsx(
21579
- chunkB5SEHTMC_cjs.UploadBrowseButtons,
21578
+ chunkP4NS4LV7_cjs.UploadBrowseButtons,
21580
21579
  {
21581
21580
  layout: "grid",
21582
21581
  onFiles,
@@ -21589,15 +21588,15 @@ function ConnectedUploadDropzone({
21589
21588
  );
21590
21589
  }
21591
21590
  if (source === "internet" && onUrlsSubmit) {
21592
- return /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
21591
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
21593
21592
  }
21594
21593
  if (source === "email" && accounts) {
21595
- return /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
21594
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
21596
21595
  }
21597
21596
  return null;
21598
21597
  })();
21599
21598
  return /* @__PURE__ */ jsxRuntime.jsxs(
21600
- chunkB5SEHTMC_cjs.UploadFrame,
21599
+ chunkP4NS4LV7_cjs.UploadFrame,
21601
21600
  {
21602
21601
  isCompact: compact,
21603
21602
  isDimmed: disabled || processingMessage !== null,
@@ -21704,7 +21703,7 @@ function plural3(count2) {
21704
21703
  function DefaultFooter({ submit, shared, onSharedChange }) {
21705
21704
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center justify-end gap-4 border-t border-border px-4 py-3 sm:px-6", children: [
21706
21705
  /* @__PURE__ */ jsxRuntime.jsx(
21707
- chunkB5SEHTMC_cjs.ShareToggle,
21706
+ chunkP4NS4LV7_cjs.ShareToggle,
21708
21707
  {
21709
21708
  isVisible: shared,
21710
21709
  onToggle: onSharedChange,
@@ -21869,7 +21868,7 @@ ${summary}`,
21869
21868
  }
21870
21869
  );
21871
21870
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col", "data-testid": "upload-documents", children: [
21872
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
21871
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
21873
21872
  files.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(
21874
21873
  ConnectedUploadDropzone,
21875
21874
  {
@@ -21885,7 +21884,7 @@ ${summary}`,
21885
21884
  }
21886
21885
  ),
21887
21886
  /* @__PURE__ */ jsxRuntime.jsx(
21888
- chunkB5SEHTMC_cjs.SelectedFilesList,
21887
+ chunkP4NS4LV7_cjs.SelectedFilesList,
21889
21888
  {
21890
21889
  renderFileIcon,
21891
21890
  files,
@@ -21894,10 +21893,10 @@ ${summary}`,
21894
21893
  formatFileSize: formatFileSize3
21895
21894
  }
21896
21895
  ),
21897
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
21898
- error && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadErrorMessage, { message: error })
21899
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
21900
- chunkB5SEHTMC_cjs.UploadProgress,
21896
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
21897
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadErrorMessage, { message: error })
21898
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
21899
+ chunkP4NS4LV7_cjs.UploadProgress,
21901
21900
  {
21902
21901
  fileCount: count2,
21903
21902
  entityLabel: plural3(count2),
@@ -21939,7 +21938,7 @@ function AddFromAccountsButton({
21939
21938
  className: "gap-2",
21940
21939
  "data-testid": dataTestId,
21941
21940
  children: [
21942
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
21941
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
21943
21942
  "Add from accounts"
21944
21943
  ]
21945
21944
  }
@@ -21969,7 +21968,7 @@ function EmptyWorkspaceUpload({
21969
21968
  compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
21970
21969
  }
21971
21970
  ),
21972
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.PrivacyExplainerModal, {})
21971
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.PrivacyExplainerModal, {})
21973
21972
  ] })
21974
21973
  }
21975
21974
  );
@@ -22000,9 +21999,9 @@ function ConnectedTagEntity({
22000
21999
  onEditClick();
22001
22000
  }
22002
22001
  };
22003
- const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunkG6NRTQ25_cjs.EntityTooltip, { children: [
22002
+ const tooltipContent = showTooltip ? /* @__PURE__ */ jsxRuntime.jsxs(chunkLFVD3CS5_cjs.EntityTooltip, { children: [
22004
22003
  /* @__PURE__ */ jsxRuntime.jsx(
22005
- chunkG6NRTQ25_cjs.EntityTooltipHeader,
22004
+ chunkLFVD3CS5_cjs.EntityTooltipHeader,
22006
22005
  {
22007
22006
  lead: /* @__PURE__ */ jsxRuntime.jsx(
22008
22007
  "span",
@@ -22077,7 +22076,7 @@ var CheckboxCellRenderer = React7.memo(function CheckboxCellRenderer2({
22077
22076
  if (!params.data) return null;
22078
22077
  const isChecked = params.value === true;
22079
22078
  return /* @__PURE__ */ jsxRuntime.jsx(
22080
- chunkB5SEHTMC_cjs.CheckboxCell,
22079
+ chunkP4NS4LV7_cjs.CheckboxCell,
22081
22080
  {
22082
22081
  isChecked,
22083
22082
  color: tagColor,
@@ -22100,12 +22099,12 @@ var TagHeaderComponent = React7.memo(function TagHeaderComponent2({
22100
22099
  return () => params.column.removeEventListener("sortChanged", updateSort);
22101
22100
  }, [params.column]);
22102
22101
  return /* @__PURE__ */ jsxRuntime.jsx(
22103
- chunkB5SEHTMC_cjs.TagColumnHeader,
22102
+ chunkP4NS4LV7_cjs.TagColumnHeader,
22104
22103
  {
22105
22104
  isCentered: isCheckbox,
22106
22105
  sort,
22107
22106
  onSort: params.enableSorting ? (additive) => params.progressSort(additive) : void 0,
22108
- filter: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilterButton, { params, colId: tag.external_id }),
22107
+ filter: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilterButton, { params, colId: tag.external_id }),
22109
22108
  label: /* @__PURE__ */ jsxRuntime.jsx(ConnectedTagEntity, { tag, size: "sm" })
22110
22109
  }
22111
22110
  );
@@ -22194,7 +22193,7 @@ function createTagColumn({
22194
22193
  }
22195
22194
  ) : void 0,
22196
22195
  // Use default rendering for text/number/select - shows value with truncation
22197
- cellEditor: isSelect ? chunkB5SEHTMC_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
22196
+ cellEditor: isSelect ? chunkP4NS4LV7_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
22198
22197
  cellEditorParams: isSelect ? createMultiSelectCellEditorParams(tag.tag_type.options || []) : isText ? { rows: 8, cols: 50 } : void 0,
22199
22198
  cellEditorPopup: isText || isSelect,
22200
22199
  // Text and Select tags use popup editor for better UX
@@ -22311,8 +22310,8 @@ function createDocumentColumns({
22311
22310
  onToggleShared,
22312
22311
  notify: notify17
22313
22312
  }) {
22314
- const isRowEditableByOwner = (params) => chunkB5SEHTMC_cjs.canChangeVisibility(params.data, currentUserExtId);
22315
- const isRowEditableByMember = (params) => chunkB5SEHTMC_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
22313
+ const isRowEditableByOwner = (params) => chunkP4NS4LV7_cjs.canChangeVisibility(params.data, currentUserExtId);
22314
+ const isRowEditableByMember = (params) => chunkP4NS4LV7_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
22316
22315
  const documentNameCellRenderer = (params) => {
22317
22316
  const doc = params.data;
22318
22317
  if (!doc) return null;
@@ -22517,7 +22516,7 @@ function createDocumentColumns({
22517
22516
  singleClickEdit: true,
22518
22517
  cellEditor: "agSelectCellEditor",
22519
22518
  cellEditorParams: {
22520
- values: [...chunkB5SEHTMC_cjs.DOCUMENT_TYPE_OPTIONS]
22519
+ values: [...chunkP4NS4LV7_cjs.DOCUMENT_TYPE_OPTIONS]
22521
22520
  },
22522
22521
  context: { icon: lucideReact.Sparkles },
22523
22522
  valueGetter: (params) => ui.getDocumentNature(params.data) || "",
@@ -23055,7 +23054,7 @@ function useDocumentTable({
23055
23054
  }
23056
23055
  const stabilizedTagIds = prevTagIdsRef.current;
23057
23056
  const stabilizedTagNames = prevTagNamesRef.current;
23058
- const defaultVisibleColumns = React7.useMemo(() => [...chunkB5SEHTMC_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
23057
+ const defaultVisibleColumns = React7.useMemo(() => [...chunkP4NS4LV7_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
23059
23058
  const toggleShared = React7.useCallback((docId, shared) => {
23060
23059
  updateDocRef.current.mutate({ documents: [{ external_id: docId, shared }] });
23061
23060
  }, []);
@@ -23318,10 +23317,10 @@ function ConnectedFilesBulkActions({
23318
23317
  const bulk = useDocumentBulkActions(selectedDocuments);
23319
23318
  const count2 = selectedDocuments.length;
23320
23319
  const noun = ui.getEntityLabel("DOCUMENT", count2 === 1 ? "SINGULAR" : "PLURAL");
23321
- const shareState = chunkB5SEHTMC_cjs.shareStateOf(bulk.freshSelectedDocuments);
23320
+ const shareState = chunkP4NS4LV7_cjs.shareStateOf(bulk.freshSelectedDocuments);
23322
23321
  const handleToggleShare = async (shouldShare) => {
23323
23322
  if (shouldShare) return bulk.share();
23324
- const confirmed = await chunkB5SEHTMC_cjs.confirmHideFromMembers(
23323
+ const confirmed = await chunkP4NS4LV7_cjs.confirmHideFromMembers(
23325
23324
  confirm,
23326
23325
  bulk.freshSelectedDocuments.length,
23327
23326
  members
@@ -23344,7 +23343,7 @@ function ConnectedFilesBulkActions({
23344
23343
  const { openDocumentsChat, openFieldsManager } = actions;
23345
23344
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
23346
23345
  /* @__PURE__ */ jsxRuntime.jsx(
23347
- chunkB5SEHTMC_cjs.BulkActionsBar,
23346
+ chunkP4NS4LV7_cjs.BulkActionsBar,
23348
23347
  {
23349
23348
  count: count2,
23350
23349
  onClear: onClearSelection,
@@ -23369,7 +23368,7 @@ function ConnectedFilesBulkActions({
23369
23368
  onDelete: () => setConfirming("delete"),
23370
23369
  shareState,
23371
23370
  shareLabels: shareState === "shared" ? { share: "Make private" } : void 0,
23372
- shareTooltip: chunkB5SEHTMC_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
23371
+ shareTooltip: chunkP4NS4LV7_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
23373
23372
  onToggleShare: (shouldShare) => void handleToggleShare(shouldShare)
23374
23373
  }
23375
23374
  ),
@@ -23384,7 +23383,7 @@ function ConnectedFilesBulkActions({
23384
23383
  onClearSelection();
23385
23384
  },
23386
23385
  title: `Delete ${count2} ${noun}`,
23387
- description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkB5SEHTMC_cjs.RECENTLY_DELETED_HINT : chunkB5SEHTMC_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
23386
+ description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkP4NS4LV7_cjs.RECENTLY_DELETED_HINT : chunkP4NS4LV7_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
23388
23387
  confirmText: "Delete",
23389
23388
  variant: "destructive"
23390
23389
  }
@@ -24081,7 +24080,7 @@ function useDocumentFilters({
24081
24080
  const folderPath = React7.useMemo(() => {
24082
24081
  for (const [key, state] of documentFilters) {
24083
24082
  if (key.startsWith("folder:") && key !== "folder:none" && state === "include") {
24084
- return chunkB5SEHTMC_cjs.parseFolderSegments(key.slice("folder:".length));
24083
+ return chunkP4NS4LV7_cjs.parseFolderSegments(key.slice("folder:".length));
24085
24084
  }
24086
24085
  }
24087
24086
  return [];
@@ -24090,7 +24089,7 @@ function useDocumentFilters({
24090
24089
  (path) => {
24091
24090
  const next = new Map(documentFilters);
24092
24091
  for (const key of next.keys()) if (key.startsWith("folder:")) next.set(key, null);
24093
- const joined = chunkB5SEHTMC_cjs.joinFolderPath(path);
24092
+ const joined = chunkP4NS4LV7_cjs.joinFolderPath(path);
24094
24093
  if (joined) next.set(`folder:${joined}`, "include");
24095
24094
  setDocumentFilters(next);
24096
24095
  },
@@ -24382,7 +24381,7 @@ function ConnectedAiReview({
24382
24381
  }, [kind]);
24383
24382
  const description = phase === "ask" ? `Ask one question \u2014 ARBI answers it for each of the ${docCount} ${scope} document${plural5(docCount)}.` : aiCellsTotal > 0 ? reviewProgress(aiCellsDone, aiCellsEmpty, aiCellsTotal) : `Applied to ${rows.length} document${plural5(rows.length)}`;
24384
24383
  return /* @__PURE__ */ jsxRuntime.jsx(
24385
- chunkB5SEHTMC_cjs.AiReviewDialogView,
24384
+ chunkP4NS4LV7_cjs.AiReviewDialogView,
24386
24385
  {
24387
24386
  open,
24388
24387
  onOpenChange: handleOpenChange,
@@ -24450,12 +24449,12 @@ function ConnectedMoveToFolder({
24450
24449
  setIsSubmitting(true);
24451
24450
  try {
24452
24451
  if (folderToMove) {
24453
- const docsInFolder = chunkB5SEHTMC_cjs.collectFolderDocs(allDocs, folderToMove.path);
24452
+ const docsInFolder = chunkP4NS4LV7_cjs.collectFolderDocs(allDocs, folderToMove.path);
24454
24453
  if (docsInFolder.length === 0) {
24455
24454
  onClose();
24456
24455
  return;
24457
24456
  }
24458
- const newPrefixSegments = targetFolder ? [...chunkB5SEHTMC_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
24457
+ const newPrefixSegments = targetFolder ? [...chunkP4NS4LV7_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
24459
24458
  await renameFolder(docsInFolder, folderToMove.path, newPrefixSegments);
24460
24459
  const dest = targetFolder ? `"${targetFolder}/${folderToMove.name}"` : `"${folderToMove.name}" (root)`;
24461
24460
  notify17(`Moved folder to ${dest}`, "success");
@@ -24482,7 +24481,7 @@ function ConnectedMoveToFolder({
24482
24481
  const isFolderMode = !!folderToMove;
24483
24482
  const folders = useDocumentFolders(allDocs, targetFolder);
24484
24483
  return /* @__PURE__ */ jsxRuntime.jsx(
24485
- chunkB5SEHTMC_cjs.MoveToFolderDialog,
24484
+ chunkP4NS4LV7_cjs.MoveToFolderDialog,
24486
24485
  {
24487
24486
  open: isOpen,
24488
24487
  onClose,
@@ -24492,7 +24491,7 @@ function ConnectedMoveToFolder({
24492
24491
  isSubmitting,
24493
24492
  onConfirm: handleMove,
24494
24493
  children: /* @__PURE__ */ jsxRuntime.jsx(
24495
- chunkB5SEHTMC_cjs.FolderCommandList,
24494
+ chunkP4NS4LV7_cjs.FolderCommandList,
24496
24495
  {
24497
24496
  folders,
24498
24497
  value: targetFolder,
@@ -24888,7 +24887,7 @@ function ConnectedFieldsEditor({
24888
24887
  const [sortBy, setSortBy] = React7.useState("name-asc");
24889
24888
  const [filterText, setFilterText] = React7.useState("");
24890
24889
  const fieldRows = React7.useMemo(
24891
- () => browser.flattenTagTree(chunkB5SEHTMC_cjs.sortFields(chunkB5SEHTMC_cjs.filterFieldsByName(tags, filterText), sortBy)),
24890
+ () => browser.flattenTagTree(chunkP4NS4LV7_cjs.sortFields(chunkP4NS4LV7_cjs.filterFieldsByName(tags, filterText), sortBy)),
24892
24891
  [tags, filterText, sortBy]
24893
24892
  );
24894
24893
  const exportItems = React7.useMemo(
@@ -24908,7 +24907,7 @@ function ConnectedFieldsEditor({
24908
24907
  setIsDeleting(false);
24909
24908
  }
24910
24909
  };
24911
- const copy = chunkB5SEHTMC_cjs.fieldsApplyBarCopy({
24910
+ const copy = chunkP4NS4LV7_cjs.fieldsApplyBarCopy({
24912
24911
  nouns,
24913
24912
  targetNoun,
24914
24913
  fieldCount,
@@ -24917,9 +24916,9 @@ function ConnectedFieldsEditor({
24917
24916
  isApplying,
24918
24917
  isClearing
24919
24918
  });
24920
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FieldsEditorRoot, { children: [
24919
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FieldsEditorRoot, { children: [
24921
24920
  /* @__PURE__ */ jsxRuntime.jsx(
24922
- chunkB5SEHTMC_cjs.FieldsEditorToolbar,
24921
+ chunkP4NS4LV7_cjs.FieldsEditorToolbar,
24923
24922
  {
24924
24923
  nouns,
24925
24924
  onNew: () => {
@@ -24947,11 +24946,11 @@ function ConnectedFieldsEditor({
24947
24946
  onSortByChange: setSortBy
24948
24947
  }
24949
24948
  ),
24950
- /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FieldsEditorList, { children: [
24949
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FieldsEditorList, { children: [
24951
24950
  fieldRows.map(({ tag, depth, childCount }) => {
24952
24951
  const isEditingThis = editingTagId === tag.external_id;
24953
24952
  return /* @__PURE__ */ jsxRuntime.jsx(
24954
- chunkB5SEHTMC_cjs.FieldRow,
24953
+ chunkP4NS4LV7_cjs.FieldRow,
24955
24954
  {
24956
24955
  tagId: tag.external_id,
24957
24956
  name: tag.name,
@@ -25004,10 +25003,10 @@ function ConnectedFieldsEditor({
25004
25003
  tag.external_id
25005
25004
  );
25006
25005
  }),
25007
- fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldsEmptyState, { children: chunkB5SEHTMC_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
25006
+ fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldsEmptyState, { children: chunkP4NS4LV7_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
25008
25007
  ] }),
25009
25008
  /* @__PURE__ */ jsxRuntime.jsx(
25010
- chunkB5SEHTMC_cjs.FieldsApplyBar,
25009
+ chunkP4NS4LV7_cjs.FieldsApplyBar,
25011
25010
  {
25012
25011
  hint: copy.hint,
25013
25012
  applyLabel: copy.applyLabel,
@@ -25084,8 +25083,8 @@ function ConnectedFieldsManager({
25084
25083
  }
25085
25084
  );
25086
25085
  const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
25087
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
25088
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
25086
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
25087
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
25089
25088
  ConnectedFieldsEditor,
25090
25089
  {
25091
25090
  group: activeKind,
@@ -25104,7 +25103,7 @@ function ConnectedFieldsManager({
25104
25103
  "data-testid": "fields-manager-dialog",
25105
25104
  children: [
25106
25105
  /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { className: "px-4 py-3 border-b", children: [
25107
- /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldsManagerTitle, { title }) }),
25106
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldsManagerTitle, { title }) }),
25108
25107
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: "Create, edit, and delete labels and annotations for your workspace documents." })
25109
25108
  ] }),
25110
25109
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-2 border-b", children: tabHeader }),
@@ -25115,7 +25114,7 @@ function ConnectedFieldsManager({
25115
25114
  }
25116
25115
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
25117
25116
  /* @__PURE__ */ jsxRuntime.jsxs(chunk7IQDS246_cjs.DraggableHeader, { children: [
25118
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
25117
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
25119
25118
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
25120
25119
  ] }),
25121
25120
  body
@@ -25368,7 +25367,7 @@ function ConnectedBulkTagEditor({
25368
25367
  const documentsLabel = ui.getEntityLabel("DOCUMENT", "PLURAL").toLowerCase();
25369
25368
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
25370
25369
  /* @__PURE__ */ jsxRuntime.jsx(
25371
- chunkB5SEHTMC_cjs.BulkTagEditorDialog,
25370
+ chunkP4NS4LV7_cjs.BulkTagEditorDialog,
25372
25371
  {
25373
25372
  open,
25374
25373
  onClose,
@@ -25426,7 +25425,7 @@ function ConnectedBulkTagEditor({
25426
25425
  }
25427
25426
  ),
25428
25427
  /* @__PURE__ */ jsxRuntime.jsx(
25429
- chunkB5SEHTMC_cjs.BulkReplaceDialog,
25428
+ chunkP4NS4LV7_cjs.BulkReplaceDialog,
25430
25429
  {
25431
25430
  open: showGenerateConfirmation,
25432
25431
  onClose: () => setShowGenerateConfirmation(false),
@@ -25456,7 +25455,7 @@ function FolderPicker({
25456
25455
  onSelect
25457
25456
  }) {
25458
25457
  const folders = useDocumentFolders(documents, value);
25459
- return /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FolderCommandList, { folders, value, onSelect, showRemove: !!value });
25458
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FolderCommandList, { folders, value, onSelect, showRemove: !!value });
25460
25459
  }
25461
25460
  function RelatedDocuments({
25462
25461
  doc,
@@ -25489,7 +25488,7 @@ function DocTagAttribution({ doctag }) {
25489
25488
  updater && `Updated ${ui.formatFriendlyDate(doctag.updated_at)} by ${updater.given_name || updater.email}`
25490
25489
  ].filter((line) => !!line);
25491
25490
  return /* @__PURE__ */ jsxRuntime.jsx(
25492
- chunkB5SEHTMC_cjs.FieldAttribution,
25491
+ chunkP4NS4LV7_cjs.FieldAttribution,
25493
25492
  {
25494
25493
  avatar: /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user: lastUser, tooltip: false }),
25495
25494
  date: ui.formatFriendlyDate(updater ? doctag.updated_at : doctag.created_at),
@@ -25519,7 +25518,7 @@ function LabelsCombobox({
25519
25518
  else if (!appliedTagIds.has(existing.external_id)) onToggle(existing);
25520
25519
  };
25521
25520
  return /* @__PURE__ */ jsxRuntime.jsx(
25522
- chunkB5SEHTMC_cjs.FieldLabelsSelect,
25521
+ chunkP4NS4LV7_cjs.FieldLabelsSelect,
25523
25522
  {
25524
25523
  options: options2,
25525
25524
  appliedIds: appliedTagIds,
@@ -25541,15 +25540,15 @@ var METADATA_FIELDS = {
25541
25540
  };
25542
25541
  var INPUT_CLASS = "text-sm bg-muted/40 focus:bg-background transition-colors";
25543
25542
  var READ_ONLY_FIELDS = {
25544
- file_name: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "strong", children: doc.file_name || "N/A" }),
25545
- status: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: doc.status || "N/A" }),
25546
- n_pages: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: doc.n_pages || "N/A" }),
25547
- created_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: doc.created_at ? ui.formatFriendlyDate(doc.created_at) : "N/A" }),
25548
- updated_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: doc.updated_at ? ui.formatFriendlyDate(doc.updated_at) : "N/A" }),
25549
- file_type: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: ui.friendlyFileType(doc.file_type, doc.file_name) }),
25550
- file_size: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", children: doc.file_size ? `${Math.round(doc.file_size / 1024)} KB` : "N/A" }),
25551
- doc_id: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", isMono: true, children: doc.external_id || "N/A" }),
25552
- content_hash: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { tone: "muted", isMono: true, isTruncated: true, children: doc.content_hash || "N/A" })
25543
+ file_name: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "strong", children: doc.file_name || "N/A" }),
25544
+ status: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: doc.status || "N/A" }),
25545
+ n_pages: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: doc.n_pages || "N/A" }),
25546
+ created_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: doc.created_at ? ui.formatFriendlyDate(doc.created_at) : "N/A" }),
25547
+ updated_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: doc.updated_at ? ui.formatFriendlyDate(doc.updated_at) : "N/A" }),
25548
+ file_type: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: ui.friendlyFileType(doc.file_type, doc.file_name) }),
25549
+ file_size: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", children: doc.file_size ? `${Math.round(doc.file_size / 1024)} KB` : "N/A" }),
25550
+ doc_id: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", isMono: true, children: doc.external_id || "N/A" }),
25551
+ content_hash: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { tone: "muted", isMono: true, isTruncated: true, children: doc.content_hash || "N/A" })
25553
25552
  };
25554
25553
  function documentFieldContent(options2) {
25555
25554
  const { columnId, doc, canEdit, workspaceTags, getColumnLabel, getColumnIcon } = options2;
@@ -25572,7 +25571,7 @@ function documentFieldContent(options2) {
25572
25571
  placeholder: `Add ${getColumnLabel(columnId).toLowerCase()}\u2026`,
25573
25572
  className: INPUT_CLASS
25574
25573
  }
25575
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldValue, { children: metadata(doc) || "N/A" })
25574
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldValue, { children: metadata(doc) || "N/A" })
25576
25575
  );
25577
25576
  }
25578
25577
  const readOnly = READ_ONLY_FIELDS[columnId];
@@ -25581,7 +25580,7 @@ function documentFieldContent(options2) {
25581
25580
  if (columnId === "folder") {
25582
25581
  return standard(
25583
25582
  canEdit ? /* @__PURE__ */ jsxRuntime.jsx(
25584
- chunkB5SEHTMC_cjs.FieldFolderSelect,
25583
+ chunkP4NS4LV7_cjs.FieldFolderSelect,
25585
25584
  {
25586
25585
  folder: doc.folder,
25587
25586
  picker: /* @__PURE__ */ jsxRuntime.jsx(
@@ -25593,7 +25592,7 @@ function documentFieldContent(options2) {
25593
25592
  }
25594
25593
  )
25595
25594
  }
25596
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldFolderValue, { folder: doc.folder })
25595
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldFolderValue, { folder: doc.folder })
25597
25596
  );
25598
25597
  }
25599
25598
  if (columnId === "related") {
@@ -25635,7 +25634,7 @@ function documentFieldContent(options2) {
25635
25634
  let value;
25636
25635
  if (tag.tag_type.type === "select") {
25637
25636
  value = /* @__PURE__ */ jsxRuntime.jsx(
25638
- chunkB5SEHTMC_cjs.FieldNativeSelect,
25637
+ chunkP4NS4LV7_cjs.FieldNativeSelect,
25639
25638
  {
25640
25639
  value: doctag?.note || "",
25641
25640
  options: tag.tag_type.options,
@@ -25669,7 +25668,7 @@ function documentFieldContent(options2) {
25669
25668
  return {
25670
25669
  label: tag.name,
25671
25670
  tag,
25672
- children: doctag ? /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FieldWithAttribution, { attribution: /* @__PURE__ */ jsxRuntime.jsx(DocTagAttribution, { doctag }), children: value }) : value
25671
+ children: doctag ? /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FieldWithAttribution, { attribution: /* @__PURE__ */ jsxRuntime.jsx(DocTagAttribution, { doctag }), children: value }) : value
25673
25672
  };
25674
25673
  }
25675
25674
 
@@ -25772,7 +25771,7 @@ function ViewSelector({
25772
25771
  columns: defaultColumns,
25773
25772
  icon: lucideReact.Table,
25774
25773
  // Both built-ins load at the minimal (compact) row height.
25775
- rowHeight: chunkB5SEHTMC_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25774
+ rowHeight: chunkP4NS4LV7_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25776
25775
  // [] = loading this view unpins everything.
25777
25776
  pinnedLeft: []
25778
25777
  },
@@ -25783,15 +25782,15 @@ function ViewSelector({
25783
25782
  // batch-select checkbox and Title stay fixed left while scrolling.
25784
25783
  columns: defaultColumns,
25785
25784
  icon: lucideReact.Columns3,
25786
- rowHeight: chunkB5SEHTMC_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25785
+ rowHeight: chunkP4NS4LV7_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25787
25786
  pinnedLeft: DOCUMENT_VIEW_PINNED
25788
25787
  },
25789
25788
  {
25790
25789
  key: "email-default",
25791
25790
  label: "Email view",
25792
- columns: [...chunkB5SEHTMC_cjs.EMAIL_VIEW_COLUMNS],
25791
+ columns: [...chunkP4NS4LV7_cjs.EMAIL_VIEW_COLUMNS],
25793
25792
  icon: lucideReact.Mail,
25794
- rowHeight: chunkB5SEHTMC_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25793
+ rowHeight: chunkP4NS4LV7_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
25795
25794
  pinnedLeft: []
25796
25795
  }
25797
25796
  ],
@@ -25815,7 +25814,7 @@ function ViewSelector({
25815
25814
  },
25816
25815
  [confirm, workspaceId, deleteView, notify17]
25817
25816
  );
25818
- const menu = chunkB5SEHTMC_cjs.useGridViews({
25817
+ const menu = chunkP4NS4LV7_cjs.useGridViews({
25819
25818
  getGridApi,
25820
25819
  defaultColumns,
25821
25820
  builtins,
@@ -25830,7 +25829,7 @@ function ViewSelector({
25830
25829
  onDeleteView,
25831
25830
  isSaving
25832
25831
  });
25833
- return /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.ViewSelectorMenu, { ...menu });
25832
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.ViewSelectorMenu, { ...menu });
25834
25833
  }
25835
25834
  function DocumentsFilterBarActions({
25836
25835
  isModal,
@@ -25870,7 +25869,7 @@ function DocumentsFilterBarActions({
25870
25869
  ),
25871
25870
  documentsViewMode === "grid" && // The phone list is a fixed two-line layout, so row density only applies from sm up.
25872
25871
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
25873
- chunkB5SEHTMC_cjs.RowDensityControl,
25872
+ chunkP4NS4LV7_cjs.RowDensityControl,
25874
25873
  {
25875
25874
  rowHeight: documentsRowHeight,
25876
25875
  onRowHeightChange: onDocumentsRowHeightChange
@@ -26038,7 +26037,7 @@ function DocumentsUploadButton({
26038
26037
  [hasAccountProviders, onSelectSource, onEmailWorkspace, onCreateNew, onTakePhoto]
26039
26038
  );
26040
26039
  return /* @__PURE__ */ jsxRuntime.jsx(
26041
- chunkB5SEHTMC_cjs.FilesAddMenu,
26040
+ chunkP4NS4LV7_cjs.FilesAddMenu,
26042
26041
  {
26043
26042
  items,
26044
26043
  isCompact,
@@ -26059,7 +26058,7 @@ function PersistedGridView(props) {
26059
26058
  },
26060
26059
  [persistState, gridId, setGridState]
26061
26060
  );
26062
- return /* @__PURE__ */ jsxRuntime.jsx(chunkC2CWWEHO_cjs.GridView, { ...props, gridState, onGridStateChange });
26061
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkLKK52DEY_cjs.GridView, { ...props, gridState, onGridStateChange });
26063
26062
  }
26064
26063
  function ProgressiveLoadingChip() {
26065
26064
  const isLoading = react.useDocumentsLoading();
@@ -26157,7 +26156,7 @@ function ConnectedFilesPage({
26157
26156
  const deleteDocuments = react.useDeleteDocuments();
26158
26157
  const isDocumentsPending = isLoading && documents.length === 0;
26159
26158
  const { workspaceId, userId, live } = chunkT55BHIB7_cjs.useConnectedWorkspace();
26160
- const { role, members } = chunkXGCXHDZT_cjs.useConnectedWorkspaceRole();
26159
+ const { role, members } = chunkRZ3EBN7G_cjs.useConnectedWorkspaceRole();
26161
26160
  const { data: workspaces } = react.useWorkspaces({ enabled: live });
26162
26161
  const workspaceName = workspaces?.find((w) => w.external_id === workspaceId)?.name;
26163
26162
  const isMember = role != null;
@@ -26267,17 +26266,17 @@ function ConnectedFilesPage({
26267
26266
  }, [relatedDocsMap, onRelatedDocsChange]);
26268
26267
  const defaultVisibleColumns = React7.useMemo(
26269
26268
  () => [
26270
- ...chunkB5SEHTMC_cjs.DEFAULT_DOCUMENT_COLUMNS,
26269
+ ...chunkP4NS4LV7_cjs.DEFAULT_DOCUMENT_COLUMNS,
26271
26270
  ...allTags.filter(browser.isAnnotationTag).map((tag) => tag.external_id)
26272
26271
  ],
26273
26272
  [allTags]
26274
26273
  );
26275
26274
  const handleReorderColumns = React7.useCallback((ids, gridApi2) => {
26276
- if (gridApi2) chunkB5SEHTMC_cjs.applyColumnLayout(gridApi2, ids);
26275
+ if (gridApi2) chunkP4NS4LV7_cjs.applyColumnLayout(gridApi2, ids);
26277
26276
  }, []);
26278
26277
  const handleLoadView = React7.useCallback(
26279
26278
  (view, gridApi2) => {
26280
- chunkB5SEHTMC_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
26279
+ chunkP4NS4LV7_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
26281
26280
  if (typeof view.tile_size === "number") setExplorerTileSize(view.tile_size);
26282
26281
  if (typeof view.row_height === "number") setRowHeight(view.row_height);
26283
26282
  },
@@ -26370,7 +26369,7 @@ function ConnectedFilesPage({
26370
26369
  );
26371
26370
  const currentDocument = viewingDocumentId ? filteredDocuments.find((d) => d.external_id === viewingDocumentId) ?? documents.find((d) => d.external_id === viewingDocumentId) ?? null : null;
26372
26371
  const navigatorDocuments = React7.useMemo(
26373
- () => chunkB5SEHTMC_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
26372
+ () => chunkP4NS4LV7_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
26374
26373
  [filteredDocuments, explorerSort, explorerSortReversed]
26375
26374
  );
26376
26375
  const navigatorOnNavigate = React7.useCallback(
@@ -26437,7 +26436,7 @@ function ConnectedFilesPage({
26437
26436
  },
26438
26437
  rowHeight
26439
26438
  };
26440
- const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesFilterBar, { children: [
26439
+ const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesFilterBar, { children: [
26441
26440
  /* @__PURE__ */ jsxRuntime.jsx(
26442
26441
  chunk2EI7NCUA_cjs.FilterInput,
26443
26442
  {
@@ -26472,7 +26471,7 @@ function ConnectedFilesPage({
26472
26471
  ),
26473
26472
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
26474
26473
  /* @__PURE__ */ jsxRuntime.jsx(
26475
- chunkB5SEHTMC_cjs.DocumentsFolderButton,
26474
+ chunkP4NS4LV7_cjs.DocumentsFolderButton,
26476
26475
  {
26477
26476
  documents,
26478
26477
  documentFilters,
@@ -26480,7 +26479,7 @@ function ConnectedFilesPage({
26480
26479
  onNewFolder: canUpload ? handleNewFolder : void 0
26481
26480
  }
26482
26481
  ),
26483
- onOpenTags && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilesTagsButton, { onClick: onOpenTags }),
26482
+ onOpenTags && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilesTagsButton, { onClick: onOpenTags }),
26484
26483
  headerExtras
26485
26484
  ] })
26486
26485
  ] });
@@ -26503,9 +26502,9 @@ function ConnectedFilesPage({
26503
26502
  );
26504
26503
  const reviewGridId = isModal ? "documents-modal-grid-v6" : "documents-main-grid-v6";
26505
26504
  const showBulkBar = (viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator") && documents.length > 0;
26506
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesPage, { isModal, ref: setPageEl, children: [
26505
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesPage, { isModal, ref: setPageEl, children: [
26507
26506
  /* @__PURE__ */ jsxRuntime.jsx(
26508
- chunkB5SEHTMC_cjs.UrlInputDialog,
26507
+ chunkP4NS4LV7_cjs.UrlInputDialog,
26509
26508
  {
26510
26509
  open: urlDialogOpen,
26511
26510
  onOpenChange: setUrlDialogOpen,
@@ -26514,7 +26513,7 @@ function ConnectedFilesPage({
26514
26513
  titleIcon: workspaceIcon
26515
26514
  }
26516
26515
  ),
26517
- /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesPageHeader, { children: [
26516
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesPageHeader, { children: [
26518
26517
  /* @__PURE__ */ jsxRuntime.jsx(
26519
26518
  chunkMEMWZ72Y_cjs.TabHeader,
26520
26519
  {
@@ -26535,7 +26534,7 @@ function ConnectedFilesPage({
26535
26534
  activeTabId: "documents",
26536
26535
  onTabChange: () => handleViewModeChange(lastDocsViewRef.current),
26537
26536
  firstTabContent: isNarrowFilterRow ? null : documentsTabActions,
26538
- centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
26537
+ centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
26539
26538
  !isNarrowFilterRow && viewToggle,
26540
26539
  /* @__PURE__ */ jsxRuntime.jsx(ProgressiveLoadingChip, {})
26541
26540
  ] }),
@@ -26565,14 +26564,14 @@ function ConnectedFilesPage({
26565
26564
  }
26566
26565
  ),
26567
26566
  /* @__PURE__ */ jsxRuntime.jsx(
26568
- chunkB5SEHTMC_cjs.FilesToolbar,
26567
+ chunkP4NS4LV7_cjs.FilesToolbar,
26569
26568
  {
26570
26569
  className: "px-3 pb-2",
26571
26570
  rightActions: viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
26572
26571
  viewMode === "grid" ? (
26573
26572
  // ‹ n / N › over the table's displayed rows; a step opens the document.
26574
26573
  /* @__PURE__ */ jsxRuntime.jsx(
26575
- chunkG6NRTQ25_cjs.GridRowNavigator,
26574
+ chunkLFVD3CS5_cjs.GridRowNavigator,
26576
26575
  {
26577
26576
  gridApi,
26578
26577
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -26587,7 +26586,7 @@ function ConnectedFilesPage({
26587
26586
  ) : viewMode === "explorer" ? (
26588
26587
  // The same over the explorer's tiles.
26589
26588
  /* @__PURE__ */ jsxRuntime.jsx(
26590
- chunkB5SEHTMC_cjs.ExplorerFileNavigator,
26589
+ chunkP4NS4LV7_cjs.ExplorerFileNavigator,
26591
26590
  {
26592
26591
  fileIds: explorerFileIds,
26593
26592
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -26626,7 +26625,7 @@ function ConnectedFilesPage({
26626
26625
  }
26627
26626
  ),
26628
26627
  viewMode === "navigator" && currentDocument && /* @__PURE__ */ jsxRuntime.jsx(
26629
- chunkB5SEHTMC_cjs.NavigatorPickerBar,
26628
+ chunkP4NS4LV7_cjs.NavigatorPickerBar,
26630
26629
  {
26631
26630
  currentDocument,
26632
26631
  documents: navigatorDocuments,
@@ -26638,11 +26637,11 @@ function ConnectedFilesPage({
26638
26637
  }
26639
26638
  )
26640
26639
  ] }),
26641
- /* @__PURE__ */ jsxRuntime.jsxs(chunkB5SEHTMC_cjs.FilesPageMain, { children: [
26640
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkP4NS4LV7_cjs.FilesPageMain, { children: [
26642
26641
  viewMode === "grid" && /* @__PURE__ */ jsxRuntime.jsx(
26643
- chunkB5SEHTMC_cjs.DocumentGrid,
26642
+ chunkP4NS4LV7_cjs.DocumentGrid,
26644
26643
  {
26645
- layout: chunkB5SEHTMC_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
26644
+ layout: chunkP4NS4LV7_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
26646
26645
  presets: gridPresets,
26647
26646
  GridComponent,
26648
26647
  showEmptyWorkspace: documents.length === 0 && !isLoading && isMember,
@@ -26735,7 +26734,7 @@ function ConnectedFilesPage({
26735
26734
  onProduce
26736
26735
  }
26737
26736
  ),
26738
- isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
26737
+ isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
26739
26738
  /* @__PURE__ */ jsxRuntime.jsx(
26740
26739
  chunkSI222Z3A_cjs.ConfirmDialog,
26741
26740
  {
@@ -26746,7 +26745,7 @@ function ConnectedFilesPage({
26746
26745
  requestDelete(null);
26747
26746
  },
26748
26747
  title: "Delete Document",
26749
- description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkB5SEHTMC_cjs.RECENTLY_DELETED_HINT}` : "",
26748
+ description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkP4NS4LV7_cjs.RECENTLY_DELETED_HINT}` : "",
26750
26749
  confirmText: "Delete",
26751
26750
  variant: "destructive"
26752
26751
  }
@@ -27231,10 +27230,10 @@ function ConnectedChatThread({
27231
27230
  };
27232
27231
  const History = host.ThreadHistory;
27233
27232
  return /* @__PURE__ */ jsxRuntime.jsx(
27234
- chunkHJQLVCIK_cjs.DmThreadFrame,
27233
+ chunkWUG24K7P_cjs.DmThreadFrame,
27235
27234
  {
27236
27235
  accessBanner: pendingAccessRequest ? /* @__PURE__ */ jsxRuntime.jsx(
27237
- chunkHJQLVCIK_cjs.DmAccessRequestBanner,
27236
+ chunkWUG24K7P_cjs.DmAccessRequestBanner,
27238
27237
  {
27239
27238
  name: peer?.given_name ?? "They",
27240
27239
  onReview: () => host.onReviewAccessRequest?.(pendingAccessRequest)
@@ -28110,7 +28109,7 @@ function ConnectedConfigForm({ availableModels, ...rest }) {
28110
28109
  ({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
28111
28110
  []
28112
28111
  );
28113
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
28112
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
28114
28113
  }
28115
28114
  function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
28116
28115
  const { notify: notify17 } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
@@ -28227,7 +28226,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
28227
28226
  }, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
28228
28227
  if (editAgent) {
28229
28228
  return /* @__PURE__ */ jsxRuntime.jsx(
28230
- chunkHPUEYVG3_cjs.AgentEditView,
28229
+ chunkUR6DWL4L_cjs.AgentEditView,
28231
28230
  {
28232
28231
  agentName: editAgent.name,
28233
28232
  config: /* @__PURE__ */ jsxRuntime.jsx(
@@ -28243,7 +28242,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
28243
28242
  }
28244
28243
  if (view === "main") {
28245
28244
  return /* @__PURE__ */ jsxRuntime.jsx(
28246
- chunkHPUEYVG3_cjs.AgentMainView,
28245
+ chunkUR6DWL4L_cjs.AgentMainView,
28247
28246
  {
28248
28247
  onConnectExternal: () => setView("connect"),
28249
28248
  config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -28259,11 +28258,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
28259
28258
  }
28260
28259
  if (result) {
28261
28260
  return /* @__PURE__ */ jsxRuntime.jsx(
28262
- chunkHPUEYVG3_cjs.AgentCreatedView,
28261
+ chunkUR6DWL4L_cjs.AgentCreatedView,
28263
28262
  {
28264
28263
  email: result.email,
28265
28264
  signingKey: result.signingKey,
28266
- instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
28265
+ instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
28267
28266
  config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
28268
28267
  isConfigOpen: configOpen,
28269
28268
  onToggleConfig: () => setConfigOpen((v) => !v),
@@ -28272,7 +28271,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
28272
28271
  );
28273
28272
  }
28274
28273
  return /* @__PURE__ */ jsxRuntime.jsx(
28275
- chunkHPUEYVG3_cjs.AgentCreateView,
28274
+ chunkUR6DWL4L_cjs.AgentCreateView,
28276
28275
  {
28277
28276
  name,
28278
28277
  onNameChange: setName,
@@ -29054,7 +29053,7 @@ var ConversationEntity = React7.memo(function ConversationEntity2({
29054
29053
  );
29055
29054
  const icon2 = /* @__PURE__ */ jsxRuntime.jsx(ui.ThreadVisibilityIcon, { shared: isShared, className: `${iconSizeClass} shrink-0` });
29056
29055
  return /* @__PURE__ */ jsxRuntime.jsx(
29057
- chunkHPUEYVG3_cjs.EntityChip,
29056
+ chunkUR6DWL4L_cjs.EntityChip,
29058
29057
  {
29059
29058
  variant,
29060
29059
  icon: icon2,
@@ -29076,7 +29075,7 @@ function WorkflowRunStatusCell({ conversation }) {
29076
29075
  });
29077
29076
  const { data: members = [] } = react.useWorkspaceUsers();
29078
29077
  const me = react.useArbiSession().user?.external_id;
29079
- const steps = chunkHPUEYVG3_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
29078
+ const steps = chunkUR6DWL4L_cjs.fromPlanSteps(conversation.plan?.steps ?? []);
29080
29079
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
29081
29080
  const nameOf = (id) => {
29082
29081
  if (id === me) return "you";
@@ -29084,7 +29083,7 @@ function WorkflowRunStatusCell({ conversation }) {
29084
29083
  return person ? ui.getUserDisplayName(person) : void 0;
29085
29084
  };
29086
29085
  return /* @__PURE__ */ jsxRuntime.jsx(
29087
- chunkHPUEYVG3_cjs.WorkflowRunStatus,
29086
+ chunkUR6DWL4L_cjs.WorkflowRunStatus,
29088
29087
  {
29089
29088
  steps,
29090
29089
  states,
@@ -29118,7 +29117,7 @@ function ConversationStatusCell({ conversation }) {
29118
29117
  if (conversation.plan?.steps?.length && !isLiveGenerating)
29119
29118
  return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
29120
29119
  return /* @__PURE__ */ jsxRuntime.jsx(
29121
- chunkHPUEYVG3_cjs.ThreadStatusLine,
29120
+ chunkUR6DWL4L_cjs.ThreadStatusLine,
29122
29121
  {
29123
29122
  state: threadStateOf(conversation, isLiveGenerating),
29124
29123
  className: "h-full",
@@ -29406,7 +29405,7 @@ function useThreadLabels(canEditShared) {
29406
29405
  ).map((label) => label.id)
29407
29406
  );
29408
29407
  return /* @__PURE__ */ jsxRuntime.jsx(
29409
- chunkB5SEHTMC_cjs.BulkLabelSelectView,
29408
+ chunkP4NS4LV7_cjs.BulkLabelSelectView,
29410
29409
  {
29411
29410
  options: options2,
29412
29411
  appliedIds: all,
@@ -29450,16 +29449,16 @@ function useConnectedThreadActivity(conversationId) {
29450
29449
  const openWorkflow = chunkZLSMS6OK_cjs.useOpenWorkflow();
29451
29450
  const workspaceExtId = react.useArbiSessionState((s) => s.workspaceId);
29452
29451
  const task = conversations.find((c) => c.external_id === conversationId);
29453
- const latestMessageAt = chunkHPUEYVG3_cjs.latestMessageTime(messageHistory);
29452
+ const latestMessageAt = chunkUR6DWL4L_cjs.latestMessageTime(messageHistory);
29454
29453
  const events = (activity.data ?? []).filter(
29455
- (event) => !chunkHPUEYVG3_cjs.isSupersededStop(event, latestMessageAt)
29454
+ (event) => !chunkUR6DWL4L_cjs.isSupersededStop(event, latestMessageAt)
29456
29455
  );
29457
29456
  const personName = (extId) => {
29458
29457
  const person = members.find((m) => m.user.external_id === extId)?.user;
29459
29458
  return person ? ui.getUserDisplayName(person) : "someone";
29460
29459
  };
29461
- const planSteps = chunkHPUEYVG3_cjs.fromPlanSteps(task?.plan?.steps ?? []);
29462
- const entries = chunkHPUEYVG3_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
29460
+ const planSteps = chunkUR6DWL4L_cjs.fromPlanSteps(task?.plan?.steps ?? []);
29461
+ const entries = chunkUR6DWL4L_cjs.compactThreadActivity(events, (id) => planSteps.find((s) => s.id === id)?.title);
29463
29462
  const items = entries.map(({ event, label, recipients }) => {
29464
29463
  const messageActivity = [
29465
29464
  "created",
@@ -29485,7 +29484,7 @@ function useConnectedThreadActivity(conversationId) {
29485
29484
  const messageId = sourceMessage ?? [...messageHistory].reverse().find((message) => Date.parse(message.created_at ?? "") <= Date.parse(event.created_at))?.external_id ?? messageHistory[0]?.external_id;
29486
29485
  const doc = docId ? docs.find((d) => d.external_id === docId) : void 0;
29487
29486
  const mailDraftId = event.kind === "notified" && event.detail?.event === "mail_draft_ready" && typeof event.detail?.mail_id === "string" ? event.detail.mail_id : void 0;
29488
- const missed = event.kind === "notified" && recipients.length ? chunkHPUEYVG3_cjs.unnotifiedMentions(
29487
+ const missed = event.kind === "notified" && recipients.length ? chunkUR6DWL4L_cjs.unnotifiedMentions(
29489
29488
  messageHistory.find((message) => message.external_id === sourceMessage)?.mentions,
29490
29489
  recipients,
29491
29490
  event.actor_ext_id
@@ -29518,7 +29517,7 @@ function useConnectedThreadActivity(conversationId) {
29518
29517
  ) : void 0,
29519
29518
  docId,
29520
29519
  docTitle: doc ? ui.getDocumentTitle(doc) : void 0,
29521
- label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkHPUEYVG3_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
29520
+ label: mailDraftId ? "Left a draft email" : event.kind === "notified" && recipients.length ? chunkUR6DWL4L_cjs.notifiedLabel(recipients.map(personName), missed.map(personName)) : label,
29522
29521
  description: [
29523
29522
  name,
29524
29523
  label,
@@ -29532,7 +29531,7 @@ function useConnectedThreadActivity(conversationId) {
29532
29531
  stepChip: eventStep ? stepChipOf(eventStep, event.kind, stepDocument) : void 0,
29533
29532
  // No avatar tooltip: the entry is already a button (or titled row) that carries the same
29534
29533
  // details, and a tooltip trigger inside it would be a nested <button>.
29535
- avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_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" }),
29534
+ avatar: assistant ? /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_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" }),
29536
29535
  time: react.formatRelativeTime(event.created_at, { style: "short" }),
29537
29536
  exactTime: ui.formatFriendlyDate(event.created_at),
29538
29537
  onOpenDocument: docId && doc ? () => openDocument(docId) : void 0,
@@ -29581,7 +29580,7 @@ function useConnectedThreadActivity(conversationId) {
29581
29580
  onSelect: () => navigateToConversation(source)
29582
29581
  });
29583
29582
  }
29584
- const links = chunkHPUEYVG3_cjs.linkedRunsFromActivity(activity.data);
29583
+ const links = chunkUR6DWL4L_cjs.linkedRunsFromActivity(activity.data);
29585
29584
  const threadName = (id, workflowId) => conversations.find((c) => c.external_id === id)?.title || workflows.find((w) => w.external_id === workflowId)?.name || "Linked thread";
29586
29585
  const signals = links.raised.map((raised) => ({
29587
29586
  step: raised.step,
@@ -29596,7 +29595,7 @@ function useConnectedThreadActivity(conversationId) {
29596
29595
  if (links.startedBy) {
29597
29596
  const { conversationId: parentId, step, signal } = links.startedBy;
29598
29597
  const parent = conversations.find((c) => c.external_id === parentId);
29599
- const parentSteps = chunkHPUEYVG3_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
29598
+ const parentSteps = chunkUR6DWL4L_cjs.fromPlanSteps(parent?.plan?.steps ?? []);
29600
29599
  startedBy = {
29601
29600
  stepTitle: parentSteps.find((s) => s.id === step)?.title ?? step ?? "a step",
29602
29601
  threadTitle: parent?.title || "another thread",
@@ -29629,7 +29628,7 @@ function ConnectedThreadTaskBar({
29629
29628
  const person = members.find((m) => m.user.external_id === id)?.user;
29630
29629
  return person ? ui.getUserDisplayName(person) : void 0;
29631
29630
  };
29632
- const steps = chunkHPUEYVG3_cjs.fromPlanSteps(task?.plan?.steps ?? []);
29631
+ const steps = chunkUR6DWL4L_cjs.fromPlanSteps(task?.plan?.steps ?? []);
29633
29632
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
29634
29633
  const runInputs = task?.skill_inputs ?? {};
29635
29634
  const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
@@ -29655,7 +29654,7 @@ function ConnectedThreadTaskBar({
29655
29654
  task?.plan?.steps?.length ? (
29656
29655
  // A workflow run: its named steps, with what happened in the thread under each.
29657
29656
  /* @__PURE__ */ jsxRuntime.jsx(
29658
- chunkHPUEYVG3_cjs.WorkflowThreadStrip,
29657
+ chunkUR6DWL4L_cjs.WorkflowThreadStrip,
29659
29658
  {
29660
29659
  steps,
29661
29660
  states,
@@ -29682,7 +29681,7 @@ function ConnectedThreadTaskBar({
29682
29681
  renderStepAction: (step, phase) => (
29683
29682
  // A signer or a draft's person acts on their step even on a thread they cannot edit.
29684
29683
  canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
29685
- chunkHPUEYVG3_cjs.WorkflowStepAction,
29684
+ chunkUR6DWL4L_cjs.WorkflowStepAction,
29686
29685
  {
29687
29686
  step,
29688
29687
  phase,
@@ -29703,8 +29702,8 @@ function ConnectedThreadTaskBar({
29703
29702
  }
29704
29703
  )
29705
29704
  ) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
29706
- startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
29707
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
29705
+ startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
29706
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
29708
29707
  ] }) : (
29709
29708
  // Ordinary chats record no activity events, so an empty ribbon says nothing rather than
29710
29709
  // "No recorded activity yet" while the answer and its steps are right there in the thread.
@@ -29738,7 +29737,7 @@ function ConnectedThreadTaskBar({
29738
29737
  ) }),
29739
29738
  /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuContent, { align: "end", children: [
29740
29739
  /* @__PURE__ */ jsxRuntime.jsx(
29741
- chunkG6NRTQ25_cjs.ThreadFollowMenuItem,
29740
+ chunkLFVD3CS5_cjs.ThreadFollowMenuItem,
29742
29741
  {
29743
29742
  following: follow.following,
29744
29743
  onFollowingChange: (on) => (
@@ -29817,25 +29816,25 @@ function useSkillsEnabled() {
29817
29816
  // src/connection/workflows/useWorkflowDefinitions.ts
29818
29817
  function useWorkflowDefinitions() {
29819
29818
  const { data: listings } = react.useSkills();
29820
- const usage = chunkHPUEYVG3_cjs.useWorkflowUsage();
29819
+ const usage = chunkUR6DWL4L_cjs.useWorkflowUsage();
29821
29820
  const skillsEnabled = useSkillsEnabled();
29822
29821
  return React7.useMemo(() => {
29823
29822
  const { host: builtins, skills: fromServer } = chunk76L6LOP3_cjs.mergeSkillWorkflows(
29824
- chunkHPUEYVG3_cjs.WEB_WORKFLOWS,
29823
+ chunkUR6DWL4L_cjs.WEB_WORKFLOWS,
29825
29824
  listings ?? []
29826
29825
  );
29827
29826
  const all = [...builtins, ...fromServer];
29828
29827
  const byId = new Map(all.map((w) => [w.id, w]));
29829
- const pinned = chunkHPUEYVG3_cjs.DASHBOARD_PINNED.flatMap((id) => {
29828
+ const pinned = chunkUR6DWL4L_cjs.DASHBOARD_PINNED.flatMap((id) => {
29830
29829
  const w = byId.get(id);
29831
29830
  return w ? [w] : [];
29832
29831
  });
29833
29832
  return {
29834
29833
  skills: all,
29835
29834
  skillsEnabled,
29836
- start: skillsEnabled ? [...builtins, ...chunkHPUEYVG3_cjs.sortByRecentUse(fromServer, usage)] : [],
29837
- dashboard: [...pinned, ...chunkHPUEYVG3_cjs.DASHBOARD_OPERATIONS],
29838
- forTasks: [chunkHPUEYVG3_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkHPUEYVG3_cjs.REMIND_TASK]
29835
+ start: skillsEnabled ? [...builtins, ...chunkUR6DWL4L_cjs.sortByRecentUse(fromServer, usage)] : [],
29836
+ dashboard: [...pinned, ...chunkUR6DWL4L_cjs.DASHBOARD_OPERATIONS],
29837
+ forTasks: [chunkUR6DWL4L_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkUR6DWL4L_cjs.REMIND_TASK]
29839
29838
  };
29840
29839
  }, [listings, usage, skillsEnabled]);
29841
29840
  }
@@ -29863,7 +29862,7 @@ function useWorkflowTasks() {
29863
29862
  );
29864
29863
  const create3 = React7.useCallback(
29865
29864
  async (ctx, forceWorkflow = false) => {
29866
- const request = chunkHPUEYVG3_cjs.taskComposerToCreateRequest(
29865
+ const request = chunkUR6DWL4L_cjs.taskComposerToCreateRequest(
29867
29866
  { ...ctx, documentTitles, plan: ctx.plan ?? null },
29868
29867
  activeWorkspaceId ?? void 0,
29869
29868
  forceWorkflow
@@ -29905,7 +29904,7 @@ function useWorkflowTasks() {
29905
29904
  );
29906
29905
  const update = React7.useCallback(
29907
29906
  async (task, ctx) => {
29908
- const patch = chunkHPUEYVG3_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
29907
+ const patch = chunkUR6DWL4L_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
29909
29908
  if (task.is_owner === false) delete patch.shared;
29910
29909
  await updateConversation.mutateAsync({ conversationId: task.external_id, patch });
29911
29910
  },
@@ -29913,7 +29912,7 @@ function useWorkflowTasks() {
29913
29912
  );
29914
29913
  const updateWorkflow = React7.useCallback(
29915
29914
  async (workflow, ctx) => {
29916
- const patch = chunkHPUEYVG3_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
29915
+ const patch = chunkUR6DWL4L_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
29917
29916
  if (workflow.is_owner === false) delete patch.shared;
29918
29917
  const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId;
29919
29918
  const updated = await updateWorkflowMutation.mutateAsync({
@@ -30028,7 +30027,7 @@ function ConnectedTaskComposer({
30028
30027
  const { tasks: allTasks } = react.useWorkItems();
30029
30028
  const { data: documents = [] } = react.useDocuments();
30030
30029
  const { create: create3, update, updateWorkflow, isPending } = useWorkflowTasks();
30031
- const scopeSource = chunkXGCXHDZT_cjs.useConnectedWorkflowScopeSource();
30030
+ const scopeSource = chunkRZ3EBN7G_cjs.useConnectedWorkflowScopeSource();
30032
30031
  const activeWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
30033
30032
  const activeWorkspace = React7.useMemo(
30034
30033
  () => workspaces.find((w) => w.external_id === activeWorkspaceId) ?? null,
@@ -30045,7 +30044,7 @@ function ConnectedTaskComposer({
30045
30044
  const label = (t) => t.title?.trim() || "Untitled task";
30046
30045
  if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
30047
30046
  const subject = task ?? { external_id: "__new__" };
30048
- return chunkHPUEYVG3_cjs.moveTargets(
30047
+ return chunkUR6DWL4L_cjs.moveTargets(
30049
30048
  [...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
30050
30049
  subject
30051
30050
  ).map((t) => ({ id: t.external_id, name: label(t) }));
@@ -30060,33 +30059,33 @@ function ConnectedTaskComposer({
30060
30059
  );
30061
30060
  const initialValues = React7.useMemo(() => {
30062
30061
  const ids = {
30063
- customWorkflowId: chunkHPUEYVG3_cjs.CUSTOM_TASK_ID,
30064
- reminderWorkflowId: chunkHPUEYVG3_cjs.REMIND_TASK_ID,
30062
+ customWorkflowId: chunkUR6DWL4L_cjs.CUSTOM_TASK_ID,
30063
+ reminderWorkflowId: chunkUR6DWL4L_cjs.REMIND_TASK_ID,
30065
30064
  definitions: forTasks
30066
30065
  };
30067
30066
  const base = launchWorkflow ? {
30068
- ...chunkHPUEYVG3_cjs.workflowToComposerValues(launchWorkflow, ids),
30067
+ ...chunkUR6DWL4L_cjs.workflowToComposerValues(launchWorkflow, ids),
30069
30068
  when: "once",
30070
30069
  runAt: "",
30071
30070
  rrule: "",
30072
30071
  eventKind: "",
30073
30072
  afterTaskId: "",
30074
30073
  name: ""
30075
- } : editingWorkflow ? chunkHPUEYVG3_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkHPUEYVG3_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
30074
+ } : editingWorkflow ? chunkUR6DWL4L_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkUR6DWL4L_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
30076
30075
  // Run now is the default start; scheduling is the fallback in the same field.
30077
30076
  assignee: "agent",
30078
- workflowId: initialWorkflowId ?? chunkHPUEYVG3_cjs.CUSTOM_TASK_ID,
30077
+ workflowId: initialWorkflowId ?? chunkUR6DWL4L_cjs.CUSTOM_TASK_ID,
30079
30078
  when: startLater ? "once" : "now",
30080
30079
  ...initialPrompt ? {
30081
30080
  inputs: {
30082
- [initialWorkflowId === chunkHPUEYVG3_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
30081
+ [initialWorkflowId === chunkUR6DWL4L_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
30083
30082
  }
30084
30083
  } : {},
30085
30084
  // A scheduled run needs an agent: the owner's Assistant unless another is picked.
30086
30085
  ...startLater && defaultAgentId ? { agentId: defaultAgentId } : {}
30087
30086
  } : initialAgentExtId ? (
30088
30087
  // Assigning an agent means agentic work: the free instruction, and tell me when done.
30089
- { agentId: initialAgentExtId, workflowId: chunkHPUEYVG3_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
30088
+ { agentId: initialAgentExtId, workflowId: chunkUR6DWL4L_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
30090
30089
  ) : {};
30091
30090
  return {
30092
30091
  timezone: chunkQUMUAJ2P_cjs.detectTimeZone(),
@@ -30147,7 +30146,7 @@ function ConnectedTaskComposer({
30147
30146
  const ctx = {
30148
30147
  workflow: chosen,
30149
30148
  values: submitted,
30150
- plan: chosen.id === chunkHPUEYVG3_cjs.CUSTOM_TASK_ID ? plan : null
30149
+ plan: chosen.id === chunkUR6DWL4L_cjs.CUSTOM_TASK_ID ? plan : null
30151
30150
  };
30152
30151
  try {
30153
30152
  if (isWorkflow && editingWorkflow && !options2?.runOnce) {
@@ -30183,7 +30182,7 @@ function ConnectedTaskComposer({
30183
30182
  }
30184
30183
  };
30185
30184
  return /* @__PURE__ */ jsxRuntime.jsx(
30186
- chunkHPUEYVG3_cjs.TaskComposer,
30185
+ chunkUR6DWL4L_cjs.TaskComposer,
30187
30186
  {
30188
30187
  open,
30189
30188
  onOpenChange,
@@ -30197,15 +30196,15 @@ function ConnectedTaskComposer({
30197
30196
  tasks: taskOptions,
30198
30197
  initialValues,
30199
30198
  timezones,
30200
- eventOptions: chunkHPUEYVG3_cjs.AUTOMATION_EVENTS,
30199
+ eventOptions: chunkUR6DWL4L_cjs.AUTOMATION_EVENTS,
30201
30200
  eventWorkflowOptions: workspaceAutomations.filter((item) => item.external_id !== editingWorkflow?.external_id).map((item) => ({ id: item.external_id, label: item.name })),
30202
30201
  isPending,
30203
30202
  planDrafting: planWork.isPending,
30204
30203
  hasPlan: plan !== null,
30205
- renderIcon: chunkHPUEYVG3_cjs.renderWorkflowIcon,
30204
+ renderIcon: chunkUR6DWL4L_cjs.renderWorkflowIcon,
30206
30205
  scopeSource,
30207
30206
  renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
30208
- chunkXGCXHDZT_cjs.ConnectedWorkflowDocumentsField,
30207
+ chunkRZ3EBN7G_cjs.ConnectedWorkflowDocumentsField,
30209
30208
  {
30210
30209
  field,
30211
30210
  value,
@@ -30236,8 +30235,8 @@ function ConnectedTaskComposer({
30236
30235
  ...plan ? { addAndStart: "Approve plan and start", addAndSchedule: "Approve plan and schedule" } : {}
30237
30236
  },
30238
30237
  onSubmit: submit,
30239
- goal: (values) => values.workflowId === chunkHPUEYVG3_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
30240
- chunkHPUEYVG3_cjs.TaskPlan,
30238
+ goal: (values) => values.workflowId === chunkUR6DWL4L_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
30239
+ chunkUR6DWL4L_cjs.TaskPlan,
30241
30240
  {
30242
30241
  plan,
30243
30242
  onChange: setPlan,
@@ -30437,7 +30436,7 @@ function ConnectedTaskStartDialog({
30437
30436
  };
30438
30437
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30439
30438
  /* @__PURE__ */ jsxRuntime.jsx(
30440
- chunkHPUEYVG3_cjs.TaskStartDialog,
30439
+ chunkUR6DWL4L_cjs.TaskStartDialog,
30441
30440
  {
30442
30441
  open: open && !later,
30443
30442
  onOpenChange: (next) => {
@@ -30469,7 +30468,7 @@ function ConnectedTaskStartDialog({
30469
30468
  kind: "workflow",
30470
30469
  startLater: true,
30471
30470
  initialPrompt: later.prompt,
30472
- initialWorkflowId: later.todo ? chunkHPUEYVG3_cjs.REMIND_TASK_ID : void 0,
30471
+ initialWorkflowId: later.todo ? chunkUR6DWL4L_cjs.REMIND_TASK_ID : void 0,
30473
30472
  initialShared: later.shared,
30474
30473
  launchWorkflow: later.workflow
30475
30474
  }
@@ -30483,7 +30482,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
30483
30482
  const [later, setLater] = React7.useState(null);
30484
30483
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
30485
30484
  /* @__PURE__ */ jsxRuntime.jsx(
30486
- chunkHPUEYVG3_cjs.ThreadLauncher,
30485
+ chunkUR6DWL4L_cjs.ThreadLauncher,
30487
30486
  {
30488
30487
  workflows: task.workflows,
30489
30488
  people: task.people,
@@ -30520,7 +30519,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
30520
30519
  kind: "workflow",
30521
30520
  startLater: true,
30522
30521
  initialPrompt: later.prompt,
30523
- initialWorkflowId: later.todo ? chunkHPUEYVG3_cjs.REMIND_TASK_ID : void 0,
30522
+ initialWorkflowId: later.todo ? chunkUR6DWL4L_cjs.REMIND_TASK_ID : void 0,
30524
30523
  initialShared: later.shared,
30525
30524
  launchWorkflow: later.workflow
30526
30525
  }
@@ -30549,13 +30548,13 @@ function ConnectedNewThreadDialog({
30549
30548
  });
30550
30549
  const parentOptions = React7.useMemo(() => {
30551
30550
  const leaf = { external_id: "__new__" };
30552
- return chunkHPUEYVG3_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
30551
+ return chunkUR6DWL4L_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
30553
30552
  id: t.external_id,
30554
30553
  name: t.title?.trim() || "Untitled task"
30555
30554
  }));
30556
30555
  }, [tasks]);
30557
30556
  const submit = async (values) => {
30558
- const request = chunkHPUEYVG3_cjs.newThreadToRequest(values);
30557
+ const request = chunkUR6DWL4L_cjs.newThreadToRequest(values);
30559
30558
  try {
30560
30559
  if (!workspaceId) throw new Error("Open a workspace to add a task.");
30561
30560
  if (!request.startAssistant && request.todo) {
@@ -30596,7 +30595,7 @@ function ConnectedNewThreadDialog({
30596
30595
  }
30597
30596
  };
30598
30597
  return /* @__PURE__ */ jsxRuntime.jsx(
30599
- chunkHPUEYVG3_cjs.NewThreadDialog,
30598
+ chunkUR6DWL4L_cjs.NewThreadDialog,
30600
30599
  {
30601
30600
  open,
30602
30601
  onOpenChange,
@@ -30631,7 +30630,7 @@ function useRenderTaskPerson() {
30631
30630
  return React7.useCallback(
30632
30631
  (person) => {
30633
30632
  const user = person.id ? byId.get(person.id) : void 0;
30634
- return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkI5UQUMUL_cjs.PersonPill, { person });
30633
+ return user ? /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkG6GUMZOZ_cjs.PersonPill, { person });
30635
30634
  },
30636
30635
  [byId]
30637
30636
  );
@@ -30641,14 +30640,14 @@ var referencesOf = (inputs) => {
30641
30640
  return value?.documents ?? [];
30642
30641
  };
30643
30642
  var PROMPT_BINDINGS = {
30644
- [chunkHPUEYVG3_cjs.GENERATE_IMAGE_ID]: {
30643
+ [chunkUR6DWL4L_cjs.GENERATE_IMAGE_ID]: {
30645
30644
  attachScope: false,
30646
30645
  tools: (inputs) => {
30647
30646
  const aspectRatio = typeof inputs.aspect_ratio === "string" ? inputs.aspect_ratio : "";
30648
30647
  return {
30649
30648
  retrieval_chunk: browser.buildRetrievalChunkTool([]),
30650
30649
  retrieval_full_context: browser.buildRetrievalFullContextTool(referencesOf(inputs)),
30651
- ...aspectRatio && aspectRatio !== chunkHPUEYVG3_cjs.IMAGE_ASPECT_AUTO ? {
30650
+ ...aspectRatio && aspectRatio !== chunkUR6DWL4L_cjs.IMAGE_ASPECT_AUTO ? {
30652
30651
  image_generation: {
30653
30652
  name: "image_generation",
30654
30653
  description: "image generation",
@@ -30669,7 +30668,7 @@ var text = (inputs, name) => {
30669
30668
  function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
30670
30669
  const { data: documents = [] } = react.useDocuments();
30671
30670
  const { data: workspaceTags = [] } = react.useTags();
30672
- const tags = React7.useMemo(() => chunkI5UQUMUL_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
30671
+ const tags = React7.useMemo(() => chunkG6GUMZOZ_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
30673
30672
  const createTag = react.useCreateTag();
30674
30673
  const updateTag = react.useUpdateTag();
30675
30674
  const generate = react.useGenerateDocTags();
@@ -30680,8 +30679,8 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
30680
30679
  const annotate = React7.useCallback(
30681
30680
  async ({ inputs, scope }) => {
30682
30681
  const description = text(inputs, "description");
30683
- const name = text(inputs, "name") || chunkHPUEYVG3_cjs.deriveAnnotationName(description);
30684
- const matching = chunkI5UQUMUL_cjs.matchWorkflowScope(documents, scope);
30682
+ const name = text(inputs, "name") || chunkUR6DWL4L_cjs.deriveAnnotationName(description);
30683
+ const matching = chunkG6GUMZOZ_cjs.matchWorkflowScope(documents, scope);
30685
30684
  if (!name || !description || matching.length === 0) return;
30686
30685
  try {
30687
30686
  const existing = tags.find((t) => t.name.toLowerCase() === name.toLowerCase());
@@ -30724,9 +30723,9 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
30724
30723
  async (launch) => {
30725
30724
  const { workflow, inputs, scope, agentId } = launch;
30726
30725
  if (workflow.run.kind === "operation") {
30727
- if (workflow.id === chunkHPUEYVG3_cjs.ANNOTATE_ID) {
30726
+ if (workflow.id === chunkUR6DWL4L_cjs.ANNOTATE_ID) {
30728
30727
  await annotate(launch);
30729
- chunkHPUEYVG3_cjs.recordWorkflowUse(workflow.id);
30728
+ chunkUR6DWL4L_cjs.recordWorkflowUse(workflow.id);
30730
30729
  return;
30731
30730
  }
30732
30731
  throw new Error(`No host handler for workflow "${workflow.id}"`);
@@ -30736,7 +30735,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
30736
30735
  );
30737
30736
  const prompt = chunk76L6LOP3_cjs.composeWorkflowPrompt(workflow, inputs, { documentTitles });
30738
30737
  if (!prompt) return;
30739
- chunkHPUEYVG3_cjs.recordWorkflowUse(workflow.id);
30738
+ chunkUR6DWL4L_cjs.recordWorkflowUse(workflow.id);
30740
30739
  if (agentId) {
30741
30740
  try {
30742
30741
  const created = await createTask({
@@ -30781,7 +30780,7 @@ function useLaunchWorkflow({ landing: surfaceLanding } = {}) {
30781
30780
  const binding = PROMPT_BINDINGS[workflow.id];
30782
30781
  if (!inPlace) openNewConversation();
30783
30782
  if (binding?.attachScope !== false && !chunk76L6LOP3_cjs.isEmptyWorkflowScope(scope)) {
30784
- const ids = chunkI5UQUMUL_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
30783
+ const ids = chunkG6GUMZOZ_cjs.matchWorkflowScope(documents, scope).map((d) => d.external_id);
30785
30784
  if (ids.length > 0) {
30786
30785
  session.setConversationDocuments(
30787
30786
  inPlace ? session.getState().conversationId ?? "new" : "new",
@@ -30822,7 +30821,7 @@ function resolveLaunchInputs(workflow, request) {
30822
30821
  function useWorkflowLaunch() {
30823
30822
  const { skills } = useWorkflowDefinitions();
30824
30823
  const launch = React7.useCallback(
30825
- (workflowId, options2 = {}) => chunkHPUEYVG3_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
30824
+ (workflowId, options2 = {}) => chunkUR6DWL4L_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
30826
30825
  []
30827
30826
  );
30828
30827
  const itemsFor = React7.useCallback(
@@ -30860,30 +30859,30 @@ function ConnectedWorkflowStart({
30860
30859
  const onLaunch = useLaunchWorkflow({ landing });
30861
30860
  const { openUpload } = chunkZLSMS6OK_cjs.useBlocksEnvironment();
30862
30861
  const { data: workspaceTags = [] } = react.useTags();
30863
- const tags = React7.useMemo(() => chunkI5UQUMUL_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
30862
+ const tags = React7.useMemo(() => chunkG6GUMZOZ_cjs.documentScopeLabels(workspaceTags), [workspaceTags]);
30864
30863
  const fieldPlaceholder = React7.useCallback(
30865
30864
  (field, inputs, workflow) => {
30866
- if (workflow.id !== chunkHPUEYVG3_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
30867
- const derived = chunkHPUEYVG3_cjs.deriveAnnotationName(String(inputs.description ?? ""));
30865
+ if (workflow.id !== chunkUR6DWL4L_cjs.ANNOTATE_ID || field.name !== "name") return void 0;
30866
+ const derived = chunkUR6DWL4L_cjs.deriveAnnotationName(String(inputs.description ?? ""));
30868
30867
  return derived ? `Otherwise \u201C${derived}\u201D` : "Taken from the description";
30869
30868
  },
30870
30869
  []
30871
30870
  );
30872
30871
  return /* @__PURE__ */ jsxRuntime.jsx(
30873
- chunkXGCXHDZT_cjs.ConnectedWorkflowLauncher,
30872
+ chunkRZ3EBN7G_cjs.ConnectedWorkflowLauncher,
30874
30873
  {
30875
30874
  ...rest,
30876
30875
  workflows,
30877
30876
  onLaunch,
30878
- renderIcon: chunkHPUEYVG3_cjs.renderWorkflowIcon,
30877
+ renderIcon: chunkUR6DWL4L_cjs.renderWorkflowIcon,
30879
30878
  onAddFiles: openUpload,
30880
30879
  agentLabels: AGENT_LABELS,
30881
30880
  addFilesAction,
30882
30881
  fieldPlaceholder,
30883
- submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkHPUEYVG3_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
30882
+ submitLabel: ({ workflow, matchedCount }) => workflow.id === chunkUR6DWL4L_cjs.ANNOTATE_ID && matchedCount !== null ? `Annotate ${matchedCount} document${matchedCount !== 1 ? "s" : ""}` : void 0,
30884
30883
  renderNotice: ({ workflow, inputs }) => {
30885
- if (workflow.id !== chunkHPUEYVG3_cjs.ANNOTATE_ID) return null;
30886
- const name = String(inputs.name ?? "").trim() || chunkHPUEYVG3_cjs.deriveAnnotationName(String(inputs.description ?? ""));
30884
+ if (workflow.id !== chunkUR6DWL4L_cjs.ANNOTATE_ID) return null;
30885
+ const name = String(inputs.name ?? "").trim() || chunkUR6DWL4L_cjs.deriveAnnotationName(String(inputs.description ?? ""));
30887
30886
  const existing = name ? tags.find((t) => t.name.toLowerCase() === name.toLowerCase()) : void 0;
30888
30887
  if (!existing) return null;
30889
30888
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -30907,8 +30906,8 @@ function ConnectedWorkflowStart({
30907
30906
  );
30908
30907
  }
30909
30908
  function Inner() {
30910
- const request = chunkHPUEYVG3_cjs.useWorkflowLaunchRequest();
30911
- const close = chunkHPUEYVG3_cjs.closeWorkflowLaunch;
30909
+ const request = chunkUR6DWL4L_cjs.useWorkflowLaunchRequest();
30910
+ const close = chunkUR6DWL4L_cjs.closeWorkflowLaunch;
30912
30911
  const { skills } = useWorkflowDefinitions();
30913
30912
  const run = useLaunchWorkflow({ landing: request?.landing });
30914
30913
  const workflow = skills.find((w) => w.id === request?.workflowId);
@@ -30946,7 +30945,7 @@ function Inner() {
30946
30945
  );
30947
30946
  }
30948
30947
  function WorkflowLaunchHost() {
30949
- return chunkHPUEYVG3_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
30948
+ return chunkUR6DWL4L_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
30950
30949
  }
30951
30950
  var START_VISIBLE = 8;
30952
30951
  var START_SEARCH_ABOVE = 8;
@@ -30966,7 +30965,7 @@ function ConnectedConversationStart() {
30966
30965
  const browse = openSkillsBrowser ? [
30967
30966
  {
30968
30967
  id: "browse-all",
30969
- iconNode: chunkHPUEYVG3_cjs.renderWorkflowIcon("library"),
30968
+ iconNode: chunkUR6DWL4L_cjs.renderWorkflowIcon("library"),
30970
30969
  title: "Browse all",
30971
30970
  description: "See every skill, make a copy, add your own",
30972
30971
  onSelect: () => openSkillsBrowser(),
@@ -31079,7 +31078,7 @@ function getToolParams(detail) {
31079
31078
  return params;
31080
31079
  }
31081
31080
  function StepModelIcon({ modelName, tag }) {
31082
- const cfg = tag === "Premium" ? null : chunkHPUEYVG3_cjs.getModelIcon(modelName, tag);
31081
+ const cfg = tag === "Premium" ? null : chunkUR6DWL4L_cjs.getModelIcon(modelName, tag);
31083
31082
  if (tag !== "Premium" && !cfg) return null;
31084
31083
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
31085
31084
  /* @__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 } }) }) }),
@@ -31194,15 +31193,15 @@ var AgentStepsComponent = ({
31194
31193
  const lastStepIndex = mergedSteps[mergedSteps.length - 1].index;
31195
31194
  const renderRow = (step, depth, isLastInList) => {
31196
31195
  const i = posByIndex.get(step.index);
31197
- const presentation = chunkHPUEYVG3_cjs.getAgentStepPresentation(step, docInfo);
31196
+ const presentation = chunkUR6DWL4L_cjs.getAgentStepPresentation(step, docInfo);
31198
31197
  const { tool, Icon } = presentation;
31199
31198
  const { label, summary, isMultiLine, details } = browser.getStepDisplay(step, docInfo);
31200
- const accent = chunkHPUEYVG3_cjs.stepAccent(step, tool);
31199
+ const accent = chunkUR6DWL4L_cjs.stepAccent(step, tool);
31201
31200
  const duration = stepDurations[i];
31202
31201
  const isLastStep = step.index === lastStepIndex;
31203
31202
  const isActive = step.index === currentStepIndex;
31204
31203
  const tier = step.step === "goal" ? step.model_recommendation : null;
31205
- const TierIcon = tier ? chunkHPUEYVG3_cjs.MODEL_TIER_ICON_MAP[tier] : null;
31204
+ const TierIcon = tier ? chunkUR6DWL4L_cjs.MODEL_TIER_ICON_MAP[tier] : null;
31206
31205
  const useLiveDuration = isLastStep && liveTimer != null && step.t != null;
31207
31206
  const durationNode = useLiveDuration ? /* @__PURE__ */ jsxRuntime.jsx(
31208
31207
  MessageLiveSeconds,
@@ -31226,7 +31225,7 @@ var AgentStepsComponent = ({
31226
31225
  })) : null;
31227
31226
  const folded = childrenByParent.get(step.index);
31228
31227
  return /* @__PURE__ */ jsxRuntime.jsxs(
31229
- chunkHPUEYVG3_cjs.StepRow,
31228
+ chunkUR6DWL4L_cjs.StepRow,
31230
31229
  {
31231
31230
  index: step.index,
31232
31231
  number: displayNumber.get(step.index) ?? String(i + 1),
@@ -31240,7 +31239,7 @@ var AgentStepsComponent = ({
31240
31239
  titleTestId: isActive ? "agent-expanded-current-step-description" : void 0,
31241
31240
  badge: TierIcon ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
31242
31241
  /* @__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 }) }) }),
31243
- /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkHPUEYVG3_cjs.MODEL_TIER_LABELS[tier] ?? tier })
31242
+ /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "top", children: chunkUR6DWL4L_cjs.MODEL_TIER_LABELS[tier] ?? tier })
31244
31243
  ] }) : void 0,
31245
31244
  meta: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31246
31245
  isDeveloper && /* @__PURE__ */ jsxRuntime.jsx(StepModelIcon, { modelName: step.usage?.model, tag: getModelTag(step.usage?.model) }),
@@ -31255,14 +31254,14 @@ var AgentStepsComponent = ({
31255
31254
  summary && !isActive && (step.narration ? (
31256
31255
  /* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
31257
31256
  Tool summaries stay plain text: one-line headlines where a clamp matters. */
31258
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunk6MHGFCIW_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
31259
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
31260
- details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepDetail, { index: step.index, children: d }, di)),
31261
- showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
31262
- toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
31263
- criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.GoalCriteria, { criteria: criteriaView }),
31257
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunk6MHGFCIW_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
31258
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
31259
+ details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepDetail, { index: step.index, children: d }, di)),
31260
+ showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
31261
+ toolParams.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepParams, { children: toolParams.map((p) => `${p.key}=${p.value}`).join(" ") }),
31262
+ criteriaView && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.GoalCriteria, { criteria: criteriaView }),
31264
31263
  folded && folded.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
31265
- chunkHPUEYVG3_cjs.SubStepGroup,
31264
+ chunkUR6DWL4L_cjs.SubStepGroup,
31266
31265
  {
31267
31266
  parentIndex: step.index,
31268
31267
  summary: summariseSubSteps(folded),
@@ -31288,7 +31287,7 @@ var AgentStepsComponent = ({
31288
31287
  leftParts.push(`${browser.formatTokens(totalInputTokens)} in`);
31289
31288
  if (totalOutputTokens > 0) leftParts.push(`${browser.formatTokens(totalOutputTokens)} out`);
31290
31289
  summaryNode = /* @__PURE__ */ jsxRuntime.jsx(
31291
- chunkHPUEYVG3_cjs.StepTraceSummary,
31290
+ chunkUR6DWL4L_cjs.StepTraceSummary,
31292
31291
  {
31293
31292
  left: leftParts.join(" \xB7 "),
31294
31293
  isNearBudget: browser.isNearAiUsageBudget(contextUsage),
@@ -31296,7 +31295,7 @@ var AgentStepsComponent = ({
31296
31295
  }
31297
31296
  );
31298
31297
  }
31299
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
31298
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.StepTrace, { className, summary: summaryNode, children: displayRows.map((row2, i) => {
31300
31299
  if (row2.lane) {
31301
31300
  return /* @__PURE__ */ jsxRuntime.jsx(
31302
31301
  LaneBinding,
@@ -31333,7 +31332,7 @@ function LaneBinding({
31333
31332
  const running = !closed && isStreaming;
31334
31333
  const latest = inner[inner.length - 1];
31335
31334
  return /* @__PURE__ */ jsxRuntime.jsx(
31336
- chunkHPUEYVG3_cjs.SubAgentLane,
31335
+ chunkUR6DWL4L_cjs.SubAgentLane,
31337
31336
  {
31338
31337
  handle,
31339
31338
  number,
@@ -31456,7 +31455,7 @@ function AgentBarShell({
31456
31455
  }, [isStepsExpanded, steps]);
31457
31456
  const visibleStepCount = React7.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
31458
31457
  return /* @__PURE__ */ jsxRuntime.jsx(
31459
- chunkHPUEYVG3_cjs.AgentBar,
31458
+ chunkUR6DWL4L_cjs.AgentBar,
31460
31459
  {
31461
31460
  className,
31462
31461
  testId,
@@ -31512,7 +31511,7 @@ function AgentControlBar({
31512
31511
  const isPaused = controlState === "paused" || controlState === "resuming";
31513
31512
  const steps = agentSteps ?? [];
31514
31513
  const currentStep = browser.getCurrentStep(steps);
31515
- const currentPresentation = chunkHPUEYVG3_cjs.getCurrentAgentStepPresentation(steps);
31514
+ const currentPresentation = chunkUR6DWL4L_cjs.getCurrentAgentStepPresentation(steps);
31516
31515
  const CurrentStepIcon = currentPresentation?.Icon;
31517
31516
  const stepLabel2 = currentPresentation?.description ?? "Agent working\u2026";
31518
31517
  const runningLanes = browser.extractSubagentLanes(steps).filter((l) => l.status === "running");
@@ -31529,7 +31528,7 @@ function AgentControlBar({
31529
31528
  }
31530
31529
  );
31531
31530
  const status = /* @__PURE__ */ jsxRuntime.jsx(
31532
- chunkHPUEYVG3_cjs.AgentBarStatus,
31531
+ chunkUR6DWL4L_cjs.AgentBarStatus,
31533
31532
  {
31534
31533
  state: showState ? controlState : void 0,
31535
31534
  stateLabel: STATE_LABEL[controlState],
@@ -31571,7 +31570,7 @@ function AgentControlBar({
31571
31570
  ];
31572
31571
  const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31573
31572
  onStop && /* @__PURE__ */ jsxRuntime.jsx(
31574
- chunkHPUEYVG3_cjs.AgentBarIconButton,
31573
+ chunkUR6DWL4L_cjs.AgentBarIconButton,
31575
31574
  {
31576
31575
  onClick: onStop,
31577
31576
  title: "Stop",
@@ -31580,22 +31579,22 @@ function AgentControlBar({
31580
31579
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
31581
31580
  }
31582
31581
  ),
31583
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.AgentBarMenu, { items: menuItems })
31582
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.AgentBarMenu, { items: menuItems })
31584
31583
  ] });
31585
31584
  const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
31586
31585
  (message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
31587
31586
  );
31588
31587
  const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
31589
- const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.AgentBarNotes, { children: [
31588
+ const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.AgentBarNotes, { children: [
31590
31589
  queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
31591
- chunkHPUEYVG3_cjs.AgentBarQueuedNote,
31590
+ chunkUR6DWL4L_cjs.AgentBarQueuedNote,
31592
31591
  {
31593
31592
  text: message.content ?? "",
31594
31593
  isAcknowledged: message.acknowledged
31595
31594
  },
31596
31595
  index
31597
31596
  )),
31598
- probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
31597
+ probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
31599
31598
  ] }) : null;
31600
31599
  return /* @__PURE__ */ jsxRuntime.jsx(
31601
31600
  AgentBarShell,
@@ -31652,7 +31651,7 @@ function RunningSubagentsRoster({
31652
31651
  if (leafId) selectThread(leafId);
31653
31652
  };
31654
31653
  return /* @__PURE__ */ jsxRuntime.jsx(
31655
- chunkHPUEYVG3_cjs.SubagentRoster,
31654
+ chunkUR6DWL4L_cjs.SubagentRoster,
31656
31655
  {
31657
31656
  lanes: rosterLanes,
31658
31657
  className,
@@ -32394,7 +32393,7 @@ function WorkflowStepMessage({
32394
32393
  const { conversations } = react.useConversationItems();
32395
32394
  const activity = react.useConversationActivity(conversationId ?? void 0, { live: true });
32396
32395
  const plan = conversations.find((c) => c.external_id === conversationId)?.plan;
32397
- const steps = chunkHPUEYVG3_cjs.fromPlanSteps(plan?.steps ?? []);
32396
+ const steps = chunkUR6DWL4L_cjs.fromPlanSteps(plan?.steps ?? []);
32398
32397
  const found = steps.find((s) => s.id === step);
32399
32398
  const states = chunkEZLZ3MDU_cjs.stepStatesFromActivity(activity.data ?? []);
32400
32399
  const { data: documents = [] } = react.useDocuments();
@@ -32566,7 +32565,7 @@ var MessageComponent = ({
32566
32565
  const isQueuedAnswer = !isUser && message.status === "queued" && !isGenerating;
32567
32566
  const isAwaitingAnswer = (isGenerating || isRunningOnServer) && !isStopped && !!message.pendingUserInput;
32568
32567
  const showWorkingIndicator = (isGenerating || isRunningOnServer) && !isQueuedAnswer && !responseContent.trim() && !linkedArtifact && !isAwaitingAnswer;
32569
- const workingStepLabel = showWorkingIndicator ? chunkHPUEYVG3_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
32568
+ const workingStepLabel = showWorkingIndicator ? chunkUR6DWL4L_cjs.getCurrentAgentStepPresentation(message.agentSteps ?? [])?.description : void 0;
32570
32569
  const workingStepStart = showWorkingIndicator ? browser.getCurrentStep(message.agentSteps ?? [])?.t ?? 0 : 0;
32571
32570
  const showEmptyAnswer = !isUser && !isGenerating && !isRunningOnServer && !isFailed && !isStopped && !responseContent.trim() && !linkedArtifact;
32572
32571
  const isEmptyStopped = isStopped && !responseContent.trim();
@@ -32870,7 +32869,7 @@ var MessageComponent = ({
32870
32869
  },
32871
32870
  "data-testid": `message-model-${messageId}`,
32872
32871
  children: /* @__PURE__ */ jsxRuntime.jsx(
32873
- chunkHPUEYVG3_cjs.AssistantEntity,
32872
+ chunkUR6DWL4L_cjs.AssistantEntity,
32874
32873
  {
32875
32874
  name: modelDisplayName,
32876
32875
  modelName,
@@ -32983,7 +32982,7 @@ var MessageComponent = ({
32983
32982
  // Stays the ARBI identity while streaming: the model name arrives
32984
32983
  // with the first step that reports one and would swap the author
32985
32984
  // mid-answer. The model is shown in the footer once settled.
32986
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
32985
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.AssistantEntity, { size: 16, pillSize: "sm" })
32987
32986
  ),
32988
32987
  timeLabel,
32989
32988
  isSettled: settledForHeader,
@@ -33448,7 +33447,7 @@ function ConnectedMessageList({ messages }) {
33448
33447
  start: virtualItem.start,
33449
33448
  messageId: entry.id,
33450
33449
  setSize: transcript.length,
33451
- children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
33450
+ children: entry.item.card ?? /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ThreadActivity, { item: entry.item, children: entry.item.onOpenDocument && /* @__PURE__ */ jsxRuntime.jsx(
33452
33451
  "button",
33453
33452
  {
33454
33453
  className: "mt-1 hover:underline text-primary",
@@ -33550,7 +33549,7 @@ function ConnectedConversationEmpty({
33550
33549
  compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
33551
33550
  }
33552
33551
  ),
33553
- /* @__PURE__ */ jsxRuntime.jsx(chunkB5SEHTMC_cjs.PrivacyExplainerModal, {})
33552
+ /* @__PURE__ */ jsxRuntime.jsx(chunkP4NS4LV7_cjs.PrivacyExplainerModal, {})
33554
33553
  ] })
33555
33554
  }
33556
33555
  );
@@ -34343,7 +34342,7 @@ function ConnectedConversation({
34343
34342
  }, [isGenerating]);
34344
34343
  const slashWorkflows = useSlashSkillWorkflows({ landing: "current-chat" });
34345
34344
  const composerSkills = React7.useMemo(
34346
- () => ({ builtin: chunkHPUEYVG3_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
34345
+ () => ({ builtin: chunkUR6DWL4L_cjs.BUILTIN_SKILLS, openFor: slashWorkflows.openFor }),
34347
34346
  [slashWorkflows.openFor]
34348
34347
  );
34349
34348
  const browseSkills = React7.useMemo(
@@ -34418,7 +34417,7 @@ function ConnectedConversation({
34418
34417
  /* @__PURE__ */ jsxRuntime.jsx(chunkZ3IB6UMJ_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
34419
34418
  /* @__PURE__ */ jsxRuntime.jsx(chunkZ3IB6UMJ_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
34420
34419
  ] })
34421
- ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
34420
+ ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
34422
34421
  ConnectedConversationEmpty,
34423
34422
  {
34424
34423
  hasDocuments: allWorkspaceDocuments.length > 0,
@@ -35881,7 +35880,7 @@ function SsoResendVerificationButton({
35881
35880
  onClick: async () => handleResendEmailVerification(),
35882
35881
  disabled: loading || disabled,
35883
35882
  "aria-label": "Resend verification email",
35884
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkG6NRTQ25_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
35883
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkLFVD3CS5_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
35885
35884
  "Didn't get a verification email? ",
35886
35885
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
35887
35886
  ] })
@@ -36818,27 +36817,27 @@ function ConnectedOAuthConsentPage({
36818
36817
  oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
36819
36818
  }
36820
36819
  if (error && !params) {
36821
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
36820
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
36822
36821
  }
36823
36822
  if (!params) {
36824
36823
  return null;
36825
36824
  }
36826
36825
  if (clientInfo?.isLocalAgentFlow) {
36827
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_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." }) });
36826
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_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." }) });
36828
36827
  }
36829
36828
  if (!isAuthenticated2) {
36830
36829
  return null;
36831
36830
  }
36832
36831
  if (callbackUrl) {
36833
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentCard, { size: "md", children: [
36834
- /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
36832
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentCard, { size: "md", children: [
36833
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
36835
36834
  "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",
36836
36835
  " ",
36837
36836
  copied ? "it's already copied to your clipboard." : "copy it first."
36838
36837
  ] }),
36839
- /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentSection, { title: "Callback URL", children: [
36840
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
36841
- /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentText, { variant: "hint", children: [
36838
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentSection, { title: "Callback URL", children: [
36839
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
36840
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentText, { variant: "hint", children: [
36842
36841
  "In Claude Code, paste the URL at the prompt that says",
36843
36842
  " ",
36844
36843
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
@@ -36847,17 +36846,17 @@ function ConnectedOAuthConsentPage({
36847
36846
  ] })
36848
36847
  ] }) });
36849
36848
  }
36850
- return /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentCard, { children: [
36851
- /* @__PURE__ */ jsxRuntime.jsxs(chunkHPUEYVG3_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
36852
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
36849
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentCard, { children: [
36850
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkUR6DWL4L_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
36851
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
36853
36852
  " is requesting access to your ",
36854
36853
  appName,
36855
36854
  " workspace."
36856
36855
  ] }),
36857
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentPermissionList, { items: permissions }) }),
36858
- error && /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentNotice, { tone: "error", children: error }),
36859
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
36860
- /* @__PURE__ */ jsxRuntime.jsx(chunkHPUEYVG3_cjs.ConsentFootnote, { children: footnote })
36856
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentPermissionList, { items: permissions }) }),
36857
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentNotice, { tone: "error", children: error }),
36858
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
36859
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUR6DWL4L_cjs.ConsentFootnote, { children: footnote })
36861
36860
  ] }) });
36862
36861
  }
36863
36862
 
@@ -36947,43 +36946,43 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
36947
36946
  });
36948
36947
  Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
36949
36948
  enumerable: true,
36950
- get: function () { return chunkXGCXHDZT_cjs.ConnectedWorkflowDocumentsField; }
36949
+ get: function () { return chunkRZ3EBN7G_cjs.ConnectedWorkflowDocumentsField; }
36951
36950
  });
36952
36951
  Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
36953
36952
  enumerable: true,
36954
- get: function () { return chunkXGCXHDZT_cjs.ConnectedWorkflowLauncher; }
36953
+ get: function () { return chunkRZ3EBN7G_cjs.ConnectedWorkflowLauncher; }
36955
36954
  });
36956
36955
  Object.defineProperty(exports, "ConnectedWorkflowsTable", {
36957
36956
  enumerable: true,
36958
- get: function () { return chunkXGCXHDZT_cjs.ConnectedWorkflowsTable; }
36957
+ get: function () { return chunkRZ3EBN7G_cjs.ConnectedWorkflowsTable; }
36959
36958
  });
36960
36959
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
36961
36960
  enumerable: true,
36962
- get: function () { return chunkXGCXHDZT_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
36961
+ get: function () { return chunkRZ3EBN7G_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
36963
36962
  });
36964
36963
  Object.defineProperty(exports, "toWorkflowFieldDocument", {
36965
36964
  enumerable: true,
36966
- get: function () { return chunkXGCXHDZT_cjs.toWorkflowFieldDocument; }
36965
+ get: function () { return chunkRZ3EBN7G_cjs.toWorkflowFieldDocument; }
36967
36966
  });
36968
36967
  Object.defineProperty(exports, "useConnectedAgentOptions", {
36969
36968
  enumerable: true,
36970
- get: function () { return chunkXGCXHDZT_cjs.useConnectedAgentOptions; }
36969
+ get: function () { return chunkRZ3EBN7G_cjs.useConnectedAgentOptions; }
36971
36970
  });
36972
36971
  Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
36973
36972
  enumerable: true,
36974
- get: function () { return chunkXGCXHDZT_cjs.useConnectedWorkflowScopeSource; }
36973
+ get: function () { return chunkRZ3EBN7G_cjs.useConnectedWorkflowScopeSource; }
36975
36974
  });
36976
36975
  Object.defineProperty(exports, "useConnectedWorkspaceRole", {
36977
36976
  enumerable: true,
36978
- get: function () { return chunkXGCXHDZT_cjs.useConnectedWorkspaceRole; }
36977
+ get: function () { return chunkRZ3EBN7G_cjs.useConnectedWorkspaceRole; }
36979
36978
  });
36980
36979
  Object.defineProperty(exports, "useDocxCommentTarget", {
36981
36980
  enumerable: true,
36982
- get: function () { return chunkXGCXHDZT_cjs.useDocxCommentTarget; }
36981
+ get: function () { return chunkRZ3EBN7G_cjs.useDocxCommentTarget; }
36983
36982
  });
36984
36983
  Object.defineProperty(exports, "useNativeDocxSupport", {
36985
36984
  enumerable: true,
36986
- get: function () { return chunkXGCXHDZT_cjs.useNativeDocxSupport; }
36985
+ get: function () { return chunkRZ3EBN7G_cjs.useNativeDocxSupport; }
36987
36986
  });
36988
36987
  Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
36989
36988
  enumerable: true,