@arbidocs/blocks 0.5.98 → 0.5.100

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 (105) hide show
  1. package/README.md +37 -3
  2. package/dist/ConnectedCallDock-OJ4UR5PR.js +1 -1
  3. package/dist/ConnectedCallDock-OKH3FT2U.cjs +1 -1
  4. package/dist/ConnectedCallRoom-NB7I6RLQ.cjs +1 -1
  5. package/dist/ConnectedCallRoom-OX7ZIF76.js +1 -1
  6. package/dist/ConnectedNativeDocxComparison-3UJZR52S.cjs +2 -2
  7. package/dist/ConnectedNativeDocxComparison-VGJLNVM4.js +2 -2
  8. package/dist/ConnectedNativeDocxEditor-A6PGFR35.cjs +2 -2
  9. package/dist/ConnectedNativeDocxEditor-O7QEWYGG.js +2 -2
  10. package/dist/ConnectedStreamedWordArtifact-MJAVZ3NR.js +2 -2
  11. package/dist/ConnectedStreamedWordArtifact-Q7TWGK4B.cjs +2 -2
  12. package/dist/{DocumentReviewCard-LGBI472S.js → DocumentReviewCard-5NZM6FOB.js} +9 -9
  13. package/dist/{DocumentReviewCard-LGBI472S.js.map → DocumentReviewCard-5NZM6FOB.js.map} +1 -1
  14. package/dist/{DocumentReviewCard-CJ5VQM45.cjs → DocumentReviewCard-7VJ3MMYG.cjs} +14 -14
  15. package/dist/{DocumentReviewCard-CJ5VQM45.cjs.map → DocumentReviewCard-7VJ3MMYG.cjs.map} +1 -1
  16. package/dist/{FilesViewerDialog-KP3IHDSS.js → FilesViewerDialog-5VML4F5E.js} +8 -8
  17. package/dist/{FilesViewerDialog-KP3IHDSS.js.map → FilesViewerDialog-5VML4F5E.js.map} +1 -1
  18. package/dist/{FilesViewerDialog-AFIM2SCB.cjs → FilesViewerDialog-IQ5UDAZX.cjs} +9 -9
  19. package/dist/{FilesViewerDialog-AFIM2SCB.cjs.map → FilesViewerDialog-IQ5UDAZX.cjs.map} +1 -1
  20. package/dist/{WorkspaceTableView-2FL5OX6M.js → WorkspaceTableView-DYABS53K.js} +3 -3
  21. package/dist/{WorkspaceTableView-2FL5OX6M.js.map → WorkspaceTableView-DYABS53K.js.map} +1 -1
  22. package/dist/{WorkspaceTableView-YPESFW25.cjs → WorkspaceTableView-ZIQ7JWT5.cjs} +3 -3
  23. package/dist/{WorkspaceTableView-YPESFW25.cjs.map → WorkspaceTableView-ZIQ7JWT5.cjs.map} +1 -1
  24. package/dist/agents/index.cjs +177 -177
  25. package/dist/agents/index.js +4 -4
  26. package/dist/chat/index.cjs +1 -1
  27. package/dist/chat/index.js +1 -1
  28. package/dist/{chunk-Y7QIZGZA.js → chunk-22EZJLGW.js} +5 -5
  29. package/dist/{chunk-Y7QIZGZA.js.map → chunk-22EZJLGW.js.map} +1 -1
  30. package/dist/{chunk-YOCKX2OP.cjs → chunk-4VSRSF4Q.cjs} +5 -5
  31. package/dist/{chunk-YOCKX2OP.cjs.map → chunk-4VSRSF4Q.cjs.map} +1 -1
  32. package/dist/{chunk-VJTDTWNZ.cjs → chunk-ERDQ4DAX.cjs} +3 -3
  33. package/dist/{chunk-VJTDTWNZ.cjs.map → chunk-ERDQ4DAX.cjs.map} +1 -1
  34. package/dist/{chunk-F3IRNQIB.cjs → chunk-HJBVSG6H.cjs} +4 -4
  35. package/dist/{chunk-F3IRNQIB.cjs.map → chunk-HJBVSG6H.cjs.map} +1 -1
  36. package/dist/{chunk-ERVXJW7P.cjs → chunk-J24LYNTY.cjs} +35 -35
  37. package/dist/{chunk-ERVXJW7P.cjs.map → chunk-J24LYNTY.cjs.map} +1 -1
  38. package/dist/{chunk-5HPLUT4M.cjs → chunk-KBXATCF4.cjs} +4 -4
  39. package/dist/{chunk-5HPLUT4M.cjs.map → chunk-KBXATCF4.cjs.map} +1 -1
  40. package/dist/{chunk-6FLDM72D.js → chunk-KYR3TXHS.js} +3 -3
  41. package/dist/{chunk-6FLDM72D.js.map → chunk-KYR3TXHS.js.map} +1 -1
  42. package/dist/{chunk-JGC3EPPF.js → chunk-L3V2ANBD.js} +3 -3
  43. package/dist/{chunk-JGC3EPPF.js.map → chunk-L3V2ANBD.js.map} +1 -1
  44. package/dist/{chunk-SVQTUHPE.cjs → chunk-MM5Q7AJL.cjs} +8 -8
  45. package/dist/{chunk-SVQTUHPE.cjs.map → chunk-MM5Q7AJL.cjs.map} +1 -1
  46. package/dist/{chunk-VYTEEQ4C.cjs → chunk-MT3RPUQC.cjs} +4 -4
  47. package/dist/{chunk-VYTEEQ4C.cjs.map → chunk-MT3RPUQC.cjs.map} +1 -1
  48. package/dist/{chunk-KA6TKTIT.js → chunk-OOYT5A7W.js} +3 -3
  49. package/dist/{chunk-KA6TKTIT.js.map → chunk-OOYT5A7W.js.map} +1 -1
  50. package/dist/{chunk-U3FUFNNR.js → chunk-OYSTBNNA.js} +3 -3
  51. package/dist/{chunk-U3FUFNNR.js.map → chunk-OYSTBNNA.js.map} +1 -1
  52. package/dist/{chunk-E35SHIUT.cjs → chunk-RAF72BBC.cjs} +4 -4
  53. package/dist/{chunk-E35SHIUT.cjs.map → chunk-RAF72BBC.cjs.map} +1 -1
  54. package/dist/{chunk-5SQJTWD3.cjs → chunk-SWILV6LT.cjs} +4 -4
  55. package/dist/{chunk-5SQJTWD3.cjs.map → chunk-SWILV6LT.cjs.map} +1 -1
  56. package/dist/{chunk-7OMLHP7B.js → chunk-SWW3KBH2.js} +4 -4
  57. package/dist/{chunk-7OMLHP7B.js.map → chunk-SWW3KBH2.js.map} +1 -1
  58. package/dist/{chunk-5CKKWKEJ.js → chunk-TVJAVK2G.js} +3 -3
  59. package/dist/{chunk-5CKKWKEJ.js.map → chunk-TVJAVK2G.js.map} +1 -1
  60. package/dist/{chunk-37J6OLML.js → chunk-UBI4HXT6.js} +5 -5
  61. package/dist/{chunk-37J6OLML.js.map → chunk-UBI4HXT6.js.map} +1 -1
  62. package/dist/{chunk-3SBMU4LB.js → chunk-UNQE3JWX.js} +4 -4
  63. package/dist/{chunk-3SBMU4LB.js.map → chunk-UNQE3JWX.js.map} +1 -1
  64. package/dist/{chunk-LDGVJI7D.cjs → chunk-USIRUI2M.cjs} +24 -24
  65. package/dist/{chunk-LDGVJI7D.cjs.map → chunk-USIRUI2M.cjs.map} +1 -1
  66. package/dist/{chunk-65MSYISI.cjs → chunk-VD33HXFZ.cjs} +28 -28
  67. package/dist/{chunk-65MSYISI.cjs.map → chunk-VD33HXFZ.cjs.map} +1 -1
  68. package/dist/{chunk-VYW4YXDB.js → chunk-VW6MFQFW.js} +3 -3
  69. package/dist/{chunk-VYW4YXDB.js.map → chunk-VW6MFQFW.js.map} +1 -1
  70. package/dist/{chunk-3LZ7JL3N.js → chunk-YG4S7OCD.js} +3 -3
  71. package/dist/{chunk-3LZ7JL3N.js.map → chunk-YG4S7OCD.js.map} +1 -1
  72. package/dist/{chunk-CYIL3N2M.js → chunk-Z7XKBKQN.js} +6 -6
  73. package/dist/{chunk-CYIL3N2M.js.map → chunk-Z7XKBKQN.js.map} +1 -1
  74. package/dist/{chunk-PNDWMFVL.cjs → chunk-ZAKDIJBP.cjs} +46 -46
  75. package/dist/{chunk-PNDWMFVL.cjs.map → chunk-ZAKDIJBP.cjs.map} +1 -1
  76. package/dist/connect/docx.cjs +2 -2
  77. package/dist/connect/docx.js +2 -2
  78. package/dist/connect/index.cjs +1259 -713
  79. package/dist/connect/index.cjs.map +1 -1
  80. package/dist/connect/index.d.ts +1 -0
  81. package/dist/connect/index.js +784 -241
  82. package/dist/connect/index.js.map +1 -1
  83. package/dist/connect/viewer.cjs +7 -7
  84. package/dist/connect/viewer.js +6 -6
  85. package/dist/connection/command/ConnectedCommandPalette.d.ts +16 -0
  86. package/dist/connection/command/actions.d.ts +21 -0
  87. package/dist/connection/command/icons.d.ts +7 -0
  88. package/dist/connection/command/index.d.ts +3 -0
  89. package/dist/connection/command/palette-state.d.ts +22 -0
  90. package/dist/connection/files/grid/documentCellRenderers.d.ts +57 -0
  91. package/dist/connection/files/grid/documentColumns.d.ts +2 -2
  92. package/dist/embed/index.cjs +13 -13
  93. package/dist/embed/index.js +7 -7
  94. package/dist/files/index.cjs +224 -224
  95. package/dist/files/index.js +3 -3
  96. package/dist/index.cjs +267 -267
  97. package/dist/index.cjs.map +1 -1
  98. package/dist/index.js +7 -7
  99. package/dist/index.js.map +1 -1
  100. package/dist/nav/actions.d.ts +23 -1
  101. package/dist/styles.css +1 -1
  102. package/dist/workflow-canvas/index.cjs +20 -20
  103. package/dist/workflow-canvas/index.js +10 -10
  104. package/node_modules/@arbidocs/coedit/package.json +1 -1
  105. package/package.json +5 -5
@@ -1,20 +1,20 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk65MSYISI_cjs = require('../chunk-65MSYISI.cjs');
4
+ var chunkVD33HXFZ_cjs = require('../chunk-VD33HXFZ.cjs');
5
5
  var chunk4RTNI2QY_cjs = require('../chunk-4RTNI2QY.cjs');
6
6
  var chunkDDIV3MYQ_cjs = require('../chunk-DDIV3MYQ.cjs');
7
7
  var chunkTAB4JSM2_cjs = require('../chunk-TAB4JSM2.cjs');
8
8
  var chunkPSIKUQYM_cjs = require('../chunk-PSIKUQYM.cjs');
9
9
  var chunkVMOQKGJW_cjs = require('../chunk-VMOQKGJW.cjs');
10
+ var chunkUSIRUI2M_cjs = require('../chunk-USIRUI2M.cjs');
10
11
  var chunkSOS2WASA_cjs = require('../chunk-SOS2WASA.cjs');
11
- var chunkLDGVJI7D_cjs = require('../chunk-LDGVJI7D.cjs');
12
12
  var chunkYZ6YOOTF_cjs = require('../chunk-YZ6YOOTF.cjs');
13
13
  var chunkKWJW5TMH_cjs = require('../chunk-KWJW5TMH.cjs');
14
- var chunkSVQTUHPE_cjs = require('../chunk-SVQTUHPE.cjs');
14
+ var chunkMM5Q7AJL_cjs = require('../chunk-MM5Q7AJL.cjs');
15
15
  var chunkIU3SXE62_cjs = require('../chunk-IU3SXE62.cjs');
16
- var chunk5SQJTWD3_cjs = require('../chunk-5SQJTWD3.cjs');
17
- var chunkVYTEEQ4C_cjs = require('../chunk-VYTEEQ4C.cjs');
16
+ var chunkSWILV6LT_cjs = require('../chunk-SWILV6LT.cjs');
17
+ var chunkMT3RPUQC_cjs = require('../chunk-MT3RPUQC.cjs');
18
18
  var chunkPZYPWY7G_cjs = require('../chunk-PZYPWY7G.cjs');
19
19
  var chunkYMNKMIFG_cjs = require('../chunk-YMNKMIFG.cjs');
20
20
  var chunkTJY7XPDE_cjs = require('../chunk-TJY7XPDE.cjs');
@@ -32,25 +32,25 @@ var chunkCWPKWXFU_cjs = require('../chunk-CWPKWXFU.cjs');
32
32
  var chunkDDWLMYRO_cjs = require('../chunk-DDWLMYRO.cjs');
33
33
  var chunkJXKNPKU6_cjs = require('../chunk-JXKNPKU6.cjs');
34
34
  var chunkEAA2X45O_cjs = require('../chunk-EAA2X45O.cjs');
35
- var chunkF3IRNQIB_cjs = require('../chunk-F3IRNQIB.cjs');
35
+ var chunkHJBVSG6H_cjs = require('../chunk-HJBVSG6H.cjs');
36
36
  var chunk6KQVTMRL_cjs = require('../chunk-6KQVTMRL.cjs');
37
- var chunkERVXJW7P_cjs = require('../chunk-ERVXJW7P.cjs');
37
+ var chunkJ24LYNTY_cjs = require('../chunk-J24LYNTY.cjs');
38
38
  var chunkMMSHLHTA_cjs = require('../chunk-MMSHLHTA.cjs');
39
- var chunkVJTDTWNZ_cjs = require('../chunk-VJTDTWNZ.cjs');
39
+ var chunkERDQ4DAX_cjs = require('../chunk-ERDQ4DAX.cjs');
40
40
  var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
41
41
  var chunkSNUBQMIS_cjs = require('../chunk-SNUBQMIS.cjs');
42
- var chunkIK4MSXXR_cjs = require('../chunk-IK4MSXXR.cjs');
43
42
  var chunk2VJBIBPE_cjs = require('../chunk-2VJBIBPE.cjs');
43
+ var chunkIK4MSXXR_cjs = require('../chunk-IK4MSXXR.cjs');
44
44
  var chunkCMXJUCTH_cjs = require('../chunk-CMXJUCTH.cjs');
45
45
  require('../chunk-JH6JTI76.cjs');
46
46
  var chunkQQMMCXBP_cjs = require('../chunk-QQMMCXBP.cjs');
47
47
  require('../chunk-DTMBAFIL.cjs');
48
48
  require('../chunk-ZESMRGDV.cjs');
49
- var chunkYOCKX2OP_cjs = require('../chunk-YOCKX2OP.cjs');
49
+ var chunk4VSRSF4Q_cjs = require('../chunk-4VSRSF4Q.cjs');
50
50
  var chunkFMRTLPC7_cjs = require('../chunk-FMRTLPC7.cjs');
51
51
  require('../chunk-NEGFHF3V.cjs');
52
- var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
53
52
  var chunkZ3LFF3YT_cjs = require('../chunk-Z3LFF3YT.cjs');
53
+ var chunkI6GEQWIV_cjs = require('../chunk-I6GEQWIV.cjs');
54
54
  var chunk4B6HYQTW_cjs = require('../chunk-4B6HYQTW.cjs');
55
55
  var chunkADMNU2CR_cjs = require('../chunk-ADMNU2CR.cjs');
56
56
  require('../chunk-PCB2BPN3.cjs');
@@ -71,12 +71,12 @@ require('../chunk-SK6HQ46Q.cjs');
71
71
  var chunkMNIQDXM6_cjs = require('../chunk-MNIQDXM6.cjs');
72
72
  var chunkBZFCD6A6_cjs = require('../chunk-BZFCD6A6.cjs');
73
73
  require('../chunk-VLCY46K6.cjs');
74
- require('../chunk-BQOL4XNZ.cjs');
75
74
  var chunkOZQ26FNK_cjs = require('../chunk-OZQ26FNK.cjs');
76
75
  var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
77
76
  var chunkNSD37OF5_cjs = require('../chunk-NSD37OF5.cjs');
78
77
  require('../chunk-OEJQFPWO.cjs');
79
- var chunk5HPLUT4M_cjs = require('../chunk-5HPLUT4M.cjs');
78
+ require('../chunk-BQOL4XNZ.cjs');
79
+ var chunkKBXATCF4_cjs = require('../chunk-KBXATCF4.cjs');
80
80
  var chunkTP5PGWIO_cjs = require('../chunk-TP5PGWIO.cjs');
81
81
  require('../chunk-I4IS6ST6.cjs');
82
82
  var chunkIIAFQZCI_cjs = require('../chunk-IIAFQZCI.cjs');
@@ -92,8 +92,8 @@ var chunk4PA6VCCR_cjs = require('../chunk-4PA6VCCR.cjs');
92
92
  require('../chunk-AHDJXIUB.cjs');
93
93
  var chunkRL2HI6NP_cjs = require('../chunk-RL2HI6NP.cjs');
94
94
  var chunk6UZC4XVV_cjs = require('../chunk-6UZC4XVV.cjs');
95
- var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
96
95
  var chunkTTPJ2G3G_cjs = require('../chunk-TTPJ2G3G.cjs');
96
+ var chunkLKK52DEY_cjs = require('../chunk-LKK52DEY.cjs');
97
97
  var chunkU2FFG2B3_cjs = require('../chunk-U2FFG2B3.cjs');
98
98
  var chunk25UUJRSJ_cjs = require('../chunk-25UUJRSJ.cjs');
99
99
  var chunkVYJF4ZQY_cjs = require('../chunk-VYJF4ZQY.cjs');
@@ -133,8 +133,8 @@ require('../chunk-HSLPFBK2.cjs');
133
133
  var chunkQGVOT7E4_cjs = require('../chunk-QGVOT7E4.cjs');
134
134
  var chunkQRAQZTJE_cjs = require('../chunk-QRAQZTJE.cjs');
135
135
  require('../chunk-UDSHVNU3.cjs');
136
- var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
137
136
  var chunkIPSHAMO2_cjs = require('../chunk-IPSHAMO2.cjs');
137
+ var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
138
138
  var chunkZBP4ZSAJ_cjs = require('../chunk-ZBP4ZSAJ.cjs');
139
139
  require('../chunk-PPCATBOY.cjs');
140
140
  var chunkWGWP4ATS_cjs = require('../chunk-WGWP4ATS.cjs');
@@ -250,7 +250,7 @@ function ConnectedWorkspaceActivity({
250
250
  [feed.data]
251
251
  );
252
252
  return /* @__PURE__ */ jsxRuntime.jsx(
253
- chunkYOCKX2OP_cjs.WorkspaceActivityList,
253
+ chunk4VSRSF4Q_cjs.WorkspaceActivityList,
254
254
  {
255
255
  ...listProps,
256
256
  items,
@@ -647,8 +647,8 @@ function createNotificationTargetOpener(deps) {
647
647
  return;
648
648
  }
649
649
  }
650
- const inWorkspace = target.workspaceId || (target.kind === "workflows" ? await workflowWorkspace(arbi, target.workflowId) : void 0);
651
- const workspaceId = inWorkspace && inWorkspace !== openWorkspaceId?.() ? inWorkspace : void 0;
650
+ const inWorkspace2 = target.workspaceId || (target.kind === "workflows" ? await workflowWorkspace(arbi, target.workflowId) : void 0);
651
+ const workspaceId = inWorkspace2 && inWorkspace2 !== openWorkspaceId?.() ? inWorkspace2 : void 0;
652
652
  if (workspaceId && selectWorkspace) await selectWorkspace(workspaceId);
653
653
  switch (target.kind) {
654
654
  case "workspace":
@@ -1433,14 +1433,14 @@ function ConnectedOfflineStatus({ compact = false }) {
1433
1433
  const openOutbox = () => openMail?.(outbox.length > 0 ? { folder: outboxFolder } : void 0);
1434
1434
  let tone;
1435
1435
  let label;
1436
- let onOpen = pending === 0 && outbox.length + mailChanges > 0 ? openOutbox : chunkERVXJW7P_cjs.openPendingSyncDialog;
1436
+ let onOpen = pending === 0 && outbox.length + mailChanges > 0 ? openOutbox : chunkJ24LYNTY_cjs.openPendingSyncDialog;
1437
1437
  if (!isOnline) {
1438
1438
  tone = "offline";
1439
1439
  label = waiting > 0 ? `Offline \xB7 ${waiting} pending` : "Offline";
1440
1440
  } else if (failed > 0) {
1441
1441
  tone = "failed";
1442
1442
  label = `${plural(failed, "change", "changes")} didn\u2019t sync`;
1443
- onOpen = chunkERVXJW7P_cjs.openPendingSyncDialog;
1443
+ onOpen = chunkJ24LYNTY_cjs.openPendingSyncDialog;
1444
1444
  } else if (outboxFailed > 0) {
1445
1445
  tone = "failed";
1446
1446
  label = `${plural(outboxFailed, "email", "emails")} not sent`;
@@ -1572,7 +1572,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1572
1572
  onChange: (e) => {
1573
1573
  const file = e.target.files?.[0];
1574
1574
  e.target.value = "";
1575
- if (file) void add(() => chunk5HPLUT4M_cjs.importSkillFile(file));
1575
+ if (file) void add(() => chunkKBXATCF4_cjs.importSkillFile(file));
1576
1576
  }
1577
1577
  }
1578
1578
  ),
@@ -1597,7 +1597,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
1597
1597
  className: "space-y-2",
1598
1598
  onSubmit: (e) => {
1599
1599
  e.preventDefault();
1600
- if (url.trim()) void add(() => chunk5HPLUT4M_cjs.importSkillFromUrl(url));
1600
+ if (url.trim()) void add(() => chunkKBXATCF4_cjs.importSkillFromUrl(url));
1601
1601
  },
1602
1602
  children: [
1603
1603
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
@@ -1665,9 +1665,9 @@ function ConnectedSkillsLibrary({
1665
1665
  const [type, setType] = react$1.useState("all");
1666
1666
  const [view, setView] = react$1.useState("gallery");
1667
1667
  const [isBusy, setIsBusy] = react$1.useState(false);
1668
- const all = react$1.useMemo(() => chunk5HPLUT4M_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1668
+ const all = react$1.useMemo(() => chunkKBXATCF4_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1669
1669
  const shown = react$1.useMemo(
1670
- () => chunk5HPLUT4M_cjs.filterLibrarySkills(all, { query, source, type }),
1670
+ () => chunkKBXATCF4_cjs.filterLibrarySkills(all, { query, source, type }),
1671
1671
  [all, query, source, type]
1672
1672
  );
1673
1673
  const current = all.find((s) => s.slug === selected) ?? null;
@@ -1678,21 +1678,21 @@ function ConnectedSkillsLibrary({
1678
1678
  const count2 = (s) => all.filter((x) => x.source === s).length;
1679
1679
  const sourceOptions = [
1680
1680
  { id: "all", label: "All", count: all.length },
1681
- { id: "builtin", label: chunk5HPLUT4M_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1682
- { id: "mine", label: chunk5HPLUT4M_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1683
- { id: "shared", label: chunk5HPLUT4M_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1681
+ { id: "builtin", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.builtin, count: count2("builtin") },
1682
+ { id: "mine", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.mine, count: count2("mine") },
1683
+ { id: "shared", label: chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.shared, count: count2("shared") }
1684
1684
  ];
1685
1685
  const types = [...new Set(all.map((s) => s.type))];
1686
1686
  const typeOptions = [
1687
1687
  { id: "all", label: "Any kind" },
1688
- ...types.map((t) => ({ id: t, label: chunk5HPLUT4M_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1688
+ ...types.map((t) => ({ id: t, label: chunkKBXATCF4_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1689
1689
  ];
1690
1690
  const pick = (slug) => {
1691
1691
  setSelected(slug);
1692
1692
  setMode("detail");
1693
1693
  };
1694
1694
  const markdownOf = async (skill) => {
1695
- if (!skill.docExtId) return chunk5HPLUT4M_cjs.workflowToSkillMarkdown(skill.workflow);
1695
+ if (!skill.docExtId) return chunkKBXATCF4_cjs.workflowToSkillMarkdown(skill.workflow);
1696
1696
  const response = await arbi.documents.download(skill.docExtId);
1697
1697
  if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
1698
1698
  return response.text();
@@ -1756,7 +1756,7 @@ function ConnectedSkillsLibrary({
1756
1756
  try {
1757
1757
  documentTools.downloadBlob(
1758
1758
  new Blob([await markdownOf(skill)], { type: "text/markdown" }),
1759
- chunk5HPLUT4M_cjs.SKILL_MAIN_FILENAME
1759
+ chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME
1760
1760
  );
1761
1761
  } catch (error) {
1762
1762
  notify17(errorText(error, "Could not export the skill"), "error");
@@ -1797,10 +1797,10 @@ function ConnectedSkillsLibrary({
1797
1797
  }
1798
1798
  )
1799
1799
  ] }),
1800
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.SkillViewToggle, { value: view, onChange: setView })
1800
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.SkillViewToggle, { value: view, onChange: setView })
1801
1801
  ] }),
1802
1802
  /* @__PURE__ */ jsxRuntime.jsx(
1803
- chunk5HPLUT4M_cjs.SkillFilterChips,
1803
+ chunkKBXATCF4_cjs.SkillFilterChips,
1804
1804
  {
1805
1805
  label: "Show",
1806
1806
  value: source,
@@ -1809,7 +1809,7 @@ function ConnectedSkillsLibrary({
1809
1809
  }
1810
1810
  ),
1811
1811
  types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1812
- chunk5HPLUT4M_cjs.SkillFilterChips,
1812
+ chunkKBXATCF4_cjs.SkillFilterChips,
1813
1813
  {
1814
1814
  label: "Kind",
1815
1815
  value: type,
@@ -1856,12 +1856,12 @@ function ConnectedSkillsLibrary({
1856
1856
  view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
1857
1857
  ),
1858
1858
  children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
1859
- chunk5HPLUT4M_cjs.SkillTile,
1859
+ chunkKBXATCF4_cjs.SkillTile,
1860
1860
  {
1861
1861
  name: skill.title,
1862
1862
  testId: `skill-tile-${skill.slug}`,
1863
1863
  description: skill.description,
1864
- sourceLabel: skill.isShared ? `${chunk5HPLUT4M_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunk5HPLUT4M_cjs.SKILL_SOURCE_LABELS[skill.source],
1864
+ sourceLabel: skill.isShared ? `${chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkKBXATCF4_cjs.SKILL_SOURCE_LABELS[skill.source],
1865
1865
  type: skill.type,
1866
1866
  icon,
1867
1867
  layout: view,
@@ -1896,7 +1896,7 @@ function ConnectedSkillsLibrary({
1896
1896
  }
1897
1897
  ),
1898
1898
  mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
1899
- chunk5HPLUT4M_cjs.SkillGenerateForm,
1899
+ chunkKBXATCF4_cjs.SkillGenerateForm,
1900
1900
  {
1901
1901
  icon,
1902
1902
  onGenerate: (desc) => {
@@ -1923,11 +1923,11 @@ function ConnectedSkillsLibrary({
1923
1923
  ),
1924
1924
  mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
1925
1925
  mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
1926
- chunk5HPLUT4M_cjs.SkillLibraryDetail,
1926
+ chunkKBXATCF4_cjs.SkillLibraryDetail,
1927
1927
  {
1928
1928
  skill: current,
1929
1929
  icon,
1930
- instructions: current.docExtId ? currentText ? chunk5HPLUT4M_cjs.parseSkillFrontmatter(currentText, chunk5HPLUT4M_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1930
+ instructions: current.docExtId ? currentText ? chunkKBXATCF4_cjs.parseSkillFrontmatter(currentText, chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1931
1931
  isLoading: !!current.docExtId && textLoading,
1932
1932
  actions: {
1933
1933
  onRun: () => onRun(current.slug),
@@ -1962,7 +1962,7 @@ function SkillEditor({
1962
1962
  const [seeded, setSeeded] = react$1.useState(!isEditing);
1963
1963
  const [nameError, setNameError] = react$1.useState(null);
1964
1964
  if (isEditing && !seeded && text !== void 0) {
1965
- const parsed = chunk5HPLUT4M_cjs.parseSkillFrontmatter(text, chunk5HPLUT4M_cjs.SKILL_MAIN_FILENAME);
1965
+ const parsed = chunkKBXATCF4_cjs.parseSkillFrontmatter(text, chunkKBXATCF4_cjs.SKILL_MAIN_FILENAME);
1966
1966
  setDescription(parsed.description ?? "");
1967
1967
  setBody(parsed.content ?? "");
1968
1968
  setSeeded(true);
@@ -1976,15 +1976,15 @@ function SkillEditor({
1976
1976
  notify17("Add a short description.", "error");
1977
1977
  return;
1978
1978
  }
1979
- const slug = chunk5HPLUT4M_cjs.skillSlug(name);
1979
+ const slug = chunkKBXATCF4_cjs.skillSlug(name);
1980
1980
  try {
1981
- await onSave(slug, chunk5HPLUT4M_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1981
+ await onSave(slug, chunkKBXATCF4_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1982
1982
  } catch (err) {
1983
1983
  notify17(errorText(err, "Could not save the skill"), "error");
1984
1984
  }
1985
1985
  };
1986
1986
  return /* @__PURE__ */ jsxRuntime.jsx(
1987
- chunk5HPLUT4M_cjs.SkillEditForm,
1987
+ chunkKBXATCF4_cjs.SkillEditForm,
1988
1988
  {
1989
1989
  name,
1990
1990
  onNameChange: setName,
@@ -2076,7 +2076,7 @@ function ConnectedSkillsBrowser({
2076
2076
  }
2077
2077
  ) }),
2078
2078
  runSkillId && /* @__PURE__ */ jsxRuntime.jsx(
2079
- chunkLDGVJI7D_cjs.ConnectedTaskComposer,
2079
+ chunkUSIRUI2M_cjs.ConnectedTaskComposer,
2080
2080
  {
2081
2081
  kind: "workflow",
2082
2082
  open: true,
@@ -2100,9 +2100,9 @@ function ConnectedAgentCreator({
2100
2100
  agent,
2101
2101
  initialName,
2102
2102
  onSaved,
2103
- capabilities = chunk5HPLUT4M_cjs.DEFAULT_AGENT_CAPABILITIES,
2104
- templates = chunk5HPLUT4M_cjs.DEFAULT_AGENT_TEMPLATES,
2105
- types = chunk5HPLUT4M_cjs.DEFAULT_AGENT_TYPES,
2103
+ capabilities = chunkKBXATCF4_cjs.DEFAULT_AGENT_CAPABILITIES,
2104
+ templates = chunkKBXATCF4_cjs.DEFAULT_AGENT_TEMPLATES,
2105
+ types = chunkKBXATCF4_cjs.DEFAULT_AGENT_TYPES,
2106
2106
  canRevokeWorkspaces = false,
2107
2107
  labels
2108
2108
  }) {
@@ -2144,7 +2144,7 @@ function ConnectedAgentCreator({
2144
2144
  const initialValues = react$1.useMemo(
2145
2145
  () => ({
2146
2146
  name: agent?.given_name ?? initialName ?? "",
2147
- persona: isEdit ? chunk5HPLUT4M_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
2147
+ persona: isEdit ? chunkKBXATCF4_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
2148
2148
  modelName: String(agents.AGENT_MODEL_NAME ?? ""),
2149
2149
  capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
2150
2150
  type: "builtin",
@@ -2163,7 +2163,7 @@ function ConnectedAgentCreator({
2163
2163
  try {
2164
2164
  let agentExtId = agent?.external_id ?? early?.id ?? "";
2165
2165
  if (!agentExtId) {
2166
- if (!chunk5HPLUT4M_cjs.isValidAgentName(values.name)) {
2166
+ if (!chunkKBXATCF4_cjs.isValidAgentName(values.name)) {
2167
2167
  notify17("Give the agent a name first.", "error");
2168
2168
  return;
2169
2169
  }
@@ -2199,7 +2199,7 @@ function ConnectedAgentCreator({
2199
2199
  title: `agent-${name}`,
2200
2200
  sections: {
2201
2201
  Agents: {
2202
- PERSONA: chunk5HPLUT4M_cjs.composePersona(name, values.persona),
2202
+ PERSONA: chunkKBXATCF4_cjs.composePersona(name, values.persona),
2203
2203
  ...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
2204
2204
  ...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
2205
2205
  ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
@@ -2222,7 +2222,7 @@ function ConnectedAgentCreator({
2222
2222
  };
2223
2223
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2224
2224
  /* @__PURE__ */ jsxRuntime.jsx(
2225
- chunk5HPLUT4M_cjs.AgentCreator,
2225
+ chunkKBXATCF4_cjs.AgentCreator,
2226
2226
  {
2227
2227
  open: ready,
2228
2228
  onOpenChange,
@@ -2238,11 +2238,11 @@ function ConnectedAgentCreator({
2238
2238
  ) : void 0,
2239
2239
  revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
2240
2240
  avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
2241
- chunk5HPLUT4M_cjs.AgentAvatarField,
2241
+ chunkKBXATCF4_cjs.AgentAvatarField,
2242
2242
  {
2243
2243
  picture,
2244
2244
  isBusy: avatarBusy,
2245
- canGenerate: isEdit || chunk5HPLUT4M_cjs.isValidAgentName(values.name),
2245
+ canGenerate: isEdit || chunkKBXATCF4_cjs.isValidAgentName(values.name),
2246
2246
  onGenerate: () => handleGenerateAvatar(values)
2247
2247
  }
2248
2248
  ),
@@ -2294,7 +2294,7 @@ function ConnectedAgentCreator({
2294
2294
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
2295
2295
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
2296
2296
  ] }),
2297
- connect && /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2297
+ connect && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
2298
2298
  ]
2299
2299
  }
2300
2300
  ) })
@@ -2321,7 +2321,7 @@ function useConnectedAgentManagement({
2321
2321
  const onEditorOpenChange = (open) => {
2322
2322
  setEditorOpen(open);
2323
2323
  };
2324
- const create2 = () => {
2324
+ const create3 = () => {
2325
2325
  setEditing(null);
2326
2326
  setEditorOpen(true);
2327
2327
  };
@@ -2355,7 +2355,7 @@ function useConnectedAgentManagement({
2355
2355
  return {
2356
2356
  agents,
2357
2357
  isLoading,
2358
- create: create2,
2358
+ create: create3,
2359
2359
  edit,
2360
2360
  assign,
2361
2361
  remove,
@@ -2686,7 +2686,7 @@ function useMemoryCount(enabled) {
2686
2686
  }
2687
2687
  function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2688
2688
  const { notify: notify17, openConversation, openDocument } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
2689
- const people = chunkLDGVJI7D_cjs.useTaskPeople();
2689
+ const people = chunkUSIRUI2M_cjs.useTaskPeople();
2690
2690
  const canEditShared = react.useCanEditShared();
2691
2691
  const isWorkspaceOwner = react.useIsWorkspaceOwner();
2692
2692
  const { data: workflows = [] } = react.useWorkflows({ live: true });
@@ -2712,7 +2712,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2712
2712
  }, [documents]);
2713
2713
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2714
2714
  /* @__PURE__ */ jsxRuntime.jsx(
2715
- chunk5HPLUT4M_cjs.TaskTable,
2715
+ chunkKBXATCF4_cjs.TaskTable,
2716
2716
  {
2717
2717
  tasks,
2718
2718
  isLoading,
@@ -2739,7 +2739,7 @@ function AgentsTasks({ tasks, isLoading, agents, labels: l, onCompose }) {
2739
2739
  }
2740
2740
  ),
2741
2741
  activityFor && /* @__PURE__ */ jsxRuntime.jsx(
2742
- chunkLDGVJI7D_cjs.ConnectedTaskActivityDialog,
2742
+ chunkUSIRUI2M_cjs.ConnectedTaskActivityDialog,
2743
2743
  {
2744
2744
  conversationId: activityFor.external_id,
2745
2745
  taskName: activityFor.title || l.untitledTask,
@@ -2778,7 +2778,7 @@ function AgentsLauncher({ workflows, renderIcon, labels: l, testId }) {
2778
2778
  [workflows, skills, l.skillFiles]
2779
2779
  );
2780
2780
  const launch = async ({ workflow, inputs, agentId }) => {
2781
- const values = chunk5HPLUT4M_cjs.defaultTaskComposerValues(launchable, {
2781
+ const values = chunkKBXATCF4_cjs.defaultTaskComposerValues(launchable, {
2782
2782
  workflowId: workflow.id,
2783
2783
  assignee: "agent",
2784
2784
  inputs,
@@ -2898,7 +2898,7 @@ function ConnectedAgentsPageScope(props) {
2898
2898
  children,
2899
2899
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentCreator, { ...management.editorProps, ...agentOptions.creator }),
2900
2900
  taskDialog && /* @__PURE__ */ jsxRuntime.jsx(
2901
- chunkLDGVJI7D_cjs.ConnectedTaskComposer,
2901
+ chunkUSIRUI2M_cjs.ConnectedTaskComposer,
2902
2902
  {
2903
2903
  open: true,
2904
2904
  onOpenChange: (open) => !open && setTaskDialog(null),
@@ -2920,7 +2920,7 @@ function AgentsGallery() {
2920
2920
  cardTestIds
2921
2921
  } = agentOptions;
2922
2922
  const { openConversation } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
2923
- const tasksByAgent = react$1.useMemo(() => chunk5HPLUT4M_cjs.groupAgentTasks(tasks), [tasks]);
2923
+ const tasksByAgent = react$1.useMemo(() => chunkKBXATCF4_cjs.groupAgentTasks(tasks), [tasks]);
2924
2924
  const behaviour = useAgentBehaviour(l.defaultBehaviour, details.includes("behaviour"));
2925
2925
  const { agents } = management;
2926
2926
  const cardDetails = (agent) => details.map(
@@ -2935,7 +2935,7 @@ function AgentsGallery() {
2935
2935
  ) : detail === "workspaces" ? /* @__PURE__ */ jsxRuntime.jsx(AgentWorkspaceAccess, { agentExtId: agent.external_id, labels: l }, detail) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: behaviour.behaviourOf(agent.given_name) }, detail)
2936
2936
  );
2937
2937
  return /* @__PURE__ */ jsxRuntime.jsx(
2938
- chunk5HPLUT4M_cjs.AgentGallery,
2938
+ chunkKBXATCF4_cjs.AgentGallery,
2939
2939
  {
2940
2940
  count: agents.length,
2941
2941
  onCreate: management.create,
@@ -2945,9 +2945,9 @@ function AgentsGallery() {
2945
2945
  const agentTasks = tasksByAgent.get(agent.external_id) ?? [];
2946
2946
  const running = agentTasks.filter((t) => t.in_progress);
2947
2947
  const watchConversationId = running[0]?.external_id ?? null;
2948
- const progress = agentTasks[0] ? chunk5HPLUT4M_cjs.goalProgress(agentTasks[0]) : null;
2948
+ const progress = agentTasks[0] ? chunkKBXATCF4_cjs.goalProgress(agentTasks[0]) : null;
2949
2949
  return /* @__PURE__ */ jsxRuntime.jsx(
2950
- chunk5HPLUT4M_cjs.AgentCard,
2950
+ chunkKBXATCF4_cjs.AgentCard,
2951
2951
  {
2952
2952
  name: displayName(agent),
2953
2953
  avatar: /* @__PURE__ */ jsxRuntime.jsx(AgentInitialsAvatar, { agent }),
@@ -3242,12 +3242,12 @@ function tagCombinationMatches(combination, items) {
3242
3242
  );
3243
3243
  return { docs: pass(items.documents), facts: pass(items.facts), threads: pass(items.threads) };
3244
3244
  }
3245
- function narrowTagRow(row2, matches, shown) {
3246
- if (!matches || !row2.links) return row2;
3247
- const docs = (row2.links.docs ?? []).filter((d) => matches.docs.has(d.doc_ext_id));
3248
- const facts = (row2.links.facts ?? []).filter((f) => matches.facts.has(f.fact_ext_id));
3245
+ function narrowTagRow(row2, matches2, shown) {
3246
+ if (!matches2 || !row2.links) return row2;
3247
+ const docs = (row2.links.docs ?? []).filter((d) => matches2.docs.has(d.doc_ext_id));
3248
+ const facts = (row2.links.facts ?? []).filter((f) => matches2.facts.has(f.fact_ext_id));
3249
3249
  const threads = (row2.links.threads ?? []).filter(
3250
- (t) => matches.threads.has(t.conversation_ext_id)
3250
+ (t) => matches2.threads.has(t.conversation_ext_id)
3251
3251
  );
3252
3252
  const cut = (list) => shown === void 0 ? list : list.slice(0, shown);
3253
3253
  return {
@@ -3262,11 +3262,11 @@ function narrowTagRow(row2, matches, shown) {
3262
3262
  }
3263
3263
  };
3264
3264
  }
3265
- function narrowTagTable(table, matches, shown) {
3266
- if (!table || !matches) return table;
3265
+ function narrowTagTable(table, matches2, shown) {
3266
+ if (!table || !matches2) return table;
3267
3267
  return {
3268
3268
  ...table,
3269
- rows: table.rows.map((row2) => narrowTagRow(row2, matches, shown)).filter((row2) => {
3269
+ rows: table.rows.map((row2) => narrowTagRow(row2, matches2, shown)).filter((row2) => {
3270
3270
  const l = row2.links;
3271
3271
  return !!l && l.doc_count + l.fact_count + l.thread_count > 0;
3272
3272
  })
@@ -3359,7 +3359,7 @@ function ConnectedTagTable({
3359
3359
  const fail2 = (fallback) => (e) => notify17(browser.refusalReason(e, fallback), "error");
3360
3360
  const snapshot2 = (data) => {
3361
3361
  const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
3362
- const bytes = chunkYOCKX2OP_cjs.tagTableDocx(data, {
3362
+ const bytes = chunk4VSRSF4Q_cjs.tagTableDocx(data, {
3363
3363
  title,
3364
3364
  nameOf: (id) => people.find((p) => p.value === id)?.label
3365
3365
  });
@@ -3368,7 +3368,7 @@ function ConnectedTagTable({
3368
3368
  return { blob: new Blob([bytes], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }), name };
3369
3369
  };
3370
3370
  return /* @__PURE__ */ jsxRuntime.jsx(
3371
- chunkYOCKX2OP_cjs.TagTable,
3371
+ chunk4VSRSF4Q_cjs.TagTable,
3372
3372
  {
3373
3373
  ...props,
3374
3374
  table,
@@ -3452,8 +3452,8 @@ function ConnectedAiReview({
3452
3452
  const generate = react.useGenerateDocTags();
3453
3453
  const { data: liveDocs = [] } = react.useDocuments();
3454
3454
  const { data: tags = [] } = react.useTags();
3455
- const result = chunkF3IRNQIB_cjs.useAiReviewStore((s) => s.run);
3456
- const setResult = chunkF3IRNQIB_cjs.useAiReviewStore((s) => s.setRun);
3455
+ const result = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.run);
3456
+ const setResult = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.setRun);
3457
3457
  const phase = result ? "review" : "ask";
3458
3458
  const docCount = documents.length;
3459
3459
  const scope = allDocuments ? "processed" : "selected";
@@ -3687,7 +3687,7 @@ function ConnectedAiReview({
3687
3687
  }, [kind]);
3688
3688
  const description = phase === "ask" ? `Ask one question \u2014 ARBI answers it for each of the ${docCount} ${scope} document${plural2(docCount)}.` : aiCellsTotal > 0 ? reviewProgress(aiCellsDone, aiCellsEmpty, aiCellsTotal) : `Applied to ${rows.length} document${plural2(rows.length)}`;
3689
3689
  return /* @__PURE__ */ jsxRuntime.jsx(
3690
- chunkVJTDTWNZ_cjs.AiReviewDialogView,
3690
+ chunkERDQ4DAX_cjs.AiReviewDialogView,
3691
3691
  {
3692
3692
  open,
3693
3693
  onOpenChange: handleOpenChange,
@@ -3738,9 +3738,9 @@ function GlossaryExport({ labelId, nameOf }) {
3738
3738
  const narrowed = agreements.find((a) => a.id === narrowTo);
3739
3739
  const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
3740
3740
  const download = (format) => {
3741
- const entries = chunkYOCKX2OP_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3742
- const blob = format === "docx" ? new Blob([chunkYOCKX2OP_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunkYOCKX2OP_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3743
- documentTools.downloadBlob(blob, chunkYOCKX2OP_cjs.glossaryFileName(title, format));
3741
+ const entries = chunk4VSRSF4Q_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
3742
+ const blob = format === "docx" ? new Blob([chunk4VSRSF4Q_cjs.glossaryDocx(entries, { title })], { type: chunkJIOHDVWH_cjs.DOCX_MIME_TYPE }) : new Blob([chunk4VSRSF4Q_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
3743
+ documentTools.downloadBlob(blob, chunk4VSRSF4Q_cjs.glossaryFileName(title, format));
3744
3744
  };
3745
3745
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
3746
3746
  agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3804,8 +3804,8 @@ function useOpenTaggedContent() {
3804
3804
  if (!workspaceId) return;
3805
3805
  session.setTransientView("topbar.filter", "");
3806
3806
  if (kind === "documents") {
3807
- chunkF3IRNQIB_cjs.useFilesPrefs.getState().setDocumentFilters({ [tagId]: "include" });
3808
- chunkF3IRNQIB_cjs.useFilesPrefs.getState().setViewMode("grid");
3807
+ chunkHJBVSG6H_cjs.useFilesPrefs.getState().setDocumentFilters({ [tagId]: "include" });
3808
+ chunkHJBVSG6H_cjs.useFilesPrefs.getState().setViewMode("grid");
3809
3809
  session.setPage("documents");
3810
3810
  } else if (kind === "facts") {
3811
3811
  session.setViewFilter(FACTS_FILTER_KEY, { [tagId]: "include" });
@@ -3844,7 +3844,7 @@ function ConnectedTagForm({
3844
3844
  nameByKind = false
3845
3845
  }) {
3846
3846
  const isCreate = !tag;
3847
- const memberById = chunk65MSYISI_cjs.useMemberLookup();
3847
+ const memberById = chunkVD33HXFZ_cjs.useMemberLookup();
3848
3848
  const creator = memberById(tag?.created_by_ext_id);
3849
3849
  const updater = memberById(tag?.updated_by_ext_id);
3850
3850
  const fieldLabel = ui.getEntityLabel("TAG", "SINGULAR");
@@ -3923,19 +3923,19 @@ function ConnectedTagForm({
3923
3923
  metaLines.push({
3924
3924
  text: `Created ${ui.formatFriendlyDate(tag.created_at)}`,
3925
3925
  byLabel: "by",
3926
- by: creator ? /* @__PURE__ */ jsxRuntime.jsx(chunkVYTEEQ4C_cjs.DocumentUser, { user: creator }) : void 0
3926
+ by: creator ? /* @__PURE__ */ jsxRuntime.jsx(chunkMT3RPUQC_cjs.DocumentUser, { user: creator }) : void 0
3927
3927
  });
3928
3928
  if (tag.updated_at && tag.updated_at !== tag.created_at) {
3929
3929
  metaLines.push({
3930
3930
  text: `Updated ${ui.formatFriendlyDate(tag.updated_at)}`,
3931
3931
  byLabel: "by",
3932
- by: updater ? /* @__PURE__ */ jsxRuntime.jsx(chunkVYTEEQ4C_cjs.DocumentUser, { user: updater }) : void 0
3932
+ by: updater ? /* @__PURE__ */ jsxRuntime.jsx(chunkMT3RPUQC_cjs.DocumentUser, { user: updater }) : void 0
3933
3933
  });
3934
3934
  }
3935
3935
  }
3936
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.TagFormRoot, { children: [
3936
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.TagFormRoot, { children: [
3937
3937
  !nameOnRow && /* @__PURE__ */ jsxRuntime.jsx(
3938
- chunkVJTDTWNZ_cjs.TagFormNameField,
3938
+ chunkERDQ4DAX_cjs.TagFormNameField,
3939
3939
  {
3940
3940
  label: group || nameByKind ? `${ui.tagKindTitle(kind)} Name` : `${columnLabel} Name`,
3941
3941
  placeholder: `Enter ${kindNoun ?? columnLabel.toLowerCase()} name...`,
@@ -3945,7 +3945,7 @@ function ConnectedTagForm({
3945
3945
  }
3946
3946
  ),
3947
3947
  kinds.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
3948
- chunkVJTDTWNZ_cjs.TagFormSelectField,
3948
+ chunkERDQ4DAX_cjs.TagFormSelectField,
3949
3949
  {
3950
3950
  label: "Kind",
3951
3951
  testId: "inline-tag-form-kind-field",
@@ -3960,7 +3960,7 @@ function ConnectedTagForm({
3960
3960
  }
3961
3961
  ),
3962
3962
  kind === "annotation" && /* @__PURE__ */ jsxRuntime.jsx(
3963
- chunkVJTDTWNZ_cjs.TagFormSelectField,
3963
+ chunkERDQ4DAX_cjs.TagFormSelectField,
3964
3964
  {
3965
3965
  label: group === "annotation" ? "Value type" : "Field Type",
3966
3966
  testId: "inline-tag-form-type-field",
@@ -3972,7 +3972,7 @@ function ConnectedTagForm({
3972
3972
  }
3973
3973
  ),
3974
3974
  showParentPicker && /* @__PURE__ */ jsxRuntime.jsx(
3975
- chunkVJTDTWNZ_cjs.TagFormSelectField,
3975
+ chunkERDQ4DAX_cjs.TagFormSelectField,
3976
3976
  {
3977
3977
  label: "Nested Under",
3978
3978
  value: parentId,
@@ -3994,14 +3994,14 @@ function ConnectedTagForm({
3994
3994
  ]
3995
3995
  }
3996
3996
  ),
3997
- nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
3997
+ nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
3998
3998
  "Other fields are nested under this one, so it cannot itself be nested \u2014 fields nest",
3999
3999
  " ",
4000
4000
  browser.TAG_NESTING_MAX_DEPTH,
4001
4001
  " levels deep."
4002
4002
  ] }),
4003
4003
  tagType === "select" && /* @__PURE__ */ jsxRuntime.jsx(
4004
- chunkVJTDTWNZ_cjs.TagFormOptionsEditor,
4004
+ chunkERDQ4DAX_cjs.TagFormOptionsEditor,
4005
4005
  {
4006
4006
  label: "Options",
4007
4007
  options: options2,
@@ -4014,7 +4014,7 @@ function ConnectedTagForm({
4014
4014
  }
4015
4015
  ),
4016
4016
  tagType === "text" && /* @__PURE__ */ jsxRuntime.jsx(
4017
- chunkVJTDTWNZ_cjs.TagFormInstructionField,
4017
+ chunkERDQ4DAX_cjs.TagFormInstructionField,
4018
4018
  {
4019
4019
  label: "AI Instruction",
4020
4020
  optionalLabel: "(optional)",
@@ -4024,12 +4024,12 @@ function ConnectedTagForm({
4024
4024
  onChange: setInstruction
4025
4025
  }
4026
4026
  ),
4027
- metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.TagFormMeta, { lines: metaLines }),
4027
+ metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TagFormMeta, { lines: metaLines }),
4028
4028
  /* @__PURE__ */ jsxRuntime.jsx(
4029
- chunkVJTDTWNZ_cjs.TagFormFooter,
4029
+ chunkERDQ4DAX_cjs.TagFormFooter,
4030
4030
  {
4031
4031
  sharedToggle: isCreate || !group ? /* @__PURE__ */ jsxRuntime.jsx(
4032
- chunkVJTDTWNZ_cjs.TagFormSharedToggle,
4032
+ chunkERDQ4DAX_cjs.TagFormSharedToggle,
4033
4033
  {
4034
4034
  label: "Shared with workspace",
4035
4035
  toggle: /* @__PURE__ */ jsxRuntime.jsx(
@@ -4269,7 +4269,7 @@ function KindSection({
4269
4269
  {
4270
4270
  testId: `tags-kind-${kind}`,
4271
4271
  title: ui.tagKindTitle(kind, { plural: true }),
4272
- description: chunkYOCKX2OP_cjs.tagKindDescription(kind),
4272
+ description: chunk4VSRSF4Q_cjs.tagKindDescription(kind),
4273
4273
  children: [
4274
4274
  browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
4275
4275
  "p",
@@ -4279,9 +4279,9 @@ function KindSection({
4279
4279
  children: [
4280
4280
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
4281
4281
  "Extracting ",
4282
- chunkYOCKX2OP_cjs.entitiesPhrase().toLowerCase(),
4282
+ chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase(),
4283
4283
  " from ",
4284
- chunkYOCKX2OP_cjs.documentCount(extractingCount),
4284
+ chunk4VSRSF4Q_cjs.documentCount(extractingCount),
4285
4285
  "\u2026"
4286
4286
  ]
4287
4287
  }
@@ -4299,7 +4299,7 @@ function KindSection({
4299
4299
  onOpenTag: ctx.onOpenTag,
4300
4300
  onOpenRow: ctx.onOpenTag,
4301
4301
  onOpenTaggedItems: ctx.onOpenTaggedItems,
4302
- labels: chunkYOCKX2OP_cjs.tagTableLabels(kind),
4302
+ labels: chunk4VSRSF4Q_cjs.tagTableLabels(kind),
4303
4303
  testId: `tags-table-${kind}`
4304
4304
  }
4305
4305
  )
@@ -4407,15 +4407,15 @@ function TagSection({
4407
4407
  onOpenTag: ctx.onOpenTag,
4408
4408
  onOpenRow: ctx.onOpenTag,
4409
4409
  onOpenTaggedItems: ctx.onOpenTaggedItems,
4410
- labels: chunkYOCKX2OP_cjs.tagTableLabels(tag.kind),
4410
+ labels: chunk4VSRSF4Q_cjs.tagTableLabels(tag.kind),
4411
4411
  testId: "tags-rows"
4412
4412
  }
4413
4413
  ),
4414
4414
  /* @__PURE__ */ jsxRuntime.jsx(
4415
- chunkYOCKX2OP_cjs.TagDetail,
4415
+ chunk4VSRSF4Q_cjs.TagDetail,
4416
4416
  {
4417
4417
  onOpenTaggedItems: ctx.onOpenTaggedItems,
4418
- fieldLabels: chunkYOCKX2OP_cjs.tagTableLabels(tag.kind),
4418
+ fieldLabels: chunk4VSRSF4Q_cjs.tagTableLabels(tag.kind),
4419
4419
  row: detailRow,
4420
4420
  fields: schema.data?.fields ?? [],
4421
4421
  isLoading: detail.isLoading,
@@ -4423,7 +4423,7 @@ function TagSection({
4423
4423
  tags: tagOptions,
4424
4424
  onOpenTag: ctx.onOpenTag,
4425
4425
  onChangeValue: (id, fieldId, value) => setValues.mutateAsync({ tagId: id, values: { [fieldId]: value } }).catch((e) => notify17(browser.refusalReason(e, "Could not save the value"), "error")),
4426
- labels: chunkYOCKX2OP_cjs.tagDetailLabels(),
4426
+ labels: chunk4VSRSF4Q_cjs.tagDetailLabels(),
4427
4427
  testId: "tags-detail"
4428
4428
  }
4429
4429
  )
@@ -4446,9 +4446,9 @@ var TAG_FILTER_FIELDS = [
4446
4446
  function ConnectedTagsPage() {
4447
4447
  const { confirm, notify: notify17, openSmartSearch } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
4448
4448
  const onOpenTaggedItems = useOpenTaggedContent();
4449
- const setReviewOpen = chunkF3IRNQIB_cjs.useAiReviewStore((state) => state.setOpen);
4450
- const setReviewRun = chunkF3IRNQIB_cjs.useAiReviewStore((state) => state.setRun);
4451
- const reviewOpen = chunkF3IRNQIB_cjs.useAiReviewStore((state) => state.open);
4449
+ const setReviewOpen = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.setOpen);
4450
+ const setReviewRun = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.setRun);
4451
+ const reviewOpen = chunkHJBVSG6H_cjs.useAiReviewStore((state) => state.open);
4452
4452
  const [review, setReview] = react$1.useState(null);
4453
4453
  const { data: tags } = chunkXJM3RDLO_cjs.useConnectedTags();
4454
4454
  const { data: documents } = chunkXJM3RDLO_cjs.useConnectedDocuments();
@@ -4473,7 +4473,7 @@ function ConnectedTagsPage() {
4473
4473
  [documents]
4474
4474
  );
4475
4475
  const docOf = (id) => docsById.get(id);
4476
- const matches = react$1.useMemo(
4476
+ const matches2 = react$1.useMemo(
4477
4477
  () => tagCombinationMatches(combination, {
4478
4478
  documents: documents.map((d) => ({
4479
4479
  id: d.external_id,
@@ -4498,7 +4498,7 @@ function ConnectedTagsPage() {
4498
4498
  const onDelete = async (t) => {
4499
4499
  const nested = browser.getChildTags([...tags], t.external_id);
4500
4500
  const uses = browser.tagUseCount(t);
4501
- const n2 = chunkYOCKX2OP_cjs.tagsPageNouns();
4501
+ const n2 = chunk4VSRSF4Q_cjs.tagsPageNouns();
4502
4502
  const tagNoun = (count2) => (count2 === 1 ? n2.tag : n2.tags).toLowerCase();
4503
4503
  const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
4504
4504
  const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
@@ -4519,11 +4519,11 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4519
4519
  try {
4520
4520
  await extract.mutateAsync(docIds);
4521
4521
  notify17(
4522
- `Extracting ${chunkYOCKX2OP_cjs.entitiesPhrase().toLowerCase()} from ${chunkYOCKX2OP_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4522
+ `Extracting ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()} from ${chunk4VSRSF4Q_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
4523
4523
  "info"
4524
4524
  );
4525
4525
  } catch (error) {
4526
- notify17(browser.refusalReason(error, `Could not extract ${chunkYOCKX2OP_cjs.entitiesPhrase().toLowerCase()}`), "error");
4526
+ notify17(browser.refusalReason(error, `Could not extract ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()}`), "error");
4527
4527
  throw error;
4528
4528
  }
4529
4529
  };
@@ -4533,14 +4533,14 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4533
4533
  ui.tagKindNouns(view).singular
4534
4534
  ] });
4535
4535
  const ctx = {
4536
- filter: { matches, text: filterText, fields: filterFields },
4536
+ filter: { matches: matches2, text: filterText, fields: filterFields },
4537
4537
  onOpenTag: openTag,
4538
4538
  onOpenTaggedItems
4539
4539
  };
4540
- const n = chunkYOCKX2OP_cjs.tagsPageNouns();
4540
+ const n = chunk4VSRSF4Q_cjs.tagsPageNouns();
4541
4541
  const action = view === "person" || view === "organisation" ? {
4542
4542
  label: "Extract",
4543
- title: `Extract ${chunkYOCKX2OP_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4543
+ title: `Extract ${chunk4VSRSF4Q_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
4544
4544
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
4545
4545
  run: () => setExtracting(true),
4546
4546
  testId: "tags-extract-entities"
@@ -4594,7 +4594,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4594
4594
  onTabChange: () => {
4595
4595
  },
4596
4596
  variant: "underline",
4597
- firstTabContent: tag ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
4597
+ firstTabContent: tag ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
4598
4598
  chunk6UZC4XVV_cjs.FilterInput,
4599
4599
  {
4600
4600
  value: filterText,
@@ -4616,7 +4616,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4616
4616
  filter: tagFilter
4617
4617
  }
4618
4618
  ) }),
4619
- centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
4619
+ centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
4620
4620
  chunkSNUBQMIS_cjs.ViewToggle,
4621
4621
  {
4622
4622
  options: browser.TAG_KINDS.map((k) => ({
@@ -4709,7 +4709,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
4709
4709
  }
4710
4710
  ),
4711
4711
  /* @__PURE__ */ jsxRuntime.jsx(
4712
- chunkYOCKX2OP_cjs.ExtractEntitiesDialog,
4712
+ chunk4VSRSF4Q_cjs.ExtractEntitiesDialog,
4713
4713
  {
4714
4714
  open: extracting,
4715
4715
  onOpenChange: setExtracting,
@@ -5297,7 +5297,7 @@ function ConnectedExportPanel({
5297
5297
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", "data-testid": "export-documents", children: [
5298
5298
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-auto space-y-6 p-6", children: [
5299
5299
  jobRunning && job && /* @__PURE__ */ jsxRuntime.jsx(
5300
- chunkVJTDTWNZ_cjs.TransferProgressView,
5300
+ chunkERDQ4DAX_cjs.TransferProgressView,
5301
5301
  {
5302
5302
  title: `${job.mode === "move" ? "Moving" : "Copying"} to ${targetName(job.target_workspace_ext_id)}`,
5303
5303
  processed: job.processed ?? 0,
@@ -5310,7 +5310,7 @@ function ConnectedExportPanel({
5310
5310
  ),
5311
5311
  jobDone && job && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5312
5312
  react.isTransferResumable(job) && /* @__PURE__ */ jsxRuntime.jsx(
5313
- chunkVJTDTWNZ_cjs.TransferResumeBanner,
5313
+ chunkERDQ4DAX_cjs.TransferResumeBanner,
5314
5314
  {
5315
5315
  message: `Stopped at ${job.processed} of ${job.total}. Resume to finish \u2014 nothing is copied twice.`,
5316
5316
  onResume: () => handleResume(job),
@@ -5318,7 +5318,7 @@ function ConnectedExportPanel({
5318
5318
  }
5319
5319
  ),
5320
5320
  /* @__PURE__ */ jsxRuntime.jsx(
5321
- chunkVJTDTWNZ_cjs.ExportResultsReport,
5321
+ chunkERDQ4DAX_cjs.ExportResultsReport,
5322
5322
  {
5323
5323
  summary: `${job.mode === "move" ? "Moved" : "Copied"} ${plural3(
5324
5324
  Number(job.counts?.copied ?? 0) + Number(job.counts?.removed ?? 0),
@@ -5331,7 +5331,7 @@ function ConnectedExportPanel({
5331
5331
  ] }),
5332
5332
  !jobId && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5333
5333
  resumable && /* @__PURE__ */ jsxRuntime.jsx(
5334
- chunkVJTDTWNZ_cjs.TransferResumeBanner,
5334
+ chunkERDQ4DAX_cjs.TransferResumeBanner,
5335
5335
  {
5336
5336
  message: `A ${resumable.mode} to ${targetName(resumable.target_workspace_ext_id)} stopped at ${resumable.processed} of ${resumable.total}.`,
5337
5337
  onResume: () => handleResume(resumable),
@@ -5339,7 +5339,7 @@ function ConnectedExportPanel({
5339
5339
  }
5340
5340
  ),
5341
5341
  /* @__PURE__ */ jsxRuntime.jsx(
5342
- chunkVJTDTWNZ_cjs.TransferScopeChooser,
5342
+ chunkERDQ4DAX_cjs.TransferScopeChooser,
5343
5343
  {
5344
5344
  scope: scopeChoice,
5345
5345
  onScopeChange: setScopeChoice,
@@ -5350,7 +5350,7 @@ function ConnectedExportPanel({
5350
5350
  }
5351
5351
  ),
5352
5352
  /* @__PURE__ */ jsxRuntime.jsx(
5353
- chunkVJTDTWNZ_cjs.TransferKindsPicker,
5353
+ chunkERDQ4DAX_cjs.TransferKindsPicker,
5354
5354
  {
5355
5355
  options: ALL_KINDS.map((kind) => ({
5356
5356
  kind,
@@ -5363,9 +5363,9 @@ function ConnectedExportPanel({
5363
5363
  )
5364
5364
  }
5365
5365
  ),
5366
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
5366
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
5367
5367
  /* @__PURE__ */ jsxRuntime.jsx(
5368
- chunkVJTDTWNZ_cjs.ExportMethodChooser,
5368
+ chunkERDQ4DAX_cjs.ExportMethodChooser,
5369
5369
  {
5370
5370
  mode,
5371
5371
  onModeChange: setMode,
@@ -5377,17 +5377,17 @@ function ConnectedExportPanel({
5377
5377
  ),
5378
5378
  mode !== "download" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5379
5379
  /* @__PURE__ */ jsxRuntime.jsx(
5380
- chunkVJTDTWNZ_cjs.ExportWorkspacePicker,
5380
+ chunkERDQ4DAX_cjs.ExportWorkspacePicker,
5381
5381
  {
5382
5382
  workspaces: workspaceOptions,
5383
5383
  selectedId: targetId,
5384
5384
  onSelect: setTargetId
5385
5385
  }
5386
5386
  ),
5387
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
5387
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
5388
5388
  ] }),
5389
5389
  /* @__PURE__ */ jsxRuntime.jsx(
5390
- chunkVJTDTWNZ_cjs.TransferPlanSummary,
5390
+ chunkERDQ4DAX_cjs.TransferPlanSummary,
5391
5391
  {
5392
5392
  lines: summary.lines,
5393
5393
  warnings: summary.warnings,
@@ -5404,7 +5404,7 @@ function ConnectedExportPanel({
5404
5404
  ] })
5405
5405
  ] }),
5406
5406
  !jobId && /* @__PURE__ */ jsxRuntime.jsx(
5407
- chunkVJTDTWNZ_cjs.ExportFooter,
5407
+ chunkERDQ4DAX_cjs.ExportFooter,
5408
5408
  {
5409
5409
  onCancel: onClose,
5410
5410
  onSubmit: handleSubmit,
@@ -5445,7 +5445,7 @@ function OpenExportDialog({
5445
5445
  children: [
5446
5446
  /* @__PURE__ */ jsxRuntime.jsxs(chunkULWRNGGE_cjs.ModalHeader, { children: [
5447
5447
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
5448
- chunkVJTDTWNZ_cjs.ExportModalTitle,
5448
+ chunkERDQ4DAX_cjs.ExportModalTitle,
5449
5449
  {
5450
5450
  workspace: workspace ? {
5451
5451
  icon: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "touch-hit inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -5662,7 +5662,7 @@ function useFieldWrites({
5662
5662
  const createTag = react.useCreateTag();
5663
5663
  const updateTag = react.useUpdateTag();
5664
5664
  const deleteTag = react.useDeleteTag();
5665
- const create2 = react$1.useCallback(
5665
+ const create3 = react$1.useCallback(
5666
5666
  async (data) => {
5667
5667
  let created;
5668
5668
  try {
@@ -5768,7 +5768,7 @@ ${nested.length} nested ${nested.length === 1 ? "field moves" : "fields move"} t
5768
5768
  },
5769
5769
  [confirm, notify17, deleteTag, tags, workspaceTags, nouns]
5770
5770
  );
5771
- return { create: create2, update, rename, toggleShared, removeMany };
5771
+ return { create: create3, update, rename, toggleShared, removeMany };
5772
5772
  }
5773
5773
  var ownFieldsExport = (props) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedExportDialog, { ...props, entityType: "TAG", testId: "export-fields-modal" });
5774
5774
  function ConnectedFieldsEditor({
@@ -5862,7 +5862,7 @@ function ConnectedFieldsEditor({
5862
5862
  const [sortBy, setSortBy] = react$1.useState("name-asc");
5863
5863
  const [filterText, setFilterText] = react$1.useState("");
5864
5864
  const fieldRows = react$1.useMemo(
5865
- () => browser.flattenTagTree(chunkVJTDTWNZ_cjs.sortFields(chunkVJTDTWNZ_cjs.filterFieldsByName(tags, filterText), sortBy)),
5865
+ () => browser.flattenTagTree(chunkERDQ4DAX_cjs.sortFields(chunkERDQ4DAX_cjs.filterFieldsByName(tags, filterText), sortBy)),
5866
5866
  [tags, filterText, sortBy]
5867
5867
  );
5868
5868
  const exportItems = react$1.useMemo(
@@ -5882,7 +5882,7 @@ function ConnectedFieldsEditor({
5882
5882
  setIsDeleting(false);
5883
5883
  }
5884
5884
  };
5885
- const copy = chunkVJTDTWNZ_cjs.fieldsApplyBarCopy({
5885
+ const copy = chunkERDQ4DAX_cjs.fieldsApplyBarCopy({
5886
5886
  nouns,
5887
5887
  targetNoun,
5888
5888
  fieldCount,
@@ -5891,9 +5891,9 @@ function ConnectedFieldsEditor({
5891
5891
  isApplying,
5892
5892
  isClearing
5893
5893
  });
5894
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FieldsEditorRoot, { children: [
5894
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FieldsEditorRoot, { children: [
5895
5895
  /* @__PURE__ */ jsxRuntime.jsx(
5896
- chunkVJTDTWNZ_cjs.FieldsEditorToolbar,
5896
+ chunkERDQ4DAX_cjs.FieldsEditorToolbar,
5897
5897
  {
5898
5898
  nouns,
5899
5899
  onNew: () => {
@@ -5921,11 +5921,11 @@ function ConnectedFieldsEditor({
5921
5921
  onSortByChange: setSortBy
5922
5922
  }
5923
5923
  ),
5924
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FieldsEditorList, { children: [
5924
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FieldsEditorList, { children: [
5925
5925
  fieldRows.map(({ tag, depth, childCount }) => {
5926
5926
  const isEditingThis = editingTagId === tag.external_id;
5927
5927
  return /* @__PURE__ */ jsxRuntime.jsx(
5928
- chunkVJTDTWNZ_cjs.FieldRow,
5928
+ chunkERDQ4DAX_cjs.FieldRow,
5929
5929
  {
5930
5930
  tagId: tag.external_id,
5931
5931
  name: tag.name,
@@ -5978,10 +5978,10 @@ function ConnectedFieldsEditor({
5978
5978
  tag.external_id
5979
5979
  );
5980
5980
  }),
5981
- fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FieldsEmptyState, { children: chunkVJTDTWNZ_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
5981
+ fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsEmptyState, { children: chunkERDQ4DAX_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
5982
5982
  ] }),
5983
5983
  /* @__PURE__ */ jsxRuntime.jsx(
5984
- chunkVJTDTWNZ_cjs.FieldsApplyBar,
5984
+ chunkERDQ4DAX_cjs.FieldsApplyBar,
5985
5985
  {
5986
5986
  hint: copy.hint,
5987
5987
  applyLabel: copy.applyLabel,
@@ -6057,8 +6057,8 @@ function ConnectedFieldsManager({
6057
6057
  }
6058
6058
  );
6059
6059
  const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6060
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
6061
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
6060
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
6061
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
6062
6062
  ConnectedFieldsEditor,
6063
6063
  {
6064
6064
  group: activeKind,
@@ -6070,7 +6070,7 @@ function ConnectedFieldsManager({
6070
6070
  ] });
6071
6071
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
6072
6072
  /* @__PURE__ */ jsxRuntime.jsxs(chunkMMSHLHTA_cjs.DraggableHeader, { children: [
6073
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
6073
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
6074
6074
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
6075
6075
  ] }),
6076
6076
  body
@@ -6099,7 +6099,7 @@ function ConnectedFieldsManagerPanel({
6099
6099
  const [createRequest, setCreateRequest] = react.useTransientView(FIELDS_MANAGER_CREATE_VIEW, 0);
6100
6100
  const [kind, setKind] = react.useTransientView(FIELDS_MANAGER_KIND_VIEW, "label");
6101
6101
  const documentIds = react.useArbiSessionState((s) => s.selectedDocumentIds);
6102
- const reviewing = chunkF3IRNQIB_cjs.useFilesPrefs((state) => chunkF3IRNQIB_cjs.filesViewMode(state) === "navigator");
6102
+ const reviewing = chunkHJBVSG6H_cjs.useFilesPrefs((state) => chunkHJBVSG6H_cjs.filesViewMode(state) === "navigator");
6103
6103
  const viewingId = react.useArbiSessionState((s) => s.viewingDocument?.id ?? null);
6104
6104
  const reviewingId = reviewing ? viewingId : null;
6105
6105
  const handleClose = react$1.useCallback(() => {
@@ -6140,7 +6140,7 @@ function ConnectedFieldsManagerPanel({
6140
6140
  onAnnotationCreated,
6141
6141
  onAiFieldsApplied: (result) => {
6142
6142
  session.closePanel(FIELDS_MANAGER_PANEL);
6143
- const review = chunkF3IRNQIB_cjs.useAiReviewStore.getState();
6143
+ const review = chunkHJBVSG6H_cjs.useAiReviewStore.getState();
6144
6144
  review.setRun(result);
6145
6145
  review.setOpen(true);
6146
6146
  }
@@ -6515,7 +6515,7 @@ var factNouns = () => ({
6515
6515
  function useWorkspaceAsk() {
6516
6516
  const { openNewConversation, openFiles } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
6517
6517
  const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
6518
- const setFilesViewMode = chunkF3IRNQIB_cjs.useFilesPrefs((state) => state.setViewMode);
6518
+ const setFilesViewMode = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.setViewMode);
6519
6519
  const ask = react$1.useCallback(
6520
6520
  (text) => openNewConversation({ prompt: text, keepDocumentOpen: true }),
6521
6521
  [openNewConversation]
@@ -7043,7 +7043,7 @@ function useFactFilters(notes, view, chat) {
7043
7043
  (selected, setSelected, opts) => {
7044
7044
  const applied = new Set(selected);
7045
7045
  return /* @__PURE__ */ jsxRuntime.jsx(chunkYMNKMIFG_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
7046
- chunkVJTDTWNZ_cjs.FieldLabelsSelect,
7046
+ chunkERDQ4DAX_cjs.FieldLabelsSelect,
7047
7047
  {
7048
7048
  options: labelOptions,
7049
7049
  appliedIds: applied,
@@ -7270,7 +7270,7 @@ var FactHeader = react$1.memo(function FactHeader2({
7270
7270
  if (params.enableSorting) params.progressSort(e.shiftKey);
7271
7271
  },
7272
7272
  children: [
7273
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilterButton, { params, colId }),
7273
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilterButton, { params, colId }),
7274
7274
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "order-2 min-w-0 flex-1 truncate", children: params.displayName }),
7275
7275
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ag-sort-indicator-container order-2 flex-shrink-0", "aria-hidden": "true", children: [
7276
7276
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7542,7 +7542,7 @@ function useFactsPageView() {
7542
7542
  "facts.searchFields",
7543
7543
  DEFAULT_SEARCH_FIELDS
7544
7544
  );
7545
- const rowHeight = react.useArbiSessionState((s) => s.grid.rowHeights[FACTS_GRID_ID] ?? chunkVJTDTWNZ_cjs.ROW_MIN);
7545
+ const rowHeight = react.useArbiSessionState((s) => s.grid.rowHeights[FACTS_GRID_ID] ?? chunkERDQ4DAX_cjs.ROW_MIN);
7546
7546
  const labelWidth = react.useArbiSessionState(
7547
7547
  (s) => s.grid.labelWidths[FACTS_GRID_ID] ?? DEFAULT_TIMELINE_LABEL_WIDTH
7548
7548
  );
@@ -7776,7 +7776,7 @@ function ConnectedFactsPage() {
7776
7776
  const view = pageView.view;
7777
7777
  const setView = pageView.setView;
7778
7778
  const openLabels = () => openFieldsManagerIn(session, "label");
7779
- const factsRowHeight = pageView.rowHeight === chunkVJTDTWNZ_cjs.ROW_MIN ? chunkVJTDTWNZ_cjs.ROW_MIN : chunkVJTDTWNZ_cjs.rowHeightForLines(chunkVJTDTWNZ_cjs.linesForRowHeight(pageView.rowHeight));
7779
+ const factsRowHeight = pageView.rowHeight === chunkERDQ4DAX_cjs.ROW_MIN ? chunkERDQ4DAX_cjs.ROW_MIN : chunkERDQ4DAX_cjs.rowHeightForLines(chunkERDQ4DAX_cjs.linesForRowHeight(pageView.rowHeight));
7780
7780
  const [isExportOpen, setIsExportOpen] = react$1.useState(false);
7781
7781
  const [filterOpen, setFilterOpen] = react$1.useState(false);
7782
7782
  const [factSection, setFactSection] = react$1.useState(null);
@@ -7829,7 +7829,7 @@ function ConnectedFactsPage() {
7829
7829
  onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
7830
7830
  navSlotRef: setNavSlot,
7831
7831
  navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
7832
- chunkYOCKX2OP_cjs.GridRowNavigator,
7832
+ chunk4VSRSF4Q_cjs.GridRowNavigator,
7833
7833
  {
7834
7834
  gridApi,
7835
7835
  selectedId: editingId,
@@ -7842,7 +7842,7 @@ function ConnectedFactsPage() {
7842
7842
  tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7843
7843
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkYMNKMIFG_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
7844
7844
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
7845
- chunkVJTDTWNZ_cjs.RowDensityControl,
7845
+ chunkERDQ4DAX_cjs.RowDensityControl,
7846
7846
  {
7847
7847
  rowHeight: factsRowHeight,
7848
7848
  onRowHeightChange: pageView.setRowHeight,
@@ -8106,7 +8106,7 @@ function useConnectedShellWorkspaces(options2 = {}) {
8106
8106
  function ConnectedSsoDisconnect() {
8107
8107
  const { client } = react.useAccountClient();
8108
8108
  const { data: profile } = react.useProfile();
8109
- const auth = chunkSVQTUHPE_cjs.useAuthPages();
8109
+ const auth = chunkMM5Q7AJL_cjs.useAuthPages();
8110
8110
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
8111
8111
  const [open, setOpen] = react$1.useState(false);
8112
8112
  const [step, setStep] = react$1.useState("email");
@@ -8284,14 +8284,14 @@ function ConnectedAccountSettings({
8284
8284
  }) {
8285
8285
  const [logoutOpen, setLogoutOpen] = react$1.useState(false);
8286
8286
  return /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsPanel, { className: "max-w-2xl", children: [
8287
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
8287
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedProfileCard, { avatarClassName, nameBadge: profileBadge }),
8288
8288
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedBoxPortalSection, {}),
8289
8289
  /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsDisclosure, { title: "More", testId: "account-more-settings", children: [
8290
8290
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedSsoDisconnect, {}),
8291
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedSecuritySection, { children: securityRows }),
8291
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedSecuritySection, { children: securityRows }),
8292
8292
  moreSettings,
8293
8293
  /* @__PURE__ */ jsxRuntime.jsx(
8294
- chunkSVQTUHPE_cjs.ConnectedIdentityVerification,
8294
+ chunkMM5Q7AJL_cjs.ConnectedIdentityVerification,
8295
8295
  {
8296
8296
  collapsible: true,
8297
8297
  onManageBilling,
@@ -8301,7 +8301,7 @@ function ConnectedAccountSettings({
8301
8301
  ] }),
8302
8302
  /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkQQMMCXBP_cjs.SettingsCard, { children: [
8303
8303
  connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
8304
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedSessionsRow, { renderSessionIcon }),
8304
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedSessionsRow, { renderSessionIcon }),
8305
8305
  /* @__PURE__ */ jsxRuntime.jsx(chunkQQMMCXBP_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
8306
8306
  ui.Button,
8307
8307
  {
@@ -8318,9 +8318,9 @@ function ConnectedAccountSettings({
8318
8318
  }
8319
8319
  ) })
8320
8320
  ] }) }),
8321
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedDangerZone, { renderSubscriptionLink }),
8321
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedDangerZone, { renderSubscriptionLink }),
8322
8322
  !onLogout && /* @__PURE__ */ jsxRuntime.jsx(
8323
- chunkSVQTUHPE_cjs.ConnectedLogoutDialog,
8323
+ chunkMM5Q7AJL_cjs.ConnectedLogoutDialog,
8324
8324
  {
8325
8325
  open: logoutOpen,
8326
8326
  onClose: () => setLogoutOpen(false),
@@ -8661,7 +8661,7 @@ function ConnectedPrivacySettings({
8661
8661
  }
8662
8662
  )
8663
8663
  ] }) }),
8664
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedNotificationPreferences, {})
8664
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedNotificationPreferences, {})
8665
8665
  ] });
8666
8666
  }
8667
8667
  var PROVIDER_NAMES = {
@@ -10642,7 +10642,7 @@ function ConnectedRecoveryKeyDialog({
10642
10642
  const arbi = react.useArbi();
10643
10643
  const { user, isSso: isSsoMode } = react.useArbiSession();
10644
10644
  const userEmail = user?.email;
10645
- const sso = chunkSVQTUHPE_cjs.useSsoSignIn();
10645
+ const sso = chunkMM5Q7AJL_cjs.useSsoSignIn();
10646
10646
  const handleVerify = async () => {
10647
10647
  setError(null);
10648
10648
  if (!password) {
@@ -11354,7 +11354,7 @@ function ConnectedWorkspaceMembers({
11354
11354
  const remove = react.useRemoveWorkspaceMembers(workspace.external_id);
11355
11355
  const memberWord = (count2) => ui.getEntityLabel("WORKSPACEUSER", count2 === 1 ? "SINGULAR" : "PLURAL");
11356
11356
  const workspaceWord2 = ui.getEntityLabel("WORKSPACE").toLowerCase();
11357
- const inWorkspace = `"${workspace.name}"`;
11357
+ const inWorkspace2 = `"${workspace.name}"`;
11358
11358
  const setRoles = async (rows2, role) => {
11359
11359
  const single = rows2.length === 1 ? memberName(rows2[0].user) : null;
11360
11360
  try {
@@ -11483,7 +11483,7 @@ function ConnectedWorkspaceMembers({
11483
11483
  const members2 = ui.getEntityLabel("WORKSPACEUSER", "PLURAL").toLowerCase();
11484
11484
  const confirmed = await confirm({
11485
11485
  title: `Remove ${count2} ${memberWord(count2)}`,
11486
- message: `Remove ${names} from ${inWorkspace}?
11486
+ message: `Remove ${names} from ${inWorkspace2}?
11487
11487
 
11488
11488
  Note that ${members2} may have saved private content in the ${workspaceWord2} that you cannot see. Once removed they immediately lose access to any content in the ${workspaceWord2}.`
11489
11489
  });
@@ -11491,9 +11491,9 @@ Note that ${members2} may have saved private content in the ${workspaceWord2} th
11491
11491
  try {
11492
11492
  await remove.mutateAsync(selected.map((m) => m.user.external_id));
11493
11493
  setSelected([]);
11494
- notify17(`Removed ${names} from ${inWorkspace}`, "success");
11494
+ notify17(`Removed ${names} from ${inWorkspace2}`, "success");
11495
11495
  } catch {
11496
- notify17(`Failed to remove some users from ${inWorkspace}`, "error");
11496
+ notify17(`Failed to remove some users from ${inWorkspace2}`, "error");
11497
11497
  }
11498
11498
  };
11499
11499
  const changeSelectedRoles = async (role) => {
@@ -12886,13 +12886,13 @@ function ConnectedWorkspaceSettings({
12886
12886
  const [membersExpanded, setMembersExpanded] = react$1.useState(false);
12887
12887
  const [shareOpen, setShareOpen] = react$1.useState(false);
12888
12888
  if (!workspace) {
12889
- return /* @__PURE__ */ jsxRuntime.jsx(chunkSOS2WASA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
12889
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkSOS2WASA_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
12890
12890
  }
12891
12891
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12892
12892
  /* @__PURE__ */ jsxRuntime.jsxs(chunkSOS2WASA_cjs.WorkspacePageFrame, { testId, children: [
12893
12893
  /* @__PURE__ */ jsxRuntime.jsxs(chunkSOS2WASA_cjs.WorkspaceIdentityPanel, { children: [
12894
12894
  /* @__PURE__ */ jsxRuntime.jsx(
12895
- chunkYOCKX2OP_cjs.EntityIdentityBar,
12895
+ chunk4VSRSF4Q_cjs.EntityIdentityBar,
12896
12896
  {
12897
12897
  testId: "workspace-identity-bar",
12898
12898
  canEdit: isOwner,
@@ -12909,7 +12909,7 @@ function ConnectedWorkspaceSettings({
12909
12909
  label: "Name",
12910
12910
  value: workspace.name,
12911
12911
  placeholder: "Untitled",
12912
- maxLength: chunkYOCKX2OP_cjs.IDENTITY_NAME_MAX_LENGTH,
12912
+ maxLength: chunk4VSRSF4Q_cjs.IDENTITY_NAME_MAX_LENGTH,
12913
12913
  valueClassName: "truncate text-base font-semibold",
12914
12914
  testId: "workspace-home-title",
12915
12915
  hideLabel: true,
@@ -13771,8 +13771,8 @@ function WorkspaceCreateForm({
13771
13771
  );
13772
13772
  return;
13773
13773
  }
13774
- const create2 = seed?.create ?? createWorkspaceMutation.mutateAsync;
13775
- const response = await create2({
13774
+ const create3 = seed?.create ?? createWorkspaceMutation.mutateAsync;
13775
+ const response = await create3({
13776
13776
  name: localWorkspaceName.trim(),
13777
13777
  description: localWorkspaceDescription,
13778
13778
  projectId: projectExtId
@@ -14547,36 +14547,36 @@ function ConnectedSharePointAdminConsentPage({
14547
14547
  const result = givenResult === void 0 ? queryResult : givenResult;
14548
14548
  const { apiBaseUrl } = chunkWGWP4ATS_cjs.useBlocksEnvironment().runtimeConfig;
14549
14549
  const consentUrl = `${apiBaseUrl}/v1/connectors/microsoft_sharepoint/admin-consent`;
14550
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentCard, { size: "md", children: [
14550
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { size: "md", children: [
14551
14551
  /* @__PURE__ */ jsxRuntime.jsx(
14552
- chunk5HPLUT4M_cjs.ConsentHeader,
14552
+ chunkKBXATCF4_cjs.ConsentHeader,
14553
14553
  {
14554
- icon: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
14554
+ icon: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: "microsoft_sharepoint", product: "sharepoint" }),
14555
14555
  title: "Approve ARBI for SharePoint access",
14556
14556
  children: "A member of your organization uses ARBI and wants to sync documents from SharePoint. Your Microsoft 365 organization requires an administrator to approve this once for the whole organization."
14557
14557
  }
14558
14558
  ),
14559
- result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
14560
- result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
14561
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentSection, { title: "What you are approving", children: [
14559
+ result === "granted" && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentNotice, { tone: "success", title: "Access approved \u2014 you\u2019re all set.", className: "mt-4", children: "People in your organization can now connect SharePoint from their own ARBI account. Nothing is synced until each user connects and chooses what to import." }),
14560
+ result === "declined" && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentNotice, { tone: "warning", title: "The approval didn\u2019t complete.", className: "mt-4", children: "The request was declined or canceled on the Microsoft screen. You can try again below \u2014 you must sign in with a Microsoft 365 administrator account of your organization." }),
14561
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentSection, { title: "What you are approving", children: [
14562
14562
  /* @__PURE__ */ jsxRuntime.jsx(
14563
- chunk5HPLUT4M_cjs.ConsentBulletList,
14563
+ chunkKBXATCF4_cjs.ConsentBulletList,
14564
14564
  {
14565
14565
  items: [
14566
14566
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14567
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
14567
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: "Read SharePoint sites and files" }),
14568
14568
  " \u2014 lets each user who connects their own account import documents from sites they already have access to. ARBI never gets more access than the user has."
14569
14569
  ] }),
14570
14570
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14571
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
14571
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: "Sign users in and keep access" }),
14572
14572
  " \u2014 standard sign-in (openid, profile, email) and offline access so syncs keep working between sessions."
14573
14573
  ] })
14574
14574
  ]
14575
14575
  }
14576
14576
  ),
14577
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
14577
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentText, { children: "Approving does not sync anything by itself and grants ARBI no standing access to your tenant. Each user still connects their own Microsoft account, and their tokens are end-to-end encrypted so ARBI\u2019s servers cannot read them at rest." }),
14578
14578
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { asChild: true, className: "w-full pointer-coarse:h-11", children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: consentUrl, children: "Review and approve in Microsoft" }) }),
14579
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
14579
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentText, { variant: "footnote", children: "You\u2019ll sign in at login.microsoftonline.com and see Microsoft\u2019s own summary of these permissions before anything is granted." })
14580
14580
  ] })
14581
14581
  ] }) });
14582
14582
  }
@@ -17256,7 +17256,7 @@ function useConnectedWorkspaceList({
17256
17256
  };
17257
17257
  }
17258
17258
  var WorkspaceTableView = react$1.lazy(
17259
- () => import('../WorkspaceTableView-YPESFW25.cjs').then((m) => ({ default: m.WorkspaceTableView }))
17259
+ () => import('../WorkspaceTableView-ZIQ7JWT5.cjs').then((m) => ({ default: m.WorkspaceTableView }))
17260
17260
  );
17261
17261
  var WORKSPACES_TAB_ID = "workspaces";
17262
17262
  var renderMember = (user, size) => /* @__PURE__ */ jsxRuntime.jsx(chunkZXSAGX67_cjs.ConnectedUserEntity, { user, size, variant: "icon" });
@@ -17316,7 +17316,7 @@ function ConnectedWorkspaceList({
17316
17316
  }
17317
17317
  );
17318
17318
  }
17319
- if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, { message: "Loading workspaces..." });
17319
+ if (list.isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading workspaces..." });
17320
17320
  if (list.error) {
17321
17321
  return /* @__PURE__ */ jsxRuntime.jsx(
17322
17322
  chunkJGUM4EXE_cjs.HomeLoadError,
@@ -17389,7 +17389,7 @@ function ConnectedWorkspaceList({
17389
17389
  workspaceState
17390
17390
  }
17391
17391
  ) })
17392
- ) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkJGUM4EXE_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
17392
+ ) : /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading grid..." }), children: /* @__PURE__ */ jsxRuntime.jsx(chunkJGUM4EXE_cjs.HomeCenteredColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
17393
17393
  WorkspaceTableView,
17394
17394
  {
17395
17395
  list,
@@ -17579,7 +17579,7 @@ function ConnectedProjectsListPage({
17579
17579
  };
17580
17580
  const { openProject } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
17581
17581
  const [search, setSearch] = react$1.useState("");
17582
- const { projects, isLoading } = chunkLDGVJI7D_cjs.useProjectSummaries();
17582
+ const { projects, isLoading } = chunkUSIRUI2M_cjs.useProjectSummaries();
17583
17583
  const rows = react$1.useMemo(() => {
17584
17584
  const q = search.trim().toLowerCase();
17585
17585
  if (!q) return projects;
@@ -17650,7 +17650,7 @@ function ConnectedProjectsListPage({
17650
17650
  }
17651
17651
  ),
17652
17652
  /* @__PURE__ */ jsxRuntime.jsx(
17653
- chunkYOCKX2OP_cjs.Toolbar,
17653
+ chunk4VSRSF4Q_cjs.Toolbar,
17654
17654
  {
17655
17655
  search,
17656
17656
  onSearch: setSearch,
@@ -17712,7 +17712,7 @@ function ProjectDetailsForm({
17712
17712
  const labels = { ...DEFAULT_PROJECT_DETAILS_LABELS, ...given };
17713
17713
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
17714
17714
  const update = react.useUpdateProjectFields();
17715
- const workspace = chunkLDGVJI7D_cjs.primaryProjectWorkspace(project);
17715
+ const workspace = chunkUSIRUI2M_cjs.primaryProjectWorkspace(project);
17716
17716
  const { data: members = [] } = react.useWorkspaceUsers(workspace?.id);
17717
17717
  const people = members.filter((m) => !m.user.external_id.startsWith("agt-"));
17718
17718
  const currency = project.budget?.currency ?? "GBP";
@@ -17901,9 +17901,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
17901
17901
  for (const tag of workspaceTags ?? []) map.set(tag.external_id, tag.name);
17902
17902
  return map;
17903
17903
  }, [workspaceTags]);
17904
- const pendingFolders = chunkF3IRNQIB_cjs.usePendingFolders(wsId);
17905
- const addPendingFolder = chunkF3IRNQIB_cjs.useFilesStore((state) => state.addPendingFolder);
17906
- const removePendingFolder = chunkF3IRNQIB_cjs.useFilesStore((state) => state.removePendingFolder);
17904
+ const pendingFolders = chunkHJBVSG6H_cjs.usePendingFolders(wsId);
17905
+ const addPendingFolder = chunkHJBVSG6H_cjs.useFilesStore((state) => state.addPendingFolder);
17906
+ const removePendingFolder = chunkHJBVSG6H_cjs.useFilesStore((state) => state.removePendingFolder);
17907
17907
  const [editingFolderPath, setEditingFolderPath] = react$1.useState(null);
17908
17908
  const isSearching = search.trim().length > 0;
17909
17909
  const selectedSet = react$1.useMemo(() => new Set(selectedIds), [selectedIds]);
@@ -17912,8 +17912,8 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
17912
17912
  const { folders, files } = react$1.useMemo(() => {
17913
17913
  const result = isSearching ? {
17914
17914
  folders: [],
17915
- files: chunkVJTDTWNZ_cjs.searchExplorerDocuments(documents, search, sort)
17916
- } : chunkVJTDTWNZ_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
17915
+ files: chunkERDQ4DAX_cjs.searchExplorerDocuments(documents, search, sort)
17916
+ } : chunkERDQ4DAX_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
17917
17917
  if (sortReversed) result.files = [...result.files].reverse();
17918
17918
  return result;
17919
17919
  }, [documents, currentPath, sort, isSearching, search, sortReversed, pendingFolders]);
@@ -17924,7 +17924,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
17924
17924
  const orderedFileIds = react$1.useMemo(() => files.map((d) => d.external_id), [files]);
17925
17925
  const folderDocs = react$1.useMemo(() => {
17926
17926
  const map = /* @__PURE__ */ new Map();
17927
- for (const f of folders) map.set(f.path.join("/"), chunkVJTDTWNZ_cjs.collectFolderDocs(documents, f.path));
17927
+ for (const f of folders) map.set(f.path.join("/"), chunkERDQ4DAX_cjs.collectFolderDocs(documents, f.path));
17928
17928
  return map;
17929
17929
  }, [folders, documents]);
17930
17930
  const folderSelection = react$1.useMemo(() => {
@@ -18072,7 +18072,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18072
18072
  let name = base;
18073
18073
  let i = 2;
18074
18074
  while (siblings.has(name.toLowerCase())) name = `${base} ${i++}`;
18075
- const path = chunkVJTDTWNZ_cjs.joinFolderPath([...currentPath, name]);
18075
+ const path = chunkERDQ4DAX_cjs.joinFolderPath([...currentPath, name]);
18076
18076
  if (!path) return;
18077
18077
  addPendingFolder(wsId, path);
18078
18078
  setEditingFolderPath(path);
@@ -18108,10 +18108,10 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18108
18108
  notify17(`A folder named "${name}" already exists here.`, "error");
18109
18109
  return;
18110
18110
  }
18111
- const oldPath = chunkVJTDTWNZ_cjs.joinFolderPath(folder.path);
18111
+ const oldPath = chunkERDQ4DAX_cjs.joinFolderPath(folder.path);
18112
18112
  const newPrefix = [...folder.path.slice(0, -1), name];
18113
- const newPath = chunkVJTDTWNZ_cjs.joinFolderPath(newPrefix);
18114
- const docs = chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path);
18113
+ const newPath = chunkERDQ4DAX_cjs.joinFolderPath(newPrefix);
18114
+ const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
18115
18115
  try {
18116
18116
  if (await renameFolder(docs, folder.path, newPrefix) > 0) {
18117
18117
  notify17(`Renamed folder to "${name}"`, "success");
@@ -18170,7 +18170,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18170
18170
  const handleToggleFolder = react$1.useCallback(
18171
18171
  (folder, e) => {
18172
18172
  e.stopPropagation();
18173
- const ids = chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
18173
+ const ids = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
18174
18174
  if (ids.length === 0) return;
18175
18175
  if (ids.every((id) => selectedSet.has(id))) {
18176
18176
  const remove = new Set(ids);
@@ -18231,9 +18231,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18231
18231
  );
18232
18232
  const handleDelete = react$1.useCallback(
18233
18233
  async (doc) => {
18234
- const name = chunkVJTDTWNZ_cjs.getExplorerDisplayName(doc);
18234
+ const name = chunkERDQ4DAX_cjs.getExplorerDisplayName(doc);
18235
18235
  const confirmed = await confirm({
18236
- message: `Delete "${name}"? ${chunkVJTDTWNZ_cjs.RECENTLY_DELETED_HINT}`,
18236
+ message: `Delete "${name}"? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT}`,
18237
18237
  title: "Delete file"
18238
18238
  });
18239
18239
  if (!confirmed) return;
@@ -18253,7 +18253,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18253
18253
  );
18254
18254
  const handleFolderDownload = react$1.useCallback(
18255
18255
  (folder) => {
18256
- const docs = chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path);
18256
+ const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
18257
18257
  if (docs.length > 0) void downloadDocuments(docs);
18258
18258
  },
18259
18259
  [documents, downloadDocuments]
@@ -18262,7 +18262,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18262
18262
  if (onFolderMove) return onFolderMove;
18263
18263
  if (!onMoveSelected) return void 0;
18264
18264
  return (folder) => {
18265
- const ids = chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
18265
+ const ids = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
18266
18266
  if (ids.length === 0) return;
18267
18267
  onSelectionChange(ids);
18268
18268
  onMoveSelected();
@@ -18270,14 +18270,14 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18270
18270
  }, [documents, onFolderMove, onMoveSelected, onSelectionChange]);
18271
18271
  const handleFolderDelete = react$1.useCallback(
18272
18272
  async (folder) => {
18273
- const docs = chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path);
18273
+ const docs = chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path);
18274
18274
  if (docs.length === 0) {
18275
- const path = chunkVJTDTWNZ_cjs.joinFolderPath(folder.path);
18275
+ const path = chunkERDQ4DAX_cjs.joinFolderPath(folder.path);
18276
18276
  if (wsId && path) removePendingFolder(wsId, path);
18277
18277
  return;
18278
18278
  }
18279
18279
  const confirmed = await confirm({
18280
- message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkVJTDTWNZ_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
18280
+ message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
18281
18281
  title: "Delete folder"
18282
18282
  });
18283
18283
  if (!confirmed) return;
@@ -18294,8 +18294,8 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18294
18294
  [confirm, documents, deleteDocuments, onSelectionChange, removePendingFolder, wsId, notify17]
18295
18295
  );
18296
18296
  const canDeleteFolder = react$1.useCallback(
18297
- (folder) => canUpload && chunkVJTDTWNZ_cjs.collectFolderDocs(documents, folder.path).every(
18298
- (doc) => chunkVJTDTWNZ_cjs.canDeleteDocument(doc, userId, role)
18297
+ (folder) => canUpload && chunkERDQ4DAX_cjs.collectFolderDocs(documents, folder.path).every(
18298
+ (doc) => chunkERDQ4DAX_cjs.canDeleteDocument(doc, userId, role)
18299
18299
  ),
18300
18300
  [canUpload, documents, userId, role]
18301
18301
  );
@@ -18354,7 +18354,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18354
18354
  setActiveDragId(null);
18355
18355
  const data = event.over?.data.current;
18356
18356
  if (data?.type === "folder" && data.path) {
18357
- const targetFolder = chunkVJTDTWNZ_cjs.joinFolderPath(data.path);
18357
+ const targetFolder = chunkERDQ4DAX_cjs.joinFolderPath(data.path);
18358
18358
  const moving = dragIdsRef.current.filter((id) => {
18359
18359
  const doc = documents.find((d) => d.external_id === id);
18360
18360
  return doc && (doc.folder ?? null) !== targetFolder;
@@ -18394,7 +18394,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18394
18394
  const dropped = Array.from(e.dataTransfer.files ?? []);
18395
18395
  if (dropped.length > 0) {
18396
18396
  e.preventDefault();
18397
- onUploadFiles(dropped, chunkVJTDTWNZ_cjs.joinFolderPath(currentPath));
18397
+ onUploadFiles(dropped, chunkERDQ4DAX_cjs.joinFolderPath(currentPath));
18398
18398
  }
18399
18399
  },
18400
18400
  [canUpload, currentPath, onUploadFiles]
@@ -18411,9 +18411,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18411
18411
  onDragEnd: handleDragEnd,
18412
18412
  onDragCancel: () => setActiveDragId(null),
18413
18413
  children: [
18414
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.ExplorerStage, { children: [
18414
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ExplorerStage, { children: [
18415
18415
  /* @__PURE__ */ jsxRuntime.jsx(
18416
- chunkVJTDTWNZ_cjs.ExplorerScroller,
18416
+ chunkERDQ4DAX_cjs.ExplorerScroller,
18417
18417
  {
18418
18418
  ref: scrollRef,
18419
18419
  onClick: handleBackgroundClick,
@@ -18423,15 +18423,15 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18423
18423
  onDragLeave: handleNativeDragLeave,
18424
18424
  onDrop: handleNativeDrop,
18425
18425
  "data-testid": "explorer-scroll",
18426
- children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
18427
- chunkVJTDTWNZ_cjs.ExplorerEmpty,
18426
+ children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
18427
+ chunkERDQ4DAX_cjs.ExplorerEmpty,
18428
18428
  {
18429
18429
  title: isSearching ? `No files match "${search.trim()}"` : "This folder is empty",
18430
18430
  description: isSearching ? "Try a different search." : canUpload ? "Drop files here or use Upload to add documents." : "No documents here yet."
18431
18431
  }
18432
18432
  ) : containerWidth === 0 ? (
18433
18433
  // Not measured yet: rendering now would flash one stretched column.
18434
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ExplorerLoadingTiles, {})
18434
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerLoadingTiles, {})
18435
18435
  ) : /* @__PURE__ */ jsxRuntime.jsx(
18436
18436
  "div",
18437
18437
  {
@@ -18461,7 +18461,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18461
18461
  if (entry.kind === "folder") {
18462
18462
  const key = entry.path.join("/");
18463
18463
  return /* @__PURE__ */ jsxRuntime.jsx(
18464
- chunkERVXJW7P_cjs.FolderTile,
18464
+ chunkJ24LYNTY_cjs.FolderTile,
18465
18465
  {
18466
18466
  folder: entry,
18467
18467
  density,
@@ -18484,7 +18484,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18484
18484
  }
18485
18485
  const doc = entry.doc;
18486
18486
  return /* @__PURE__ */ jsxRuntime.jsx(
18487
- chunkERVXJW7P_cjs.FileTile,
18487
+ chunkJ24LYNTY_cjs.FileTile,
18488
18488
  {
18489
18489
  doc,
18490
18490
  density,
@@ -18492,7 +18492,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18492
18492
  dragging: activeDragId === doc.external_id,
18493
18493
  dndActive: activeDragId !== null,
18494
18494
  renaming: renamingId === doc.external_id,
18495
- canDelete: chunkVJTDTWNZ_cjs.canDeleteDocument(doc, userId, role),
18495
+ canDelete: chunkERDQ4DAX_cjs.canDeleteDocument(doc, userId, role),
18496
18496
  thumbnailUrl: thumbnailsById.get(doc.external_id),
18497
18497
  modifiedBy: userById.get(
18498
18498
  doc.updated_by_ext_id ?? doc.created_by_ext_id
@@ -18521,9 +18521,9 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18521
18521
  )
18522
18522
  }
18523
18523
  ),
18524
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
18524
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
18525
18525
  isFileDragOver && /* @__PURE__ */ jsxRuntime.jsx(
18526
- chunkVJTDTWNZ_cjs.ExplorerDropOverlay,
18526
+ chunkERDQ4DAX_cjs.ExplorerDropOverlay,
18527
18527
  {
18528
18528
  label: `Drop to upload${currentPath.length > 0 ? ` to "${currentPath[currentPath.length - 1]}"` : ""}`
18529
18529
  }
@@ -18537,7 +18537,7 @@ var ConnectedFilesExplorer = react$1.forwardRef(function ConnectedFilesExplorer2
18537
18537
  function DragPreview({ doc, count: count2 }) {
18538
18538
  const Icon = ui.getFileTypeIcon(doc.file_name, { mime: doc.file_type });
18539
18539
  return /* @__PURE__ */ jsxRuntime.jsx(
18540
- chunkVJTDTWNZ_cjs.ExplorerDragPreview,
18540
+ chunkERDQ4DAX_cjs.ExplorerDragPreview,
18541
18541
  {
18542
18542
  icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }),
18543
18543
  title: ui.getDocumentTitle(doc, doc.file_name ?? "Untitled"),
@@ -18774,11 +18774,11 @@ function ConnectedProjectPage({
18774
18774
  figures: { ...DEFAULT_PROJECT_PAGE_LABELS.figures, ...given?.figures },
18775
18775
  threads: { ...DEFAULT_PROJECT_PAGE_LABELS.threads, ...given?.threads }
18776
18776
  };
18777
- const { project, usage, isLoading } = chunkLDGVJI7D_cjs.useProjectSummary(projectId);
18777
+ const { project, usage, isLoading } = chunkUSIRUI2M_cjs.useProjectSummary(projectId);
18778
18778
  const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
18779
18779
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
18780
- const selectWorkspace = chunk5SQJTWD3_cjs.useSelectWorkspace();
18781
- const workspace = project ? chunkLDGVJI7D_cjs.primaryProjectWorkspace(project) : void 0;
18780
+ const selectWorkspace = chunkSWILV6LT_cjs.useSelectWorkspace();
18781
+ const workspace = project ? chunkUSIRUI2M_cjs.primaryProjectWorkspace(project) : void 0;
18782
18782
  const open = !!workspace && workspace.id === workspaceId;
18783
18783
  react$1.useEffect(() => {
18784
18784
  if (!workspace || workspace.id === workspaceId) return;
@@ -19042,10 +19042,10 @@ function ConnectedContactCardForm({
19042
19042
  const [errors, setErrors] = react$1.useState({});
19043
19043
  const [serverError, setServerError] = react$1.useState(null);
19044
19044
  const [duplicateOf, setDuplicateOf] = react$1.useState(null);
19045
- const create2 = react.useCreateContact();
19045
+ const create3 = react.useCreateContact();
19046
19046
  const update = react.useUpdateContact();
19047
19047
  const link = react.useLinkContact();
19048
- const saving = create2.isPending || update.isPending || link.isPending;
19048
+ const saving = create3.isPending || update.isPending || link.isPending;
19049
19049
  const linked = !!contact?.email;
19050
19050
  const locked = !!contact && !contact.card;
19051
19051
  const set = (key, value) => setForm((f) => ({ ...f, [key]: value }));
@@ -19073,7 +19073,7 @@ function ConnectedContactCardForm({
19073
19073
  };
19074
19074
  if (invite && email) {
19075
19075
  if (contact) link.mutate({ contact, email, card }, { onSuccess: onInvited, onError });
19076
- else create2.mutate({ email, card, invite: true }, { onSuccess: onInvited, onError });
19076
+ else create3.mutate({ email, card, invite: true }, { onSuccess: onInvited, onError });
19077
19077
  return;
19078
19078
  }
19079
19079
  const onSuccess = () => {
@@ -19082,7 +19082,7 @@ function ConnectedContactCardForm({
19082
19082
  };
19083
19083
  if (contact?.external_id)
19084
19084
  update.mutate({ id: contact.external_id, card }, { onSuccess, onError });
19085
- else create2.mutate({ card, invite: false }, { onSuccess, onError });
19085
+ else create3.mutate({ card, invite: false }, { onSuccess, onError });
19086
19086
  };
19087
19087
  if (locked)
19088
19088
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3", "data-testid": "contact-card-locked", children: [
@@ -21092,7 +21092,7 @@ function ConnectedMessengerList({
21092
21092
  }));
21093
21093
  const all = [...decorated, ...invitationRows];
21094
21094
  if (!filters?.size) return all;
21095
- const matches = {
21095
+ const matches2 = {
21096
21096
  unread: (row2) => row2.unreadCount > 0,
21097
21097
  // A person is muted, not a group that happens to list them first.
21098
21098
  muted: (row2) => !isGroupChat(row2.chat) && mutedUsers.has(row2.peer.external_id),
@@ -21101,7 +21101,7 @@ function ConnectedMessengerList({
21101
21101
  ...INVITATION_ROW_FILTERS
21102
21102
  };
21103
21103
  return all.filter(
21104
- (row2) => Object.entries(matches).every(([id, isMatch]) => {
21104
+ (row2) => Object.entries(matches2).every(([id, isMatch]) => {
21105
21105
  const state = filters.get(id) ?? null;
21106
21106
  if (state === null) return true;
21107
21107
  return state === "include" ? isMatch(row2) : !isMatch(row2);
@@ -21485,10 +21485,10 @@ function ConnectedContactsPanel({
21485
21485
  function ConnectedConfigForm({ availableModels, ...rest }) {
21486
21486
  const hasModels = !!availableModels && availableModels.length > 0;
21487
21487
  const renderModelSelect = react$1.useCallback(
21488
- ({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
21488
+ ({ value, onChange }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, { value, onValueChange: onChange, className: "w-full" }),
21489
21489
  []
21490
21490
  );
21491
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
21491
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConfigForm, { ...rest, renderModelSelect: hasModels ? renderModelSelect : void 0 });
21492
21492
  }
21493
21493
  function ConnectedAgentConfigForm({ agentExtId, agentName, onSaved }) {
21494
21494
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
@@ -21605,7 +21605,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
21605
21605
  }, [name, selectedWorkspaces, role, createAgent, addWorkspaceUsers, arbi, notify17]);
21606
21606
  if (editAgent) {
21607
21607
  return /* @__PURE__ */ jsxRuntime.jsx(
21608
- chunk5HPLUT4M_cjs.AgentEditView,
21608
+ chunkKBXATCF4_cjs.AgentEditView,
21609
21609
  {
21610
21610
  agentName: editAgent.name,
21611
21611
  config: /* @__PURE__ */ jsxRuntime.jsx(
@@ -21621,7 +21621,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
21621
21621
  }
21622
21622
  if (view === "main") {
21623
21623
  return /* @__PURE__ */ jsxRuntime.jsx(
21624
- chunk5HPLUT4M_cjs.AgentMainView,
21624
+ chunkKBXATCF4_cjs.AgentMainView,
21625
21625
  {
21626
21626
  onConnectExternal: () => setView("connect"),
21627
21627
  config: mainAgent ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -21637,11 +21637,11 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
21637
21637
  }
21638
21638
  if (result) {
21639
21639
  return /* @__PURE__ */ jsxRuntime.jsx(
21640
- chunk5HPLUT4M_cjs.AgentCreatedView,
21640
+ chunkKBXATCF4_cjs.AgentCreatedView,
21641
21641
  {
21642
21642
  email: result.email,
21643
21643
  signingKey: result.signingKey,
21644
- instructions: /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
21644
+ instructions: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentConnectInstructions, { email: result.email, signingKey: result.signingKey }),
21645
21645
  config: /* @__PURE__ */ jsxRuntime.jsx(ConnectedAgentConfigForm, { agentExtId: result.extId, agentName: result.name }),
21646
21646
  isConfigOpen: configOpen,
21647
21647
  onToggleConfig: () => setConfigOpen((v) => !v),
@@ -21650,7 +21650,7 @@ function ConnectedAuthorizeAgent({ onClose, editAgent }) {
21650
21650
  );
21651
21651
  }
21652
21652
  return /* @__PURE__ */ jsxRuntime.jsx(
21653
- chunk5HPLUT4M_cjs.AgentCreateView,
21653
+ chunkKBXATCF4_cjs.AgentCreateView,
21654
21654
  {
21655
21655
  name,
21656
21656
  onNameChange: setName,
@@ -21845,7 +21845,7 @@ function ConnectedNewThreadDialog({
21845
21845
  });
21846
21846
  const parentOptions = react$1.useMemo(() => {
21847
21847
  const leaf = { external_id: "__new__" };
21848
- return chunk5HPLUT4M_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
21848
+ return chunkKBXATCF4_cjs.moveTargets([...tasks, leaf], leaf).map((t) => ({
21849
21849
  id: t.external_id,
21850
21850
  name: t.title?.trim() || "Untitled task"
21851
21851
  }));
@@ -21892,7 +21892,7 @@ function ConnectedNewThreadDialog({
21892
21892
  }
21893
21893
  };
21894
21894
  return /* @__PURE__ */ jsxRuntime.jsx(
21895
- chunk5HPLUT4M_cjs.NewThreadDialog,
21895
+ chunkKBXATCF4_cjs.NewThreadDialog,
21896
21896
  {
21897
21897
  open,
21898
21898
  onOpenChange,
@@ -22015,7 +22015,7 @@ var TILE_TEST_IDS = {
22015
22015
  function DashboardStart({ addMenu, onCreateNew }) {
22016
22016
  const { dashboard: workflows } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
22017
22017
  const { isMember, role } = react.useCurrentWorkspace();
22018
- const canWrite = isMember && role !== "guest";
22018
+ const canWrite2 = isMember && role !== "guest";
22019
22019
  const [activeId, setActiveId] = react$1.useState(null);
22020
22020
  return /* @__PURE__ */ jsxRuntime.jsx(
22021
22021
  chunkIU3SXE62_cjs.ConnectedWorkflowStart,
@@ -22025,7 +22025,7 @@ function DashboardStart({ addMenu, onCreateNew }) {
22025
22025
  testId: "workspace-dashboard-quick-actions",
22026
22026
  activeId,
22027
22027
  onActiveIdChange: setActiveId,
22028
- addFilesAction: addMenu({ canUpload: canWrite }),
22028
+ addFilesAction: addMenu({ canUpload: canWrite2 }),
22029
22029
  extraTiles: onCreateNew ? [
22030
22030
  {
22031
22031
  id: "create-file",
@@ -22033,13 +22033,13 @@ function DashboardStart({ addMenu, onCreateNew }) {
22033
22033
  title: "Create a file",
22034
22034
  description: "Write a doc, or record a voice note, photo or video",
22035
22035
  onSelect: onCreateNew,
22036
- disabled: !canWrite,
22036
+ disabled: !canWrite2,
22037
22037
  disabledReason: "Only workspace members can add files",
22038
22038
  testId: "workspace-dashboard-quick-action-create"
22039
22039
  }
22040
22040
  ] : void 0,
22041
22041
  tileTestId: (workflow) => TILE_TEST_IDS[workflow.id],
22042
- disabledReason: (workflow) => !canWrite && workflow.id === chunkIIAFQZCI_cjs.ANNOTATE_ID ? "Only workspace members can annotate files" : void 0
22042
+ disabledReason: (workflow) => !canWrite2 && workflow.id === chunkIIAFQZCI_cjs.ANNOTATE_ID ? "Only workspace members can annotate files" : void 0
22043
22043
  }
22044
22044
  );
22045
22045
  }
@@ -22070,7 +22070,7 @@ function recentConversations(conversations) {
22070
22070
  return [...conversations].sort((a, b) => time(b.updated_at) - time(a.updated_at)).slice(0, RECENT_ROWS).map((c) => ({
22071
22071
  id: c.external_id,
22072
22072
  title: c.title?.trim() || "Untitled thread",
22073
- subtitle: c.status ? [chunk5HPLUT4M_cjs.STATUS_LABELS[chunk5HPLUT4M_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"}`,
22073
+ subtitle: c.status ? [chunkKBXATCF4_cjs.STATUS_LABELS[chunkKBXATCF4_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"}`,
22074
22074
  time: timeAndDate(c.updated_at)
22075
22075
  }));
22076
22076
  }
@@ -22161,7 +22161,7 @@ function DocumentsUploadButton({
22161
22161
  [hasAccountProviders, onSelectSource, onEmailWorkspace, onCreateNew, onTakePhoto]
22162
22162
  );
22163
22163
  return /* @__PURE__ */ jsxRuntime.jsx(
22164
- chunkVJTDTWNZ_cjs.FilesAddMenu,
22164
+ chunkERDQ4DAX_cjs.FilesAddMenu,
22165
22165
  {
22166
22166
  items,
22167
22167
  isCompact,
@@ -22256,7 +22256,7 @@ function useDashboardAdd({ onCreateNew, onTakePhoto }) {
22256
22256
  addFiles: () => upload(),
22257
22257
  dialogs: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
22258
22258
  /* @__PURE__ */ jsxRuntime.jsx(
22259
- chunkVJTDTWNZ_cjs.UrlInputDialog,
22259
+ chunkERDQ4DAX_cjs.UrlInputDialog,
22260
22260
  {
22261
22261
  open: urlDialogOpen,
22262
22262
  onOpenChange: setUrlDialogOpen,
@@ -22486,6 +22486,528 @@ function ConnectedAskField({
22486
22486
  )
22487
22487
  ] });
22488
22488
  }
22489
+ function brandMark(brand, placement) {
22490
+ return typeof brand.logo === "function" ? brand.logo(placement) : brand.logo;
22491
+ }
22492
+ var ShellNavigationContext = react$1.createContext(null);
22493
+ function useShellNavigation() {
22494
+ return react$1.useContext(ShellNavigationContext);
22495
+ }
22496
+ var isExternal = (item) => item.external === true || /^[a-z][a-z0-9+.-]*:/i.test(item.to);
22497
+ function pathOf(address) {
22498
+ const path = address.split(/[?#]/)[0] || "/";
22499
+ return path.length > 1 ? path.replace(/\/+$/, "") || "/" : path;
22500
+ }
22501
+ var queryOf = (address) => new URLSearchParams(address.split("#")[0].split("?")[1] ?? "");
22502
+ function matchScore(item, address) {
22503
+ if (isExternal(item)) return -1;
22504
+ const path = pathOf(address);
22505
+ const to = pathOf(item.to);
22506
+ const exact = path === to;
22507
+ if (!exact && (item.end || !path.startsWith(to === "/" ? "/" : `${to}/`))) return -1;
22508
+ const wanted = [...queryOf(item.to)];
22509
+ const here = queryOf(address);
22510
+ const query = !wanted.length ? 1 : wanted.every(([k, v]) => here.getAll(k).includes(v)) ? 2 : 0;
22511
+ return to.length * 3 + (exact ? query : 1);
22512
+ }
22513
+ var inWorkspace = ({ workspaceId }) => !!workspaceId;
22514
+ var canWrite = ({ isMember, role }) => isMember && role !== "guest";
22515
+ var notTemporary = ({ isTemporaryAccess }) => !isTemporaryAccess;
22516
+ function setDocumentSourceFilter(source) {
22517
+ const { documentFilters, setDocumentFilters } = chunkHJBVSG6H_cjs.useFilesPrefs.getState();
22518
+ setDocumentFilters({
22519
+ ...documentFilters,
22520
+ source_uploaded: source === "uploaded" ? "include" : null,
22521
+ source_generated: source === "generated" ? "include" : null
22522
+ });
22523
+ }
22524
+ function createBuiltinActions(environment, session) {
22525
+ const { openDialog: openDialog2, openSettings, openProcessing } = environment;
22526
+ const startWorkflowOnDocuments = (workflowId) => {
22527
+ const { viewingDocument, selectedDocumentIds } = session.getState();
22528
+ const documents = viewingDocument ? [viewingDocument.id] : [...selectedDocumentIds];
22529
+ chunkKBXATCF4_cjs.openWorkflowLaunch({ workflowId, context: { documents } });
22530
+ };
22531
+ const setFilesView = (mode) => () => chunkHJBVSG6H_cjs.useFilesPrefs.getState().setViewMode(mode);
22532
+ const actions = [
22533
+ {
22534
+ id: "goto-user-settings",
22535
+ label: "Go to Account settings",
22536
+ category: "Navigate",
22537
+ icon: "UserCog",
22538
+ keywords: ["profile", "preferences", "account"],
22539
+ // The same as `open-user-settings`: dispatch only.
22540
+ listed: false,
22541
+ run: () => openSettings()
22542
+ },
22543
+ {
22544
+ id: "create-workspace",
22545
+ label: "Create a workspace",
22546
+ category: "Workspace",
22547
+ icon: "Plus",
22548
+ keywords: ["new workspace", "add workspace"],
22549
+ available: ({ canCreateProjects }) => canCreateProjects !== false,
22550
+ run: () => openDialog2("createWorkspace")
22551
+ },
22552
+ {
22553
+ id: "upload-documents",
22554
+ label: "Upload documents",
22555
+ category: "Workspace",
22556
+ icon: "Upload",
22557
+ keywords: ["add files", "import", "attach files"],
22558
+ available: canWrite,
22559
+ run: () => openDialog2("upload")
22560
+ },
22561
+ !!openProcessing && {
22562
+ id: "view-processing-status",
22563
+ label: "View processing status",
22564
+ category: "Workspace",
22565
+ icon: "ClipboardList",
22566
+ keywords: ["indexing", "progress", "jobs", "tasks"],
22567
+ available: inWorkspace,
22568
+ run: () => openProcessing()
22569
+ },
22570
+ {
22571
+ id: "transfer-workspace",
22572
+ label: "Export, copy or move workspace",
22573
+ category: "Workspace",
22574
+ icon: "FolderInput",
22575
+ keywords: ["export", "download", "copy", "move", "backup", "transfer", "zip"],
22576
+ available: ({ isMember }) => isMember,
22577
+ run: () => openDialog2("transfer")
22578
+ },
22579
+ {
22580
+ id: "export-documents",
22581
+ label: "Export documents",
22582
+ category: "Documents",
22583
+ icon: "Files",
22584
+ keywords: ["download", "csv", "excel"],
22585
+ available: inWorkspace,
22586
+ run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().setExportOpen(true)
22587
+ },
22588
+ {
22589
+ id: "bulk-tag-documents",
22590
+ label: "Tag selected documents",
22591
+ category: "Documents",
22592
+ icon: "Tags",
22593
+ keywords: ["labels", "categorize", "bulk tag"],
22594
+ available: inWorkspace,
22595
+ run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().setBulkTagsOpen(true)
22596
+ },
22597
+ {
22598
+ id: "move-to-folder",
22599
+ label: "Move documents to folder",
22600
+ category: "Documents",
22601
+ icon: "FolderInput",
22602
+ keywords: ["organize", "relocate"],
22603
+ available: inWorkspace,
22604
+ run: () => chunkHJBVSG6H_cjs.useFilesDialogs.getState().openMove()
22605
+ },
22606
+ {
22607
+ id: "ai-review-documents",
22608
+ label: "AI review documents",
22609
+ category: "Documents",
22610
+ icon: "Sparkles",
22611
+ keywords: ["auto tag", "analyze", "suggest tags"],
22612
+ available: inWorkspace,
22613
+ run: () => chunkHJBVSG6H_cjs.useAiReviewStore.getState().setOpen(true)
22614
+ },
22615
+ {
22616
+ id: "docs-grid-view",
22617
+ label: "Switch to grid view",
22618
+ category: "Documents",
22619
+ icon: "LayoutGrid",
22620
+ keywords: ["table", "spreadsheet"],
22621
+ available: inWorkspace,
22622
+ run: setFilesView("grid")
22623
+ },
22624
+ {
22625
+ id: "docs-navigator-view",
22626
+ label: "Switch to navigator view",
22627
+ category: "Documents",
22628
+ icon: "FolderTree",
22629
+ keywords: ["folders", "tree"],
22630
+ available: inWorkspace,
22631
+ run: setFilesView("navigator")
22632
+ },
22633
+ {
22634
+ id: "docs-explorer-view",
22635
+ label: "Switch to explorer view",
22636
+ category: "Documents",
22637
+ icon: "Compass",
22638
+ keywords: ["browse", "gallery"],
22639
+ available: inWorkspace,
22640
+ run: setFilesView("explorer")
22641
+ },
22642
+ {
22643
+ id: "show-uploaded-docs",
22644
+ label: "Show uploaded documents",
22645
+ category: "Documents",
22646
+ icon: "Upload",
22647
+ keywords: ["filter", "source", "originals"],
22648
+ available: inWorkspace,
22649
+ run: () => setDocumentSourceFilter("uploaded")
22650
+ },
22651
+ {
22652
+ id: "show-generated-docs",
22653
+ label: "Show AI-generated documents",
22654
+ category: "Documents",
22655
+ icon: "Sparkles",
22656
+ keywords: ["filter", "source", "artifacts"],
22657
+ available: inWorkspace,
22658
+ run: () => setDocumentSourceFilter("generated")
22659
+ },
22660
+ {
22661
+ id: "clear-document-selection",
22662
+ label: "Clear document selection",
22663
+ category: "Documents",
22664
+ icon: "SquareDashedMousePointer",
22665
+ keywords: ["deselect", "unselect"],
22666
+ available: inWorkspace,
22667
+ run: () => session.setSelectedDocumentIds([])
22668
+ },
22669
+ {
22670
+ id: "summarise-document",
22671
+ label: "Summarise a document",
22672
+ category: "Documents",
22673
+ icon: "FileText",
22674
+ keywords: ["summary", "brief", "overview"],
22675
+ available: inWorkspace,
22676
+ run: () => startWorkflowOnDocuments("summarise")
22677
+ },
22678
+ {
22679
+ id: "translate-document",
22680
+ label: "Translate a document",
22681
+ category: "Documents",
22682
+ icon: "Sparkles",
22683
+ keywords: ["translation", "language"],
22684
+ available: inWorkspace,
22685
+ run: () => startWorkflowOnDocuments("translate")
22686
+ },
22687
+ {
22688
+ id: "attach-context",
22689
+ label: "Attach documents to conversation",
22690
+ category: "Conversation",
22691
+ icon: "Paperclip",
22692
+ keywords: ["context", "add documents", "reference"],
22693
+ available: inWorkspace,
22694
+ run: () => openDialog2("conversationDocuments")
22695
+ },
22696
+ {
22697
+ id: "conversation-settings",
22698
+ label: "Open conversation settings",
22699
+ category: "Conversation",
22700
+ icon: "Settings2",
22701
+ keywords: ["model", "config", "options"],
22702
+ run: () => openDialog2("conversationSettings")
22703
+ },
22704
+ {
22705
+ id: "open-skills-library",
22706
+ label: "Browse skills",
22707
+ category: "Conversation",
22708
+ icon: "Library",
22709
+ keywords: ["skills", "start", "summarise", "translate", "commands"],
22710
+ available: ({ isFeatureOn }) => isFeatureOn("skills"),
22711
+ run: () => openDialog2("skillsBrowser")
22712
+ },
22713
+ {
22714
+ id: "clear-conversation-context",
22715
+ label: "Clear attached documents",
22716
+ category: "Conversation",
22717
+ icon: "Eraser",
22718
+ keywords: ["remove context", "detach", "reset"],
22719
+ available: inWorkspace,
22720
+ // Each conversation's documents, cleared by choice: an empty chat does not pick them up again.
22721
+ run: () => Object.keys(session.getState().conversationDocuments).forEach(
22722
+ (id) => session.setConversationDocuments(id, [])
22723
+ )
22724
+ },
22725
+ {
22726
+ id: "open-invite-contacts",
22727
+ label: "Invite contacts",
22728
+ category: "Sharing",
22729
+ icon: "UserPlus",
22730
+ keywords: ["add people", "invite", "share"],
22731
+ run: () => openDialog2("inviteContacts")
22732
+ },
22733
+ {
22734
+ id: "open-projects",
22735
+ label: "Open projects",
22736
+ category: "Account",
22737
+ icon: "FolderKanban",
22738
+ keywords: ["plans", "billing groups", "projects"],
22739
+ available: notTemporary,
22740
+ run: () => environment.openProject()
22741
+ },
22742
+ {
22743
+ id: "open-user-settings",
22744
+ label: "Open account settings",
22745
+ category: "Account",
22746
+ icon: "UserCog",
22747
+ keywords: ["profile", "preferences", "account"],
22748
+ run: () => openSettings()
22749
+ },
22750
+ {
22751
+ id: "view-pro-features",
22752
+ label: "See Pro features",
22753
+ category: "Account",
22754
+ icon: "Crown",
22755
+ keywords: ["upgrade", "premium", "subscription"],
22756
+ available: notTemporary,
22757
+ run: () => openDialog2("welcome")
22758
+ },
22759
+ {
22760
+ id: "logout",
22761
+ label: "Log out",
22762
+ category: "Account",
22763
+ icon: "LogOut",
22764
+ keywords: ["sign out", "exit"],
22765
+ run: () => openDialog2("logout")
22766
+ },
22767
+ {
22768
+ id: "start-welcome-tour",
22769
+ label: "Start the getting-started tour",
22770
+ category: "Help",
22771
+ icon: "Compass",
22772
+ keywords: ["onboarding", "walkthrough", "tutorial"],
22773
+ available: (context) => notTemporary(context) && context.isFeatureOn("welcomeJourney"),
22774
+ // The getting-started checklist, fresh, with the helper header on for the session.
22775
+ run: () => chunk4B6HYQTW_cjs.startWelcomeReplay(session)
22776
+ },
22777
+ {
22778
+ id: "mute-notifications",
22779
+ label: "Mute notifications",
22780
+ category: "Help",
22781
+ icon: "BellOff",
22782
+ keywords: ["silence", "do not disturb", "quiet"],
22783
+ run: () => shell.useNotify.getState().setMuted(true)
22784
+ },
22785
+ {
22786
+ id: "work-offline",
22787
+ label: "Work offline",
22788
+ category: "Help",
22789
+ icon: "WifiOff",
22790
+ keywords: ["offline mode", "disconnect"],
22791
+ run: () => react.setWorkOfflineIn(session, true)
22792
+ }
22793
+ ];
22794
+ return Object.fromEntries(
22795
+ actions.filter((action) => !!action).map((action) => [action.id, action])
22796
+ );
22797
+ }
22798
+ var ACTION_ICONS = {
22799
+ Bell: lucideReact.Bell,
22800
+ BellOff: lucideReact.BellOff,
22801
+ Bot: lucideReact.Bot,
22802
+ ClipboardList: lucideReact.ClipboardList,
22803
+ Columns3: lucideReact.Columns3,
22804
+ Compass: lucideReact.Compass,
22805
+ Crown: lucideReact.Crown,
22806
+ Eraser: lucideReact.Eraser,
22807
+ FileText: lucideReact.FileText,
22808
+ Files: lucideReact.Files,
22809
+ FolderInput: lucideReact.FolderInput,
22810
+ FolderKanban: lucideReact.FolderKanban,
22811
+ FolderTree: lucideReact.FolderTree,
22812
+ LayoutGrid: lucideReact.LayoutGrid,
22813
+ Library: lucideReact.Library,
22814
+ LogOut: lucideReact.LogOut,
22815
+ Megaphone: lucideReact.Megaphone,
22816
+ MessagesSquare: lucideReact.MessagesSquare,
22817
+ Paperclip: lucideReact.Paperclip,
22818
+ Plus: lucideReact.Plus,
22819
+ Search: lucideReact.Search,
22820
+ Send: lucideReact.Send,
22821
+ Settings: lucideReact.Settings,
22822
+ Settings2: lucideReact.Settings2,
22823
+ Sparkles: lucideReact.Sparkles,
22824
+ SquareDashedMousePointer: lucideReact.SquareDashedMousePointer,
22825
+ Tags: lucideReact.Tags,
22826
+ Upload: lucideReact.Upload,
22827
+ UserCog: lucideReact.UserCog,
22828
+ UserPlus: lucideReact.UserPlus,
22829
+ Users: lucideReact.Users,
22830
+ WifiOff: lucideReact.WifiOff,
22831
+ Workflow: lucideReact.Workflow
22832
+ };
22833
+ var actionIcon = (name) => ACTION_ICONS[name] ?? lucideReact.Zap;
22834
+ var DEFAULT_COMMAND_PALETTE_LABELS = {
22835
+ placeholder: "Type a command, a page, or a question\u2026",
22836
+ title: "Command palette",
22837
+ pages: "Pages",
22838
+ ask: "Ask AI",
22839
+ search: "Search documents for",
22840
+ empty: "Nothing matches."
22841
+ };
22842
+ var usePaletteOpen = zustand.create(() => false);
22843
+ var openCommandPalette = () => usePaletteOpen.setState(true, true);
22844
+ var APPLE = /Mac|iPhone|iPad|iPod/;
22845
+ function isPaletteShortcut(event, isApple = typeof navigator !== "undefined" && APPLE.test(navigator.platform || navigator.userAgent)) {
22846
+ if (event.defaultPrevented || event.shiftKey || event.altKey) return false;
22847
+ if (event.key.toLowerCase() !== "k") return false;
22848
+ if (isApple ? !event.metaKey || event.ctrlKey : !event.ctrlKey || event.metaKey) return false;
22849
+ const target = event.target;
22850
+ return !(target instanceof Element && target.closest(
22851
+ '[contenteditable]:not([contenteditable="false"]), [data-docx-editor], .docx-editor'
22852
+ ));
22853
+ }
22854
+ function matches(query, ...fields) {
22855
+ const haystack = fields.flat().join(" ").toLowerCase();
22856
+ return query.toLowerCase().split(/\s+/).every((word) => haystack.includes(word));
22857
+ }
22858
+ function ConnectedCommandPalette({
22859
+ navigation: navigationProp,
22860
+ onNavigate,
22861
+ actions,
22862
+ labels: labelOverrides
22863
+ }) {
22864
+ const labels = { ...DEFAULT_COMMAND_PALETTE_LABELS, ...labelOverrides };
22865
+ const isOpen = usePaletteOpen();
22866
+ const shellItems = useShellNavigation()?.visibleItems;
22867
+ const navigation = navigationProp ?? shellItems ?? [];
22868
+ const setOpen = (open) => usePaletteOpen.setState(open, true);
22869
+ const [query, setQuery] = react$1.useState("");
22870
+ const listRef = react$1.useRef(null);
22871
+ const environment = chunkWGWP4ATS_cjs.useBlocksEnvironment();
22872
+ const session = react.useArbiSessionStore();
22873
+ const { workspaceId } = chunk7UAAMA5U_cjs.useConnectedWorkspace();
22874
+ const { isMember, role } = react.useCurrentWorkspace();
22875
+ const context = {
22876
+ workspaceId,
22877
+ isMember,
22878
+ role,
22879
+ isTemporaryAccess: react.useArbiSession().user?.temporary_access_only === true,
22880
+ canCreateProjects: react.useCanCreateProjects(),
22881
+ isFeatureOn: react.useFeatureCheck()
22882
+ };
22883
+ const { ask, search } = useWorkspaceAsk();
22884
+ react$1.useEffect(() => {
22885
+ const onKey = (event) => {
22886
+ if (!isPaletteShortcut(event)) return;
22887
+ event.preventDefault();
22888
+ usePaletteOpen.setState((open) => !open, true);
22889
+ };
22890
+ window.addEventListener("keydown", onKey);
22891
+ return () => window.removeEventListener("keydown", onKey);
22892
+ }, []);
22893
+ react$1.useLayoutEffect(() => {
22894
+ listRef.current?.scrollTo?.({ top: 0 });
22895
+ }, [query]);
22896
+ react$1.useEffect(() => {
22897
+ if (!isOpen) setQuery("");
22898
+ }, [isOpen]);
22899
+ const catalogue = react$1.useMemo(() => {
22900
+ const all = {
22901
+ ...createBuiltinActions(environment, session),
22902
+ ...actions
22903
+ };
22904
+ return Object.values(all).filter((action) => !!action);
22905
+ }, [environment, session, actions]);
22906
+ const text = query.trim();
22907
+ const pages = navigation.filter((item) => !text || matches(text, item.label, item.keywords));
22908
+ const groups = /* @__PURE__ */ new Map();
22909
+ for (const action of catalogue) {
22910
+ if (action.listed === false || action.available && !action.available(context)) continue;
22911
+ if (text && !matches(text, action.label, action.category, action.keywords)) continue;
22912
+ groups.set(action.category, [...groups.get(action.category) ?? [], action]);
22913
+ }
22914
+ const choose = (run) => {
22915
+ setOpen(false);
22916
+ run();
22917
+ };
22918
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open: isOpen, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
22919
+ ui.DialogContent,
22920
+ {
22921
+ className: "top-[12%] max-w-2xl translate-y-0 gap-0 overflow-hidden p-0",
22922
+ "data-testid": "command-palette",
22923
+ children: [
22924
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { className: "sr-only", children: labels.title }),
22925
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: labels.placeholder }),
22926
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Command, { shouldFilter: false, loop: true, vimBindings: false, children: [
22927
+ /* @__PURE__ */ jsxRuntime.jsx(
22928
+ ui.CommandInput,
22929
+ {
22930
+ value: query,
22931
+ onValueChange: setQuery,
22932
+ placeholder: labels.placeholder,
22933
+ className: "h-12 text-base",
22934
+ "data-testid": "command-palette-input"
22935
+ }
22936
+ ),
22937
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.CommandList, { ref: listRef, className: "max-h-[60vh] p-1", children: [
22938
+ /* @__PURE__ */ jsxRuntime.jsx(ui.CommandEmpty, { className: "py-6 text-center text-sm text-muted-foreground", children: labels.empty }),
22939
+ pages.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.CommandGroup, { heading: labels.pages, children: pages.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
22940
+ ui.CommandItem,
22941
+ {
22942
+ value: `page:${item.id}`,
22943
+ onSelect: () => choose(() => onNavigate ? onNavigate(item) : environment.navigate(item.to)),
22944
+ "data-testid": `command-palette-nav-${item.id}`,
22945
+ children: [
22946
+ /* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "text-muted-foreground" }),
22947
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1", children: item.label }),
22948
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "text-muted-foreground" })
22949
+ ]
22950
+ },
22951
+ item.id
22952
+ )) }),
22953
+ [...groups].map(([category, rows]) => /* @__PURE__ */ jsxRuntime.jsx(ui.CommandGroup, { heading: category, children: rows.map((action) => {
22954
+ const Icon = actionIcon(action.icon);
22955
+ return /* @__PURE__ */ jsxRuntime.jsxs(
22956
+ ui.CommandItem,
22957
+ {
22958
+ value: `action:${action.id}`,
22959
+ onSelect: () => choose(action.run),
22960
+ "data-testid": `command-palette-action-${action.id}`,
22961
+ children: [
22962
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "text-muted-foreground" }),
22963
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: action.label })
22964
+ ]
22965
+ },
22966
+ action.id
22967
+ );
22968
+ }) }, category)),
22969
+ text && workspaceId && /* @__PURE__ */ jsxRuntime.jsxs(ui.CommandGroup, { children: [
22970
+ /* @__PURE__ */ jsxRuntime.jsxs(
22971
+ ui.CommandItem,
22972
+ {
22973
+ value: "ask",
22974
+ onSelect: () => choose(() => ask(text)),
22975
+ "data-testid": "command-palette-ask",
22976
+ children: [
22977
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "text-ai-accent" }),
22978
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
22979
+ labels.ask,
22980
+ ": \u201C",
22981
+ text,
22982
+ "\u201D"
22983
+ ] })
22984
+ ]
22985
+ }
22986
+ ),
22987
+ /* @__PURE__ */ jsxRuntime.jsxs(
22988
+ ui.CommandItem,
22989
+ {
22990
+ value: "search",
22991
+ onSelect: () => choose(() => search(text)),
22992
+ "data-testid": "command-palette-search",
22993
+ children: [
22994
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "text-muted-foreground" }),
22995
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
22996
+ labels.search,
22997
+ " \u201C",
22998
+ text,
22999
+ "\u201D"
23000
+ ] })
23001
+ ]
23002
+ }
23003
+ )
23004
+ ] })
23005
+ ] })
23006
+ ] })
23007
+ ]
23008
+ }
23009
+ ) });
23010
+ }
22489
23011
  var VENDOR_PRODUCTS = {
22490
23012
  microsoft: [{ key: "outlook" }, { key: "onedrive", product: "onedrive" }],
22491
23013
  gmail: [{ key: "gmail" }, { key: "googledrive", product: "googledrive" }],
@@ -22517,7 +23039,7 @@ function AddFromAccountsButton({
22517
23039
  className: "gap-2",
22518
23040
  "data-testid": dataTestId,
22519
23041
  children: [
22520
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
23042
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
22521
23043
  "Add from accounts"
22522
23044
  ]
22523
23045
  }
@@ -22601,7 +23123,7 @@ function ConnectedUploadDropzone({
22601
23123
  const onFiles = browse(fileInputRef);
22602
23124
  const onFolder = browse(folderInputRef);
22603
23125
  const dropTarget = /* @__PURE__ */ jsxRuntime.jsx(
22604
- chunkVJTDTWNZ_cjs.UploadDropArea,
23126
+ chunkERDQ4DAX_cjs.UploadDropArea,
22605
23127
  {
22606
23128
  isActive: dragActive,
22607
23129
  isDisabled: disabled,
@@ -22615,11 +23137,11 @@ function ConnectedUploadDropzone({
22615
23137
  onClick: (e) => {
22616
23138
  if (e.target === e.currentTarget) onFiles();
22617
23139
  },
22618
- actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
23140
+ actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
22619
23141
  }
22620
23142
  );
22621
23143
  const urlDialog = (trigger) => onUrlsSubmit ? /* @__PURE__ */ jsxRuntime.jsx(
22622
- chunkVJTDTWNZ_cjs.UrlInputDialog,
23144
+ chunkERDQ4DAX_cjs.UrlInputDialog,
22623
23145
  {
22624
23146
  onUrlsSubmit,
22625
23147
  processing: disabled,
@@ -22632,12 +23154,12 @@ function ConnectedUploadDropzone({
22632
23154
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
22633
23155
  dropTarget,
22634
23156
  compactLeadingAction,
22635
- onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
23157
+ onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
22636
23158
  ] });
22637
23159
  }
22638
23160
  if (!source) {
22639
23161
  return /* @__PURE__ */ jsxRuntime.jsx(
22640
- chunkVJTDTWNZ_cjs.UploadSourcePicker,
23162
+ chunkERDQ4DAX_cjs.UploadSourcePicker,
22641
23163
  {
22642
23164
  isDisabled: disabled,
22643
23165
  options: [
@@ -22673,14 +23195,14 @@ function ConnectedUploadDropzone({
22673
23195
  }
22674
23196
  if (source === "computer") {
22675
23197
  return /* @__PURE__ */ jsxRuntime.jsxs(
22676
- chunkVJTDTWNZ_cjs.UploadSourceSection,
23198
+ chunkERDQ4DAX_cjs.UploadSourceSection,
22677
23199
  {
22678
23200
  testId: "upload-source-computer",
22679
23201
  className: "flex w-full flex-col gap-3 pointer-coarse:flex-col-reverse",
22680
23202
  children: [
22681
23203
  dropTarget,
22682
23204
  /* @__PURE__ */ jsxRuntime.jsx(
22683
- chunkVJTDTWNZ_cjs.UploadBrowseButtons,
23205
+ chunkERDQ4DAX_cjs.UploadBrowseButtons,
22684
23206
  {
22685
23207
  layout: "grid",
22686
23208
  onFiles,
@@ -22693,15 +23215,15 @@ function ConnectedUploadDropzone({
22693
23215
  );
22694
23216
  }
22695
23217
  if (source === "internet" && onUrlsSubmit) {
22696
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
23218
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
22697
23219
  }
22698
23220
  if (source === "email" && accounts) {
22699
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
23221
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
22700
23222
  }
22701
23223
  return null;
22702
23224
  })();
22703
23225
  return /* @__PURE__ */ jsxRuntime.jsxs(
22704
- chunkVJTDTWNZ_cjs.UploadFrame,
23226
+ chunkERDQ4DAX_cjs.UploadFrame,
22705
23227
  {
22706
23228
  isCompact: compact,
22707
23229
  isDimmed: disabled || processingMessage !== null,
@@ -22762,7 +23284,7 @@ function EmptyWorkspaceUpload({
22762
23284
  compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
22763
23285
  }
22764
23286
  ),
22765
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.PrivacyExplainerModal, {})
23287
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.PrivacyExplainerModal, {})
22766
23288
  ] })
22767
23289
  }
22768
23290
  );
@@ -22869,9 +23391,9 @@ function useDocumentFilters({
22869
23391
  const { data: members = [] } = react.useWorkspaceUsers();
22870
23392
  const user = members.find((m) => m.user.external_id === currentUserId)?.user;
22871
23393
  const offlineIds = react.useOfflineDocumentIds();
22872
- const pendingFolders = chunkF3IRNQIB_cjs.usePendingFolders(selectedWorkspaceId);
22873
- const persistedDocumentFilters = chunkF3IRNQIB_cjs.useFilesPrefs((state) => state.documentFilters);
22874
- const setPersistedDocumentFilters = chunkF3IRNQIB_cjs.useFilesPrefs((state) => state.setDocumentFilters);
23394
+ const pendingFolders = chunkHJBVSG6H_cjs.usePendingFolders(selectedWorkspaceId);
23395
+ const persistedDocumentFilters = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.documentFilters);
23396
+ const setPersistedDocumentFilters = chunkHJBVSG6H_cjs.useFilesPrefs((state) => state.setDocumentFilters);
22875
23397
  const folderTree = react$1.useMemo(() => {
22876
23398
  const allPaths = /* @__PURE__ */ new Set();
22877
23399
  let hasUnfiled = false;
@@ -23092,7 +23614,7 @@ function useDocumentFilters({
23092
23614
  {
23093
23615
  id: "uploaded_by_me",
23094
23616
  label: "Uploaded by me",
23095
- icon: user ? /* @__PURE__ */ jsxRuntime.jsx(chunkERVXJW7P_cjs.UserAvatar, { user, isMe: true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "h-4 w-4" }),
23617
+ icon: user ? /* @__PURE__ */ jsxRuntime.jsx(chunkJ24LYNTY_cjs.UserAvatar, { user, isMe: true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "h-4 w-4" }),
23096
23618
  count: docs.filter((doc) => doc.created_by_ext_id === currentUserId).length
23097
23619
  },
23098
23620
  {
@@ -23213,7 +23735,7 @@ function useDocumentFilters({
23213
23735
  const folderPath = react$1.useMemo(() => {
23214
23736
  for (const [key, state] of documentFilters) {
23215
23737
  if (key.startsWith("folder:") && key !== "folder:none" && state === "include") {
23216
- return chunkVJTDTWNZ_cjs.parseFolderSegments(key.slice("folder:".length));
23738
+ return chunkERDQ4DAX_cjs.parseFolderSegments(key.slice("folder:".length));
23217
23739
  }
23218
23740
  }
23219
23741
  return [];
@@ -23222,7 +23744,7 @@ function useDocumentFilters({
23222
23744
  (path) => {
23223
23745
  const next = new Map(documentFilters);
23224
23746
  for (const key of next.keys()) if (key.startsWith("folder:")) next.set(key, null);
23225
- const joined = chunkVJTDTWNZ_cjs.joinFolderPath(path);
23747
+ const joined = chunkERDQ4DAX_cjs.joinFolderPath(path);
23226
23748
  if (joined) next.set(`folder:${joined}`, "include");
23227
23749
  setDocumentFilters(next);
23228
23750
  },
@@ -25603,7 +26125,7 @@ function ConnectedMailbox({
25603
26125
  onTabChange: () => {
25604
26126
  },
25605
26127
  compactBreakpoint: 360,
25606
- firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesFilterBar, { children: [
26128
+ firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesFilterBar, { children: [
25607
26129
  /* @__PURE__ */ jsxRuntime.jsx(
25608
26130
  chunk6UZC4XVV_cjs.FilterInput,
25609
26131
  {
@@ -25638,7 +26160,7 @@ function ConnectedMailbox({
25638
26160
  }
25639
26161
  ),
25640
26162
  folderList && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
25641
- chunkVJTDTWNZ_cjs.FolderFilterButton,
26163
+ chunkERDQ4DAX_cjs.FolderFilterButton,
25642
26164
  {
25643
26165
  label: folderList.find((f) => f.id === folderId)?.name ?? "Folders",
25644
26166
  isActive: false,
@@ -25646,7 +26168,7 @@ function ConnectedMailbox({
25646
26168
  onOpenChange: setFolderMenuOpen,
25647
26169
  testId: "mail-folder-button",
25648
26170
  children: folderList.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
25649
- chunkVJTDTWNZ_cjs.FolderPickerRow,
26171
+ chunkERDQ4DAX_cjs.FolderPickerRow,
25650
26172
  {
25651
26173
  label: item.name,
25652
26174
  count: item.unread > 0 ? item.unread : void 0,
@@ -26185,7 +26707,7 @@ function ConnectedSecureMailClaimPage({
26185
26707
  }) {
26186
26708
  const authenticated = react.useArbiSession().status === "signed-in";
26187
26709
  const { openMail } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
26188
- const { loading } = chunkSVQTUHPE_cjs.useAuthPages();
26710
+ const { loading } = chunkMM5Q7AJL_cjs.useAuthPages();
26189
26711
  const claim = react.useClaimSecureMail();
26190
26712
  const [, setFirstLoginWorkspaces] = react.useTransientView(FIRST_LOGIN_WORKSPACES_VIEW, null);
26191
26713
  const [failure, setFailure] = react$1.useState(null);
@@ -26225,7 +26747,7 @@ function ConnectedSecureMailClaimPage({
26225
26747
  }
26226
26748
  })();
26227
26749
  }, [authenticated, claimId, key]);
26228
- if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, { variant: "splash" }) });
26750
+ if (!error) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loading ?? /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { variant: "splash" }) });
26229
26751
  return /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-screen items-center justify-center bg-background p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "w-full max-w-md rounded-lg border border-border bg-card p-6", children: [
26230
26752
  /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "mb-4 text-sm text-destructive", children: error }),
26231
26753
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -27089,7 +27611,7 @@ function BookingPagesPanel({ defaultTimeZone, className }) {
27089
27611
  var selectClass4 = "h-9 w-full rounded-md border border-input bg-background px-2 text-sm text-foreground shadow-sm";
27090
27612
  function CreateRoomForm({ zone, onDone }) {
27091
27613
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
27092
- const create2 = react.useCreateRoom();
27614
+ const create3 = react.useCreateRoom();
27093
27615
  const [name, setName] = react$1.useState("");
27094
27616
  const [type, setType] = react$1.useState("room");
27095
27617
  const [capacity, setCapacity] = react$1.useState("");
@@ -27109,7 +27631,7 @@ function CreateRoomForm({ zone, onDone }) {
27109
27631
  const cap = capacity.trim() ? Number(capacity) : null;
27110
27632
  if (cap !== null && (!Number.isInteger(cap) || cap < 1))
27111
27633
  return setError("Capacity must be a whole number");
27112
- create2.mutate(
27634
+ create3.mutate(
27113
27635
  {
27114
27636
  name: name.trim(),
27115
27637
  type,
@@ -27200,8 +27722,8 @@ function CreateRoomForm({ zone, onDone }) {
27200
27722
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: error }),
27201
27723
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
27202
27724
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "button", variant: "ghost", onClick: onDone, children: "Cancel" }),
27203
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { type: "submit", disabled: create2.isPending, children: [
27204
- create2.isPending && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }),
27725
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { type: "submit", disabled: create3.isPending, children: [
27726
+ create3.isPending && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 size-4 animate-spin" }),
27205
27727
  "Create"
27206
27728
  ] })
27207
27729
  ] })
@@ -29371,7 +29893,7 @@ function ProcessingSettingsFooter({
29371
29893
  [configField]
29372
29894
  );
29373
29895
  return /* @__PURE__ */ jsxRuntime.jsx(
29374
- chunkVJTDTWNZ_cjs.UploadFooterBar,
29896
+ chunkERDQ4DAX_cjs.UploadFooterBar,
29375
29897
  {
29376
29898
  skipDuplicates,
29377
29899
  onSkipDuplicatesChange: (value) => handleConfigChange("Parser", "SKIP_DUPLICATES", value),
@@ -29380,7 +29902,7 @@ function ProcessingSettingsFooter({
29380
29902
  autoRenameInstruction,
29381
29903
  onAutoRenameInstructionChange: (value) => handleConfigChange("DoctagLLM", "AUTO_RENAME_INSTRUCTION", value),
29382
29904
  shareToggle: /* @__PURE__ */ jsxRuntime.jsx(
29383
- chunkVJTDTWNZ_cjs.ShareToggle,
29905
+ chunkERDQ4DAX_cjs.ShareToggle,
29384
29906
  {
29385
29907
  isVisible: isShared,
29386
29908
  onToggle: onSharedChange,
@@ -29557,7 +30079,7 @@ ${summary}`,
29557
30079
  }
29558
30080
  );
29559
30081
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col", "data-testid": "upload-documents", children: [
29560
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
30082
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
29561
30083
  files.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(
29562
30084
  ConnectedUploadDropzone,
29563
30085
  {
@@ -29573,7 +30095,7 @@ ${summary}`,
29573
30095
  }
29574
30096
  ),
29575
30097
  /* @__PURE__ */ jsxRuntime.jsx(
29576
- chunkVJTDTWNZ_cjs.SelectedFilesList,
30098
+ chunkERDQ4DAX_cjs.SelectedFilesList,
29577
30099
  {
29578
30100
  renderFileIcon,
29579
30101
  files,
@@ -29582,10 +30104,10 @@ ${summary}`,
29582
30104
  formatFileSize: formatFileSize4
29583
30105
  }
29584
30106
  ),
29585
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
29586
- error && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadErrorMessage, { message: error })
29587
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
29588
- chunkVJTDTWNZ_cjs.UploadProgress,
30107
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
30108
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadErrorMessage, { message: error })
30109
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
30110
+ chunkERDQ4DAX_cjs.UploadProgress,
29589
30111
  {
29590
30112
  fileCount: count2,
29591
30113
  entityLabel: plural5(count2),
@@ -29725,7 +30247,7 @@ var PROVIDER_FAMILIES = [
29725
30247
  { key: "google", label: "Google", vendors: ["gmail"] }
29726
30248
  ];
29727
30249
  function VendorGlyph({ catalog }) {
29728
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.VendorLogo, { vendorKey: catalog.vendor_key, className: "h-7 w-7" });
30250
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: catalog.vendor_key, className: "h-7 w-7" });
29729
30251
  }
29730
30252
  function mailboxProductName(catalog) {
29731
30253
  if (catalog.vendor_key === "microsoft") return "Outlook";
@@ -29792,7 +30314,7 @@ function EmailProviderRow({
29792
30314
  const emailNoun = (n) => n === 1 ? "email" : "emails";
29793
30315
  const syncedCount = thisSync?.synced_count ?? 0;
29794
30316
  return /* @__PURE__ */ jsxRuntime.jsxs(
29795
- chunkVJTDTWNZ_cjs.ImportRow,
30317
+ chunkERDQ4DAX_cjs.ImportRow,
29796
30318
  {
29797
30319
  testId: `email-provider-row-${catalog.vendor_key}`,
29798
30320
  logo: /* @__PURE__ */ jsxRuntime.jsx(VendorGlyph, { catalog }),
@@ -29801,7 +30323,7 @@ function EmailProviderRow({
29801
30323
  // Connecting AND reconnecting are owned by the family header, so a
29802
30324
  // not-connected or needs-reconnect row shows no button of its own.
29803
30325
  !isConnected || needsReconnect ? null : /* @__PURE__ */ jsxRuntime.jsx(
29804
- chunkVJTDTWNZ_cjs.ImportRunActions,
30326
+ chunkERDQ4DAX_cjs.ImportRunActions,
29805
30327
  {
29806
30328
  isRunning: running,
29807
30329
  isStopping: cancelSync.isPending,
@@ -29816,10 +30338,10 @@ function EmailProviderRow({
29816
30338
  ),
29817
30339
  children: [
29818
30340
  isConnected && !needsReconnect && !running && /* @__PURE__ */ jsxRuntime.jsxs(
29819
- chunkVJTDTWNZ_cjs.ImportSummary,
30341
+ chunkERDQ4DAX_cjs.ImportSummary,
29820
30342
  {
29821
- aside: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ImportAside, { children: thisSync && thisSync.folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
29822
- chunkVJTDTWNZ_cjs.FolderSummary,
30343
+ aside: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportAside, { children: thisSync && thisSync.folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
30344
+ chunkERDQ4DAX_cjs.FolderSummary,
29823
30345
  {
29824
30346
  names: thisSync.folders.map(
29825
30347
  (id) => mailboxFolders?.find((f) => f.id === id)?.name
@@ -29842,7 +30364,7 @@ function EmailProviderRow({
29842
30364
  }
29843
30365
  ),
29844
30366
  running && /* @__PURE__ */ jsxRuntime.jsx(
29845
- chunkVJTDTWNZ_cjs.ImportProgress,
30367
+ chunkERDQ4DAX_cjs.ImportProgress,
29846
30368
  {
29847
30369
  processed: progress?.processed ?? 0,
29848
30370
  total: progress?.total,
@@ -29959,9 +30481,9 @@ function EmailImportPanel({
29959
30481
  return { family, entries, extra, identity, connectVendor, connected, needsReconnect };
29960
30482
  }).filter((g) => g.entries.length > 0 || g.extra);
29961
30483
  if (groups.length === 0) return null;
29962
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ImportPanel, { "data-testid": "email-import-panel", children: groups.map(
30484
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportPanel, { "data-testid": "email-import-panel", children: groups.map(
29963
30485
  ({ family, entries, extra, identity, connectVendor, connected, needsReconnect }) => /* @__PURE__ */ jsxRuntime.jsx(
29964
- chunkVJTDTWNZ_cjs.ImportFamilySection,
30486
+ chunkERDQ4DAX_cjs.ImportFamilySection,
29965
30487
  {
29966
30488
  label: family.label,
29967
30489
  identity,
@@ -29970,7 +30492,7 @@ function EmailImportPanel({
29970
30492
  onAction: () => void (!connected ? connectFamily(connectVendor) : needsReconnect ? reconnectFamily(connectVendor) : disconnectFamily(family, connectVendor, identity)),
29971
30493
  testId: `import-family-${family.key}`,
29972
30494
  actionButton: !connected ? { testId: `import-family-connect-${family.key}` } : needsReconnect ? { testId: `import-family-reconnect-${family.key}` } : { testId: `import-family-disconnect-${family.key}` },
29973
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.ImportList, { children: [
30495
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportList, { children: [
29974
30496
  entries.map((entry) => /* @__PURE__ */ jsxRuntime.jsx(
29975
30497
  EmailProviderRow,
29976
30498
  {
@@ -30054,7 +30576,7 @@ function driveProduct(vendorKey) {
30054
30576
  }
30055
30577
  function VendorGlyph2({ catalog }) {
30056
30578
  return /* @__PURE__ */ jsxRuntime.jsx(
30057
- chunkVJTDTWNZ_cjs.VendorLogo,
30579
+ chunkERDQ4DAX_cjs.VendorLogo,
30058
30580
  {
30059
30581
  vendorKey: catalog.vendor_key,
30060
30582
  product: driveProduct(catalog.vendor_key).glyph,
@@ -30177,7 +30699,7 @@ function OneDriveProviderRow({
30177
30699
  const driveNoun = (n) => n === 1 ? "document" : "documents";
30178
30700
  const showRunActions = isConnected && !needsReconnect;
30179
30701
  const reconnectAction = ownsAuth && needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
30180
- chunkVJTDTWNZ_cjs.ImportActionButton,
30702
+ chunkERDQ4DAX_cjs.ImportActionButton,
30181
30703
  {
30182
30704
  onClick: () => void reconnectSelf(),
30183
30705
  disabled: reauthPending,
@@ -30186,7 +30708,7 @@ function OneDriveProviderRow({
30186
30708
  }
30187
30709
  ) : null;
30188
30710
  return /* @__PURE__ */ jsxRuntime.jsxs(
30189
- chunkVJTDTWNZ_cjs.ImportRow,
30711
+ chunkERDQ4DAX_cjs.ImportRow,
30190
30712
  {
30191
30713
  testId: `onedrive-provider-row-${catalog.vendor_key}`,
30192
30714
  logo: /* @__PURE__ */ jsxRuntime.jsx(VendorGlyph2, { catalog }),
@@ -30198,7 +30720,7 @@ function OneDriveProviderRow({
30198
30720
  // Until folders are configured here (or when nothing new is pending), Import now
30199
30721
  // stays disabled; the gear opens the folder picker.
30200
30722
  /* @__PURE__ */ jsxRuntime.jsx(
30201
- chunkVJTDTWNZ_cjs.ImportRunActions,
30723
+ chunkERDQ4DAX_cjs.ImportRunActions,
30202
30724
  {
30203
30725
  isRunning: running,
30204
30726
  isStopping: cancelSync.isPending,
@@ -30217,16 +30739,16 @@ function OneDriveProviderRow({
30217
30739
  ) : reconnectAction
30218
30740
  ),
30219
30741
  children: [
30220
- ownsAuth && needsReconnect && /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.ImportHint, { "data-testid": `onedrive-reconnect-hint-${catalog.vendor_key}`, children: [
30742
+ ownsAuth && needsReconnect && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportHint, { "data-testid": `onedrive-reconnect-hint-${catalog.vendor_key}`, children: [
30221
30743
  "Couldn\u2019t reach SharePoint. Click ",
30222
30744
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Reconnect" }),
30223
30745
  " \u2014 if it keeps happening, log out and back in to refresh the connection."
30224
30746
  ] }),
30225
30747
  configuredHere && !needsReconnect && !running && /* @__PURE__ */ jsxRuntime.jsxs(
30226
- chunkVJTDTWNZ_cjs.ImportSummary,
30748
+ chunkERDQ4DAX_cjs.ImportSummary,
30227
30749
  {
30228
30750
  className: "mt-2",
30229
- aside: typeof pendingCount === "number" ? /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ImportAside, { className: "max-w-none shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { "data-testid": `drive-pending-${catalog.vendor_key}`, children: pendingCount > 0 ? `${pendingCount.toLocaleString()} new ${driveNoun(pendingCount)} to sync` : "No new documents to sync" }) }) : void 0,
30751
+ aside: typeof pendingCount === "number" ? /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportAside, { className: "max-w-none shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { "data-testid": `drive-pending-${catalog.vendor_key}`, children: pendingCount > 0 ? `${pendingCount.toLocaleString()} new ${driveNoun(pendingCount)} to sync` : "No new documents to sync" }) }) : void 0,
30230
30752
  children: [
30231
30753
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
30232
30754
  "Syncing ",
@@ -30254,7 +30776,7 @@ function OneDriveProviderRow({
30254
30776
  }
30255
30777
  ),
30256
30778
  running && /* @__PURE__ */ jsxRuntime.jsx(
30257
- chunkVJTDTWNZ_cjs.ImportProgress,
30779
+ chunkERDQ4DAX_cjs.ImportProgress,
30258
30780
  {
30259
30781
  processed: progress?.processed ?? 0,
30260
30782
  total: progress?.total,
@@ -30318,13 +30840,13 @@ function SharePointEnableRow({
30318
30840
  }
30319
30841
  };
30320
30842
  return /* @__PURE__ */ jsxRuntime.jsx(
30321
- chunkVJTDTWNZ_cjs.ImportRow,
30843
+ chunkERDQ4DAX_cjs.ImportRow,
30322
30844
  {
30323
30845
  testId: `onedrive-provider-row-${catalog.vendor_key}`,
30324
- logo: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.VendorLogo, { vendorKey: catalog.vendor_key, product: product.glyph, className: "h-7 w-7" }),
30846
+ logo: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.VendorLogo, { vendorKey: catalog.vendor_key, product: product.glyph, className: "h-7 w-7" }),
30325
30847
  name: product.name,
30326
30848
  actions: /* @__PURE__ */ jsxRuntime.jsx(
30327
- chunkVJTDTWNZ_cjs.ImportActionButton,
30849
+ chunkERDQ4DAX_cjs.ImportActionButton,
30328
30850
  {
30329
30851
  onClick: () => void enable(),
30330
30852
  disabled: pending,
@@ -30332,7 +30854,7 @@ function SharePointEnableRow({
30332
30854
  children: pending ? "Enabling\u2026" : `Enable ${product.name}`
30333
30855
  }
30334
30856
  ),
30335
- children: sharePointAdminUrl && /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.ImportHint, { children: [
30857
+ children: sharePointAdminUrl && /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.ImportHint, { children: [
30336
30858
  "Does your organization require admin approval?",
30337
30859
  " ",
30338
30860
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -30381,11 +30903,11 @@ function DriveImportPanel({
30381
30903
  }
30382
30904
  const product = driveProduct(entry.vendor_key);
30383
30905
  return /* @__PURE__ */ jsxRuntime.jsx(
30384
- chunkVJTDTWNZ_cjs.ImportRow,
30906
+ chunkERDQ4DAX_cjs.ImportRow,
30385
30907
  {
30386
30908
  testId: `onedrive-provider-row-${entry.vendor_key}`,
30387
30909
  logo: /* @__PURE__ */ jsxRuntime.jsx(
30388
- chunkVJTDTWNZ_cjs.VendorLogo,
30910
+ chunkERDQ4DAX_cjs.VendorLogo,
30389
30911
  {
30390
30912
  vendorKey: entry.vendor_key,
30391
30913
  product: product.glyph,
@@ -30410,7 +30932,7 @@ function DriveImportPanel({
30410
30932
  );
30411
30933
  }).filter(Boolean);
30412
30934
  if (rows.length === 0) return null;
30413
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ImportList, { "data-testid": "onedrive-import-panel", children: rows });
30935
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ImportList, { "data-testid": "onedrive-import-panel", children: rows });
30414
30936
  }
30415
30937
  function useHasAccountsImport() {
30416
30938
  const isVendorVisible = react.useConnectorVendorVisibility();
@@ -30601,17 +31123,130 @@ function ConnectedBulkTagCrumbs() {
30601
31123
  }
30602
31124
  );
30603
31125
  }
30604
- var CheckboxCellRenderer = react$1.memo(function CheckboxCellRenderer2({
30605
- params,
30606
- tagId,
30607
- tagName,
30608
- tagColor,
30609
- isMember
30610
- }) {
31126
+ var NO_USERS = [];
31127
+ var NO_DOCUMENTS2 = [];
31128
+ var NO_FOLDER_UPDATE = () => {
31129
+ };
31130
+ function DocumentNameCellRenderer(params) {
31131
+ const {
31132
+ data: doc,
31133
+ canEdit,
31134
+ onOpenDocument,
31135
+ onReviewDocument,
31136
+ onDocumentChat,
31137
+ onDownloadDocument,
31138
+ onMoveDocument,
31139
+ onDeleteDocument
31140
+ } = params;
31141
+ if (!doc) return null;
31142
+ const context = params.context;
31143
+ return /* @__PURE__ */ jsxRuntime.jsx(
31144
+ chunkJ24LYNTY_cjs.DocumentNameCell,
31145
+ {
31146
+ doc,
31147
+ canEdit: canEdit(params),
31148
+ users: context?.getWorkspaceUsers?.() ?? NO_USERS,
31149
+ onOpen: () => onOpenDocument(doc.external_id),
31150
+ onReview: onReviewDocument && (() => onReviewDocument(doc.external_id)),
31151
+ onDocumentChat: onDocumentChat && (() => onDocumentChat(doc.external_id)),
31152
+ onRename: () => params.api.startEditingCell({ rowIndex: params.node.rowIndex ?? 0, colKey: "title" }),
31153
+ onDownload: () => onDownloadDocument?.(doc),
31154
+ onMove: () => onMoveDocument?.(doc.external_id),
31155
+ onDelete: () => onDeleteDocument?.(doc.external_id)
31156
+ }
31157
+ );
31158
+ }
31159
+ function SharedCellRenderer(params) {
31160
+ if (!params.data) return null;
31161
+ return /* @__PURE__ */ jsxRuntime.jsx(
31162
+ chunkJ24LYNTY_cjs.DocumentSharedCell,
31163
+ {
31164
+ document: params.data,
31165
+ disabled: !params.canToggle(params),
31166
+ disabledTooltip: "Only the owner can change visibility",
31167
+ onToggle: params.onToggleShared
31168
+ }
31169
+ );
31170
+ }
31171
+ function StatusCellRenderer(params) {
31172
+ if (!params.data) return null;
31173
+ const context = params.context;
31174
+ return /* @__PURE__ */ jsxRuntime.jsx(
31175
+ chunkJ24LYNTY_cjs.StatusCell,
31176
+ {
31177
+ doc: params.data,
31178
+ onStatusClick: params.onStatusClick,
31179
+ actions: context?.getHostActions?.()
31180
+ }
31181
+ );
31182
+ }
31183
+ function LabelsCellRenderer(params) {
31184
+ if (!params.data) return null;
31185
+ const context = params.context;
31186
+ return /* @__PURE__ */ jsxRuntime.jsx(
31187
+ chunkJ24LYNTY_cjs.DocumentLabelsCell,
31188
+ {
31189
+ doc: params.data,
31190
+ labels: params.labels,
31191
+ createDocTag: params.createDocTag,
31192
+ deleteDocTag: params.deleteDocTag,
31193
+ createTag: params.createTag,
31194
+ isMember: params.isMember,
31195
+ rowHeight: params.node.rowHeight ?? 52,
31196
+ actions: context?.getHostActions?.()
31197
+ }
31198
+ );
31199
+ }
31200
+ function RelatedDocsCellRenderer(params) {
31201
+ if (!params.data) return null;
31202
+ const context = params.context;
31203
+ const related = context?.getRelatedDocs?.().get(params.data.external_id);
31204
+ if (!related || react.getRelatedTotal(related) === 0) return null;
31205
+ const { onOpenDocument, onDeleteDocument } = params;
31206
+ return /* @__PURE__ */ jsxRuntime.jsx(
31207
+ chunkJ24LYNTY_cjs.RelatedDocumentsCell,
31208
+ {
31209
+ currentDoc: params.data,
31210
+ related,
31211
+ viewingDocumentId: context?.getViewingDocumentId?.() ?? null,
31212
+ onDocumentClick: onOpenDocument,
31213
+ onDelete: (doc) => onDeleteDocument?.(doc.external_id),
31214
+ onCompare: context?.getHostActions?.().compareDocuments
31215
+ }
31216
+ );
31217
+ }
31218
+ function FolderCellRenderer(params) {
31219
+ if (!params.data) return null;
31220
+ const context = params.context;
31221
+ return /* @__PURE__ */ jsxRuntime.jsx(
31222
+ chunkJ24LYNTY_cjs.DocumentFolderCell,
31223
+ {
31224
+ document: params.data,
31225
+ isEditable: params.canEdit(params),
31226
+ allDocuments: context?.getDocuments?.() ?? NO_DOCUMENTS2,
31227
+ onUpdateFolder: context?.updateFolder ?? NO_FOLDER_UPDATE
31228
+ }
31229
+ );
31230
+ }
31231
+ function CreatedByCellRenderer(params) {
31232
+ if (!params.data) return null;
31233
+ const context = params.context;
31234
+ const creator = context?.getWorkspaceUsers?.().find((u) => u.external_id === params.data.created_by_ext_id);
31235
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
31236
+ chunkJ24LYNTY_cjs.UserAvatar,
31237
+ {
31238
+ user: creator,
31239
+ isMe: !!creator && creator.external_id === context?.getCurrentUserId?.(),
31240
+ onOpen: context?.getHostActions?.().openUser
31241
+ }
31242
+ ) });
31243
+ }
31244
+ function CheckboxCellRenderer(params) {
31245
+ const { tagId, tagName, tagColor, isMember } = params;
30611
31246
  if (!params.data) return null;
30612
31247
  const isChecked = params.value === true;
30613
31248
  return /* @__PURE__ */ jsxRuntime.jsx(
30614
- chunkVJTDTWNZ_cjs.CheckboxCell,
31249
+ chunkERDQ4DAX_cjs.CheckboxCell,
30615
31250
  {
30616
31251
  isChecked,
30617
31252
  color: tagColor,
@@ -30620,12 +31255,9 @@ var CheckboxCellRenderer = react$1.memo(function CheckboxCellRenderer2({
30620
31255
  onToggle: () => params.node.setDataValue(tagId, !isChecked)
30621
31256
  }
30622
31257
  );
30623
- });
30624
- var TagHeaderComponent = react$1.memo(function TagHeaderComponent2({
30625
- params,
30626
- tag,
30627
- isCheckbox
30628
- }) {
31258
+ }
31259
+ function TagHeaderComponent(params) {
31260
+ const { tag, isCheckbox } = params;
30629
31261
  const [sort, setSort] = react$1.useState(params.column.getSort());
30630
31262
  react$1.useEffect(() => {
30631
31263
  const updateSort = () => setSort(params.column.getSort());
@@ -30634,16 +31266,16 @@ var TagHeaderComponent = react$1.memo(function TagHeaderComponent2({
30634
31266
  return () => params.column.removeEventListener("sortChanged", updateSort);
30635
31267
  }, [params.column]);
30636
31268
  return /* @__PURE__ */ jsxRuntime.jsx(
30637
- chunkVJTDTWNZ_cjs.TagColumnHeader,
31269
+ chunkERDQ4DAX_cjs.TagColumnHeader,
30638
31270
  {
30639
31271
  isCentered: isCheckbox,
30640
31272
  sort,
30641
31273
  onSort: params.enableSorting ? (additive) => params.progressSort(additive) : void 0,
30642
- filter: /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilterButton, { params, colId: tag.external_id }),
30643
- label: /* @__PURE__ */ jsxRuntime.jsx(chunk65MSYISI_cjs.ConnectedTagEntity, { tag, size: "sm" })
31274
+ filter: /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilterButton, { params, colId: tag.external_id }),
31275
+ label: /* @__PURE__ */ jsxRuntime.jsx(chunkVD33HXFZ_cjs.ConnectedTagEntity, { tag, size: "sm" })
30644
31276
  }
30645
31277
  );
30646
- });
31278
+ }
30647
31279
  var TAG_FILTER_PARAMS = {
30648
31280
  buttons: ["reset", "apply"],
30649
31281
  closeOnApply: true
@@ -30717,23 +31349,21 @@ function createTagColumn({
30717
31349
  headerClass: isCheckbox ? "ag-header-cell-center" : void 0,
30718
31350
  // Custom comparator for sorting - use factory to create stable function
30719
31351
  comparator: createTagComparator(tag.tag_type.type),
30720
- cellRenderer: isCheckbox ? (params) => /* @__PURE__ */ jsxRuntime.jsx(
30721
- CheckboxCellRenderer,
30722
- {
30723
- params,
30724
- tagId: tag.external_id,
30725
- tagName: tag.name,
30726
- tagColor,
30727
- isMember
30728
- }
30729
- ) : void 0,
30730
- // Use default rendering for text/number/select - shows value with truncation
30731
- cellEditor: isSelect ? chunkVJTDTWNZ_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
31352
+ // Text/number/select use the default rendering (the value, truncated).
31353
+ cellRenderer: isCheckbox ? CheckboxCellRenderer : void 0,
31354
+ cellRendererParams: isCheckbox ? {
31355
+ tagId: tag.external_id,
31356
+ tagName: tag.name,
31357
+ tagColor,
31358
+ isMember
31359
+ } : void 0,
31360
+ cellEditor: isSelect ? chunkERDQ4DAX_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
30732
31361
  cellEditorParams: isSelect ? createMultiSelectCellEditorParams(tag.tag_type.options || []) : isText ? { rows: 8, cols: 50 } : void 0,
30733
31362
  cellEditorPopup: isText || isSelect,
30734
31363
  // Text and Select tags use popup editor for better UX
30735
31364
  // Header with icon and title, filter button on left
30736
- headerComponent: (params) => /* @__PURE__ */ jsxRuntime.jsx(TagHeaderComponent, { params, tag, isCheckbox }),
31365
+ headerComponent: TagHeaderComponent,
31366
+ headerComponentParams: { tag, isCheckbox },
30737
31367
  // Value getter
30738
31368
  valueGetter: (params) => {
30739
31369
  if (!params.data) return isCheckbox ? false : "";
@@ -30822,6 +31452,8 @@ function createTagColumn({
30822
31452
  }
30823
31453
  };
30824
31454
  }
31455
+
31456
+ // src/connection/files/grid/documentColumns.tsx
30825
31457
  var FILTER_PARAMS = {
30826
31458
  buttons: ["reset", "apply"],
30827
31459
  closeOnApply: true
@@ -30845,101 +31477,9 @@ function createDocumentColumns({
30845
31477
  onToggleShared,
30846
31478
  notify: notify17
30847
31479
  }) {
30848
- const isRowEditableByOwner = (params) => chunkVJTDTWNZ_cjs.canChangeVisibility(params.data, currentUserExtId);
30849
- const isRowEditableByMember = (params) => chunkVJTDTWNZ_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
30850
- const documentNameCellRenderer = (params) => {
30851
- const doc = params.data;
30852
- if (!doc) return null;
30853
- const context = params.context;
30854
- return /* @__PURE__ */ jsxRuntime.jsx(
30855
- chunkERVXJW7P_cjs.DocumentNameCell,
30856
- {
30857
- doc,
30858
- canEdit: isRowEditableByMember(params),
30859
- users: context?.getWorkspaceUsers?.() ?? NO_USERS,
30860
- onOpen: () => handleToggleDocumentViewer(doc.external_id),
30861
- onReview: onReviewDocument && (() => onReviewDocument(doc.external_id)),
30862
- onDocumentChat: onDocumentChat && (() => onDocumentChat(doc.external_id)),
30863
- onRename: () => params.api.startEditingCell({ rowIndex: params.node.rowIndex ?? 0, colKey: "title" }),
30864
- onDownload: () => onDownloadDocument?.(doc),
30865
- onMove: () => onMoveDocument?.(doc.external_id),
30866
- onDelete: () => onDeleteDocument?.(doc.external_id)
30867
- }
30868
- );
30869
- };
30870
- const sharedCellRenderer = (params) => {
30871
- if (!params.data) return null;
30872
- const isOwner = isRowEditableByOwner(params);
30873
- return /* @__PURE__ */ jsxRuntime.jsx(
30874
- chunkERVXJW7P_cjs.DocumentSharedCell,
30875
- {
30876
- document: params.data,
30877
- disabled: !isOwner,
30878
- disabledTooltip: "Only the owner can change visibility",
30879
- onToggle: onToggleShared
30880
- }
30881
- );
30882
- };
30883
- const statusCellRenderer = (params) => {
30884
- if (!params.data) return null;
30885
- const context = params.context;
30886
- return /* @__PURE__ */ jsxRuntime.jsx(
30887
- chunkERVXJW7P_cjs.StatusCell,
30888
- {
30889
- doc: params.data,
30890
- onStatusClick,
30891
- actions: context?.getHostActions?.()
30892
- }
30893
- );
30894
- };
31480
+ const isRowEditableByOwner = (params) => chunkERDQ4DAX_cjs.canChangeVisibility(params.data, currentUserExtId);
31481
+ const isRowEditableByMember = (params) => chunkERDQ4DAX_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
30895
31482
  const checkboxTags = availableTags.filter(browser.isLabelTag);
30896
- const tagsCellRenderer = (params) => {
30897
- if (!params.data) return null;
30898
- const context = params.context;
30899
- return /* @__PURE__ */ jsxRuntime.jsx(
30900
- chunkERVXJW7P_cjs.DocumentLabelsCell,
30901
- {
30902
- doc: params.data,
30903
- labels: checkboxTags,
30904
- createDocTag,
30905
- deleteDocTag,
30906
- createTag,
30907
- isMember,
30908
- rowHeight: params.node.rowHeight ?? 52,
30909
- actions: context?.getHostActions?.()
30910
- }
30911
- );
30912
- };
30913
- const relatedDocsCellRenderer = (params) => {
30914
- if (!params.data) return null;
30915
- const context = params.context;
30916
- const related = context?.getRelatedDocs?.().get(params.data.external_id);
30917
- if (!related || react.getRelatedTotal(related) === 0) return null;
30918
- return /* @__PURE__ */ jsxRuntime.jsx(
30919
- chunkERVXJW7P_cjs.RelatedDocumentsCell,
30920
- {
30921
- currentDoc: params.data,
30922
- related,
30923
- viewingDocumentId: context?.getViewingDocumentId?.() ?? null,
30924
- onDocumentClick: handleToggleDocumentViewer,
30925
- onDelete: (doc) => onDeleteDocument?.(doc.external_id),
30926
- onCompare: context?.getHostActions?.().compareDocuments
30927
- }
30928
- );
30929
- };
30930
- const folderCellRenderer = (params) => {
30931
- if (!params.data) return null;
30932
- const context = params.context;
30933
- return /* @__PURE__ */ jsxRuntime.jsx(
30934
- chunkERVXJW7P_cjs.DocumentFolderCell,
30935
- {
30936
- document: params.data,
30937
- isEditable: isRowEditableByMember(params),
30938
- allDocuments: context?.getDocuments?.() ?? NO_DOCUMENTS2,
30939
- onUpdateFolder: context?.updateFolder ?? NO_FOLDER_UPDATE
30940
- }
30941
- );
30942
- };
30943
31483
  const allColumns = [];
30944
31484
  allColumns.push({
30945
31485
  colId: "status",
@@ -30990,7 +31530,8 @@ function createDocumentColumns({
30990
31530
  }
30991
31531
  return 0;
30992
31532
  },
30993
- cellRenderer: statusCellRenderer,
31533
+ cellRenderer: StatusCellRenderer,
31534
+ cellRendererParams: { onStatusClick },
30994
31535
  // Status is a single icon — center it horizontally (header + cell) rather
30995
31536
  // than left-aligning a lone glyph against the column edge. `cell-status`
30996
31537
  // trims the cell's vertical padding so the progress bar + label fit (and sit
@@ -31026,7 +31567,16 @@ function createDocumentColumns({
31026
31567
  cellEditorPopup: true,
31027
31568
  cellEditorParams: { rows: 5, cols: 50 },
31028
31569
  context: { icon: lucideReact.FileText },
31029
- cellRenderer: documentNameCellRenderer,
31570
+ cellRenderer: DocumentNameCellRenderer,
31571
+ cellRendererParams: {
31572
+ canEdit: isRowEditableByMember,
31573
+ onOpenDocument: handleToggleDocumentViewer,
31574
+ onReviewDocument,
31575
+ onDocumentChat,
31576
+ onDownloadDocument,
31577
+ onMoveDocument,
31578
+ onDeleteDocument
31579
+ },
31030
31580
  valueGetter: (params) => ui.getDocumentTitle(params.data, "Untitled"),
31031
31581
  valueSetter: (params) => {
31032
31582
  if (!params.data) return false;
@@ -31051,7 +31601,7 @@ function createDocumentColumns({
31051
31601
  singleClickEdit: true,
31052
31602
  cellEditor: "agSelectCellEditor",
31053
31603
  cellEditorParams: {
31054
- values: [...chunkVJTDTWNZ_cjs.DOCUMENT_TYPE_OPTIONS]
31604
+ values: [...chunkERDQ4DAX_cjs.DOCUMENT_TYPE_OPTIONS]
31055
31605
  },
31056
31606
  context: { icon: lucideReact.Sparkles },
31057
31607
  valueGetter: (params) => ui.getDocumentNature(params.data) || "",
@@ -31272,7 +31822,8 @@ function createDocumentColumns({
31272
31822
  filterParams: FILTER_PARAMS,
31273
31823
  context: { icon: lucideReact.FolderOpen },
31274
31824
  valueFormatter: (params) => ui.formatFolderLabel(params.value),
31275
- cellRenderer: folderCellRenderer,
31825
+ cellRenderer: FolderCellRenderer,
31826
+ cellRendererParams: { canEdit: isRowEditableByMember },
31276
31827
  cellClass: (params) => isRowEditableByMember(params) ? "cell-editable-member relative" : "cell-editable-readonly relative"
31277
31828
  });
31278
31829
  allColumns.push({
@@ -31337,7 +31888,11 @@ function createDocumentColumns({
31337
31888
  const paddedCount = String(meta.count).padStart(6, "0");
31338
31889
  return `${meta.tier}|${paddedCount}|${groupId}|${rank}|${doc.external_id}`;
31339
31890
  },
31340
- cellRenderer: relatedDocsCellRenderer
31891
+ cellRenderer: RelatedDocsCellRenderer,
31892
+ cellRendererParams: {
31893
+ onOpenDocument: handleToggleDocumentViewer,
31894
+ onDeleteDocument
31895
+ }
31341
31896
  });
31342
31897
  allColumns.push({
31343
31898
  colId: "shared",
@@ -31350,21 +31905,12 @@ function createDocumentColumns({
31350
31905
  valueGetter: (params) => {
31351
31906
  return params.data?.shared ?? false;
31352
31907
  },
31353
- cellRenderer: sharedCellRenderer
31908
+ cellRenderer: SharedCellRenderer,
31909
+ cellRendererParams: {
31910
+ canToggle: isRowEditableByOwner,
31911
+ onToggleShared
31912
+ }
31354
31913
  });
31355
- const createdByCellRenderer = (params) => {
31356
- if (!params.data) return null;
31357
- const context = params.context;
31358
- const creator = context?.getWorkspaceUsers?.().find((u) => u.external_id === params.data.created_by_ext_id);
31359
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
31360
- chunkERVXJW7P_cjs.UserAvatar,
31361
- {
31362
- user: creator,
31363
- isMe: !!creator && creator.external_id === context?.getCurrentUserId?.(),
31364
- onOpen: context?.getHostActions?.().openUser
31365
- }
31366
- ) });
31367
- };
31368
31914
  allColumns.push({
31369
31915
  colId: "created_by",
31370
31916
  headerName: "By",
@@ -31379,7 +31925,7 @@ function createDocumentColumns({
31379
31925
  const fullName = [creator.given_name, creator.family_name].filter(Boolean).join(" ");
31380
31926
  return fullName || creator.email || "";
31381
31927
  },
31382
- cellRenderer: createdByCellRenderer
31928
+ cellRenderer: CreatedByCellRenderer
31383
31929
  });
31384
31930
  allColumns.push({
31385
31931
  colId: "all_tags",
@@ -31401,7 +31947,14 @@ function createDocumentColumns({
31401
31947
  }).filter(Boolean);
31402
31948
  return tagNames.join(" ");
31403
31949
  },
31404
- cellRenderer: tagsCellRenderer,
31950
+ cellRenderer: LabelsCellRenderer,
31951
+ cellRendererParams: {
31952
+ labels: checkboxTags,
31953
+ createDocTag,
31954
+ deleteDocTag,
31955
+ createTag,
31956
+ isMember
31957
+ },
31405
31958
  // Add CSS class for hover icon (matches title field)
31406
31959
  cellClass: isMember ? "cell-editable-member relative !pr-0" : "cell-editable-readonly relative"
31407
31960
  });
@@ -31430,10 +31983,6 @@ function createDocumentColumns({
31430
31983
  );
31431
31984
  return [...allColumns.map(withEmptyDash), ...tagColumns];
31432
31985
  }
31433
- var NO_USERS = [];
31434
- var NO_DOCUMENTS2 = [];
31435
- var NO_FOLDER_UPDATE = () => {
31436
- };
31437
31986
  function isPhoneViewport() {
31438
31987
  return typeof window !== "undefined" && window.matchMedia?.("(max-width: 480px)")?.matches === true;
31439
31988
  }
@@ -31589,7 +32138,7 @@ function useDocumentTable({
31589
32138
  }
31590
32139
  const stabilizedTagIds = prevTagIdsRef.current;
31591
32140
  const stabilizedTagNames = prevTagNamesRef.current;
31592
- const defaultVisibleColumns = react$1.useMemo(() => [...chunkVJTDTWNZ_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
32141
+ const defaultVisibleColumns = react$1.useMemo(() => [...chunkERDQ4DAX_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
31593
32142
  const toggleShared = react$1.useCallback((docId, shared) => {
31594
32143
  updateDocRef.current.mutate({ documents: [{ external_id: docId, shared }] });
31595
32144
  }, []);
@@ -31854,10 +32403,10 @@ function ConnectedFilesBulkActions({
31854
32403
  const bulk = useDocumentBulkActions(selectedDocuments);
31855
32404
  const count2 = selectedDocuments.length;
31856
32405
  const noun = ui.getEntityLabel("DOCUMENT", count2 === 1 ? "SINGULAR" : "PLURAL");
31857
- const shareState = chunkVJTDTWNZ_cjs.shareStateOf(bulk.freshSelectedDocuments);
32406
+ const shareState = chunkERDQ4DAX_cjs.shareStateOf(bulk.freshSelectedDocuments);
31858
32407
  const handleToggleShare = async (shouldShare) => {
31859
32408
  if (shouldShare) return bulk.share();
31860
- const confirmed = await chunkVJTDTWNZ_cjs.confirmHideFromMembers(
32409
+ const confirmed = await chunkERDQ4DAX_cjs.confirmHideFromMembers(
31861
32410
  confirm,
31862
32411
  bulk.freshSelectedDocuments.length,
31863
32412
  members
@@ -31874,7 +32423,7 @@ function ConnectedFilesBulkActions({
31874
32423
  const { openDocumentsChat, openFieldsManager } = actions;
31875
32424
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
31876
32425
  /* @__PURE__ */ jsxRuntime.jsx(
31877
- chunkVJTDTWNZ_cjs.BulkActionsBar,
32426
+ chunkERDQ4DAX_cjs.BulkActionsBar,
31878
32427
  {
31879
32428
  count: count2,
31880
32429
  onClear: onClearSelection,
@@ -31900,7 +32449,7 @@ function ConnectedFilesBulkActions({
31900
32449
  onDelete: () => setConfirming("delete"),
31901
32450
  shareState,
31902
32451
  shareLabels: shareState === "shared" ? { share: "Make private" } : void 0,
31903
- shareTooltip: chunkVJTDTWNZ_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
32452
+ shareTooltip: chunkERDQ4DAX_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
31904
32453
  onToggleShare: (shouldShare) => void handleToggleShare(shouldShare)
31905
32454
  }
31906
32455
  ),
@@ -31915,7 +32464,7 @@ function ConnectedFilesBulkActions({
31915
32464
  onClearSelection();
31916
32465
  },
31917
32466
  title: `Delete ${count2} ${noun}`,
31918
- description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkVJTDTWNZ_cjs.RECENTLY_DELETED_HINT : chunkVJTDTWNZ_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
32467
+ description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT : chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
31919
32468
  confirmText: "Delete",
31920
32469
  variant: "destructive"
31921
32470
  }
@@ -32166,7 +32715,7 @@ function useAiReviewLiveUpdates() {
32166
32715
  if (message.batch_type !== "doctag_generate") return;
32167
32716
  const docIds = message.doc_ext_ids ?? [];
32168
32717
  if (!docIds.length) return;
32169
- void refreshDocuments(docIds).then(() => chunkF3IRNQIB_cjs.useAiReviewStore.getState().markFinished(docIds));
32718
+ void refreshDocuments(docIds).then(() => chunkHJBVSG6H_cjs.useAiReviewStore.getState().markFinished(docIds));
32170
32719
  const { clearTask } = react.useArbiWsStore.getState();
32171
32720
  for (const id of docIds) clearTask(id);
32172
32721
  });
@@ -32201,7 +32750,7 @@ function useBatchCompleteToasts() {
32201
32750
  timer.current = null;
32202
32751
  const runs = pending.current;
32203
32752
  pending.current = /* @__PURE__ */ new Map();
32204
- const hasReview = !!chunkF3IRNQIB_cjs.useAiReviewStore.getState().run;
32753
+ const hasReview = !!chunkHJBVSG6H_cjs.useAiReviewStore.getState().run;
32205
32754
  for (const [id, entry] of runs) {
32206
32755
  const n = entry.docIds.size;
32207
32756
  notify17(
@@ -32214,7 +32763,7 @@ function useBatchCompleteToasts() {
32214
32763
  ...hasReview && {
32215
32764
  action: {
32216
32765
  label: "View results",
32217
- onClick: () => chunkF3IRNQIB_cjs.useAiReviewStore.getState().setOpen(true)
32766
+ onClick: () => chunkHJBVSG6H_cjs.useAiReviewStore.getState().setOpen(true)
32218
32767
  }
32219
32768
  }
32220
32769
  }
@@ -32222,7 +32771,7 @@ function useBatchCompleteToasts() {
32222
32771
  }
32223
32772
  }, AI_FIELDS_NOTICE_WINDOW_MS);
32224
32773
  } else if (message.batch_type === "entity_extract") {
32225
- say(`${chunkYOCKX2OP_cjs.entitiesPhrase()} extracted from ${chunkYOCKX2OP_cjs.documentCount(docIds.length)}`, "success", {
32774
+ say(`${chunk4VSRSF4Q_cjs.entitiesPhrase()} extracted from ${chunk4VSRSF4Q_cjs.documentCount(docIds.length)}`, "success", {
32226
32775
  ...openTags && { action: { label: "View", onClick: openTags } }
32227
32776
  });
32228
32777
  } else if (message.batch_type === "upload") {
@@ -32261,12 +32810,12 @@ function ConnectedMoveToFolder({
32261
32810
  setIsSubmitting(true);
32262
32811
  try {
32263
32812
  if (folderToMove) {
32264
- const docsInFolder = chunkVJTDTWNZ_cjs.collectFolderDocs(allDocs, folderToMove.path);
32813
+ const docsInFolder = chunkERDQ4DAX_cjs.collectFolderDocs(allDocs, folderToMove.path);
32265
32814
  if (docsInFolder.length === 0) {
32266
32815
  onClose();
32267
32816
  return;
32268
32817
  }
32269
- const newPrefixSegments = targetFolder ? [...chunkVJTDTWNZ_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
32818
+ const newPrefixSegments = targetFolder ? [...chunkERDQ4DAX_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
32270
32819
  await renameFolder(docsInFolder, folderToMove.path, newPrefixSegments);
32271
32820
  const dest = targetFolder ? `"${targetFolder}/${folderToMove.name}"` : `"${folderToMove.name}" (root)`;
32272
32821
  notify17(`Moved folder to ${dest}`, "success");
@@ -32291,9 +32840,9 @@ function ConnectedMoveToFolder({
32291
32840
  }
32292
32841
  };
32293
32842
  const isFolderMode = !!folderToMove;
32294
- const folders = chunkERVXJW7P_cjs.useDocumentFolders(allDocs, targetFolder);
32843
+ const folders = chunkJ24LYNTY_cjs.useDocumentFolders(allDocs, targetFolder);
32295
32844
  return /* @__PURE__ */ jsxRuntime.jsx(
32296
- chunkVJTDTWNZ_cjs.MoveToFolderDialog,
32845
+ chunkERDQ4DAX_cjs.MoveToFolderDialog,
32297
32846
  {
32298
32847
  open: isOpen,
32299
32848
  onClose,
@@ -32303,7 +32852,7 @@ function ConnectedMoveToFolder({
32303
32852
  isSubmitting,
32304
32853
  onConfirm: handleMove,
32305
32854
  children: /* @__PURE__ */ jsxRuntime.jsx(
32306
- chunkVJTDTWNZ_cjs.FolderCommandList,
32855
+ chunkERDQ4DAX_cjs.FolderCommandList,
32307
32856
  {
32308
32857
  folders,
32309
32858
  value: targetFolder,
@@ -32531,7 +33080,7 @@ function ConnectedBulkTagEditor({
32531
33080
  const isClearing = change?.action === "remove";
32532
33081
  return {
32533
33082
  id: tag.external_id,
32534
- badge: /* @__PURE__ */ jsxRuntime.jsx(chunk65MSYISI_cjs.ConnectedTagEntity, { tag, size: "md" }),
33083
+ badge: /* @__PURE__ */ jsxRuntime.jsx(chunkVD33HXFZ_cjs.ConnectedTagEntity, { tag, size: "md" }),
32535
33084
  type: tag.tag_type.type,
32536
33085
  color: ui.getEntityColor(tag.external_id, "medium"),
32537
33086
  options: tag.tag_type.type === "select" ? tag.tag_type.options : void 0,
@@ -32563,7 +33112,7 @@ function ConnectedBulkTagEditor({
32563
33112
  const documentsLabel = ui.getEntityLabel("DOCUMENT", "PLURAL").toLowerCase();
32564
33113
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
32565
33114
  /* @__PURE__ */ jsxRuntime.jsx(
32566
- chunkVJTDTWNZ_cjs.BulkTagEditorDialog,
33115
+ chunkERDQ4DAX_cjs.BulkTagEditorDialog,
32567
33116
  {
32568
33117
  open,
32569
33118
  onClose,
@@ -32621,7 +33170,7 @@ function ConnectedBulkTagEditor({
32621
33170
  }
32622
33171
  ),
32623
33172
  /* @__PURE__ */ jsxRuntime.jsx(
32624
- chunkVJTDTWNZ_cjs.BulkReplaceDialog,
33173
+ chunkERDQ4DAX_cjs.BulkReplaceDialog,
32625
33174
  {
32626
33175
  open: showGenerateConfirmation,
32627
33176
  onClose: () => setShowGenerateConfirmation(false),
@@ -32736,7 +33285,7 @@ function ViewSelector({
32736
33285
  columns: defaultColumns,
32737
33286
  icon: lucideReact.Table,
32738
33287
  // Both built-ins load at the minimal (compact) row height.
32739
- rowHeight: chunkVJTDTWNZ_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
33288
+ rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
32740
33289
  // [] = loading this view unpins everything.
32741
33290
  pinnedLeft: []
32742
33291
  },
@@ -32747,15 +33296,15 @@ function ViewSelector({
32747
33296
  // batch-select checkbox and Title stay fixed left while scrolling.
32748
33297
  columns: defaultColumns,
32749
33298
  icon: lucideReact.Columns3,
32750
- rowHeight: chunkVJTDTWNZ_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
33299
+ rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
32751
33300
  pinnedLeft: DOCUMENT_VIEW_PINNED
32752
33301
  },
32753
33302
  {
32754
33303
  key: "email-default",
32755
33304
  label: "Email view",
32756
- columns: [...chunkVJTDTWNZ_cjs.EMAIL_VIEW_COLUMNS],
33305
+ columns: [...chunkERDQ4DAX_cjs.EMAIL_VIEW_COLUMNS],
32757
33306
  icon: lucideReact.Mail,
32758
- rowHeight: chunkVJTDTWNZ_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
33307
+ rowHeight: chunkERDQ4DAX_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
32759
33308
  pinnedLeft: []
32760
33309
  }
32761
33310
  ],
@@ -32779,7 +33328,7 @@ function ViewSelector({
32779
33328
  },
32780
33329
  [confirm, workspaceId, deleteView, notify17]
32781
33330
  );
32782
- const menu = chunkVJTDTWNZ_cjs.useGridViews({
33331
+ const menu = chunkERDQ4DAX_cjs.useGridViews({
32783
33332
  getGridApi,
32784
33333
  defaultColumns,
32785
33334
  builtins,
@@ -32794,7 +33343,7 @@ function ViewSelector({
32794
33343
  onDeleteView,
32795
33344
  isSaving
32796
33345
  });
32797
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ViewSelectorMenu, { ...menu });
33346
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ViewSelectorMenu, { ...menu });
32798
33347
  }
32799
33348
  function DocumentsFilterBarActions({
32800
33349
  isModal,
@@ -32834,7 +33383,7 @@ function DocumentsFilterBarActions({
32834
33383
  ),
32835
33384
  documentsViewMode === "grid" && // The phone list is a fixed two-line layout, so row density only applies from sm up.
32836
33385
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
32837
- chunkVJTDTWNZ_cjs.RowDensityControl,
33386
+ chunkERDQ4DAX_cjs.RowDensityControl,
32838
33387
  {
32839
33388
  rowHeight: documentsRowHeight,
32840
33389
  onRowHeightChange: onDocumentsRowHeightChange
@@ -32942,8 +33491,8 @@ function DocumentsFilterBarActions({
32942
33491
  }
32943
33492
  function PersistedGridView(props) {
32944
33493
  const { persistState, gridId } = props;
32945
- const setGridState = chunkF3IRNQIB_cjs.useFilesGridStates((state) => state.setGridState);
32946
- const gridState = persistState && gridId ? chunkF3IRNQIB_cjs.useFilesGridStates.getState().gridStates[gridId] : void 0;
33494
+ const setGridState = chunkHJBVSG6H_cjs.useFilesGridStates((state) => state.setGridState);
33495
+ const gridState = persistState && gridId ? chunkHJBVSG6H_cjs.useFilesGridStates.getState().gridStates[gridId] : void 0;
32947
33496
  const onGridStateChange = react$1.useCallback(
32948
33497
  (state) => {
32949
33498
  if (persistState && gridId) setGridState(gridId, state);
@@ -33045,13 +33594,13 @@ var TABLET_TABLE_BELOW = 860;
33045
33594
  var TABLET_VIEWPORT_BELOW = 1100;
33046
33595
  var NO_CONVERSATION_DOCUMENTS2 = [];
33047
33596
  var DocumentReviewCard = react$1.lazy(
33048
- () => import('../DocumentReviewCard-CJ5VQM45.cjs').then((module) => ({ default: module.DocumentReviewCard }))
33597
+ () => import('../DocumentReviewCard-7VJ3MMYG.cjs').then((module) => ({ default: module.DocumentReviewCard }))
33049
33598
  );
33050
33599
  var FilesViewerDialog = react$1.lazy(
33051
- () => import('../FilesViewerDialog-AFIM2SCB.cjs').then((module) => ({ default: module.FilesViewerDialog }))
33600
+ () => import('../FilesViewerDialog-IQ5UDAZX.cjs').then((module) => ({ default: module.FilesViewerDialog }))
33052
33601
  );
33053
33602
  function defaultReviewCard(props) {
33054
- return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
33603
+ return /* @__PURE__ */ jsxRuntime.jsx(react$1.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, { message: "Loading document viewer..." }), children: /* @__PURE__ */ jsxRuntime.jsx(DocumentReviewCard, { ...props }, `navigator-${props.currentDocument.external_id}`) });
33055
33604
  }
33056
33605
  function ConnectedFilesPage({
33057
33606
  isModal = false,
@@ -33073,7 +33622,7 @@ function ConnectedFilesPage({
33073
33622
  GridComponent = PersistedGridView,
33074
33623
  gridStateVersion,
33075
33624
  onGridApi,
33076
- prefsKey = chunkF3IRNQIB_cjs.FILES_PREFS_KEY,
33625
+ prefsKey = chunkHJBVSG6H_cjs.FILES_PREFS_KEY,
33077
33626
  defaultViewMode
33078
33627
  }) {
33079
33628
  const { openDocument, openDialog: openDialog2, openProcessing, openTags } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
@@ -33119,8 +33668,8 @@ function ConnectedFilesPage({
33119
33668
  const inConversationDocuments = react.useArbiSessionState(
33120
33669
  (s) => s.conversationDocuments[s.conversationId ?? "new"] ?? NO_CONVERSATION_DOCUMENTS2
33121
33670
  );
33122
- const viewMode = chunkF3IRNQIB_cjs.useFilesPrefs((s) => chunkF3IRNQIB_cjs.filesViewMode(s, prefsKey, defaultViewMode));
33123
- const setPrefsViewMode = chunkF3IRNQIB_cjs.useFilesPrefs((s) => s.setViewMode);
33671
+ const viewMode = chunkHJBVSG6H_cjs.useFilesPrefs((s) => chunkHJBVSG6H_cjs.filesViewMode(s, prefsKey, defaultViewMode));
33672
+ const setPrefsViewMode = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.setViewMode);
33124
33673
  const setViewMode = react$1.useCallback(
33125
33674
  (mode) => setPrefsViewMode(mode, prefsKey),
33126
33675
  [setPrefsViewMode, prefsKey]
@@ -33150,7 +33699,7 @@ function ConnectedFilesPage({
33150
33699
  shownPlaceRef.current = null;
33151
33700
  if (session.getState().documentViewer.compareId)
33152
33701
  session.setDocumentViewer({ compareId: null });
33153
- if (chunkF3IRNQIB_cjs.filesViewMode(chunkF3IRNQIB_cjs.useFilesPrefs.getState(), prefsKey, defaultViewMode) !== "navigator")
33702
+ if (chunkHJBVSG6H_cjs.filesViewMode(chunkHJBVSG6H_cjs.useFilesPrefs.getState(), prefsKey, defaultViewMode) !== "navigator")
33154
33703
  session.setViewingDocument(null);
33155
33704
  if (!fromLink) latest.current.onDocumentChange?.(null);
33156
33705
  },
@@ -33178,6 +33727,7 @@ function ConnectedFilesPage({
33178
33727
  if (ownsViewer && dialog && !viewingDocumentRef) {
33179
33728
  setDialog(null);
33180
33729
  shownPlaceRef.current = null;
33730
+ latest.current.onDocumentChange?.(null);
33181
33731
  }
33182
33732
  }, [ownsViewer, dialog, viewingDocumentRef]);
33183
33733
  const viewingDraft = react.useArbiSessionState(
@@ -33185,6 +33735,23 @@ function ConnectedFilesPage({
33185
33735
  );
33186
33736
  const compareId = react.useArbiSessionState((s) => s.documentViewer.compareId ?? null);
33187
33737
  const wholeViewerKey = !ownsViewer || !viewingDocumentRef ? null : viewingDraft ? `draft|${viewingDocumentRef}` : compareId ? `compare|${viewingDocumentRef}|${compareId}` : null;
33738
+ const lastCompareRef = react$1.useRef({ documentRef: viewingDocumentRef, compareId });
33739
+ react$1.useEffect(() => {
33740
+ const previous = lastCompareRef.current;
33741
+ lastCompareRef.current = { documentRef: viewingDocumentRef, compareId };
33742
+ if (!ownsViewer || previous.documentRef === viewingDocumentRef || !previous.compareId) return;
33743
+ if (session.getState().documentViewer.compareId === previous.compareId)
33744
+ session.setDocumentViewer({ compareId: null });
33745
+ }, [ownsViewer, viewingDocumentRef, compareId, session]);
33746
+ const ownsViewerRef = react$1.useRef(ownsViewer);
33747
+ ownsViewerRef.current = ownsViewer;
33748
+ react$1.useEffect(
33749
+ () => () => {
33750
+ if (ownsViewerRef.current && session.getState().documentViewer.compareId)
33751
+ session.setDocumentViewer({ compareId: null });
33752
+ },
33753
+ [session]
33754
+ );
33188
33755
  const wholeViewerKeyRef = react$1.useRef(null);
33189
33756
  react$1.useEffect(() => {
33190
33757
  const previous = wholeViewerKeyRef.current;
@@ -33221,9 +33788,9 @@ function ConnectedFilesPage({
33221
33788
  else if (linkedPlaceKey !== shownPlaceRef.current) showInDialog(place, true);
33222
33789
  } else if (previous && ownsViewer && shownPlaceRef.current) closeDialog2(true);
33223
33790
  }, [linkedPlaceKey]);
33224
- const rowHeight = chunkF3IRNQIB_cjs.useFilesPrefs((s) => s.rowHeight);
33225
- const setRowHeight = chunkF3IRNQIB_cjs.useFilesPrefs((s) => s.setRowHeight);
33226
- const ownGridStates = chunkF3IRNQIB_cjs.useFilesGridStates((s) => s.gridStates);
33791
+ const rowHeight = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.rowHeight);
33792
+ const setRowHeight = chunkHJBVSG6H_cjs.useFilesPrefs((s) => s.setRowHeight);
33793
+ const ownGridStates = chunkHJBVSG6H_cjs.useFilesGridStates((s) => s.gridStates);
33227
33794
  const stateVersion = gridStateVersion ?? ownGridStates;
33228
33795
  const [pageEl, setPageEl] = react$1.useState(null);
33229
33796
  const [isTabletWidth, setIsTabletWidth] = react$1.useState(false);
@@ -33253,15 +33820,15 @@ function ConnectedFilesPage({
33253
33820
  const [explorerSortReversed, setExplorerSortReversed] = react$1.useState(false);
33254
33821
  const [explorerTileSize, setExplorerTileSize] = react$1.useState(TILE_DEFAULT);
33255
33822
  const [urlDialogOpen, setUrlDialogOpen] = react$1.useState(false);
33256
- const move = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.move);
33257
- const openMove = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.openMove);
33258
- const closeMove = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.closeMove);
33259
- const bulkTagsOpen = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.bulkTagsOpen);
33260
- const setBulkTagsOpen = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.setBulkTagsOpen);
33261
- const deleteRequest = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.deleteRequest);
33262
- const requestDelete = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.requestDelete);
33263
- const exportOpen = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.exportOpen);
33264
- const setExportOpen = chunkF3IRNQIB_cjs.useFilesDialogs((s) => s.setExportOpen);
33823
+ const move = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.move);
33824
+ const openMove = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.openMove);
33825
+ const closeMove = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.closeMove);
33826
+ const bulkTagsOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.bulkTagsOpen);
33827
+ const setBulkTagsOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.setBulkTagsOpen);
33828
+ const deleteRequest = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.deleteRequest);
33829
+ const requestDelete = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.requestDelete);
33830
+ const exportOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.exportOpen);
33831
+ const setExportOpen = chunkHJBVSG6H_cjs.useFilesDialogs((s) => s.setExportOpen);
33265
33832
  const openOwnExport = react$1.useCallback(() => setExportOpen(true), [setExportOpen]);
33266
33833
  const exportItems = react$1.useMemo(
33267
33834
  () => selectedDocuments.map((doc) => ({
@@ -33304,17 +33871,17 @@ function ConnectedFilesPage({
33304
33871
  const relatedDocsMap = useFilesPageSession(documents, workspaceId);
33305
33872
  const defaultVisibleColumns = react$1.useMemo(
33306
33873
  () => [
33307
- ...chunkVJTDTWNZ_cjs.DEFAULT_DOCUMENT_COLUMNS,
33874
+ ...chunkERDQ4DAX_cjs.DEFAULT_DOCUMENT_COLUMNS,
33308
33875
  ...allTags.filter(browser.isAnnotationTag).map((tag) => tag.external_id)
33309
33876
  ],
33310
33877
  [allTags]
33311
33878
  );
33312
33879
  const handleReorderColumns = react$1.useCallback((ids, gridApi2) => {
33313
- if (gridApi2) chunkVJTDTWNZ_cjs.applyColumnLayout(gridApi2, ids);
33880
+ if (gridApi2) chunkERDQ4DAX_cjs.applyColumnLayout(gridApi2, ids);
33314
33881
  }, []);
33315
33882
  const handleLoadView = react$1.useCallback(
33316
33883
  (view, gridApi2) => {
33317
- chunkVJTDTWNZ_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
33884
+ chunkERDQ4DAX_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
33318
33885
  if (typeof view.tile_size === "number") setExplorerTileSize(view.tile_size);
33319
33886
  if (typeof view.row_height === "number") setRowHeight(view.row_height);
33320
33887
  },
@@ -33407,7 +33974,7 @@ function ConnectedFilesPage({
33407
33974
  );
33408
33975
  const currentDocument = viewingDocumentId ? filteredDocuments.find((d) => d.external_id === viewingDocumentId) ?? documents.find((d) => d.external_id === viewingDocumentId) ?? null : null;
33409
33976
  const navigatorDocuments = react$1.useMemo(
33410
- () => chunkVJTDTWNZ_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
33977
+ () => chunkERDQ4DAX_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
33411
33978
  [filteredDocuments, explorerSort, explorerSortReversed]
33412
33979
  );
33413
33980
  const navigatorOnNavigate = react$1.useCallback(
@@ -33477,7 +34044,7 @@ function ConnectedFilesPage({
33477
34044
  },
33478
34045
  rowHeight
33479
34046
  };
33480
- const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesFilterBar, { children: [
34047
+ const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesFilterBar, { children: [
33481
34048
  /* @__PURE__ */ jsxRuntime.jsx(
33482
34049
  chunk6UZC4XVV_cjs.FilterInput,
33483
34050
  {
@@ -33512,7 +34079,7 @@ function ConnectedFilesPage({
33512
34079
  ),
33513
34080
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
33514
34081
  /* @__PURE__ */ jsxRuntime.jsx(
33515
- chunkVJTDTWNZ_cjs.DocumentsFolderButton,
34082
+ chunkERDQ4DAX_cjs.DocumentsFolderButton,
33516
34083
  {
33517
34084
  documents,
33518
34085
  documentFilters,
@@ -33520,7 +34087,7 @@ function ConnectedFilesPage({
33520
34087
  onNewFolder: canUpload ? handleNewFolder : void 0
33521
34088
  }
33522
34089
  ),
33523
- openTags && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilesTagsButton, { onClick: openTags }),
34090
+ openTags && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesTagsButton, { onClick: openTags }),
33524
34091
  workspaceId && /* @__PURE__ */ jsxRuntime.jsx(ConnectedRecentlyDeletedButton, { workspaceExtId: workspaceId })
33525
34092
  ] })
33526
34093
  ] });
@@ -33543,9 +34110,9 @@ function ConnectedFilesPage({
33543
34110
  );
33544
34111
  const reviewGridId = isModal ? "documents-modal-grid-v6" : "documents-main-grid-v6";
33545
34112
  const showBulkBar = (viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator") && documents.length > 0;
33546
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesPage, { isModal, ref: setPageEl, children: [
34113
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPage, { isModal, ref: setPageEl, children: [
33547
34114
  /* @__PURE__ */ jsxRuntime.jsx(
33548
- chunkVJTDTWNZ_cjs.UrlInputDialog,
34115
+ chunkERDQ4DAX_cjs.UrlInputDialog,
33549
34116
  {
33550
34117
  open: urlDialogOpen,
33551
34118
  onOpenChange: setUrlDialogOpen,
@@ -33554,7 +34121,7 @@ function ConnectedFilesPage({
33554
34121
  titleIcon: workspace && /* @__PURE__ */ jsxRuntime.jsx(ConnectedWorkspaceEntity, { workspace, size: 24, variant: "icon" })
33555
34122
  }
33556
34123
  ),
33557
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesPageHeader, { children: [
34124
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPageHeader, { children: [
33558
34125
  /* @__PURE__ */ jsxRuntime.jsx(
33559
34126
  chunkSJSGSHIT_cjs.TabHeader,
33560
34127
  {
@@ -33575,7 +34142,7 @@ function ConnectedFilesPage({
33575
34142
  activeTabId: "documents",
33576
34143
  onTabChange: () => handleViewModeChange(lastDocsViewRef.current),
33577
34144
  firstTabContent: isNarrowFilterRow ? null : documentsTabActions,
33578
- centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
34145
+ centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
33579
34146
  !isNarrowFilterRow && viewToggle,
33580
34147
  /* @__PURE__ */ jsxRuntime.jsx(ProgressiveLoadingChip, {})
33581
34148
  ] }),
@@ -33605,14 +34172,14 @@ function ConnectedFilesPage({
33605
34172
  }
33606
34173
  ),
33607
34174
  /* @__PURE__ */ jsxRuntime.jsx(
33608
- chunkVJTDTWNZ_cjs.FilesToolbar,
34175
+ chunkERDQ4DAX_cjs.FilesToolbar,
33609
34176
  {
33610
34177
  className: "px-3 pb-2",
33611
34178
  rightActions: viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33612
34179
  viewMode === "grid" ? (
33613
34180
  // ‹ n / N › over the table's displayed rows; a step opens the document.
33614
34181
  /* @__PURE__ */ jsxRuntime.jsx(
33615
- chunkYOCKX2OP_cjs.GridRowNavigator,
34182
+ chunk4VSRSF4Q_cjs.GridRowNavigator,
33616
34183
  {
33617
34184
  gridApi,
33618
34185
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -33627,7 +34194,7 @@ function ConnectedFilesPage({
33627
34194
  ) : viewMode === "explorer" ? (
33628
34195
  // The same over the explorer's tiles.
33629
34196
  /* @__PURE__ */ jsxRuntime.jsx(
33630
- chunkVJTDTWNZ_cjs.ExplorerFileNavigator,
34197
+ chunkERDQ4DAX_cjs.ExplorerFileNavigator,
33631
34198
  {
33632
34199
  fileIds: explorerFileIds,
33633
34200
  selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
@@ -33666,7 +34233,7 @@ function ConnectedFilesPage({
33666
34233
  }
33667
34234
  ),
33668
34235
  viewMode === "navigator" && currentDocument && /* @__PURE__ */ jsxRuntime.jsx(
33669
- chunkVJTDTWNZ_cjs.NavigatorPickerBar,
34236
+ chunkERDQ4DAX_cjs.NavigatorPickerBar,
33670
34237
  {
33671
34238
  currentDocument,
33672
34239
  documents: navigatorDocuments,
@@ -33693,11 +34260,11 @@ function ConnectedFilesPage({
33693
34260
  }
33694
34261
  }
33695
34262
  ) }),
33696
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVJTDTWNZ_cjs.FilesPageMain, { children: [
34263
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkERDQ4DAX_cjs.FilesPageMain, { children: [
33697
34264
  viewMode === "grid" && /* @__PURE__ */ jsxRuntime.jsx(
33698
- chunkVJTDTWNZ_cjs.DocumentGrid,
34265
+ chunkERDQ4DAX_cjs.DocumentGrid,
33699
34266
  {
33700
- layout: chunkVJTDTWNZ_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
34267
+ layout: chunkERDQ4DAX_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
33701
34268
  presets: gridPresets,
33702
34269
  GridComponent,
33703
34270
  showEmptyWorkspace: documents.length === 0 && !isLoading && isMember,
@@ -33791,7 +34358,7 @@ function ConnectedFilesPage({
33791
34358
  onProduce: () => openDialog2("productionSet")
33792
34359
  }
33793
34360
  ),
33794
- isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
34361
+ isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
33795
34362
  /* @__PURE__ */ jsxRuntime.jsx(
33796
34363
  chunkJDFBEGQO_cjs.ConfirmDialog,
33797
34364
  {
@@ -33802,7 +34369,7 @@ function ConnectedFilesPage({
33802
34369
  requestDelete(null);
33803
34370
  },
33804
34371
  title: "Delete Document",
33805
- description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkVJTDTWNZ_cjs.RECENTLY_DELETED_HINT}` : "",
34372
+ description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkERDQ4DAX_cjs.RECENTLY_DELETED_HINT}` : "",
33806
34373
  confirmText: "Delete",
33807
34374
  variant: "destructive"
33808
34375
  }
@@ -33878,8 +34445,8 @@ function ConnectedFilesPage({
33878
34445
  }
33879
34446
  var NO_DOCUMENTS3 = [];
33880
34447
  function ConnectedAiReviewHost(props) {
33881
- const open = chunkF3IRNQIB_cjs.useAiReviewStore((s) => s.open);
33882
- const setOpen = chunkF3IRNQIB_cjs.useAiReviewStore((s) => s.setOpen);
34448
+ const open = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.open);
34449
+ const setOpen = chunkHJBVSG6H_cjs.useAiReviewStore((s) => s.setOpen);
33883
34450
  return /* @__PURE__ */ jsxRuntime.jsx(ConnectedAiReview, { open, onOpenChange: setOpen, ...props });
33884
34451
  }
33885
34452
  function ConnectedGridView(props) {
@@ -33915,7 +34482,7 @@ function ProcessingSection({
33915
34482
  tasks,
33916
34483
  onDelete
33917
34484
  }) {
33918
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
34485
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.TaskSection, { title, count: count2, status, tooltip: SECTION_TOOLTIPS[status], children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.UploadTaskList, { tasks, title: "", onDelete, renderFileIcon: renderFileIcon2 }) });
33919
34486
  }
33920
34487
  function ConnectedDocumentProcessingPanel({
33921
34488
  workspaceId,
@@ -34271,7 +34838,7 @@ var MENU_LABELS = {
34271
34838
  };
34272
34839
  function applyDatabaseColumns(columns, api) {
34273
34840
  const kept = (id) => api.getColumn(id) ? [id] : [];
34274
- chunkVJTDTWNZ_cjs.applyColumnLayout(api, [...kept(chunkIK4MSXXR_cjs.OPEN_ROW_COL_ID), ...columns, ...kept(chunkIK4MSXXR_cjs.ADD_COLUMN_COL_ID)]);
34841
+ chunkERDQ4DAX_cjs.applyColumnLayout(api, [...kept(chunkIK4MSXXR_cjs.OPEN_ROW_COL_ID), ...columns, ...kept(chunkIK4MSXXR_cjs.ADD_COLUMN_COL_ID)]);
34275
34842
  }
34276
34843
  function DatabaseViewsMenu({
34277
34844
  databaseId,
@@ -34290,7 +34857,7 @@ function DatabaseViewsMenu({
34290
34857
  [defaultColumns]
34291
34858
  );
34292
34859
  const onLoadView = react$1.useCallback(
34293
- (view, api) => chunkVJTDTWNZ_cjs.applyViewColumns(api, view, applyDatabaseColumns),
34860
+ (view, api) => chunkERDQ4DAX_cjs.applyViewColumns(api, view, applyDatabaseColumns),
34294
34861
  []
34295
34862
  );
34296
34863
  const onSaveView = react$1.useCallback(
@@ -34310,7 +34877,7 @@ function DatabaseViewsMenu({
34310
34877
  },
34311
34878
  [confirm, deleteView, notify17]
34312
34879
  );
34313
- const menu = chunkVJTDTWNZ_cjs.useGridViews({
34880
+ const menu = chunkERDQ4DAX_cjs.useGridViews({
34314
34881
  getGridApi,
34315
34882
  defaultColumns,
34316
34883
  builtins,
@@ -34323,7 +34890,7 @@ function DatabaseViewsMenu({
34323
34890
  onDeleteView,
34324
34891
  isSaving
34325
34892
  });
34326
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.ViewSelectorMenu, { ...menu, labels: MENU_LABELS });
34893
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.ViewSelectorMenu, { ...menu, labels: MENU_LABELS });
34327
34894
  }
34328
34895
  function useMoveLocalViews(gridId, ready, importViews) {
34329
34896
  const localViews = react.useArbiSessionState((state) => state.grid.savedViews[gridId]);
@@ -37039,7 +37606,7 @@ function resolveLaunchInputs(workflow, request) {
37039
37606
  function useWorkflowLaunch() {
37040
37607
  const { skills } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
37041
37608
  const launch = react$1.useCallback(
37042
- (workflowId, options2 = {}) => chunk5HPLUT4M_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
37609
+ (workflowId, options2 = {}) => chunkKBXATCF4_cjs.openWorkflowLaunch({ workflowId, ...options2 }),
37043
37610
  []
37044
37611
  );
37045
37612
  const itemsFor = react$1.useCallback(
@@ -37068,8 +37635,8 @@ function useWorkflowLaunch() {
37068
37635
  return { launch, itemsFor, scopeItemsFor };
37069
37636
  }
37070
37637
  function Inner() {
37071
- const request = chunk5HPLUT4M_cjs.useWorkflowLaunchRequest();
37072
- const close = chunk5HPLUT4M_cjs.closeWorkflowLaunch;
37638
+ const request = chunkKBXATCF4_cjs.useWorkflowLaunchRequest();
37639
+ const close = chunkKBXATCF4_cjs.closeWorkflowLaunch;
37073
37640
  const { skills } = chunkPZYPWY7G_cjs.useWorkflowDefinitions();
37074
37641
  const run = chunkIU3SXE62_cjs.useLaunchWorkflow({ landing: request?.landing });
37075
37642
  const workflow = skills.find((w) => w.id === request?.workflowId);
@@ -37107,7 +37674,7 @@ function Inner() {
37107
37674
  );
37108
37675
  }
37109
37676
  function WorkflowLaunchHost() {
37110
- return chunk5HPLUT4M_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
37677
+ return chunkKBXATCF4_cjs.useWorkflowLaunchRequest() ? /* @__PURE__ */ jsxRuntime.jsx(Inner, {}) : null;
37111
37678
  }
37112
37679
  function isNeedsConfirmationDetail(detail) {
37113
37680
  return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
@@ -37419,7 +37986,7 @@ function ConnectedConversationSettings() {
37419
37986
  /* @__PURE__ */ jsxRuntime.jsx(
37420
37987
  chunkMMSHLHTA_cjs.ModelSelectionSection,
37421
37988
  {
37422
- selector: /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedModelSelector, {}),
37989
+ selector: /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, {}),
37423
37990
  onUseDefaults: settings.resetToDefaults
37424
37991
  }
37425
37992
  )
@@ -37478,7 +38045,7 @@ var BUILTIN_GLOBAL_DIALOGS = {
37478
38045
  testId: "workspace-transfer-modal"
37479
38046
  }
37480
38047
  ),
37481
- logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedLogoutDialog, { open: props !== null, onClose }),
38048
+ logout: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedLogoutDialog, { open: props !== null, onClose }),
37482
38049
  conversationSettings: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedConversationSettingsDialog, { open: props !== null, onClose }),
37483
38050
  unarchiveWorkspace: ({ props, onClose }) => /* @__PURE__ */ jsxRuntime.jsx(ConnectedUnarchiveWorkspaceDialog, { workspaceId: props?.workspaceId ?? null, onClose }),
37484
38051
  productionSet: ConnectedProductionSetDialog,
@@ -37555,7 +38122,7 @@ function WorkflowRunStatusCell({ conversation }) {
37555
38122
  return person ? ui.getUserDisplayName(person) : void 0;
37556
38123
  };
37557
38124
  return /* @__PURE__ */ jsxRuntime.jsx(
37558
- chunk5HPLUT4M_cjs.WorkflowRunStatus,
38125
+ chunkKBXATCF4_cjs.WorkflowRunStatus,
37559
38126
  {
37560
38127
  steps,
37561
38128
  states,
@@ -37589,7 +38156,7 @@ function ConversationStatusCell({ conversation }) {
37589
38156
  if (conversation.plan?.steps?.length && !isLiveGenerating)
37590
38157
  return /* @__PURE__ */ jsxRuntime.jsx(WorkflowRunStatusCell, { conversation });
37591
38158
  return /* @__PURE__ */ jsxRuntime.jsx(
37592
- chunk5HPLUT4M_cjs.ThreadStatusLine,
38159
+ chunkKBXATCF4_cjs.ThreadStatusLine,
37593
38160
  {
37594
38161
  state: threadStateOf(conversation, isLiveGenerating),
37595
38162
  className: "h-full",
@@ -37839,7 +38406,7 @@ function useThreadLabels(canEditShared) {
37839
38406
  if (failed)
37840
38407
  notify17(`Could not update labels on ${failed} thread${failed === 1 ? "" : "s"}.`, "error");
37841
38408
  };
37842
- const create2 = async (rows, name) => {
38409
+ const create3 = async (rows, name) => {
37843
38410
  if (!canEdit(rows) || !name.trim()) return;
37844
38411
  try {
37845
38412
  const existing = labels.find((tag) => tag.name.toLowerCase() === name.trim().toLowerCase());
@@ -37856,12 +38423,12 @@ function useThreadLabels(canEditShared) {
37856
38423
  return {
37857
38424
  labelText: (row2) => labels.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
37858
38425
  renderLabels: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
37859
- chunkVJTDTWNZ_cjs.LabelMultiSelectView,
38426
+ chunkERDQ4DAX_cjs.LabelMultiSelectView,
37860
38427
  {
37861
38428
  options: options2,
37862
38429
  appliedIds: new Set(row2.label_ext_ids ?? []),
37863
38430
  onToggle: (id) => void apply([row2], id, Boolean(row2.label_ext_ids?.includes(id))),
37864
- onCreate: (name) => void create2([row2], name),
38431
+ onCreate: (name) => void create3([row2], name),
37865
38432
  rowHeight: 40
37866
38433
  }
37867
38434
  ),
@@ -37875,7 +38442,7 @@ function useThreadLabels(canEditShared) {
37875
38442
  ).map((label) => label.id)
37876
38443
  );
37877
38444
  return /* @__PURE__ */ jsxRuntime.jsx(
37878
- chunkVJTDTWNZ_cjs.BulkLabelSelectView,
38445
+ chunkERDQ4DAX_cjs.BulkLabelSelectView,
37879
38446
  {
37880
38447
  options: options2,
37881
38448
  appliedIds: all,
@@ -37883,7 +38450,7 @@ function useThreadLabels(canEditShared) {
37883
38450
  disabled: !canEdit(rows) || update.isPending || createTag.isPending,
37884
38451
  isCompact,
37885
38452
  onToggle: (id) => void apply(rows, id, all.has(id)),
37886
- onCreate: (name) => void create2(rows, name)
38453
+ onCreate: (name) => void create3(rows, name)
37887
38454
  }
37888
38455
  );
37889
38456
  }
@@ -37906,7 +38473,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
37906
38473
  return /* @__PURE__ */ jsxRuntime.jsxs(chunkM2FOXGJU_cjs.ComposerDock, { children: [
37907
38474
  slashWorkflows.launcher,
37908
38475
  /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.ComposerContainer, { className: "mx-auto max-w-[49rem] px-3 sm:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
37909
- chunkSVQTUHPE_cjs.ConversationComposer,
38476
+ chunkMM5Q7AJL_cjs.ConversationComposer,
37910
38477
  {
37911
38478
  value: draft,
37912
38479
  onValueChange: setDraft,
@@ -37915,7 +38482,7 @@ function ConnectedThreadLauncher({ autoFocus }) {
37915
38482
  isConversationEmpty: true,
37916
38483
  shouldOfferFollowUp: false,
37917
38484
  skills,
37918
- modelSelector: /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedModelSelector, { variant: "compact" }),
38485
+ modelSelector: /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedModelSelector, { variant: "compact" }),
37919
38486
  rightButton: /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.ComposerSend, { onSend: send, disabled: !draft.trim() })
37920
38487
  }
37921
38488
  ) })
@@ -38046,7 +38613,7 @@ function AgentBarShell({
38046
38613
  }, [isStepsExpanded, steps]);
38047
38614
  const visibleStepCount = react$1.useMemo(() => browser.topLevelAgentSteps(steps ?? []).length, [steps]);
38048
38615
  return /* @__PURE__ */ jsxRuntime.jsx(
38049
- chunk5HPLUT4M_cjs.AgentBar,
38616
+ chunkKBXATCF4_cjs.AgentBar,
38050
38617
  {
38051
38618
  className,
38052
38619
  testId,
@@ -38058,7 +38625,7 @@ function AgentBarShell({
38058
38625
  drawerRef: scrollRef,
38059
38626
  onDrawerScroll: handleDrawerScroll,
38060
38627
  drawer: /* @__PURE__ */ jsxRuntime.jsx(
38061
- chunkSVQTUHPE_cjs.AgentSteps,
38628
+ chunkMM5Q7AJL_cjs.AgentSteps,
38062
38629
  {
38063
38630
  steps: stepList,
38064
38631
  isStreaming,
@@ -38110,7 +38677,7 @@ function AgentControlBar({
38110
38677
  const waitingOnChildren = runningLanes.length > 0 && ["sub_agent", "spawn_subagent", "deep_research", "run_skill"].includes(currentTool ?? "");
38111
38678
  const waitingLabel = runningLanes.length === 1 ? `Waiting on ${runningLanes[0].job}` : `Waiting on ${runningLanes.length} sub-agents`;
38112
38679
  const liveTimerNode = liveTimer && /* @__PURE__ */ jsxRuntime.jsx(
38113
- chunkSVQTUHPE_cjs.MessageLiveSeconds,
38680
+ chunkMM5Q7AJL_cjs.MessageLiveSeconds,
38114
38681
  {
38115
38682
  ...liveTimer,
38116
38683
  offsetSeconds: currentStep?.t ?? 0,
@@ -38119,7 +38686,7 @@ function AgentControlBar({
38119
38686
  }
38120
38687
  );
38121
38688
  const status = /* @__PURE__ */ jsxRuntime.jsx(
38122
- chunk5HPLUT4M_cjs.AgentBarStatus,
38689
+ chunkKBXATCF4_cjs.AgentBarStatus,
38123
38690
  {
38124
38691
  state: showState ? controlState : void 0,
38125
38692
  stateLabel: STATE_LABEL[controlState],
@@ -38161,7 +38728,7 @@ function AgentControlBar({
38161
38728
  ];
38162
38729
  const controls = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
38163
38730
  onStop && /* @__PURE__ */ jsxRuntime.jsx(
38164
- chunk5HPLUT4M_cjs.AgentBarIconButton,
38731
+ chunkKBXATCF4_cjs.AgentBarIconButton,
38165
38732
  {
38166
38733
  onClick: onStop,
38167
38734
  title: "Stop",
@@ -38170,22 +38737,22 @@ function AgentControlBar({
38170
38737
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "h-3 w-3", fill: "currentColor" })
38171
38738
  }
38172
38739
  ),
38173
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.AgentBarMenu, { items: menuItems })
38740
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentBarMenu, { items: menuItems })
38174
38741
  ] });
38175
38742
  const displayedQueuedMessages = (transientQueuedMessages ?? []).filter(
38176
38743
  (message) => !message.serverId || !queuedMessages.some((queued) => queued.external_id === message.serverId)
38177
38744
  );
38178
38745
  const queuedNotes = displayedQueuedMessages.filter((message) => message.content);
38179
- const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.AgentBarNotes, { children: [
38746
+ const below = probeAnswer || queuedNotes.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.AgentBarNotes, { children: [
38180
38747
  queuedNotes.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
38181
- chunk5HPLUT4M_cjs.AgentBarQueuedNote,
38748
+ chunkKBXATCF4_cjs.AgentBarQueuedNote,
38182
38749
  {
38183
38750
  text: message.content ?? "",
38184
38751
  isAcknowledged: message.acknowledged
38185
38752
  },
38186
38753
  index
38187
38754
  )),
38188
- probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
38755
+ probeAnswer && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.AgentBarProbeAnswer, { answer: probeAnswer.answer })
38189
38756
  ] }) : null;
38190
38757
  return /* @__PURE__ */ jsxRuntime.jsx(
38191
38758
  AgentBarShell,
@@ -38334,7 +38901,7 @@ function ConnectedConversationEmpty({
38334
38901
  compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
38335
38902
  }
38336
38903
  ),
38337
- /* @__PURE__ */ jsxRuntime.jsx(chunkVJTDTWNZ_cjs.PrivacyExplainerModal, {})
38904
+ /* @__PURE__ */ jsxRuntime.jsx(chunkERDQ4DAX_cjs.PrivacyExplainerModal, {})
38338
38905
  ] })
38339
38906
  }
38340
38907
  );
@@ -39169,7 +39736,7 @@ function ConversationThread({
39169
39736
  useStartRequestedDraft();
39170
39737
  const orphanedMessage = react.getOrphanedLastMessage(messageHistory, isGenerating, assistantMode);
39171
39738
  return /* @__PURE__ */ jsxRuntime.jsxs(chunk32YCMXT2_cjs.ConversationBody, { children: [
39172
- /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZHBGG3T3_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
39739
+ /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationMain, { "data-testid": `conversation-${currentConversationId}`, children: threadsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationLoading, {}) : messageHistory.length > 0 || isBranching ? /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.AskAgainContext.Provider, { value: handleAskAgain, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkZHBGG3T3_cjs.TranscriptRunsContext.Provider, { value: transcriptRunInfo, children: [
39173
39740
  meetingCallExtId && transcriptLineCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
39174
39741
  chunkZBP4ZSAJ_cjs.ConversationFilter,
39175
39742
  {
@@ -39187,7 +39754,7 @@ function ConversationThread({
39187
39754
  ]
39188
39755
  }
39189
39756
  ) }),
39190
- /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
39757
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedMessageArea, { ref: containerRef, messages: visibleMessages }),
39191
39758
  showProvisional && /* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
39192
39759
  ] }) }) : meetingCallExtId ? (
39193
39760
  // A meeting thread with nothing yet: call-aware, not the upload prompt.
@@ -39195,7 +39762,7 @@ function ConversationThread({
39195
39762
  /* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.CallConversationEmpty, { callExtId: meetingCallExtId }),
39196
39763
  /* @__PURE__ */ jsxRuntime.jsx(chunkV534NNMX_cjs.ProvisionalSpeakers, { ids: provisionalSpeakers })
39197
39764
  ] })
39198
- ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkSVQTUHPE_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
39765
+ ) : currentTask && currentTask.status != null ? /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.TaskEmptyState, { task: currentTask }) : pendingFirstTurn && isGenerating ? /* @__PURE__ */ jsxRuntime.jsx(chunkMM5Q7AJL_cjs.ConnectedMessageArea, { ref: containerRef, messages: pendingFirstTurn }) : /* @__PURE__ */ jsxRuntime.jsx(
39199
39766
  ConnectedConversationEmpty,
39200
39767
  {
39201
39768
  hasDocuments: allWorkspaceDocuments.length > 0,
@@ -39266,7 +39833,7 @@ function ConversationThread({
39266
39833
  children: react.READ_ONLY_MEETING_TEXT
39267
39834
  }
39268
39835
  ) : /* @__PURE__ */ jsxRuntime.jsx(
39269
- chunkSVQTUHPE_cjs.ConversationComposer,
39836
+ chunkMM5Q7AJL_cjs.ConversationComposer,
39270
39837
  {
39271
39838
  handleSendMessage: handleUserSend,
39272
39839
  placeholder: pendingAnswer ? "Type your answer to ARBI \u2014 or pick an option above" : void 0,
@@ -39606,7 +40173,7 @@ function ConnectedThreadsPage({
39606
40173
  };
39607
40174
  const page = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full min-h-0 flex-col", "data-testid": "threads-page", children: [
39608
40175
  /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
39609
- chunk5HPLUT4M_cjs.ConversationListView,
40176
+ chunkKBXATCF4_cjs.ConversationListView,
39610
40177
  {
39611
40178
  showHeader,
39612
40179
  conversations: tasks,
@@ -39625,7 +40192,7 @@ function ConnectedThreadsPage({
39625
40192
  renderLabels: threadLabels.renderLabels,
39626
40193
  labelText: threadLabels.labelText,
39627
40194
  renderBy: (row2) => /* @__PURE__ */ jsxRuntime.jsx(
39628
- chunk5HPLUT4M_cjs.ConversationTurnSpeaker,
40195
+ chunkKBXATCF4_cjs.ConversationTurnSpeaker,
39629
40196
  {
39630
40197
  variant: "icon",
39631
40198
  role: row2.last_message_role,
@@ -40012,7 +40579,7 @@ function ConnectedChatDocumentsTab({
40012
40579
  testId: `document-hover-toggle-${doc.external_id}`
40013
40580
  },
40014
40581
  status: /* @__PURE__ */ jsxRuntime.jsx(
40015
- chunkVJTDTWNZ_cjs.DocStatusIcon,
40582
+ chunkERDQ4DAX_cjs.DocStatusIcon,
40016
40583
  {
40017
40584
  status: doc.status,
40018
40585
  onClick: onStatusClick,
@@ -40507,7 +41074,7 @@ function ConnectedConversationPage({
40507
41074
  );
40508
41075
  const { data: workspaceTags = [] } = react.useTags();
40509
41076
  const { tagId: threadTagId, clear: clearThreadTag } = useThreadTagFilter();
40510
- const historyCount = chunk5HPLUT4M_cjs.filterConversationRows(
41077
+ const historyCount = chunkKBXATCF4_cjs.filterConversationRows(
40511
41078
  threadTagId ? conversations.filter((row2) => row2.label_ext_ids?.includes(threadTagId)) : conversations,
40512
41079
  threadFilter,
40513
41080
  (row2) => workspaceTags.filter((tag) => row2.label_ext_ids?.includes(tag.external_id)).map((tag) => tag.name).join(" "),
@@ -40566,7 +41133,7 @@ function ConnectedConversationPage({
40566
41133
  ] })
40567
41134
  }
40568
41135
  ),
40569
- isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkLDGVJI7D_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
41136
+ isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunkUSIRUI2M_cjs.ConnectedThreadTaskBar, { conversationId: currentConversationId })
40570
41137
  ] }),
40571
41138
  isInChat && /* @__PURE__ */ jsxRuntime.jsx(
40572
41139
  ConversationThread,
@@ -40596,7 +41163,7 @@ function ConnectedConversationPage({
40596
41163
  !isInChat && /* @__PURE__ */ jsxRuntime.jsx(chunk32YCMXT2_cjs.ConversationHistoryPane, { children: searchEnabled && semanticSearchOpen ? /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false, search: true, ResultsBoundary }) : /* @__PURE__ */ jsxRuntime.jsx(ConnectedThreadsPage, { showHeader: false }) })
40597
41164
  ] }),
40598
41165
  /* @__PURE__ */ jsxRuntime.jsx(
40599
- chunkVJTDTWNZ_cjs.UrlInputDialog,
41166
+ chunkERDQ4DAX_cjs.UrlInputDialog,
40600
41167
  {
40601
41168
  open: urlDialogOpen,
40602
41169
  onOpenChange: setUrlDialogOpen,
@@ -40775,7 +41342,7 @@ function SsoResendVerificationButton({
40775
41342
  onClick: async () => handleResendEmailVerification(),
40776
41343
  disabled: loading || disabled,
40777
41344
  "aria-label": "Resend verification email",
40778
- children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYOCKX2OP_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
41345
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsx(chunk4VSRSF4Q_cjs.LoadingIndicator, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
40779
41346
  "Didn't get a verification email? ",
40780
41347
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: "Resend" })
40781
41348
  ] })
@@ -40786,16 +41353,16 @@ function SsoResendVerificationButton({
40786
41353
  }
40787
41354
  var NO_RECOVERY_KEY_WARNING = "Without your password or a recovery key, we cannot recover your account or data.";
40788
41355
  function ConnectedSsoCallback() {
40789
- const sso = chunkSVQTUHPE_cjs.useSsoSignIn();
41356
+ const sso = chunkMM5Q7AJL_cjs.useSsoSignIn();
40790
41357
  const { isAuthenticated: isAuthenticated2, isLoading, user } = sso;
40791
- const auth = chunkSVQTUHPE_cjs.useAuthPages();
41358
+ const auth = chunkMM5Q7AJL_cjs.useAuthPages();
40792
41359
  const { notify: notify17, navigate } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
40793
41360
  const passwordRules = auth.passwordRules;
40794
41361
  const isProcessing = react$1.useRef(false);
40795
41362
  const hasCheckedStatus = react$1.useRef(false);
40796
41363
  const [accessToken, setAccessToken] = react$1.useState(null);
40797
41364
  const [ssoStatus, setSsoStatus] = react$1.useState(null);
40798
- const ssoName = react$1.useMemo(() => chunkSVQTUHPE_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
41365
+ const ssoName = react$1.useMemo(() => chunkMM5Q7AJL_cjs.resolveSsoName(user ?? {}, ssoStatus ?? {}), [user, ssoStatus]);
40799
41366
  const [password, setPassword] = react$1.useState("");
40800
41367
  const [confirmPassword, setConfirmPassword] = react$1.useState("");
40801
41368
  const [error, setError] = react$1.useState(null);
@@ -40973,7 +41540,7 @@ function ConnectedSsoCallback() {
40973
41540
  setIsCheckingStatus(true);
40974
41541
  try {
40975
41542
  console.info("[SSO] Checking user status...");
40976
- const response = await chunkSVQTUHPE_cjs.ssoAccountStatus(arbi, accessToken, user);
41543
+ const response = await chunkMM5Q7AJL_cjs.ssoAccountStatus(arbi, accessToken, user);
40977
41544
  console.info("[SSO] User status:", response.status);
40978
41545
  setSsoStatus(response);
40979
41546
  } catch (error2) {
@@ -41017,7 +41584,7 @@ function ConnectedSsoCallback() {
41017
41584
  setIsSubmitting(true);
41018
41585
  setError(null);
41019
41586
  try {
41020
- const { login, registered, linked } = await chunkSVQTUHPE_cjs.completeSsoSignIn(arbi, {
41587
+ const { login, registered, linked } = await chunkMM5Q7AJL_cjs.completeSsoSignIn(arbi, {
41021
41588
  token: accessToken,
41022
41589
  user,
41023
41590
  status: ssoStatus,
@@ -41299,7 +41866,7 @@ function ConnectedSsoCallback() {
41299
41866
  ssoStatus.status !== "new_user" && auth.footer
41300
41867
  ] }),
41301
41868
  /* @__PURE__ */ jsxRuntime.jsx(
41302
- chunkSVQTUHPE_cjs.ConnectedForgotPassword,
41869
+ chunkMM5Q7AJL_cjs.ConnectedForgotPassword,
41303
41870
  {
41304
41871
  open: showForgotPasswordModal,
41305
41872
  onOpenChange: setShowForgotPasswordModal,
@@ -41307,7 +41874,7 @@ function ConnectedSsoCallback() {
41307
41874
  }
41308
41875
  ),
41309
41876
  /* @__PURE__ */ jsxRuntime.jsx(
41310
- chunkSVQTUHPE_cjs.ConnectedPasswordChangeDialog,
41877
+ chunkMM5Q7AJL_cjs.ConnectedPasswordChangeDialog,
41311
41878
  {
41312
41879
  open: showChangePasswordModal,
41313
41880
  onClose: () => setShowChangePasswordModal(false),
@@ -41466,27 +42033,27 @@ function ConnectedOAuthConsentPage({
41466
42033
  oauthErrorRedirect(params.redirectUri, params.state, "access_denied");
41467
42034
  }
41468
42035
  if (error && !params) {
41469
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
42036
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentMessage, { tone: "error", title: "Invalid Request", children: error }) });
41470
42037
  }
41471
42038
  if (!params) {
41472
42039
  return null;
41473
42040
  }
41474
42041
  if (clientInfo?.isLocalAgentFlow) {
41475
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_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." }) });
42042
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_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." }) });
41476
42043
  }
41477
42044
  if (!isAuthenticated2) {
41478
42045
  return null;
41479
42046
  }
41480
42047
  if (callbackUrl) {
41481
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentCard, { size: "md", children: [
41482
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
42048
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { size: "md", children: [
42049
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ClipboardList, {}), title: "Almost there", children: [
41483
42050
  "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",
41484
42051
  " ",
41485
42052
  copied ? "it's already copied to your clipboard." : "copy it first."
41486
42053
  ] }),
41487
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentSection, { title: "Callback URL", children: [
41488
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
41489
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentText, { variant: "hint", children: [
42054
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentSection, { title: "Callback URL", children: [
42055
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.CopyableUrl, { url: callbackUrl, copied, onCopy: handleCopy }),
42056
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentText, { variant: "hint", children: [
41490
42057
  "In Claude Code, paste the URL at the prompt that says",
41491
42058
  " ",
41492
42059
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-foreground", children: '"paste the full redirect URL here"' }),
@@ -41495,17 +42062,17 @@ function ConnectedOAuthConsentPage({
41495
42062
  ] })
41496
42063
  ] }) });
41497
42064
  }
41498
- return /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentCard, { children: [
41499
- /* @__PURE__ */ jsxRuntime.jsxs(chunk5HPLUT4M_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
41500
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
42065
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPage, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentCard, { children: [
42066
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkKBXATCF4_cjs.ConsentHeader, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Link2, {}), title: `Connect to ${appName}`, children: [
42067
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentStrong, { children: clientInfo?.name ?? params.clientId }),
41501
42068
  " is requesting access to your ",
41502
42069
  appName,
41503
42070
  " workspace."
41504
42071
  ] }),
41505
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentPermissionList, { items: permissions }) }),
41506
- error && /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentNotice, { tone: "error", children: error }),
41507
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
41508
- /* @__PURE__ */ jsxRuntime.jsx(chunk5HPLUT4M_cjs.ConsentFootnote, { children: footnote })
42072
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentSection, { title: "This will allow", children: /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentPermissionList, { items: permissions }) }),
42073
+ error && /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentNotice, { tone: "error", children: error }),
42074
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentActions, { isLoading: loading, onDeny: handleDeny, onAllow: handleAllow }),
42075
+ /* @__PURE__ */ jsxRuntime.jsx(chunkKBXATCF4_cjs.ConsentFootnote, { children: footnote })
41509
42076
  ] }) });
41510
42077
  }
41511
42078
  function ConnectedSharedFilesPage({
@@ -41664,30 +42231,6 @@ function ShellAccount({
41664
42231
  }
41665
42232
  );
41666
42233
  }
41667
- function brandMark(brand, placement) {
41668
- return typeof brand.logo === "function" ? brand.logo(placement) : brand.logo;
41669
- }
41670
- var ShellNavigationContext = react$1.createContext(null);
41671
- function useShellNavigation() {
41672
- return react$1.useContext(ShellNavigationContext);
41673
- }
41674
- var isExternal = (item) => item.external === true || /^[a-z][a-z0-9+.-]*:/i.test(item.to);
41675
- function pathOf(address) {
41676
- const path = address.split(/[?#]/)[0] || "/";
41677
- return path.length > 1 ? path.replace(/\/+$/, "") || "/" : path;
41678
- }
41679
- var queryOf = (address) => new URLSearchParams(address.split("#")[0].split("?")[1] ?? "");
41680
- function matchScore(item, address) {
41681
- if (isExternal(item)) return -1;
41682
- const path = pathOf(address);
41683
- const to = pathOf(item.to);
41684
- const exact = path === to;
41685
- if (!exact && (item.end || !path.startsWith(to === "/" ? "/" : `${to}/`))) return -1;
41686
- const wanted = [...queryOf(item.to)];
41687
- const here = queryOf(address);
41688
- const query = !wanted.length ? 1 : wanted.every(([k, v]) => here.getAll(k).includes(v)) ? 2 : 0;
41689
- return to.length * 3 + (exact ? query : 1);
41690
- }
41691
42234
  function ConnectedShellSidebar({
41692
42235
  logo,
41693
42236
  items,
@@ -42182,7 +42725,7 @@ function ConnectedTipBar({
42182
42725
  className,
42183
42726
  revealOnHover = false
42184
42727
  }) {
42185
- const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } = chunkSVQTUHPE_cjs.useContextualHints();
42728
+ const { showHints, settingsLoaded, setShowHintsPersisted, setShowHints } = chunkMM5Q7AJL_cjs.useContextualHints();
42186
42729
  const { dismissed, dismissTip } = react.useDismissedTips();
42187
42730
  const { notify: notify17 } = chunkWGWP4ATS_cjs.useBlocksEnvironment();
42188
42731
  const { data: workspaces } = react.useWorkspaces();
@@ -42193,7 +42736,7 @@ function ConnectedTipBar({
42193
42736
  workspaceOpen,
42194
42737
  ...state
42195
42738
  };
42196
- const { tip, index, count: count2, previous, next, onHoverChange } = chunkYOCKX2OP_cjs.useTipsPlacement({
42739
+ const { tip, index, count: count2, previous, next, onHoverChange } = chunk4VSRSF4Q_cjs.useTipsPlacement({
42197
42740
  registry,
42198
42741
  context,
42199
42742
  state: situation,
@@ -42252,15 +42795,15 @@ var DEFAULT_GETTING_STARTED_STEPS = {
42252
42795
  },
42253
42796
  upload: {
42254
42797
  title: "Upload a document",
42255
- description: (inWorkspace) => inWorkspace ? "Add a file under \u201CFiles\u201D." : "Open a workspace, then add a file under \u201CFiles\u201D."
42798
+ description: (inWorkspace2) => inWorkspace2 ? "Add a file under \u201CFiles\u201D." : "Open a workspace, then add a file under \u201CFiles\u201D."
42256
42799
  },
42257
42800
  ask: {
42258
42801
  title: "Ask a question",
42259
- description: (inWorkspace) => inWorkspace ? "Open \u201CThreads\u201D and ask a question." : "In a workspace, open \u201CThreads\u201D and ask a question."
42802
+ description: (inWorkspace2) => inWorkspace2 ? "Open \u201CThreads\u201D and ask a question." : "In a workspace, open \u201CThreads\u201D and ask a question."
42260
42803
  },
42261
42804
  invite: {
42262
42805
  title: "Invite a colleague",
42263
- description: (inWorkspace) => inWorkspace ? "Invite someone from the members section." : "Open a workspace\u2019s members to invite someone."
42806
+ description: (inWorkspace2) => inWorkspace2 ? "Invite someone from the members section." : "Open a workspace\u2019s members to invite someone."
42264
42807
  }
42265
42808
  };
42266
42809
  var NO_TIPS = [];
@@ -42271,14 +42814,14 @@ function useGettingStarted({
42271
42814
  const { user } = react.useArbiSession();
42272
42815
  const userExtId = user?.external_id;
42273
42816
  const temporaryOnly = user?.temporary_access_only === true;
42274
- const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = chunkSVQTUHPE_cjs.useContextualHints();
42817
+ const { showHints, settingsLoaded, setShowHints, setShowHintsPersisted } = chunkMM5Q7AJL_cjs.useContextualHints();
42275
42818
  const { dismissed, loaded: dismissedLoaded, dismissTip } = react.useDismissedTips();
42276
42819
  const welcomeJourneyEnabled = react.useFeature("welcomeJourney");
42277
42820
  const session = react.useArbiSessionStore();
42278
42821
  const [replayView] = react.useTransientView(chunk4B6HYQTW_cjs.WELCOME_REPLAY_VIEW, false);
42279
42822
  const welcomeReplay = replayView === true;
42280
42823
  const welcomeDialogOpen = chunkJDFBEGQO_cjs.useDialogProps("welcome") !== null;
42281
- const inWorkspace = react.useArbiSessionState((s) => !!s.workspaceId && s.workspaceStatus === "open");
42824
+ const inWorkspace2 = react.useArbiSessionState((s) => !!s.workspaceId && s.workspaceStatus === "open");
42282
42825
  const { data: workspaces, isLoading: workspacesLoading } = react.useWorkspaces();
42283
42826
  const { data: projects, isLoading: projectsLoading } = react.useProjects();
42284
42827
  const isLoading = workspacesLoading || projectsLoading;
@@ -42324,13 +42867,13 @@ function useGettingStarted({
42324
42867
  return {
42325
42868
  id,
42326
42869
  title: copy.title,
42327
- description: copy.description(inWorkspace),
42870
+ description: copy.description(inWorkspace2),
42328
42871
  done: done[id],
42329
42872
  ...optional ? { optional } : {}
42330
42873
  };
42331
42874
  };
42332
42875
  return [step("workspace"), step("upload"), step("ask"), step("invite", true)];
42333
- }, [counts, inWorkspace, welcomeReplay, stepCopy]);
42876
+ }, [counts, inWorkspace2, welcomeReplay, stepCopy]);
42334
42877
  const coreSteps = steps.filter((s) => !s.optional);
42335
42878
  const completedCore = coreSteps.filter((s) => s.done).length;
42336
42879
  const totalCore = coreSteps.length;
@@ -42493,15 +43036,15 @@ function ChromeInstallDialog({
42493
43036
 
42494
43037
  Object.defineProperty(exports, "ConnectedTagEntity", {
42495
43038
  enumerable: true,
42496
- get: function () { return chunk65MSYISI_cjs.ConnectedTagEntity; }
43039
+ get: function () { return chunkVD33HXFZ_cjs.ConnectedTagEntity; }
42497
43040
  });
42498
43041
  Object.defineProperty(exports, "documentFieldContent", {
42499
43042
  enumerable: true,
42500
- get: function () { return chunk65MSYISI_cjs.documentFieldContent; }
43043
+ get: function () { return chunkVD33HXFZ_cjs.documentFieldContent; }
42501
43044
  });
42502
43045
  Object.defineProperty(exports, "useMemberLookup", {
42503
43046
  enumerable: true,
42504
- get: function () { return chunk65MSYISI_cjs.useMemberLookup; }
43047
+ get: function () { return chunkVD33HXFZ_cjs.useMemberLookup; }
42505
43048
  });
42506
43049
  Object.defineProperty(exports, "DEFAULT_ASK_SUGGESTIONS", {
42507
43050
  enumerable: true,
@@ -42605,267 +43148,267 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
42605
43148
  });
42606
43149
  Object.defineProperty(exports, "ConnectedTaskActivityDialog", {
42607
43150
  enumerable: true,
42608
- get: function () { return chunkLDGVJI7D_cjs.ConnectedTaskActivityDialog; }
43151
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedTaskActivityDialog; }
42609
43152
  });
42610
43153
  Object.defineProperty(exports, "ConnectedTaskComposer", {
42611
43154
  enumerable: true,
42612
- get: function () { return chunkLDGVJI7D_cjs.ConnectedTaskComposer; }
43155
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedTaskComposer; }
42613
43156
  });
42614
43157
  Object.defineProperty(exports, "ConnectedThreadTaskBar", {
42615
43158
  enumerable: true,
42616
- get: function () { return chunkLDGVJI7D_cjs.ConnectedThreadTaskBar; }
43159
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedThreadTaskBar; }
42617
43160
  });
42618
43161
  Object.defineProperty(exports, "ConnectedWorkflowHistory", {
42619
43162
  enumerable: true,
42620
- get: function () { return chunkLDGVJI7D_cjs.ConnectedWorkflowHistory; }
43163
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowHistory; }
42621
43164
  });
42622
43165
  Object.defineProperty(exports, "ConnectedWorkflowRunPage", {
42623
43166
  enumerable: true,
42624
- get: function () { return chunkLDGVJI7D_cjs.ConnectedWorkflowRunPage; }
43167
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowRunPage; }
42625
43168
  });
42626
43169
  Object.defineProperty(exports, "ConnectedWorkflowRunner", {
42627
43170
  enumerable: true,
42628
- get: function () { return chunkLDGVJI7D_cjs.ConnectedWorkflowRunner; }
43171
+ get: function () { return chunkUSIRUI2M_cjs.ConnectedWorkflowRunner; }
42629
43172
  });
42630
43173
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS", {
42631
43174
  enumerable: true,
42632
- get: function () { return chunkLDGVJI7D_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
43175
+ get: function () { return chunkUSIRUI2M_cjs.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS; }
42633
43176
  });
42634
43177
  Object.defineProperty(exports, "DEFAULT_WORKFLOW_RUN_PAGE_LABELS", {
42635
43178
  enumerable: true,
42636
- get: function () { return chunkLDGVJI7D_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
43179
+ get: function () { return chunkUSIRUI2M_cjs.DEFAULT_WORKFLOW_RUN_PAGE_LABELS; }
42637
43180
  });
42638
43181
  Object.defineProperty(exports, "WorkflowRunThread", {
42639
43182
  enumerable: true,
42640
- get: function () { return chunkLDGVJI7D_cjs.WorkflowRunThread; }
43183
+ get: function () { return chunkUSIRUI2M_cjs.WorkflowRunThread; }
42641
43184
  });
42642
43185
  Object.defineProperty(exports, "WorkflowRunWorkspaceChangedError", {
42643
43186
  enumerable: true,
42644
- get: function () { return chunkLDGVJI7D_cjs.WorkflowRunWorkspaceChangedError; }
43187
+ get: function () { return chunkUSIRUI2M_cjs.WorkflowRunWorkspaceChangedError; }
42645
43188
  });
42646
43189
  Object.defineProperty(exports, "buildProjectSummaries", {
42647
43190
  enumerable: true,
42648
- get: function () { return chunkLDGVJI7D_cjs.buildProjectSummaries; }
43191
+ get: function () { return chunkUSIRUI2M_cjs.buildProjectSummaries; }
42649
43192
  });
42650
43193
  Object.defineProperty(exports, "primaryProjectWorkspace", {
42651
43194
  enumerable: true,
42652
- get: function () { return chunkLDGVJI7D_cjs.primaryProjectWorkspace; }
43195
+ get: function () { return chunkUSIRUI2M_cjs.primaryProjectWorkspace; }
42653
43196
  });
42654
43197
  Object.defineProperty(exports, "useEnsureRequiredLabels", {
42655
43198
  enumerable: true,
42656
- get: function () { return chunkLDGVJI7D_cjs.useEnsureRequiredLabels; }
43199
+ get: function () { return chunkUSIRUI2M_cjs.useEnsureRequiredLabels; }
42657
43200
  });
42658
43201
  Object.defineProperty(exports, "useProjectSummaries", {
42659
43202
  enumerable: true,
42660
- get: function () { return chunkLDGVJI7D_cjs.useProjectSummaries; }
43203
+ get: function () { return chunkUSIRUI2M_cjs.useProjectSummaries; }
42661
43204
  });
42662
43205
  Object.defineProperty(exports, "useProjectSummary", {
42663
43206
  enumerable: true,
42664
- get: function () { return chunkLDGVJI7D_cjs.useProjectSummary; }
43207
+ get: function () { return chunkUSIRUI2M_cjs.useProjectSummary; }
42665
43208
  });
42666
43209
  Object.defineProperty(exports, "useRenderTaskPerson", {
42667
43210
  enumerable: true,
42668
- get: function () { return chunkLDGVJI7D_cjs.useRenderTaskPerson; }
43211
+ get: function () { return chunkUSIRUI2M_cjs.useRenderTaskPerson; }
42669
43212
  });
42670
43213
  Object.defineProperty(exports, "useRequiredLabels", {
42671
43214
  enumerable: true,
42672
- get: function () { return chunkLDGVJI7D_cjs.useRequiredLabels; }
43215
+ get: function () { return chunkUSIRUI2M_cjs.useRequiredLabels; }
42673
43216
  });
42674
43217
  Object.defineProperty(exports, "useTaskPeople", {
42675
43218
  enumerable: true,
42676
- get: function () { return chunkLDGVJI7D_cjs.useTaskPeople; }
43219
+ get: function () { return chunkUSIRUI2M_cjs.useTaskPeople; }
42677
43220
  });
42678
43221
  Object.defineProperty(exports, "useWorkflowsPageState", {
42679
43222
  enumerable: true,
42680
- get: function () { return chunkLDGVJI7D_cjs.useWorkflowsPageState; }
43223
+ get: function () { return chunkUSIRUI2M_cjs.useWorkflowsPageState; }
42681
43224
  });
42682
43225
  Object.defineProperty(exports, "workflowRunView", {
42683
43226
  enumerable: true,
42684
- get: function () { return chunkLDGVJI7D_cjs.workflowRunView; }
43227
+ get: function () { return chunkUSIRUI2M_cjs.workflowRunView; }
42685
43228
  });
42686
43229
  Object.defineProperty(exports, "AgentSteps", {
42687
43230
  enumerable: true,
42688
- get: function () { return chunkSVQTUHPE_cjs.AgentSteps; }
43231
+ get: function () { return chunkMM5Q7AJL_cjs.AgentSteps; }
42689
43232
  });
42690
43233
  Object.defineProperty(exports, "AnswerTable", {
42691
43234
  enumerable: true,
42692
- get: function () { return chunkSVQTUHPE_cjs.AnswerTable; }
43235
+ get: function () { return chunkMM5Q7AJL_cjs.AnswerTable; }
42693
43236
  });
42694
43237
  Object.defineProperty(exports, "ArbiChat", {
42695
43238
  enumerable: true,
42696
- get: function () { return chunkSVQTUHPE_cjs.ArbiChat; }
43239
+ get: function () { return chunkMM5Q7AJL_cjs.ArbiChat; }
42697
43240
  });
42698
43241
  Object.defineProperty(exports, "AskAgainContext", {
42699
43242
  enumerable: true,
42700
- get: function () { return chunkSVQTUHPE_cjs.AskAgainContext; }
43243
+ get: function () { return chunkMM5Q7AJL_cjs.AskAgainContext; }
42701
43244
  });
42702
43245
  Object.defineProperty(exports, "ConnectedBranchControls", {
42703
43246
  enumerable: true,
42704
- get: function () { return chunkSVQTUHPE_cjs.ConnectedBranchControls; }
43247
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedBranchControls; }
42705
43248
  });
42706
43249
  Object.defineProperty(exports, "ConnectedCitationRenderer", {
42707
43250
  enumerable: true,
42708
- get: function () { return chunkSVQTUHPE_cjs.ConnectedCitationRenderer; }
43251
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedCitationRenderer; }
42709
43252
  });
42710
43253
  Object.defineProperty(exports, "ConnectedCompactConversation", {
42711
43254
  enumerable: true,
42712
- get: function () { return chunkSVQTUHPE_cjs.ConnectedCompactConversation; }
43255
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedCompactConversation; }
42713
43256
  });
42714
43257
  Object.defineProperty(exports, "ConnectedCompactLogin", {
42715
43258
  enumerable: true,
42716
- get: function () { return chunkSVQTUHPE_cjs.ConnectedCompactLogin; }
43259
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedCompactLogin; }
42717
43260
  });
42718
43261
  Object.defineProperty(exports, "ConnectedConversationDocumentPicker", {
42719
43262
  enumerable: true,
42720
- get: function () { return chunkSVQTUHPE_cjs.ConnectedConversationDocumentPicker; }
43263
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedConversationDocumentPicker; }
42721
43264
  });
42722
43265
  Object.defineProperty(exports, "ConnectedDangerZone", {
42723
43266
  enumerable: true,
42724
- get: function () { return chunkSVQTUHPE_cjs.ConnectedDangerZone; }
43267
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedDangerZone; }
42725
43268
  });
42726
43269
  Object.defineProperty(exports, "ConnectedEmbeddedChat", {
42727
43270
  enumerable: true,
42728
- get: function () { return chunkSVQTUHPE_cjs.ConnectedEmbeddedChat; }
43271
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedEmbeddedChat; }
42729
43272
  });
42730
43273
  Object.defineProperty(exports, "ConnectedForgotPassword", {
42731
43274
  enumerable: true,
42732
- get: function () { return chunkSVQTUHPE_cjs.ConnectedForgotPassword; }
43275
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedForgotPassword; }
42733
43276
  });
42734
43277
  Object.defineProperty(exports, "ConnectedIdentityVerification", {
42735
43278
  enumerable: true,
42736
- get: function () { return chunkSVQTUHPE_cjs.ConnectedIdentityVerification; }
43279
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedIdentityVerification; }
42737
43280
  });
42738
43281
  Object.defineProperty(exports, "ConnectedLoginPage", {
42739
43282
  enumerable: true,
42740
- get: function () { return chunkSVQTUHPE_cjs.ConnectedLoginPage; }
43283
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedLoginPage; }
42741
43284
  });
42742
43285
  Object.defineProperty(exports, "ConnectedLogoutDialog", {
42743
43286
  enumerable: true,
42744
- get: function () { return chunkSVQTUHPE_cjs.ConnectedLogoutDialog; }
43287
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedLogoutDialog; }
42745
43288
  });
42746
43289
  Object.defineProperty(exports, "ConnectedMessage", {
42747
43290
  enumerable: true,
42748
- get: function () { return chunkSVQTUHPE_cjs.ConnectedMessage; }
43291
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessage; }
42749
43292
  });
42750
43293
  Object.defineProperty(exports, "ConnectedMessageArea", {
42751
43294
  enumerable: true,
42752
- get: function () { return chunkSVQTUHPE_cjs.ConnectedMessageArea; }
43295
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessageArea; }
42753
43296
  });
42754
43297
  Object.defineProperty(exports, "ConnectedMessageList", {
42755
43298
  enumerable: true,
42756
- get: function () { return chunkSVQTUHPE_cjs.ConnectedMessageList; }
43299
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedMessageList; }
42757
43300
  });
42758
43301
  Object.defineProperty(exports, "ConnectedModelSelector", {
42759
43302
  enumerable: true,
42760
- get: function () { return chunkSVQTUHPE_cjs.ConnectedModelSelector; }
43303
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedModelSelector; }
42761
43304
  });
42762
43305
  Object.defineProperty(exports, "ConnectedNotificationPreferences", {
42763
43306
  enumerable: true,
42764
- get: function () { return chunkSVQTUHPE_cjs.ConnectedNotificationPreferences; }
43307
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedNotificationPreferences; }
42765
43308
  });
42766
43309
  Object.defineProperty(exports, "ConnectedPasswordChangeDialog", {
42767
43310
  enumerable: true,
42768
- get: function () { return chunkSVQTUHPE_cjs.ConnectedPasswordChangeDialog; }
43311
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedPasswordChangeDialog; }
42769
43312
  });
42770
43313
  Object.defineProperty(exports, "ConnectedProfileCard", {
42771
43314
  enumerable: true,
42772
- get: function () { return chunkSVQTUHPE_cjs.ConnectedProfileCard; }
43315
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedProfileCard; }
42773
43316
  });
42774
43317
  Object.defineProperty(exports, "ConnectedSecuritySection", {
42775
43318
  enumerable: true,
42776
- get: function () { return chunkSVQTUHPE_cjs.ConnectedSecuritySection; }
43319
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedSecuritySection; }
42777
43320
  });
42778
43321
  Object.defineProperty(exports, "ConnectedSessionsRow", {
42779
43322
  enumerable: true,
42780
- get: function () { return chunkSVQTUHPE_cjs.ConnectedSessionsRow; }
43323
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedSessionsRow; }
42781
43324
  });
42782
43325
  Object.defineProperty(exports, "ConnectedThreadsPreview", {
42783
43326
  enumerable: true,
42784
- get: function () { return chunkSVQTUHPE_cjs.ConnectedThreadsPreview; }
43327
+ get: function () { return chunkMM5Q7AJL_cjs.ConnectedThreadsPreview; }
42785
43328
  });
42786
43329
  Object.defineProperty(exports, "ConversationComposer", {
42787
43330
  enumerable: true,
42788
- get: function () { return chunkSVQTUHPE_cjs.ConversationComposer; }
43331
+ get: function () { return chunkMM5Q7AJL_cjs.ConversationComposer; }
42789
43332
  });
42790
43333
  Object.defineProperty(exports, "EmbeddedChatPanel", {
42791
43334
  enumerable: true,
42792
- get: function () { return chunkSVQTUHPE_cjs.EmbeddedChatPanel; }
43335
+ get: function () { return chunkMM5Q7AJL_cjs.EmbeddedChatPanel; }
42793
43336
  });
42794
43337
  Object.defineProperty(exports, "MessageDetailsModal", {
42795
43338
  enumerable: true,
42796
- get: function () { return chunkSVQTUHPE_cjs.MessageDetailsModal; }
43339
+ get: function () { return chunkMM5Q7AJL_cjs.MessageDetailsModal; }
42797
43340
  });
42798
43341
  Object.defineProperty(exports, "MessageLiveSeconds", {
42799
43342
  enumerable: true,
42800
- get: function () { return chunkSVQTUHPE_cjs.MessageLiveSeconds; }
43343
+ get: function () { return chunkMM5Q7AJL_cjs.MessageLiveSeconds; }
42801
43344
  });
42802
43345
  Object.defineProperty(exports, "PENDING_RECOVERY_KEY", {
42803
43346
  enumerable: true,
42804
- get: function () { return chunkSVQTUHPE_cjs.PENDING_RECOVERY_KEY; }
43347
+ get: function () { return chunkMM5Q7AJL_cjs.PENDING_RECOVERY_KEY; }
42805
43348
  });
42806
43349
  Object.defineProperty(exports, "PREMIUM_TIER_TAG", {
42807
43350
  enumerable: true,
42808
- get: function () { return chunkSVQTUHPE_cjs.PREMIUM_TIER_TAG; }
43351
+ get: function () { return chunkMM5Q7AJL_cjs.PREMIUM_TIER_TAG; }
42809
43352
  });
42810
43353
  Object.defineProperty(exports, "RunningSubagents", {
42811
43354
  enumerable: true,
42812
- get: function () { return chunkSVQTUHPE_cjs.RunningSubagents; }
43355
+ get: function () { return chunkMM5Q7AJL_cjs.RunningSubagents; }
42813
43356
  });
42814
43357
  Object.defineProperty(exports, "STANDARD_TIER_TAG", {
42815
43358
  enumerable: true,
42816
- get: function () { return chunkSVQTUHPE_cjs.STANDARD_TIER_TAG; }
43359
+ get: function () { return chunkMM5Q7AJL_cjs.STANDARD_TIER_TAG; }
42817
43360
  });
42818
43361
  Object.defineProperty(exports, "WorkflowStepMessage", {
42819
43362
  enumerable: true,
42820
- get: function () { return chunkSVQTUHPE_cjs.WorkflowStepMessage; }
43363
+ get: function () { return chunkMM5Q7AJL_cjs.WorkflowStepMessage; }
42821
43364
  });
42822
43365
  Object.defineProperty(exports, "backUpOnSignup", {
42823
43366
  enumerable: true,
42824
- get: function () { return chunkSVQTUHPE_cjs.backUpOnSignup; }
43367
+ get: function () { return chunkMM5Q7AJL_cjs.backUpOnSignup; }
42825
43368
  });
42826
43369
  Object.defineProperty(exports, "defaultHost", {
42827
43370
  enumerable: true,
42828
- get: function () { return chunkSVQTUHPE_cjs.defaultHost; }
43371
+ get: function () { return chunkMM5Q7AJL_cjs.defaultHost; }
42829
43372
  });
42830
43373
  Object.defineProperty(exports, "renderConnectedUser", {
42831
43374
  enumerable: true,
42832
- get: function () { return chunkSVQTUHPE_cjs.renderConnectedUser; }
43375
+ get: function () { return chunkMM5Q7AJL_cjs.renderConnectedUser; }
42833
43376
  });
42834
43377
  Object.defineProperty(exports, "renderSessionStatusIcon", {
42835
43378
  enumerable: true,
42836
- get: function () { return chunkSVQTUHPE_cjs.renderSessionStatusIcon; }
43379
+ get: function () { return chunkMM5Q7AJL_cjs.renderSessionStatusIcon; }
42837
43380
  });
42838
43381
  Object.defineProperty(exports, "resolveSsoName", {
42839
43382
  enumerable: true,
42840
- get: function () { return chunkSVQTUHPE_cjs.resolveSsoName; }
43383
+ get: function () { return chunkMM5Q7AJL_cjs.resolveSsoName; }
42841
43384
  });
42842
43385
  Object.defineProperty(exports, "useAuthPages", {
42843
43386
  enumerable: true,
42844
- get: function () { return chunkSVQTUHPE_cjs.useAuthPages; }
43387
+ get: function () { return chunkMM5Q7AJL_cjs.useAuthPages; }
42845
43388
  });
42846
43389
  Object.defineProperty(exports, "useContextualHints", {
42847
43390
  enumerable: true,
42848
- get: function () { return chunkSVQTUHPE_cjs.useContextualHints; }
43391
+ get: function () { return chunkMM5Q7AJL_cjs.useContextualHints; }
42849
43392
  });
42850
43393
  Object.defineProperty(exports, "useModelPicker", {
42851
43394
  enumerable: true,
42852
- get: function () { return chunkSVQTUHPE_cjs.useModelPicker; }
43395
+ get: function () { return chunkMM5Q7AJL_cjs.useModelPicker; }
42853
43396
  });
42854
43397
  Object.defineProperty(exports, "useOpenChunk", {
42855
43398
  enumerable: true,
42856
- get: function () { return chunkSVQTUHPE_cjs.useOpenChunk; }
43399
+ get: function () { return chunkMM5Q7AJL_cjs.useOpenChunk; }
42857
43400
  });
42858
43401
  Object.defineProperty(exports, "useOpenWorkspaceIcon", {
42859
43402
  enumerable: true,
42860
- get: function () { return chunkSVQTUHPE_cjs.useOpenWorkspaceIcon; }
43403
+ get: function () { return chunkMM5Q7AJL_cjs.useOpenWorkspaceIcon; }
42861
43404
  });
42862
43405
  Object.defineProperty(exports, "useSsoSignIn", {
42863
43406
  enumerable: true,
42864
- get: function () { return chunkSVQTUHPE_cjs.useSsoSignIn; }
43407
+ get: function () { return chunkMM5Q7AJL_cjs.useSsoSignIn; }
42865
43408
  });
42866
43409
  Object.defineProperty(exports, "useWorkspaceDocTitles", {
42867
43410
  enumerable: true,
42868
- get: function () { return chunkSVQTUHPE_cjs.useWorkspaceDocTitles; }
43411
+ get: function () { return chunkMM5Q7AJL_cjs.useWorkspaceDocTitles; }
42869
43412
  });
42870
43413
  Object.defineProperty(exports, "ConnectedWorkflowStart", {
42871
43414
  enumerable: true,
@@ -42897,11 +43440,11 @@ Object.defineProperty(exports, "useSlashSkillWorkflows", {
42897
43440
  });
42898
43441
  Object.defineProperty(exports, "useConnectedThreadActivity", {
42899
43442
  enumerable: true,
42900
- get: function () { return chunk5SQJTWD3_cjs.useConnectedThreadActivity; }
43443
+ get: function () { return chunkSWILV6LT_cjs.useConnectedThreadActivity; }
42901
43444
  });
42902
43445
  Object.defineProperty(exports, "DocumentUser", {
42903
43446
  enumerable: true,
42904
- get: function () { return chunkVYTEEQ4C_cjs.DocumentUser; }
43447
+ get: function () { return chunkMT3RPUQC_cjs.DocumentUser; }
42905
43448
  });
42906
43449
  Object.defineProperty(exports, "useCanBrowseSkills", {
42907
43450
  enumerable: true,
@@ -42997,35 +43540,35 @@ Object.defineProperty(exports, "ConnectedDocumentToolsProvider", {
42997
43540
  });
42998
43541
  Object.defineProperty(exports, "FILES_PREFS_KEY", {
42999
43542
  enumerable: true,
43000
- get: function () { return chunkF3IRNQIB_cjs.FILES_PREFS_KEY; }
43543
+ get: function () { return chunkHJBVSG6H_cjs.FILES_PREFS_KEY; }
43001
43544
  });
43002
43545
  Object.defineProperty(exports, "filesViewMode", {
43003
43546
  enumerable: true,
43004
- get: function () { return chunkF3IRNQIB_cjs.filesViewMode; }
43547
+ get: function () { return chunkHJBVSG6H_cjs.filesViewMode; }
43005
43548
  });
43006
43549
  Object.defineProperty(exports, "useAiReviewStore", {
43007
43550
  enumerable: true,
43008
- get: function () { return chunkF3IRNQIB_cjs.useAiReviewStore; }
43551
+ get: function () { return chunkHJBVSG6H_cjs.useAiReviewStore; }
43009
43552
  });
43010
43553
  Object.defineProperty(exports, "useFilesDialogs", {
43011
43554
  enumerable: true,
43012
- get: function () { return chunkF3IRNQIB_cjs.useFilesDialogs; }
43555
+ get: function () { return chunkHJBVSG6H_cjs.useFilesDialogs; }
43013
43556
  });
43014
43557
  Object.defineProperty(exports, "useFilesGridStates", {
43015
43558
  enumerable: true,
43016
- get: function () { return chunkF3IRNQIB_cjs.useFilesGridStates; }
43559
+ get: function () { return chunkHJBVSG6H_cjs.useFilesGridStates; }
43017
43560
  });
43018
43561
  Object.defineProperty(exports, "useFilesPrefs", {
43019
43562
  enumerable: true,
43020
- get: function () { return chunkF3IRNQIB_cjs.useFilesPrefs; }
43563
+ get: function () { return chunkHJBVSG6H_cjs.useFilesPrefs; }
43021
43564
  });
43022
43565
  Object.defineProperty(exports, "useFilesStore", {
43023
43566
  enumerable: true,
43024
- get: function () { return chunkF3IRNQIB_cjs.useFilesStore; }
43567
+ get: function () { return chunkHJBVSG6H_cjs.useFilesStore; }
43025
43568
  });
43026
43569
  Object.defineProperty(exports, "usePendingFolders", {
43027
43570
  enumerable: true,
43028
- get: function () { return chunkF3IRNQIB_cjs.usePendingFolders; }
43571
+ get: function () { return chunkHJBVSG6H_cjs.usePendingFolders; }
43029
43572
  });
43030
43573
  Object.defineProperty(exports, "ConnectedMarkdown", {
43031
43574
  enumerable: true,
@@ -43057,67 +43600,67 @@ Object.defineProperty(exports, "useDocumentWorkspace", {
43057
43600
  });
43058
43601
  Object.defineProperty(exports, "ConnectedPendingSyncDialog", {
43059
43602
  enumerable: true,
43060
- get: function () { return chunkERVXJW7P_cjs.ConnectedPendingSyncDialog; }
43603
+ get: function () { return chunkJ24LYNTY_cjs.ConnectedPendingSyncDialog; }
43061
43604
  });
43062
43605
  Object.defineProperty(exports, "DocumentFolderCell", {
43063
43606
  enumerable: true,
43064
- get: function () { return chunkERVXJW7P_cjs.DocumentFolderCell; }
43607
+ get: function () { return chunkJ24LYNTY_cjs.DocumentFolderCell; }
43065
43608
  });
43066
43609
  Object.defineProperty(exports, "DocumentLabelsCell", {
43067
43610
  enumerable: true,
43068
- get: function () { return chunkERVXJW7P_cjs.DocumentLabelsCell; }
43611
+ get: function () { return chunkJ24LYNTY_cjs.DocumentLabelsCell; }
43069
43612
  });
43070
43613
  Object.defineProperty(exports, "DocumentNameCell", {
43071
43614
  enumerable: true,
43072
- get: function () { return chunkERVXJW7P_cjs.DocumentNameCell; }
43615
+ get: function () { return chunkJ24LYNTY_cjs.DocumentNameCell; }
43073
43616
  });
43074
43617
  Object.defineProperty(exports, "DocumentSharedCell", {
43075
43618
  enumerable: true,
43076
- get: function () { return chunkERVXJW7P_cjs.DocumentSharedCell; }
43619
+ get: function () { return chunkJ24LYNTY_cjs.DocumentSharedCell; }
43077
43620
  });
43078
43621
  Object.defineProperty(exports, "DocumentStatusGlyph", {
43079
43622
  enumerable: true,
43080
- get: function () { return chunkERVXJW7P_cjs.DocumentStatusGlyph; }
43623
+ get: function () { return chunkJ24LYNTY_cjs.DocumentStatusGlyph; }
43081
43624
  });
43082
43625
  Object.defineProperty(exports, "DocumentSyncGlyph", {
43083
43626
  enumerable: true,
43084
- get: function () { return chunkERVXJW7P_cjs.DocumentSyncGlyph; }
43627
+ get: function () { return chunkJ24LYNTY_cjs.DocumentSyncGlyph; }
43085
43628
  });
43086
43629
  Object.defineProperty(exports, "FileTooltipContent", {
43087
43630
  enumerable: true,
43088
- get: function () { return chunkERVXJW7P_cjs.FileTooltipContent; }
43631
+ get: function () { return chunkJ24LYNTY_cjs.FileTooltipContent; }
43089
43632
  });
43090
43633
  Object.defineProperty(exports, "RelatedDocumentsCell", {
43091
43634
  enumerable: true,
43092
- get: function () { return chunkERVXJW7P_cjs.RelatedDocumentsCell; }
43635
+ get: function () { return chunkJ24LYNTY_cjs.RelatedDocumentsCell; }
43093
43636
  });
43094
43637
  Object.defineProperty(exports, "StatusCell", {
43095
43638
  enumerable: true,
43096
- get: function () { return chunkERVXJW7P_cjs.StatusCell; }
43639
+ get: function () { return chunkJ24LYNTY_cjs.StatusCell; }
43097
43640
  });
43098
43641
  Object.defineProperty(exports, "UserAvatar", {
43099
43642
  enumerable: true,
43100
- get: function () { return chunkERVXJW7P_cjs.UserAvatar; }
43643
+ get: function () { return chunkJ24LYNTY_cjs.UserAvatar; }
43101
43644
  });
43102
43645
  Object.defineProperty(exports, "isActiveDocumentStatus", {
43103
43646
  enumerable: true,
43104
- get: function () { return chunkERVXJW7P_cjs.isActiveDocumentStatus; }
43647
+ get: function () { return chunkJ24LYNTY_cjs.isActiveDocumentStatus; }
43105
43648
  });
43106
43649
  Object.defineProperty(exports, "openPendingSyncDialog", {
43107
43650
  enumerable: true,
43108
- get: function () { return chunkERVXJW7P_cjs.openPendingSyncDialog; }
43651
+ get: function () { return chunkJ24LYNTY_cjs.openPendingSyncDialog; }
43109
43652
  });
43110
43653
  Object.defineProperty(exports, "parseQuotaError", {
43111
43654
  enumerable: true,
43112
- get: function () { return chunkERVXJW7P_cjs.parseQuotaError; }
43655
+ get: function () { return chunkJ24LYNTY_cjs.parseQuotaError; }
43113
43656
  });
43114
43657
  Object.defineProperty(exports, "startMenuItem", {
43115
43658
  enumerable: true,
43116
- get: function () { return chunkERVXJW7P_cjs.startMenuItem; }
43659
+ get: function () { return chunkJ24LYNTY_cjs.startMenuItem; }
43117
43660
  });
43118
43661
  Object.defineProperty(exports, "useDocumentFolders", {
43119
43662
  enumerable: true,
43120
- get: function () { return chunkERVXJW7P_cjs.useDocumentFolders; }
43663
+ get: function () { return chunkJ24LYNTY_cjs.useDocumentFolders; }
43121
43664
  });
43122
43665
  Object.defineProperty(exports, "useMeetingThreadMessages", {
43123
43666
  enumerable: true,
@@ -43225,6 +43768,7 @@ exports.ConnectedChatFactsTab = ConnectedChatFactsTab;
43225
43768
  exports.ConnectedChatMessageBody = ConnectedChatMessageBody;
43226
43769
  exports.ConnectedChatPeopleDialog = ConnectedChatPeopleDialog;
43227
43770
  exports.ConnectedChatThread = ConnectedChatThread;
43771
+ exports.ConnectedCommandPalette = ConnectedCommandPalette;
43228
43772
  exports.ConnectedConfigForm = ConnectedConfigForm;
43229
43773
  exports.ConnectedContactCardForm = ConnectedContactCardForm;
43230
43774
  exports.ConnectedContactMenu = ConnectedContactMenu;
@@ -43454,6 +43998,7 @@ exports.closeAccessRequestReview = closeAccessRequestReview;
43454
43998
  exports.connectedAppsSettingsSection = connectedAppsSettingsSection;
43455
43999
  exports.connectionSettingsSection = connectionSettingsSection;
43456
44000
  exports.countNotificationTypes = countNotificationTypes;
44001
+ exports.createBuiltinActions = createBuiltinActions;
43457
44002
  exports.createDocumentColumns = createDocumentColumns;
43458
44003
  exports.createEventCall = createEventCall;
43459
44004
  exports.createNotificationTargetOpener = createNotificationTargetOpener;
@@ -43481,6 +44026,7 @@ exports.loadEventWebinar = loadEventWebinar;
43481
44026
  exports.mailSettingsSection = mailSettingsSection;
43482
44027
  exports.modelConnectionsSettingsSection = modelConnectionsSettingsSection;
43483
44028
  exports.offlineMailSupport = offlineMailSupport;
44029
+ exports.openCommandPalette = openCommandPalette;
43484
44030
  exports.openFieldsManagerIn = openFieldsManagerIn;
43485
44031
  exports.openMeetingLink = openMeetingLink;
43486
44032
  exports.openQuotaDialogIfUsedUp = openQuotaDialogIfUsedUp;