@arbidocs/blocks 0.4.150 → 0.4.151

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 (107) hide show
  1. package/dist/{ConnectedNativeDocxComparison-XQSXVGHR.js → ConnectedNativeDocxComparison-OFPIXNJB.js} +6 -6
  2. package/dist/{ConnectedStreamedWordArtifact-UZVNBKQB.js.map → ConnectedNativeDocxComparison-OFPIXNJB.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-3XQSINPQ.cjs → ConnectedNativeDocxComparison-Y5BNLNH6.cjs} +7 -7
  4. package/dist/{ConnectedNativeDocxComparison-3XQSINPQ.cjs.map → ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-OUWFMIPH.cjs → ConnectedNativeDocxEditor-HTEW5JAH.cjs} +7 -7
  6. package/dist/{ConnectedNativeDocxEditor-OUWFMIPH.cjs.map → ConnectedNativeDocxEditor-HTEW5JAH.cjs.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-IPEZDERL.js → ConnectedNativeDocxEditor-LRYU5HPA.js} +5 -5
  8. package/dist/{ConnectedNativeDocxEditor-IPEZDERL.js.map → ConnectedNativeDocxEditor-LRYU5HPA.js.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-UZVNBKQB.js → ConnectedStreamedWordArtifact-QAUVUCSX.js} +6 -6
  10. package/dist/{ConnectedNativeDocxComparison-XQSXVGHR.js.map → ConnectedStreamedWordArtifact-QAUVUCSX.js.map} +1 -1
  11. package/dist/{ConnectedStreamedWordArtifact-D5LSMDO4.cjs → ConnectedStreamedWordArtifact-QW74LKHN.cjs} +7 -7
  12. package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +1 -0
  13. package/dist/agents/index.cjs +238 -238
  14. package/dist/agents/index.js +4 -4
  15. package/dist/calls/index.cjs +3 -3
  16. package/dist/calls/index.js +2 -2
  17. package/dist/{chunk-IPQ5MJ4Z.cjs → chunk-2FLWPM3B.cjs} +5 -5
  18. package/dist/{chunk-IPQ5MJ4Z.cjs.map → chunk-2FLWPM3B.cjs.map} +1 -1
  19. package/dist/{chunk-CQPFW64W.js → chunk-3PCBYOIZ.js} +3 -3
  20. package/dist/{chunk-CQPFW64W.js.map → chunk-3PCBYOIZ.js.map} +1 -1
  21. package/dist/{chunk-Q6N6MZKO.js → chunk-4236BRZK.js} +3 -3
  22. package/dist/{chunk-Q6N6MZKO.js.map → chunk-4236BRZK.js.map} +1 -1
  23. package/dist/{chunk-KLPRAQCE.cjs → chunk-6I6CVX5G.cjs} +2 -2
  24. package/dist/{chunk-KLPRAQCE.cjs.map → chunk-6I6CVX5G.cjs.map} +1 -1
  25. package/dist/{chunk-TAWPVD6C.cjs → chunk-B3FMUFAW.cjs} +3 -3
  26. package/dist/{chunk-TAWPVD6C.cjs.map → chunk-B3FMUFAW.cjs.map} +1 -1
  27. package/dist/{chunk-3E2F4AHD.js → chunk-CROTH2BS.js} +5 -5
  28. package/dist/{chunk-3E2F4AHD.js.map → chunk-CROTH2BS.js.map} +1 -1
  29. package/dist/{chunk-ILM42LE6.cjs → chunk-CU2O32Z4.cjs} +25 -25
  30. package/dist/{chunk-ILM42LE6.cjs.map → chunk-CU2O32Z4.cjs.map} +1 -1
  31. package/dist/{chunk-TL45OJQE.js → chunk-DB2OXRQC.js} +3 -3
  32. package/dist/{chunk-TL45OJQE.js.map → chunk-DB2OXRQC.js.map} +1 -1
  33. package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
  34. package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
  35. package/dist/{chunk-XRWHFMHK.js → chunk-EYJMMGXF.js} +2 -2
  36. package/dist/{chunk-XRWHFMHK.js.map → chunk-EYJMMGXF.js.map} +1 -1
  37. package/dist/{chunk-NWNAYXC7.cjs → chunk-GFOEWPAP.cjs} +3 -3
  38. package/dist/{chunk-NWNAYXC7.cjs.map → chunk-GFOEWPAP.cjs.map} +1 -1
  39. package/dist/{chunk-YIFCLNII.cjs → chunk-HALD6ZB5.cjs} +4 -4
  40. package/dist/{chunk-YIFCLNII.cjs.map → chunk-HALD6ZB5.cjs.map} +1 -1
  41. package/dist/{chunk-TC25LGIM.js → chunk-HUJF2XM2.js} +4 -4
  42. package/dist/chunk-HUJF2XM2.js.map +1 -0
  43. package/dist/{chunk-GGTUMLCT.cjs → chunk-Q4BY2CQQ.cjs} +3 -3
  44. package/dist/{chunk-GGTUMLCT.cjs.map → chunk-Q4BY2CQQ.cjs.map} +1 -1
  45. package/dist/{chunk-AXTDDWMR.js → chunk-QN47Q4N7.js} +3 -3
  46. package/dist/{chunk-AXTDDWMR.js.map → chunk-QN47Q4N7.js.map} +1 -1
  47. package/dist/{chunk-V4YZXGXR.cjs → chunk-T74Q3MCZ.cjs} +4 -4
  48. package/dist/chunk-T74Q3MCZ.cjs.map +1 -0
  49. package/dist/{chunk-3FSXWVHW.cjs → chunk-U6JQ4KMX.cjs} +3 -3
  50. package/dist/{chunk-3FSXWVHW.cjs.map → chunk-U6JQ4KMX.cjs.map} +1 -1
  51. package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
  52. package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
  53. package/dist/{chunk-UTVY63DG.js → chunk-WFA2GVZJ.js} +3 -3
  54. package/dist/{chunk-UTVY63DG.js.map → chunk-WFA2GVZJ.js.map} +1 -1
  55. package/dist/{chunk-ZO7PJMCO.js → chunk-WU34CHU5.js} +3 -3
  56. package/dist/{chunk-ZO7PJMCO.js.map → chunk-WU34CHU5.js.map} +1 -1
  57. package/dist/{chunk-HGLC566X.js → chunk-YXNNNP57.js} +3 -3
  58. package/dist/{chunk-HGLC566X.js.map → chunk-YXNNNP57.js.map} +1 -1
  59. package/dist/{chunk-EDV7CYG6.cjs → chunk-ZP6Q3KXU.cjs} +4 -4
  60. package/dist/{chunk-EDV7CYG6.cjs.map → chunk-ZP6Q3KXU.cjs.map} +1 -1
  61. package/dist/collaboration/index.cjs +1 -1
  62. package/dist/collaboration/index.js +1 -1
  63. package/dist/connect/docx.cjs +9 -9
  64. package/dist/connect/docx.js +5 -5
  65. package/dist/connect/index.cjs +292 -292
  66. package/dist/connect/index.d.ts +1 -1
  67. package/dist/connect/index.js +13 -13
  68. package/dist/connect/viewer.cjs +1249 -121
  69. package/dist/connect/viewer.cjs.map +1 -1
  70. package/dist/connect/viewer.js +1145 -21
  71. package/dist/connect/viewer.js.map +1 -1
  72. package/dist/connection/viewer/parsed/ParsedPassage.d.ts +48 -0
  73. package/dist/connection/viewer/parsed/ParsedTextView.d.ts +17 -0
  74. package/dist/connection/viewer/parsed/PassageTagPanel.d.ts +18 -0
  75. package/dist/connection/viewer/parsed/citation-line.d.ts +17 -0
  76. package/dist/connection/viewer/parsed/document-tags.d.ts +8 -0
  77. package/dist/connection/viewer/parsed/useChunkTagging.d.ts +46 -0
  78. package/dist/connection/viewer/parsed/useCitationSelection.d.ts +27 -0
  79. package/dist/connection/viewer/parsed/useDocumentLabels.d.ts +38 -0
  80. package/dist/connection/viewer/parsed/useLazyPages.d.ts +18 -0
  81. package/dist/connection/viewer/parsed/usePageScrollSync.d.ts +17 -0
  82. package/dist/connection/viewer/parsed/usePassageCopy.d.ts +25 -0
  83. package/dist/connection/viewer/support.d.ts +27 -9
  84. package/dist/facts/index.cjs +55 -55
  85. package/dist/facts/index.js +5 -5
  86. package/dist/files/TagPassagePanel.d.ts +2 -1
  87. package/dist/files/index.cjs +169 -169
  88. package/dist/files/index.js +3 -3
  89. package/dist/home/index.cjs +2 -2
  90. package/dist/home/index.js +2 -2
  91. package/dist/index.cjs +355 -355
  92. package/dist/index.js +8 -8
  93. package/dist/retrieval/index.cjs +1 -1
  94. package/dist/retrieval/index.js +1 -1
  95. package/dist/settings/index.cjs +164 -164
  96. package/dist/settings/index.js +3 -3
  97. package/dist/shell/index.cjs +2 -2
  98. package/dist/shell/index.js +2 -2
  99. package/dist/studio/index.cjs +2 -2
  100. package/dist/studio/index.js +2 -2
  101. package/dist/workflow-canvas/index.cjs +16 -16
  102. package/dist/workflow-canvas/index.js +4 -4
  103. package/node_modules/@arbidocs/coedit/package.json +1 -1
  104. package/package.json +5 -5
  105. package/dist/ConnectedStreamedWordArtifact-D5LSMDO4.cjs.map +0 -1
  106. package/dist/chunk-TC25LGIM.js.map +0 -1
  107. package/dist/chunk-V4YZXGXR.cjs.map +0 -1
@@ -2,10 +2,10 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkRXK3XP62_cjs = require('../chunk-RXK3XP62.cjs');
5
- var chunk3FSXWVHW_cjs = require('../chunk-3FSXWVHW.cjs');
5
+ var chunkU6JQ4KMX_cjs = require('../chunk-U6JQ4KMX.cjs');
6
6
  var chunk4KMLM3GY_cjs = require('../chunk-4KMLM3GY.cjs');
7
- var chunkGGTUMLCT_cjs = require('../chunk-GGTUMLCT.cjs');
8
- var chunkKLPRAQCE_cjs = require('../chunk-KLPRAQCE.cjs');
7
+ var chunkQ4BY2CQQ_cjs = require('../chunk-Q4BY2CQQ.cjs');
8
+ var chunk6I6CVX5G_cjs = require('../chunk-6I6CVX5G.cjs');
9
9
  var chunkYAEXSCUW_cjs = require('../chunk-YAEXSCUW.cjs');
10
10
  require('../chunk-223D4727.cjs');
11
11
  var chunkGAYMJWTC_cjs = require('../chunk-GAYMJWTC.cjs');
@@ -13,24 +13,24 @@ var chunkGFNELPDP_cjs = require('../chunk-GFNELPDP.cjs');
13
13
  var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
14
14
  require('../chunk-464YPRAE.cjs');
15
15
  require('../chunk-NPR5BGFF.cjs');
16
- var chunkTAWPVD6C_cjs = require('../chunk-TAWPVD6C.cjs');
16
+ var chunkB3FMUFAW_cjs = require('../chunk-B3FMUFAW.cjs');
17
17
  var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
18
18
  var chunk5FYU7ZIU_cjs = require('../chunk-5FYU7ZIU.cjs');
19
- var chunkIPQ5MJ4Z_cjs = require('../chunk-IPQ5MJ4Z.cjs');
19
+ var chunk2FLWPM3B_cjs = require('../chunk-2FLWPM3B.cjs');
20
20
  var chunkXAJIKT6Y_cjs = require('../chunk-XAJIKT6Y.cjs');
21
21
  var chunkGOWXP5KT_cjs = require('../chunk-GOWXP5KT.cjs');
22
22
  var chunkQZTNTP75_cjs = require('../chunk-QZTNTP75.cjs');
23
23
  require('../chunk-NWNVWO6L.cjs');
24
24
  var chunkGRGS5M6O_cjs = require('../chunk-GRGS5M6O.cjs');
25
- require('../chunk-LJJJ6CYH.cjs');
26
25
  require('../chunk-FAXXN7KI.cjs');
27
26
  var chunkV46W7YLI_cjs = require('../chunk-V46W7YLI.cjs');
27
+ require('../chunk-LJJJ6CYH.cjs');
28
28
  require('../chunk-D54JXTPG.cjs');
29
29
  var chunkQT3A4PFC_cjs = require('../chunk-QT3A4PFC.cjs');
30
30
  var chunkUTTTJSQU_cjs = require('../chunk-UTTTJSQU.cjs');
31
31
  var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
32
32
  var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
33
- var chunkNWNAYXC7_cjs = require('../chunk-NWNAYXC7.cjs');
33
+ var chunkGFOEWPAP_cjs = require('../chunk-GFOEWPAP.cjs');
34
34
  var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
35
35
  var chunk4JNKXOFZ_cjs = require('../chunk-4JNKXOFZ.cjs');
36
36
  require('../chunk-EYKISBDO.cjs');
@@ -45,13 +45,10 @@ var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
45
45
  var chunkC2CWWEHO_cjs = require('../chunk-C2CWWEHO.cjs');
46
46
  var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
47
47
  require('../chunk-ADOKTJHV.cjs');
48
- var chunkZAVEMQ37_cjs = require('../chunk-ZAVEMQ37.cjs');
49
- var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
50
48
  var chunkLLYZGH3L_cjs = require('../chunk-LLYZGH3L.cjs');
51
49
  var chunkBIXHB4LV_cjs = require('../chunk-BIXHB4LV.cjs');
52
- var chunkLXTOOUEN_cjs = require('../chunk-LXTOOUEN.cjs');
53
- var chunkKPZZ5FHE_cjs = require('../chunk-KPZZ5FHE.cjs');
54
- var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
50
+ var chunkDWZXSPMB_cjs = require('../chunk-DWZXSPMB.cjs');
51
+ var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
55
52
  var chunk5A2QQAF5_cjs = require('../chunk-5A2QQAF5.cjs');
56
53
  require('../chunk-B6MVQCXW.cjs');
57
54
  var chunkJKB7WT7L_cjs = require('../chunk-JKB7WT7L.cjs');
@@ -62,6 +59,9 @@ require('../chunk-7UTB4PHM.cjs');
62
59
  require('../chunk-FX3K6LNZ.cjs');
63
60
  require('../chunk-PPCATBOY.cjs');
64
61
  require('../chunk-MHVNT4J3.cjs');
62
+ var chunkLXTOOUEN_cjs = require('../chunk-LXTOOUEN.cjs');
63
+ var chunkKPZZ5FHE_cjs = require('../chunk-KPZZ5FHE.cjs');
64
+ var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
65
65
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
66
66
  require('../chunk-DES3K4SD.cjs');
67
67
  var react = require('react');
@@ -155,7 +155,7 @@ function ConnectedWorkspaceActivity({
155
155
  [feed.data]
156
156
  );
157
157
  return /* @__PURE__ */ jsxRuntime.jsx(
158
- chunkIPQ5MJ4Z_cjs.WorkspaceActivityList,
158
+ chunk2FLWPM3B_cjs.WorkspaceActivityList,
159
159
  {
160
160
  ...listProps,
161
161
  items,
@@ -583,7 +583,7 @@ function NotificationCenter({
583
583
  }
584
584
  ];
585
585
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full bg-background", "data-testid": "notifications-page", children: [
586
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
586
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.DraggableHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(
587
587
  chunk7RGLTF76_cjs.TabHeader,
588
588
  {
589
589
  tabs,
@@ -833,7 +833,7 @@ function ConnectedWorkspaceNotificationMenu({
833
833
  }, [error, notify14]);
834
834
  if (!workspaceId) return null;
835
835
  return /* @__PURE__ */ jsxRuntime.jsx(
836
- chunkIPQ5MJ4Z_cjs.WorkspaceNotificationMenu,
836
+ chunk2FLWPM3B_cjs.WorkspaceNotificationMenu,
837
837
  {
838
838
  ...menuProps,
839
839
  level,
@@ -852,7 +852,7 @@ function ConnectedThreadFollow({
852
852
  enabled: live
853
853
  });
854
854
  if (!conversationId) return null;
855
- const Control = as === "menu-item" ? chunkIPQ5MJ4Z_cjs.ThreadFollowMenuItem : chunkIPQ5MJ4Z_cjs.ThreadFollowButton;
855
+ const Control = as === "menu-item" ? chunk2FLWPM3B_cjs.ThreadFollowMenuItem : chunk2FLWPM3B_cjs.ThreadFollowButton;
856
856
  return /* @__PURE__ */ jsxRuntime.jsx(
857
857
  Control,
858
858
  {
@@ -925,7 +925,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
925
925
  onChange: (e) => {
926
926
  const file = e.target.files?.[0];
927
927
  e.target.value = "";
928
- if (file) void add(() => chunkNWNAYXC7_cjs.importSkillFile(file));
928
+ if (file) void add(() => chunkGFOEWPAP_cjs.importSkillFile(file));
929
929
  }
930
930
  }
931
931
  ),
@@ -950,7 +950,7 @@ function ConnectedSkillUpload({ onDone, labels, className }) {
950
950
  className: "space-y-2",
951
951
  onSubmit: (e) => {
952
952
  e.preventDefault();
953
- if (url.trim()) void add(() => chunkNWNAYXC7_cjs.importSkillFromUrl(url));
953
+ if (url.trim()) void add(() => chunkGFOEWPAP_cjs.importSkillFromUrl(url));
954
954
  },
955
955
  children: [
956
956
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "skills-add-url", children: l.fromLink }),
@@ -1014,9 +1014,9 @@ function ConnectedSkillsLibrary({
1014
1014
  const [type, setType] = react.useState("all");
1015
1015
  const [view, setView] = react.useState("gallery");
1016
1016
  const [isBusy, setIsBusy] = react.useState(false);
1017
- const all = react.useMemo(() => chunkNWNAYXC7_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1017
+ const all = react.useMemo(() => chunkGFOEWPAP_cjs.buildLibrarySkills(builtins, listings ?? []), [builtins, listings]);
1018
1018
  const shown = react.useMemo(
1019
- () => chunkNWNAYXC7_cjs.filterLibrarySkills(all, { query, source, type }),
1019
+ () => chunkGFOEWPAP_cjs.filterLibrarySkills(all, { query, source, type }),
1020
1020
  [all, query, source, type]
1021
1021
  );
1022
1022
  const current = all.find((s) => s.slug === selected) ?? null;
@@ -1027,21 +1027,21 @@ function ConnectedSkillsLibrary({
1027
1027
  const count = (s) => all.filter((x) => x.source === s).length;
1028
1028
  const sourceOptions = [
1029
1029
  { id: "all", label: "All", count: all.length },
1030
- { id: "builtin", label: chunkNWNAYXC7_cjs.SKILL_SOURCE_LABELS.builtin, count: count("builtin") },
1031
- { id: "mine", label: chunkNWNAYXC7_cjs.SKILL_SOURCE_LABELS.mine, count: count("mine") },
1032
- { id: "shared", label: chunkNWNAYXC7_cjs.SKILL_SOURCE_LABELS.shared, count: count("shared") }
1030
+ { id: "builtin", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.builtin, count: count("builtin") },
1031
+ { id: "mine", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.mine, count: count("mine") },
1032
+ { id: "shared", label: chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.shared, count: count("shared") }
1033
1033
  ];
1034
1034
  const types = [...new Set(all.map((s) => s.type))];
1035
1035
  const typeOptions = [
1036
1036
  { id: "all", label: "Any kind" },
1037
- ...types.map((t) => ({ id: t, label: chunkNWNAYXC7_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1037
+ ...types.map((t) => ({ id: t, label: chunkGFOEWPAP_cjs.SKILL_TYPE_LABELS[t] ?? t }))
1038
1038
  ];
1039
1039
  const pick = (slug) => {
1040
1040
  setSelected(slug);
1041
1041
  setMode("detail");
1042
1042
  };
1043
1043
  const markdownOf = async (skill) => {
1044
- if (!skill.docExtId) return chunkNWNAYXC7_cjs.workflowToSkillMarkdown(skill.workflow);
1044
+ if (!skill.docExtId) return chunkGFOEWPAP_cjs.workflowToSkillMarkdown(skill.workflow);
1045
1045
  const response = await arbi.documents.download(skill.docExtId);
1046
1046
  if (!response.ok) throw new Error(`Could not read the skill (${response.status})`);
1047
1047
  return response.text();
@@ -1049,7 +1049,7 @@ function ConnectedSkillsLibrary({
1049
1049
  const saveAs = (slug, markdown, shared = false) => upload.mutateAsync([
1050
1050
  {
1051
1051
  folder: `${SKILL_FOLDER}${slug}`,
1052
- fileName: chunkNWNAYXC7_cjs.SKILL_MAIN_FILENAME,
1052
+ fileName: chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME,
1053
1053
  content: new Blob([markdown], { type: "text/markdown" }),
1054
1054
  shared
1055
1055
  }
@@ -1112,7 +1112,7 @@ function ConnectedSkillsLibrary({
1112
1112
  try {
1113
1113
  documentTools.downloadBlob(
1114
1114
  new Blob([await markdownOf(skill)], { type: "text/markdown" }),
1115
- chunkNWNAYXC7_cjs.SKILL_MAIN_FILENAME
1115
+ chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME
1116
1116
  );
1117
1117
  } catch (error) {
1118
1118
  notify14(errorText(error, "Could not export the skill"), "error");
@@ -1153,10 +1153,10 @@ function ConnectedSkillsLibrary({
1153
1153
  }
1154
1154
  )
1155
1155
  ] }),
1156
- /* @__PURE__ */ jsxRuntime.jsx(chunkNWNAYXC7_cjs.SkillViewToggle, { value: view, onChange: setView })
1156
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGFOEWPAP_cjs.SkillViewToggle, { value: view, onChange: setView })
1157
1157
  ] }),
1158
1158
  /* @__PURE__ */ jsxRuntime.jsx(
1159
- chunkNWNAYXC7_cjs.SkillFilterChips,
1159
+ chunkGFOEWPAP_cjs.SkillFilterChips,
1160
1160
  {
1161
1161
  label: "Show",
1162
1162
  value: source,
@@ -1165,7 +1165,7 @@ function ConnectedSkillsLibrary({
1165
1165
  }
1166
1166
  ),
1167
1167
  types.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1168
- chunkNWNAYXC7_cjs.SkillFilterChips,
1168
+ chunkGFOEWPAP_cjs.SkillFilterChips,
1169
1169
  {
1170
1170
  label: "Kind",
1171
1171
  value: type,
@@ -1212,12 +1212,12 @@ function ConnectedSkillsLibrary({
1212
1212
  view === "gallery" ? "grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]" : "flex flex-col"
1213
1213
  ),
1214
1214
  children: shown.map((skill) => /* @__PURE__ */ jsxRuntime.jsx(
1215
- chunkNWNAYXC7_cjs.SkillTile,
1215
+ chunkGFOEWPAP_cjs.SkillTile,
1216
1216
  {
1217
1217
  name: skill.title,
1218
1218
  testId: `skill-tile-${skill.slug}`,
1219
1219
  description: skill.description,
1220
- sourceLabel: skill.isShared ? `${chunkNWNAYXC7_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkNWNAYXC7_cjs.SKILL_SOURCE_LABELS[skill.source],
1220
+ sourceLabel: skill.isShared ? `${chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS.mine}, shared` : chunkGFOEWPAP_cjs.SKILL_SOURCE_LABELS[skill.source],
1221
1221
  type: skill.type,
1222
1222
  icon,
1223
1223
  layout: view,
@@ -1252,7 +1252,7 @@ function ConnectedSkillsLibrary({
1252
1252
  }
1253
1253
  ),
1254
1254
  mode === "new" && /* @__PURE__ */ jsxRuntime.jsx(
1255
- chunkNWNAYXC7_cjs.SkillGenerateForm,
1255
+ chunkGFOEWPAP_cjs.SkillGenerateForm,
1256
1256
  {
1257
1257
  icon,
1258
1258
  onGenerate: (desc) => {
@@ -1279,11 +1279,11 @@ function ConnectedSkillsLibrary({
1279
1279
  ),
1280
1280
  mode === "add" && /* @__PURE__ */ jsxRuntime.jsx(ConnectedSkillUpload, { onDone: done }),
1281
1281
  mode === "detail" && current && /* @__PURE__ */ jsxRuntime.jsx(
1282
- chunkNWNAYXC7_cjs.SkillLibraryDetail,
1282
+ chunkGFOEWPAP_cjs.SkillLibraryDetail,
1283
1283
  {
1284
1284
  skill: current,
1285
1285
  icon,
1286
- instructions: current.docExtId ? currentText ? chunkNWNAYXC7_cjs.parseSkillFrontmatter(currentText, chunkNWNAYXC7_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1286
+ instructions: current.docExtId ? currentText ? chunkGFOEWPAP_cjs.parseSkillFrontmatter(currentText, chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME).content : "" : current.workflow.run.kind === "prompt" ? current.workflow.run.promptTemplate : "",
1287
1287
  isLoading: !!current.docExtId && textLoading,
1288
1288
  actions: {
1289
1289
  onRun: () => onRun(current.slug),
@@ -1318,7 +1318,7 @@ function SkillEditor({
1318
1318
  const [seeded, setSeeded] = react.useState(!isEditing);
1319
1319
  const [nameError, setNameError] = react.useState(null);
1320
1320
  if (isEditing && !seeded && text !== void 0) {
1321
- const parsed = chunkNWNAYXC7_cjs.parseSkillFrontmatter(text, chunkNWNAYXC7_cjs.SKILL_MAIN_FILENAME);
1321
+ const parsed = chunkGFOEWPAP_cjs.parseSkillFrontmatter(text, chunkGFOEWPAP_cjs.SKILL_MAIN_FILENAME);
1322
1322
  setDescription(parsed.description ?? "");
1323
1323
  setBody(parsed.content ?? "");
1324
1324
  setSeeded(true);
@@ -1332,15 +1332,15 @@ function SkillEditor({
1332
1332
  notify14("Add a short description.", "error");
1333
1333
  return;
1334
1334
  }
1335
- const slug = chunkNWNAYXC7_cjs.skillSlug(name);
1335
+ const slug = chunkGFOEWPAP_cjs.skillSlug(name);
1336
1336
  try {
1337
- await onSave(slug, chunkNWNAYXC7_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1337
+ await onSave(slug, chunkGFOEWPAP_cjs.serializeSkill({ name: slug, description, body }), isEditing);
1338
1338
  } catch (err) {
1339
1339
  notify14(errorText(err, "Could not save the skill"), "error");
1340
1340
  }
1341
1341
  };
1342
1342
  return /* @__PURE__ */ jsxRuntime.jsx(
1343
- chunkNWNAYXC7_cjs.SkillEditForm,
1343
+ chunkGFOEWPAP_cjs.SkillEditForm,
1344
1344
  {
1345
1345
  name,
1346
1346
  onNameChange: setName,
@@ -1376,9 +1376,9 @@ function ConnectedAgentCreator({
1376
1376
  agent,
1377
1377
  initialName,
1378
1378
  onSaved,
1379
- capabilities = chunkNWNAYXC7_cjs.DEFAULT_AGENT_CAPABILITIES,
1380
- templates = chunkNWNAYXC7_cjs.DEFAULT_AGENT_TEMPLATES,
1381
- types = chunkNWNAYXC7_cjs.DEFAULT_AGENT_TYPES,
1379
+ capabilities = chunkGFOEWPAP_cjs.DEFAULT_AGENT_CAPABILITIES,
1380
+ templates = chunkGFOEWPAP_cjs.DEFAULT_AGENT_TEMPLATES,
1381
+ types = chunkGFOEWPAP_cjs.DEFAULT_AGENT_TYPES,
1382
1382
  canRevokeWorkspaces = false,
1383
1383
  labels
1384
1384
  }) {
@@ -1420,7 +1420,7 @@ function ConnectedAgentCreator({
1420
1420
  const initialValues = react.useMemo(
1421
1421
  () => ({
1422
1422
  name: agent?.given_name ?? initialName ?? "",
1423
- persona: isEdit ? chunkNWNAYXC7_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1423
+ persona: isEdit ? chunkGFOEWPAP_cjs.stripPersonaPreamble(String(agents.PERSONA ?? "")) : "",
1424
1424
  modelName: String(agents.AGENT_MODEL_NAME ?? ""),
1425
1425
  capabilities: Object.fromEntries(capabilities.map(({ key }) => [key, Boolean(agents[key])])),
1426
1426
  type: "builtin",
@@ -1439,7 +1439,7 @@ function ConnectedAgentCreator({
1439
1439
  try {
1440
1440
  let agentExtId = agent?.external_id ?? early?.id ?? "";
1441
1441
  if (!agentExtId) {
1442
- if (!chunkNWNAYXC7_cjs.isValidAgentName(values.name)) {
1442
+ if (!chunkGFOEWPAP_cjs.isValidAgentName(values.name)) {
1443
1443
  notify14("Give the agent a name first.", "error");
1444
1444
  return;
1445
1445
  }
@@ -1475,7 +1475,7 @@ function ConnectedAgentCreator({
1475
1475
  title: `agent-${name}`,
1476
1476
  sections: {
1477
1477
  Agents: {
1478
- PERSONA: chunkNWNAYXC7_cjs.composePersona(name, values.persona),
1478
+ PERSONA: chunkGFOEWPAP_cjs.composePersona(name, values.persona),
1479
1479
  ...values.modelName ? { AGENT_MODEL_NAME: values.modelName } : {},
1480
1480
  ...Object.fromEntries(capabilities.map(({ key }) => [key, !!values.capabilities[key]])),
1481
1481
  ENABLED_SKILLS: values.capabilities.SKILLS_ENABLED && skills.length ? skills : null,
@@ -1498,7 +1498,7 @@ function ConnectedAgentCreator({
1498
1498
  };
1499
1499
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1500
1500
  /* @__PURE__ */ jsxRuntime.jsx(
1501
- chunkNWNAYXC7_cjs.AgentCreator,
1501
+ chunkGFOEWPAP_cjs.AgentCreator,
1502
1502
  {
1503
1503
  open: ready,
1504
1504
  onOpenChange,
@@ -1514,11 +1514,11 @@ function ConnectedAgentCreator({
1514
1514
  ) : void 0,
1515
1515
  revokingWorkspaceId: revokeAccess.isPending ? revokeAccess.variables?.workspaceId : void 0,
1516
1516
  avatar: (values) => /* @__PURE__ */ jsxRuntime.jsx(
1517
- chunkNWNAYXC7_cjs.AgentAvatarField,
1517
+ chunkGFOEWPAP_cjs.AgentAvatarField,
1518
1518
  {
1519
1519
  picture,
1520
1520
  isBusy: avatarBusy,
1521
- canGenerate: isEdit || chunkNWNAYXC7_cjs.isValidAgentName(values.name),
1521
+ canGenerate: isEdit || chunkGFOEWPAP_cjs.isValidAgentName(values.name),
1522
1522
  onGenerate: () => handleGenerateAvatar(values)
1523
1523
  }
1524
1524
  ),
@@ -1570,7 +1570,7 @@ function ConnectedAgentCreator({
1570
1570
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Connect your agent" }),
1571
1571
  /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: "This key is shown once. Run the script on the machine that will host the agent." })
1572
1572
  ] }),
1573
- connect && /* @__PURE__ */ jsxRuntime.jsx(chunkNWNAYXC7_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
1573
+ connect && /* @__PURE__ */ jsxRuntime.jsx(chunkGFOEWPAP_cjs.AgentConnectInstructions, { email: connect.email, signingKey: connect.signingKey })
1574
1574
  ]
1575
1575
  }
1576
1576
  ) })
@@ -1607,7 +1607,7 @@ function ConnectedWorkflowHistory({
1607
1607
  const { openConversation } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
1608
1608
  const { data: runs = [], isLoading } = react$1.useWorkflowRuns(workflow?.external_id);
1609
1609
  return /* @__PURE__ */ jsxRuntime.jsx(
1610
- chunkNWNAYXC7_cjs.TaskRunsDialog,
1610
+ chunkGFOEWPAP_cjs.TaskRunsDialog,
1611
1611
  {
1612
1612
  inline,
1613
1613
  hideHeader,
@@ -1643,7 +1643,7 @@ function ConnectedTaskActivityDialog({
1643
1643
  const activity = react$1.useConversationActivity(conversationId, { live });
1644
1644
  const { data: agents = [] } = react$1.useAgents();
1645
1645
  const { userId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
1646
- const { members } = chunkGGTUMLCT_cjs.useConnectedWorkspaceRole();
1646
+ const { members } = chunkQ4BY2CQQ_cjs.useConnectedWorkspaceRole();
1647
1647
  const renderPerson = react.useCallback(
1648
1648
  (id) => {
1649
1649
  const isMe = !!id && id === userId;
@@ -1659,7 +1659,7 @@ function ConnectedTaskActivityDialog({
1659
1659
  [agents]
1660
1660
  );
1661
1661
  return /* @__PURE__ */ jsxRuntime.jsx(
1662
- chunkNWNAYXC7_cjs.TaskActivityDialog,
1662
+ chunkGFOEWPAP_cjs.TaskActivityDialog,
1663
1663
  {
1664
1664
  open: true,
1665
1665
  onOpenChange: (open) => !open && onClose(),
@@ -1805,7 +1805,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1805
1805
  );
1806
1806
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
1807
1807
  const steps = react.useMemo(
1808
- () => chunkJSTKEZBS_cjs.workflowSteps(workflow).length > 0 ? chunkJSTKEZBS_cjs.workflowSteps(workflow) : chunkNWNAYXC7_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1808
+ () => chunkJSTKEZBS_cjs.workflowSteps(workflow).length > 0 ? chunkJSTKEZBS_cjs.workflowSteps(workflow) : chunkGFOEWPAP_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1809
1809
  [workflow, conversation?.plan?.steps]
1810
1810
  );
1811
1811
  const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
@@ -1865,7 +1865,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1865
1865
  criteria: [],
1866
1866
  max_passes: 3,
1867
1867
  documents: [],
1868
- steps: chunkNWNAYXC7_cjs.toPlanSteps(workflow, {
1868
+ steps: chunkGFOEWPAP_cjs.toPlanSteps(workflow, {
1869
1869
  inputs: values,
1870
1870
  resolveWorkflow: options2.resolveWorkflow,
1871
1871
  compose: options2.compose
@@ -1952,7 +1952,7 @@ function useWorkflowThread(workflow, options2 = {}) {
1952
1952
  const anyRunning = Object.values(states).some((s) => s.status === "running");
1953
1953
  const needsStart = !threadId || idle && !anyRunning;
1954
1954
  const runError = idle ? conversation?.last_error ?? null : null;
1955
- const view = chunkNWNAYXC7_cjs.useWorkflowView({
1955
+ const view = chunkGFOEWPAP_cjs.useWorkflowView({
1956
1956
  steps,
1957
1957
  states,
1958
1958
  inputs,
@@ -2120,7 +2120,7 @@ function WorkflowWordDialog({
2120
2120
  title: title ?? labels.wordTitle,
2121
2121
  size: "xl",
2122
2122
  testId: "workflow-word-dialog",
2123
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkGGTUMLCT_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2123
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4BY2CQQ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
2124
2124
  }
2125
2125
  );
2126
2126
  }
@@ -2429,7 +2429,7 @@ function ConnectedWorkflowRunner({
2429
2429
  );
2430
2430
  };
2431
2431
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
2432
- chunkNWNAYXC7_cjs.WorkflowRunner,
2432
+ chunkGFOEWPAP_cjs.WorkflowRunner,
2433
2433
  {
2434
2434
  people,
2435
2435
  ...runnerProps,
@@ -2475,7 +2475,7 @@ function ConnectedWorkflowRunner({
2475
2475
  ) }),
2476
2476
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2477
2477
  /* @__PURE__ */ jsxRuntime.jsx(
2478
- chunkNWNAYXC7_cjs.WorkflowStepBar,
2478
+ chunkGFOEWPAP_cjs.WorkflowStepBar,
2479
2479
  {
2480
2480
  run: view,
2481
2481
  levels: chunkJSTKEZBS_cjs.stepLevels(view.steps),
@@ -2646,10 +2646,10 @@ function cascadeTagCombination(tags, previous, next) {
2646
2646
  function tagCombinationMatches(combination, items) {
2647
2647
  if (!isCombining(combination)) return void 0;
2648
2648
  const pass = (list) => new Set(
2649
- chunk3FSXWVHW_cjs.applyInvertedIndexFilter(
2649
+ chunkU6JQ4KMX_cjs.applyInvertedIndexFilter(
2650
2650
  [...list],
2651
2651
  combination,
2652
- chunk3FSXWVHW_cjs.buildInvertedIndex(
2652
+ chunkU6JQ4KMX_cjs.buildInvertedIndex(
2653
2653
  [...list],
2654
2654
  (item) => item.id,
2655
2655
  (item) => item.tagIds
@@ -2766,7 +2766,7 @@ function ConnectedTagTable({
2766
2766
  const fail = (fallback) => (e) => notify14(browser.refusalReason(e, fallback), "error");
2767
2767
  const snapshot2 = (data) => {
2768
2768
  const title = exportTitle ?? ui.tagKindTitle(kind, { plural: true });
2769
- const bytes = chunkIPQ5MJ4Z_cjs.tagTableDocx(data, {
2769
+ const bytes = chunk2FLWPM3B_cjs.tagTableDocx(data, {
2770
2770
  title,
2771
2771
  nameOf: (id) => people.find((p) => p.value === id)?.label
2772
2772
  });
@@ -2775,7 +2775,7 @@ function ConnectedTagTable({
2775
2775
  return { blob: new Blob([bytes], { type: chunkQT3A4PFC_cjs.DOCX_MIME_TYPE }), name };
2776
2776
  };
2777
2777
  return /* @__PURE__ */ jsxRuntime.jsx(
2778
- chunkIPQ5MJ4Z_cjs.TagTable,
2778
+ chunk2FLWPM3B_cjs.TagTable,
2779
2779
  {
2780
2780
  ...props,
2781
2781
  table,
@@ -2816,7 +2816,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
2816
2816
  const [open, setOpen] = react.useState(false);
2817
2817
  const doctag = docOf(docId)?.doctags?.find((dt) => dt.tag_ext_id === tagId);
2818
2818
  const citations = react.useMemo(
2819
- () => chunkTAWPVD6C_cjs.toFactCitations(doctag?.citations) ?? [],
2819
+ () => chunkB3FMUFAW_cjs.toFactCitations(doctag?.citations) ?? [],
2820
2820
  [doctag?.citations]
2821
2821
  );
2822
2822
  const { quoteFor, orderOf } = react$1.usePassageQuotes(
@@ -2825,7 +2825,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
2825
2825
  const { openDocument } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
2826
2826
  const viewingPassageId = react$1.useArbiSessionState((s) => s.viewingDocument?.passageId ?? null);
2827
2827
  const id = testId ?? `doctag-passages-${docId}`;
2828
- const refOf = (cited) => chunkTAWPVD6C_cjs.citedVersionRef(cited.doc_ext_id, cited.version, docOf(cited.doc_ext_id)?.current_version);
2828
+ const refOf = (cited) => chunkB3FMUFAW_cjs.citedVersionRef(cited.doc_ext_id, cited.version, docOf(cited.doc_ext_id)?.current_version);
2829
2829
  const ordered = (cited) => [...cited.chunks].sort((a, b) => {
2830
2830
  const oa = orderOf(a.chunk_id);
2831
2831
  const ob = orderOf(b.chunk_id);
@@ -2856,7 +2856,7 @@ function DocTagPassages({ docId, tagId, label, docOf, testId }) {
2856
2856
  const doc = docOf(cited.doc_ext_id);
2857
2857
  const passages = ordered(cited);
2858
2858
  return /* @__PURE__ */ jsxRuntime.jsx(
2859
- chunkTAWPVD6C_cjs.FactSourceGroup,
2859
+ chunkB3FMUFAW_cjs.FactSourceGroup,
2860
2860
  {
2861
2861
  docId: cited.doc_ext_id,
2862
2862
  hasPassages: passages.length > 0,
@@ -2913,9 +2913,9 @@ function GlossaryExport({ labelId, nameOf }) {
2913
2913
  const narrowed = agreements.find((a) => a.id === narrowTo);
2914
2914
  const title = narrowed ? `Glossary - ${narrowed.name}` : "Glossary";
2915
2915
  const download = (format) => {
2916
- const entries = chunkIPQ5MJ4Z_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
2917
- const blob = format === "docx" ? new Blob([chunkIPQ5MJ4Z_cjs.glossaryDocx(entries, { title })], { type: chunkQT3A4PFC_cjs.DOCX_MIME_TYPE }) : new Blob([chunkIPQ5MJ4Z_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
2918
- documentTools.downloadBlob(blob, chunkIPQ5MJ4Z_cjs.glossaryFileName(title, format));
2916
+ const entries = chunk2FLWPM3B_cjs.glossaryEntries(sources, { labelId: narrowed?.id });
2917
+ const blob = format === "docx" ? new Blob([chunk2FLWPM3B_cjs.glossaryDocx(entries, { title })], { type: chunkQT3A4PFC_cjs.DOCX_MIME_TYPE }) : new Blob([chunk2FLWPM3B_cjs.glossaryMarkdown(entries, { title })], { type: "text/markdown" });
2918
+ documentTools.downloadBlob(blob, chunk2FLWPM3B_cjs.glossaryFileName(title, format));
2919
2919
  };
2920
2920
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", "data-testid": "tags-glossary", children: [
2921
2921
  agreements.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3006,7 +3006,7 @@ function TagFilterChips({
3006
3006
  const name = (id) => tags.find((t) => t.external_id === id)?.name ?? id;
3007
3007
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", "data-testid": "tags-filter-chips", children: [
3008
3008
  set.map(([id, state]) => /* @__PURE__ */ jsxRuntime.jsx(
3009
- chunk3FSXWVHW_cjs.FilterChip,
3009
+ chunkU6JQ4KMX_cjs.FilterChip,
3010
3010
  {
3011
3011
  label: name(id),
3012
3012
  state,
@@ -3134,7 +3134,7 @@ function KindSection({
3134
3134
  {
3135
3135
  testId: `tags-kind-${kind}`,
3136
3136
  title: ui.tagKindTitle(kind, { plural: true }),
3137
- description: chunkIPQ5MJ4Z_cjs.tagKindDescription(kind),
3137
+ description: chunk2FLWPM3B_cjs.tagKindDescription(kind),
3138
3138
  actions: picker,
3139
3139
  children: [
3140
3140
  browser.isEntityTag({ kind }) && extractingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3145,9 +3145,9 @@ function KindSection({
3145
3145
  children: [
3146
3146
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }),
3147
3147
  "Extracting ",
3148
- chunkIPQ5MJ4Z_cjs.entitiesPhrase().toLowerCase(),
3148
+ chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase(),
3149
3149
  " from ",
3150
- chunkIPQ5MJ4Z_cjs.documentCount(extractingCount),
3150
+ chunk2FLWPM3B_cjs.documentCount(extractingCount),
3151
3151
  "\u2026"
3152
3152
  ]
3153
3153
  }
@@ -3165,7 +3165,7 @@ function KindSection({
3165
3165
  onOpenDocument: (id) => openDocument(id),
3166
3166
  onOpenFact: ctx.onOpenFact,
3167
3167
  onOpenThread: (id) => openConversation(id),
3168
- labels: chunkIPQ5MJ4Z_cjs.tagTableLabels(kind),
3168
+ labels: chunk2FLWPM3B_cjs.tagTableLabels(kind),
3169
3169
  testId: `tags-table-${kind}`
3170
3170
  }
3171
3171
  )
@@ -3267,12 +3267,12 @@ function TagSection({
3267
3267
  onOpenDocument: (id) => openDocument(id),
3268
3268
  onOpenFact: ctx.onOpenFact,
3269
3269
  onOpenThread: (id) => openConversation(id),
3270
- labels: chunkIPQ5MJ4Z_cjs.tagTableLabels(tag.kind),
3270
+ labels: chunk2FLWPM3B_cjs.tagTableLabels(tag.kind),
3271
3271
  testId: "tags-rows"
3272
3272
  }
3273
3273
  ),
3274
3274
  /* @__PURE__ */ jsxRuntime.jsx(
3275
- chunkIPQ5MJ4Z_cjs.TagDetail,
3275
+ chunk2FLWPM3B_cjs.TagDetail,
3276
3276
  {
3277
3277
  row: detailRow && narrowTagRow(detailRow, ctx.filter.matches),
3278
3278
  fields: schema.data?.fields ?? [],
@@ -3284,10 +3284,10 @@ function TagSection({
3284
3284
  onOpenDocument: (id) => openDocument(id),
3285
3285
  onOpenFact: ctx.onOpenFact,
3286
3286
  onOpenThread: (id) => openConversation(id),
3287
- noteLabel: chunkIPQ5MJ4Z_cjs.tagNoteLabel(tag.kind),
3287
+ noteLabel: chunk2FLWPM3B_cjs.tagNoteLabel(tag.kind),
3288
3288
  noteIsValue: tag.kind === "annotation",
3289
3289
  renderPassages: (d, label) => renderPassages(d.doc_ext_id, label),
3290
- labels: chunkIPQ5MJ4Z_cjs.tagDetailLabels(),
3290
+ labels: chunk2FLWPM3B_cjs.tagDetailLabels(),
3291
3291
  testId: "tags-detail"
3292
3292
  }
3293
3293
  )
@@ -3376,7 +3376,7 @@ function ConnectedTagsPage({
3376
3376
  const onDelete = async (t) => {
3377
3377
  const nested = browser.getChildTags([...tags], t.external_id);
3378
3378
  const uses = browser.tagUseCount(t);
3379
- const n2 = chunkIPQ5MJ4Z_cjs.tagsPageNouns();
3379
+ const n2 = chunk2FLWPM3B_cjs.tagsPageNouns();
3380
3380
  const tagNoun = (count) => (count === 1 ? n2.tag : n2.tags).toLowerCase();
3381
3381
  const carriers = uses === 1 ? `${n2.document}, ${n2.fact} or ${n2.thread}` : `${n2.documents}, ${n2.facts} and ${n2.threads}`;
3382
3382
  const message = `Delete ${ui.tagKindNouns(t.kind).singular} "${t.name}"?` + (uses > 0 ? `
@@ -3397,16 +3397,16 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
3397
3397
  try {
3398
3398
  await extract.mutateAsync(docIds);
3399
3399
  notify14(
3400
- `Extracting ${chunkIPQ5MJ4Z_cjs.entitiesPhrase().toLowerCase()} from ${chunkIPQ5MJ4Z_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
3400
+ `Extracting ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()} from ${chunk2FLWPM3B_cjs.documentCount(docIds.length)}. You will be notified when it is done.`,
3401
3401
  "info"
3402
3402
  );
3403
3403
  } catch (error) {
3404
- notify14(browser.refusalReason(error, `Could not extract ${chunkIPQ5MJ4Z_cjs.entitiesPhrase().toLowerCase()}`), "error");
3404
+ notify14(browser.refusalReason(error, `Could not extract ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()}`), "error");
3405
3405
  throw error;
3406
3406
  }
3407
3407
  };
3408
3408
  const picker = /* @__PURE__ */ jsxRuntime.jsx(
3409
- chunkIPQ5MJ4Z_cjs.TagPicker,
3409
+ chunk2FLWPM3B_cjs.TagPicker,
3410
3410
  {
3411
3411
  tags: viewTags,
3412
3412
  selectedId: tag?.external_id,
@@ -3420,10 +3420,10 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
3420
3420
  onOpenTag: openTag,
3421
3421
  onOpenFact
3422
3422
  };
3423
- const n = chunkIPQ5MJ4Z_cjs.tagsPageNouns();
3423
+ const n = chunk2FLWPM3B_cjs.tagsPageNouns();
3424
3424
  const action = view === "person" || view === "organisation" ? {
3425
3425
  label: "Extract",
3426
- title: `Extract ${chunkIPQ5MJ4Z_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
3426
+ title: `Extract ${chunk2FLWPM3B_cjs.entitiesPhrase().toLowerCase()} from ${n.documents.toLowerCase()}`,
3427
3427
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "h-4 w-4" }),
3428
3428
  run: () => setExtracting(true),
3429
3429
  testId: "tags-extract-entities"
@@ -3570,7 +3570,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
3570
3570
  onCreated: openTag
3571
3571
  }),
3572
3572
  /* @__PURE__ */ jsxRuntime.jsx(
3573
- chunkIPQ5MJ4Z_cjs.ExtractEntitiesDialog,
3573
+ chunk2FLWPM3B_cjs.ExtractEntitiesDialog,
3574
3574
  {
3575
3575
  open: extracting,
3576
3576
  onOpenChange: setExtracting,
@@ -3631,7 +3631,7 @@ function FactSourcesPopover({
3631
3631
  reset();
3632
3632
  }
3633
3633
  };
3634
- const refOf = (docId) => chunkTAWPVD6C_cjs.citedVersionRef(
3634
+ const refOf = (docId) => chunkB3FMUFAW_cjs.citedVersionRef(
3635
3635
  docId,
3636
3636
  citations.find((d) => d.doc_ext_id === docId)?.version,
3637
3637
  citedDocs?.[docId]?.current_version
@@ -3661,7 +3661,7 @@ function FactSourcesPopover({
3661
3661
  const olderVersion = refOf(docId) !== docId ? refOf(docId).split("@v")[1] : null;
3662
3662
  const cited = passagesOf(docId);
3663
3663
  return /* @__PURE__ */ jsxRuntime.jsx(
3664
- chunkTAWPVD6C_cjs.FactSourceGroup,
3664
+ chunkB3FMUFAW_cjs.FactSourceGroup,
3665
3665
  {
3666
3666
  docId,
3667
3667
  isViewing,
@@ -3730,8 +3730,8 @@ function FactMarkdownEditor({
3730
3730
  citationContainer,
3731
3731
  "data-testid": dataTestId
3732
3732
  }) {
3733
- const sources = react.useMemo(() => chunkTAWPVD6C_cjs.toFactCitations(citations) ?? [], [citations]);
3734
- const docIds = chunkTAWPVD6C_cjs.docIdsOf(sources);
3733
+ const sources = react.useMemo(() => chunkB3FMUFAW_cjs.toFactCitations(citations) ?? [], [citations]);
3734
+ const docIds = chunkB3FMUFAW_cjs.docIdsOf(sources);
3735
3735
  const hasSources = docIds.length > 0;
3736
3736
  const { quoteFor, orderOf } = react$1.usePassageQuotes(
3737
3737
  react.useMemo(() => sources.filter((d) => d.chunks.length > 0).map((d) => d.doc_ext_id), [sources])
@@ -3750,7 +3750,7 @@ function FactMarkdownEditor({
3750
3750
  const editorRef = react.useRef(null);
3751
3751
  react.useEffect(() => {
3752
3752
  if (!editorRef.current) return;
3753
- return chunkTAWPVD6C_cjs.enableFactTableColumnResize(editorRef.current);
3753
+ return chunkB3FMUFAW_cjs.enableFactTableColumnResize(editorRef.current);
3754
3754
  }, []);
3755
3755
  react.useEffect(() => {
3756
3756
  if (!editing) return;
@@ -3765,14 +3765,14 @@ function FactMarkdownEditor({
3765
3765
  return () => document.removeEventListener("pointerdown", onPointerDown, true);
3766
3766
  }, [editing]);
3767
3767
  const removeDoc = (docExtId) => {
3768
- const remaining = chunkTAWPVD6C_cjs.withoutDoc(sources, docExtId);
3768
+ const remaining = chunkB3FMUFAW_cjs.withoutDoc(sources, docExtId);
3769
3769
  if (!remaining) setSourcesOpen(false);
3770
3770
  onChange(value, remaining);
3771
3771
  };
3772
3772
  const citeDocument = (docExtId) => onCiteDocument(docExtId, { toggle: false });
3773
3773
  const handleToggleDoc = (docExtId) => {
3774
3774
  if (docIds.includes(docExtId)) removeDoc(docExtId);
3775
- else onChange(value, chunkTAWPVD6C_cjs.withDoc(sources, docExtId));
3775
+ else onChange(value, chunkB3FMUFAW_cjs.withDoc(sources, docExtId));
3776
3776
  };
3777
3777
  const expandToggle = /* @__PURE__ */ jsxRuntime.jsx(
3778
3778
  "button",
@@ -3991,7 +3991,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
3991
3991
  const [composing, setComposing] = react.useState(false);
3992
3992
  const [draft, setDraft] = react.useState("");
3993
3993
  const [baselineText, setBaselineText] = react.useState("");
3994
- const [draftDateFields, setDraftDateFields] = react.useState(chunkTAWPVD6C_cjs.EMPTY_FACT_DATE_FIELDS);
3994
+ const [draftDateFields, setDraftDateFields] = react.useState(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
3995
3995
  const [composerError, setComposerError] = react.useState(null);
3996
3996
  const [editingId, setEditingId] = react.useState(null);
3997
3997
  const [draftShared, setDraftShared] = react.useState(false);
@@ -4048,9 +4048,9 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4048
4048
  if (!collector || !picked?.length || !collectingFor || !docBeingCollected) return;
4049
4049
  const docExtId = docBeingCollected;
4050
4050
  const apply = (prev) => {
4051
- let next = chunkTAWPVD6C_cjs.toFactCitations(prev);
4051
+ let next = chunkB3FMUFAW_cjs.toFactCitations(prev);
4052
4052
  for (const pending of picked) {
4053
- next = chunkTAWPVD6C_cjs.withChunk(next, docExtId, { chunk_id: pending.chunk_id, page: pending.page ?? null });
4053
+ next = chunkB3FMUFAW_cjs.withChunk(next, docExtId, { chunk_id: pending.chunk_id, page: pending.page ?? null });
4054
4054
  }
4055
4055
  return next ?? [];
4056
4056
  };
@@ -4061,8 +4061,8 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4061
4061
  react.useEffect(() => {
4062
4062
  if (!collector || !unpicked?.length || !collectingFor) return;
4063
4063
  setDraftCitations((prev) => {
4064
- let next = chunkTAWPVD6C_cjs.toFactCitations(prev);
4065
- for (const chunkId of unpicked) next = chunkTAWPVD6C_cjs.withoutChunk(next, chunkId);
4064
+ let next = chunkB3FMUFAW_cjs.toFactCitations(prev);
4065
+ for (const chunkId of unpicked) next = chunkB3FMUFAW_cjs.withoutChunk(next, chunkId);
4066
4066
  return next;
4067
4067
  });
4068
4068
  collector.consumeUnpicked();
@@ -4072,7 +4072,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4072
4072
  setBaselineText("");
4073
4073
  setDraftCitations(null);
4074
4074
  setDraftTagIds([]);
4075
- setDraftDateFields(chunkTAWPVD6C_cjs.EMPTY_FACT_DATE_FIELDS);
4075
+ setDraftDateFields(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
4076
4076
  setDraftShared(false);
4077
4077
  setDraftConfirmed(true);
4078
4078
  setComposerError(null);
@@ -4086,7 +4086,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4086
4086
  setBaselineText("");
4087
4087
  setDraftCitations(null);
4088
4088
  setDraftTagIds([]);
4089
- setDraftDateFields(chunkTAWPVD6C_cjs.EMPTY_FACT_DATE_FIELDS);
4089
+ setDraftDateFields(chunkB3FMUFAW_cjs.EMPTY_FACT_DATE_FIELDS);
4090
4090
  setDraftShared(false);
4091
4091
  setDraftConfirmed(true);
4092
4092
  setComposerError(null);
@@ -4097,7 +4097,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4097
4097
  const content = chunkRC25WMVB_cjs.decodeWhitespaceEntities(draft).trim();
4098
4098
  if (!content) return;
4099
4099
  setComposerError(null);
4100
- const span = chunkTAWPVD6C_cjs.factDateFieldsToSpan(draftDateFields);
4100
+ const span = chunkB3FMUFAW_cjs.factDateFieldsToSpan(draftDateFields);
4101
4101
  try {
4102
4102
  let saved;
4103
4103
  if (editingId) {
@@ -4135,7 +4135,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4135
4135
  setBaselineText(draft);
4136
4136
  setDraftCitations(saved.citations ?? null);
4137
4137
  setDraftTagIds(saved.tags.map((t) => t.tag_ext_id));
4138
- setDraftDateFields(chunkTAWPVD6C_cjs.factDateSpanToFields(saved.date_start, saved.date_end, saved.timezone));
4138
+ setDraftDateFields(chunkB3FMUFAW_cjs.factDateSpanToFields(saved.date_start, saved.date_end, saved.timezone));
4139
4139
  setDraftShared(saved.shared ?? false);
4140
4140
  setDraftConfirmed(saved.confirmed ?? true);
4141
4141
  }
@@ -4160,7 +4160,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4160
4160
  setBaselineText(m.text);
4161
4161
  setDraftCitations(m.citations ?? null);
4162
4162
  setDraftTagIds(m.tags.map((t) => t.tag_ext_id));
4163
- setDraftDateFields(chunkTAWPVD6C_cjs.factDateSpanToFields(m.date_start, m.date_end, m.timezone));
4163
+ setDraftDateFields(chunkB3FMUFAW_cjs.factDateSpanToFields(m.date_start, m.date_end, m.timezone));
4164
4164
  setDraftShared(m.shared ?? false);
4165
4165
  setDraftConfirmed(m.confirmed ?? true);
4166
4166
  setComposerError(null);
@@ -4174,7 +4174,7 @@ function useFactComposer(notes, remove, gridApiRef, collector, composeRequested,
4174
4174
  const textChanged = draft.trim() !== baselineText.trim();
4175
4175
  const citationsChanged = JSON.stringify(draftCitations ?? null) !== JSON.stringify(f.citations ?? null);
4176
4176
  const tagsChanged = JSON.stringify([...draftTagIds].sort()) !== JSON.stringify(f.tags.map((t) => t.tag_ext_id).sort());
4177
- const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(chunkTAWPVD6C_cjs.factDateSpanToFields(f.date_start, f.date_end, f.timezone));
4177
+ const dateChanged = JSON.stringify(draftDateFields) !== JSON.stringify(chunkB3FMUFAW_cjs.factDateSpanToFields(f.date_start, f.date_end, f.timezone));
4178
4178
  const sharedChanged = draftShared !== (f.shared ?? false);
4179
4179
  const confirmedChanged = draftConfirmed !== (f.confirmed ?? true);
4180
4180
  return textChanged || citationsChanged || tagsChanged || dateChanged || sharedChanged || confirmedChanged;
@@ -4267,10 +4267,10 @@ function useFactFilters(notes, view, chat) {
4267
4267
  const factFilters = view.filters;
4268
4268
  const setFactFilters = view.setFilters;
4269
4269
  const quickFilteredNotes = react.useMemo(
4270
- () => chunk3FSXWVHW_cjs.applyInvertedIndexFilter(
4270
+ () => chunkU6JQ4KMX_cjs.applyInvertedIndexFilter(
4271
4271
  notes,
4272
4272
  factFilters,
4273
- chunk3FSXWVHW_cjs.buildInvertedIndex(
4273
+ chunkU6JQ4KMX_cjs.buildInvertedIndex(
4274
4274
  notes,
4275
4275
  (f) => f.external_id,
4276
4276
  (f) => Object.entries(getFactFilterAttributes(f)).filter(([id, on]) => on && factFilterIds.includes(id)).map(([id]) => id)
@@ -4348,7 +4348,7 @@ function useFactFilters(notes, view, chat) {
4348
4348
  const makeTagPicker = react.useCallback(
4349
4349
  (selected, setSelected, opts) => {
4350
4350
  const applied = new Set(selected);
4351
- return /* @__PURE__ */ jsxRuntime.jsx(chunkTAWPVD6C_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
4351
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
4352
4352
  chunkYAEXSCUW_cjs.FieldLabelsSelect,
4353
4353
  {
4354
4354
  options: labelOptions,
@@ -4539,14 +4539,14 @@ function useFactSelection(notes, gridApiRef, setFactTags, chat) {
4539
4539
  }
4540
4540
  function renderSourcesCell(params) {
4541
4541
  const fact = params.data;
4542
- const count = chunkTAWPVD6C_cjs.sourceDocCount(fact);
4542
+ const count = chunkB3FMUFAW_cjs.sourceDocCount(fact);
4543
4543
  if (!fact || count === 0) return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/40", children: "\u2014" });
4544
4544
  return /* @__PURE__ */ jsxRuntime.jsxs(
4545
4545
  "button",
4546
4546
  {
4547
4547
  type: "button",
4548
4548
  onClick: () => params.context?.openEdit?.(fact),
4549
- title: chunkTAWPVD6C_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count),
4549
+ title: chunkB3FMUFAW_cjs.DEFAULT_FACT_COLUMN_LABELS.sourcedFrom(count),
4550
4550
  "data-testid": `facts-grid-sources-${fact.external_id}`,
4551
4551
  className: "inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",
4552
4552
  children: [
@@ -4603,14 +4603,14 @@ function createFactPageColumns({
4603
4603
  onToggleConfirmed,
4604
4604
  onToggleShared
4605
4605
  }) {
4606
- const columns = chunkTAWPVD6C_cjs.createFactColumns({
4606
+ const columns = chunkB3FMUFAW_cjs.createFactColumns({
4607
4607
  onToggleInChat,
4608
4608
  isInChat,
4609
4609
  renderHeader: (params, colId) => /* @__PURE__ */ jsxRuntime.jsx(FactHeader, { params, colId }),
4610
4610
  renderRowActions: (fact, params) => {
4611
4611
  const ctx = params.context;
4612
4612
  return /* @__PURE__ */ jsxRuntime.jsx(
4613
- chunkTAWPVD6C_cjs.FactRowActions,
4613
+ chunkB3FMUFAW_cjs.FactRowActions,
4614
4614
  {
4615
4615
  onEdit: () => ctx?.openEdit?.(fact),
4616
4616
  canEdit: ctx?.canRewrite?.(fact) !== false,
@@ -4740,7 +4740,7 @@ function useFactsGrid({
4740
4740
  );
4741
4741
  const renderFactTags = react.useCallback(
4742
4742
  (fact, rowHeight) => /* @__PURE__ */ jsxRuntime.jsx(
4743
- chunkTAWPVD6C_cjs.FactLabelsCell,
4743
+ chunkB3FMUFAW_cjs.FactLabelsCell,
4744
4744
  {
4745
4745
  options: labelOptions,
4746
4746
  selectedIds: fact.tags.map((t) => t.tag_ext_id),
@@ -4872,7 +4872,7 @@ var citedDocIdsCache = /* @__PURE__ */ new WeakMap();
4872
4872
  function citedDocIds(m) {
4873
4873
  const cached = citedDocIdsCache.get(m);
4874
4874
  if (cached) return cached;
4875
- const ids = chunkTAWPVD6C_cjs.docIdsOf(chunkTAWPVD6C_cjs.toFactCitations(m.citations));
4875
+ const ids = chunkB3FMUFAW_cjs.docIdsOf(chunkB3FMUFAW_cjs.toFactCitations(m.citations));
4876
4876
  citedDocIdsCache.set(m, ids);
4877
4877
  return ids;
4878
4878
  }
@@ -4964,7 +4964,7 @@ function ConnectedFactsPage({
4964
4964
  const citedDocs = react.useMemo(() => {
4965
4965
  const wanted = /* @__PURE__ */ new Set([
4966
4966
  ...notes.flatMap((n) => citedDocIds(n)),
4967
- ...chunkTAWPVD6C_cjs.docIdsOf(chunkTAWPVD6C_cjs.toFactCitations(composer.draftCitations))
4967
+ ...chunkB3FMUFAW_cjs.docIdsOf(chunkB3FMUFAW_cjs.toFactCitations(composer.draftCitations))
4968
4968
  ]);
4969
4969
  return Object.fromEntries(
4970
4970
  documents.filter((d) => wanted.has(d.external_id)).map((d) => [d.external_id, d])
@@ -5018,7 +5018,7 @@ function ConnectedFactsPage({
5018
5018
  };
5019
5019
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: setFactSection, className: "relative flex h-full flex-col", "data-testid": "facts-page", children: [
5020
5020
  /* @__PURE__ */ jsxRuntime.jsx(
5021
- chunkTAWPVD6C_cjs.FactsToolbar,
5021
+ chunkB3FMUFAW_cjs.FactsToolbar,
5022
5022
  {
5023
5023
  count: filteredNotes.length,
5024
5024
  hasActiveFilters: filters.hasActiveFilters,
@@ -5047,7 +5047,7 @@ function ConnectedFactsPage({
5047
5047
  onNewFact: composing && !editingId ? () => void 0 : composer.startNewFact,
5048
5048
  navSlotRef: setNavSlot,
5049
5049
  navigator: view === "table" ? /* @__PURE__ */ jsxRuntime.jsx(
5050
- chunkIPQ5MJ4Z_cjs.GridRowNavigator,
5050
+ chunk2FLWPM3B_cjs.GridRowNavigator,
5051
5051
  {
5052
5052
  gridApi,
5053
5053
  selectedId: editingId,
@@ -5058,7 +5058,7 @@ function ConnectedFactsPage({
5058
5058
  ) : null,
5059
5059
  showToolbarRow: view !== "smart_search",
5060
5060
  tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5061
- view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkTAWPVD6C_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
5061
+ view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
5062
5062
  view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
5063
5063
  chunkYAEXSCUW_cjs.RowDensityControl,
5064
5064
  {
@@ -5079,7 +5079,7 @@ function ConnectedFactsPage({
5079
5079
  }
5080
5080
  ),
5081
5081
  /* @__PURE__ */ jsxRuntime.jsx(
5082
- chunkTAWPVD6C_cjs.FactComposer,
5082
+ chunkB3FMUFAW_cjs.FactComposer,
5083
5083
  {
5084
5084
  isOpen: composing,
5085
5085
  isEditing: !!editingId,
@@ -5112,7 +5112,7 @@ function ConnectedFactsPage({
5112
5112
  reserveSourcesSpace: view === "gantt" || view === "calendar",
5113
5113
  citationContainer: factSection,
5114
5114
  renderDocumentPicker: (onSelect, selectedIds, onOpen, sourcesToggle, sourcesOpen) => /* @__PURE__ */ jsxRuntime.jsx(
5115
- chunkTAWPVD6C_cjs.FactSourcesRow,
5115
+ chunkB3FMUFAW_cjs.FactSourcesRow,
5116
5116
  {
5117
5117
  toggle: sourcesToggle,
5118
5118
  picker: /* @__PURE__ */ jsxRuntime.jsx(
@@ -5158,7 +5158,7 @@ function ConnectedFactsPage({
5158
5158
  }
5159
5159
  ),
5160
5160
  dateInput: /* @__PURE__ */ jsxRuntime.jsx(
5161
- chunkTAWPVD6C_cjs.FactDateInput,
5161
+ chunkB3FMUFAW_cjs.FactDateInput,
5162
5162
  {
5163
5163
  value: composer.draftDateFields,
5164
5164
  onChange: composer.setDraftDateFields,
@@ -5168,13 +5168,13 @@ function ConnectedFactsPage({
5168
5168
  }
5169
5169
  ),
5170
5170
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "scrollbar-subtle flex-1 overflow-y-auto pb-2", children: [
5171
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkTAWPVD6C_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkTAWPVD6C_cjs.FactsLoadError, { onRetry: () => refetch() }) : smartSearch ? (
5171
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsLoading, {}) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkB3FMUFAW_cjs.FactsLoadError, { onRetry: () => refetch() }) : smartSearch ? (
5172
5172
  // Searches facts only (never documents). Kept before the empty-state guard so the
5173
5173
  // search UI is reachable even in an empty workspace.
5174
5174
  smartSearch({ selectedFactId: editingId, onOpenFact: openFactById })
5175
5175
  ) : notes.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-full flex-col items-center justify-center", children: [
5176
5176
  /* @__PURE__ */ jsxRuntime.jsx(
5177
- chunkTAWPVD6C_cjs.FactsEmptyState,
5177
+ chunkB3FMUFAW_cjs.FactsEmptyState,
5178
5178
  {
5179
5179
  onUseExample: (text) => {
5180
5180
  composer.setDraft(text);
@@ -5185,7 +5185,7 @@ function ConnectedFactsPage({
5185
5185
  ),
5186
5186
  emptyStateExtra
5187
5187
  ] }) : view === "calendar" ? /* @__PURE__ */ jsxRuntime.jsx(
5188
- chunkTAWPVD6C_cjs.FactsCalendar,
5188
+ chunkB3FMUFAW_cjs.FactsCalendar,
5189
5189
  {
5190
5190
  facts: filteredNotes,
5191
5191
  onSelect: (n) => openEditIfAllowed(n),
@@ -5194,7 +5194,7 @@ function ConnectedFactsPage({
5194
5194
  navigatorTotal: filteredNotes.length
5195
5195
  }
5196
5196
  ) : view === "gantt" ? /* @__PURE__ */ jsxRuntime.jsx(
5197
- chunkTAWPVD6C_cjs.FactsGanttPane,
5197
+ chunkB3FMUFAW_cjs.FactsGanttPane,
5198
5198
  {
5199
5199
  items: ganttItems,
5200
5200
  labelWidth: pageView.labelWidth,
@@ -5244,7 +5244,7 @@ function ConnectedFactsPage({
5244
5244
  )
5245
5245
  ] }),
5246
5246
  selectable && notes.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
5247
- chunkTAWPVD6C_cjs.FactsBulkBar,
5247
+ chunkB3FMUFAW_cjs.FactsBulkBar,
5248
5248
  {
5249
5249
  count: selection.selectedFacts.length,
5250
5250
  onClear: selection.clearSelection,
@@ -5364,13 +5364,13 @@ function ConnectedProfileCard({
5364
5364
  }
5365
5365
  });
5366
5366
  const display = profile?.fullName || "Unnamed";
5367
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: [
5367
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: [
5368
5368
  /* @__PURE__ */ jsxRuntime.jsx(
5369
- chunk3FSXWVHW_cjs.ProfileCard,
5369
+ chunkU6JQ4KMX_cjs.ProfileCard,
5370
5370
  {
5371
5371
  avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5372
5372
  /* @__PURE__ */ jsxRuntime.jsx(
5373
- chunk3FSXWVHW_cjs.AvatarPicker,
5373
+ chunkU6JQ4KMX_cjs.AvatarPicker,
5374
5374
  {
5375
5375
  pictureUrl: profile?.picture,
5376
5376
  initials: chunkKDG6FER6_cjs.initials(display),
@@ -5417,9 +5417,9 @@ function ConnectedIdentityVerification({
5417
5417
  onNameAccepted: () => notify14("Name updated to match your ID", "success")
5418
5418
  });
5419
5419
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5420
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.IdentityVerificationCard, { flow, labels, onManageBilling }),
5420
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.IdentityVerificationCard, { flow, labels, onManageBilling }),
5421
5421
  /* @__PURE__ */ jsxRuntime.jsx(
5422
- chunk3FSXWVHW_cjs.IdentityVerificationDialog,
5422
+ chunkU6JQ4KMX_cjs.IdentityVerificationDialog,
5423
5423
  {
5424
5424
  flow,
5425
5425
  accountName: profile?.fullName ?? "",
@@ -5432,7 +5432,7 @@ function ConnectedIdentityVerification({
5432
5432
  function ConnectedRequireVerified({ children, labels }) {
5433
5433
  const { data: profile } = react$1.useProfile();
5434
5434
  const flow = react$1.useIdentityVerification();
5435
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
5435
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
5436
5436
  }
5437
5437
  function defaultUnmetPasswordRequirement(password) {
5438
5438
  if (password.length < 8) return "Minimum 8 characters";
@@ -5465,7 +5465,7 @@ function ConnectedPasswordChangeDialog({
5465
5465
  onRecoveryComplete
5466
5466
  });
5467
5467
  return /* @__PURE__ */ jsxRuntime.jsx(
5468
- chunk3FSXWVHW_cjs.PasswordChangeDialog,
5468
+ chunkU6JQ4KMX_cjs.PasswordChangeDialog,
5469
5469
  {
5470
5470
  open,
5471
5471
  onClose: form.onCancel,
@@ -5491,10 +5491,10 @@ function ConnectedSecuritySection({
5491
5491
  children
5492
5492
  }) {
5493
5493
  const [open, setOpen] = react.useState(false);
5494
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
5495
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsCard, { padding: "sm", children: [
5494
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
5495
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { padding: "sm", children: [
5496
5496
  /* @__PURE__ */ jsxRuntime.jsx(
5497
- chunk3FSXWVHW_cjs.SettingsActionRow,
5497
+ chunkU6JQ4KMX_cjs.SettingsActionRow,
5498
5498
  {
5499
5499
  title: "Change password",
5500
5500
  description: "Used to sign in and to unlock your account key. Changing it keeps everything readable and re-encrypts nothing.",
@@ -5515,23 +5515,23 @@ function ConnectedSecuritySection({
5515
5515
  ] });
5516
5516
  }
5517
5517
  function ConnectedNotificationPreferences({
5518
- categories = chunk3FSXWVHW_cjs.EMAIL_NOTIFICATION_CATEGORIES,
5518
+ categories = chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_CATEGORIES,
5519
5519
  title = "Notifications"
5520
5520
  }) {
5521
5521
  const keys = react.useMemo(
5522
- () => categories === chunk3FSXWVHW_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunk3FSXWVHW_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
5522
+ () => categories === chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkU6JQ4KMX_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
5523
5523
  [categories]
5524
5524
  );
5525
5525
  const prefs = react$1.useNotificationPreferences(keys);
5526
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
5527
- chunk3FSXWVHW_cjs.NotificationCategoryList,
5526
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
5527
+ chunkU6JQ4KMX_cjs.NotificationCategoryList,
5528
5528
  {
5529
5529
  masterId: "emailNotifications",
5530
5530
  masterTitle: "Email Notifications",
5531
5531
  masterDescription: "Email me about activity when I\u2019m away",
5532
5532
  masterChecked: prefs.masterChecked,
5533
5533
  onMasterChange: prefs.setAll,
5534
- categories: chunk3FSXWVHW_cjs.toNotificationCategories(prefs.checked, categories),
5534
+ categories: chunkU6JQ4KMX_cjs.toNotificationCategories(prefs.checked, categories),
5535
5535
  onCategoryChange: prefs.setCategory
5536
5536
  }
5537
5537
  ) }) });
@@ -5544,14 +5544,14 @@ function ConnectedSessionsRow({
5544
5544
  const sessions = react$1.useSessions({ enabled: open });
5545
5545
  const currentSessionId = react$1.useCurrentSessionId();
5546
5546
  const terminate = react$1.useTerminateSession();
5547
- const views = chunk3FSXWVHW_cjs.toActiveSessionViews(sessions.data ?? [], {
5547
+ const views = chunkU6JQ4KMX_cjs.toActiveSessionViews(sessions.data ?? [], {
5548
5548
  currentSessionId,
5549
5549
  terminatingId: terminate.isPending ? terminate.variables : null,
5550
5550
  renderIcon: renderSessionIcon
5551
5551
  });
5552
5552
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5553
5553
  /* @__PURE__ */ jsxRuntime.jsx(
5554
- chunk3FSXWVHW_cjs.SettingsRow,
5554
+ chunkU6JQ4KMX_cjs.SettingsRow,
5555
5555
  {
5556
5556
  label: "Active sessions",
5557
5557
  description: "Devices and agents currently signed in to your account.",
@@ -5573,7 +5573,7 @@ function ConnectedSessionsRow({
5573
5573
  }
5574
5574
  ),
5575
5575
  /* @__PURE__ */ jsxRuntime.jsx(
5576
- chunk3FSXWVHW_cjs.ActiveSessionsDialog,
5576
+ chunkU6JQ4KMX_cjs.ActiveSessionsDialog,
5577
5577
  {
5578
5578
  open,
5579
5579
  onOpenChange: setOpen,
@@ -5615,7 +5615,7 @@ function ConnectedLogoutDialog({
5615
5615
  signOut.mutate({ everywhere, reason: "manual" });
5616
5616
  };
5617
5617
  return /* @__PURE__ */ jsxRuntime.jsx(
5618
- chunk3FSXWVHW_cjs.LogoutDialog,
5618
+ chunkU6JQ4KMX_cjs.LogoutDialog,
5619
5619
  {
5620
5620
  open,
5621
5621
  onClose,
@@ -5623,7 +5623,7 @@ function ConnectedLogoutDialog({
5623
5623
  onLogoutAll: () => void run(true),
5624
5624
  canLogoutAll,
5625
5625
  isOnline,
5626
- sessions: chunk3FSXWVHW_cjs.toLogoutSessionViews(sessions.data ?? []),
5626
+ sessions: chunkU6JQ4KMX_cjs.toLogoutSessionViews(sessions.data ?? []),
5627
5627
  renderSessionIcon
5628
5628
  }
5629
5629
  );
@@ -5645,7 +5645,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
5645
5645
  });
5646
5646
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5647
5647
  /* @__PURE__ */ jsxRuntime.jsx(
5648
- chunk3FSXWVHW_cjs.SettingsDangerZone,
5648
+ chunkU6JQ4KMX_cjs.SettingsDangerZone,
5649
5649
  {
5650
5650
  isOpen: zoneOpen,
5651
5651
  onToggle: () => setZoneOpen((o) => !o),
@@ -5665,12 +5665,12 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
5665
5665
  }
5666
5666
  ),
5667
5667
  /* @__PURE__ */ jsxRuntime.jsx(
5668
- chunk3FSXWVHW_cjs.DeleteAccountDialog,
5668
+ chunkU6JQ4KMX_cjs.DeleteAccountDialog,
5669
5669
  {
5670
5670
  open: dialogOpen,
5671
5671
  onClose: flow.onClose,
5672
5672
  step: flow.step,
5673
- blockers: chunk3FSXWVHW_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
5673
+ blockers: chunkU6JQ4KMX_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
5674
5674
  onContinue: flow.onContinue,
5675
5675
  onBack: flow.onBack,
5676
5676
  userEmail,
@@ -5685,7 +5685,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
5685
5685
  function ServerConnectionRow({ onRefresh, ...status }) {
5686
5686
  const { runtimeConfig } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
5687
5687
  const [isRefreshing, setIsRefreshing] = react.useState(false);
5688
- const view = chunk3FSXWVHW_cjs.serverConnectionView(status, runtimeConfig.deploymentDomain || "server");
5688
+ const view = chunkU6JQ4KMX_cjs.serverConnectionView(status, runtimeConfig.deploymentDomain || "server");
5689
5689
  const refresh = async () => {
5690
5690
  setIsRefreshing(true);
5691
5691
  try {
@@ -5694,8 +5694,8 @@ function ServerConnectionRow({ onRefresh, ...status }) {
5694
5694
  setIsRefreshing(false);
5695
5695
  }
5696
5696
  };
5697
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsRow, { label: "Server connection", description: view.description, children: /* @__PURE__ */ jsxRuntime.jsx(
5698
- chunk3FSXWVHW_cjs.ServerConnectionButton,
5697
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsRow, { label: "Server connection", description: view.description, children: /* @__PURE__ */ jsxRuntime.jsx(
5698
+ chunkU6JQ4KMX_cjs.ServerConnectionButton,
5699
5699
  {
5700
5700
  state: view.state,
5701
5701
  label: view.label,
@@ -5717,7 +5717,7 @@ function ConnectedAccountSettings({
5717
5717
  renderSubscriptionLink
5718
5718
  }) {
5719
5719
  const [logoutOpen, setLogoutOpen] = react.useState(false);
5720
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsPanel, { className: "max-w-2xl", children: [
5720
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
5721
5721
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedProfileCard, { avatarClassName, children: /* @__PURE__ */ jsxRuntime.jsx(
5722
5722
  ConnectedIdentityVerification,
5723
5723
  {
@@ -5727,10 +5727,10 @@ function ConnectedAccountSettings({
5727
5727
  ) }),
5728
5728
  afterProfile,
5729
5729
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedSecuritySection, { getUnmetRequirement: getUnmetPasswordRequirement, children: securityRows }),
5730
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsCard, { children: [
5730
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Wifi, {}), title: "Session", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { children: [
5731
5731
  connection && /* @__PURE__ */ jsxRuntime.jsx(ServerConnectionRow, { ...connection }),
5732
5732
  /* @__PURE__ */ jsxRuntime.jsx(ConnectedSessionsRow, { renderSessionIcon }),
5733
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
5733
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsRow, { label: "Logout", description: "Sign out of your account on this device.", children: /* @__PURE__ */ jsxRuntime.jsxs(
5734
5734
  ui.Button,
5735
5735
  {
5736
5736
  type: "button",
@@ -6012,10 +6012,10 @@ function ConnectedPrivacySettings({
6012
6012
  const update = react$1.useUpdateUserSettings();
6013
6013
  const hideOnlineStatus = settings?.hide_online_status ?? false;
6014
6014
  const dismissedTips = settings?.dismissed_tips ?? [];
6015
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsPanel, { className: "max-w-2xl", children: [
6016
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsSection, { title: "Privacy and tips", children: /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsCard, { children: [
6015
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
6016
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title: "Privacy and tips", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { children: [
6017
6017
  /* @__PURE__ */ jsxRuntime.jsx(
6018
- chunk3FSXWVHW_cjs.SettingsRow,
6018
+ chunkU6JQ4KMX_cjs.SettingsRow,
6019
6019
  {
6020
6020
  label: "Show Online Status",
6021
6021
  labelFor: "showOnlineStatus",
@@ -6033,7 +6033,7 @@ function ConnectedPrivacySettings({
6033
6033
  ),
6034
6034
  rows,
6035
6035
  showTipsReset && /* @__PURE__ */ jsxRuntime.jsx(
6036
- chunk3FSXWVHW_cjs.SettingsRow,
6036
+ chunkU6JQ4KMX_cjs.SettingsRow,
6037
6037
  {
6038
6038
  label: "Hidden tips",
6039
6039
  description: "Restore any Smart Tips you\u2019ve hidden with \u201Cdon\u2019t show again\u201D.",
@@ -6097,13 +6097,13 @@ var COLUMNS = [
6097
6097
  flex: 1,
6098
6098
  minWidth: 120,
6099
6099
  cellRenderer: (params) => isStandard(params.data) ? /* @__PURE__ */ jsxRuntime.jsx(
6100
- chunk3FSXWVHW_cjs.ModelProviderLabel,
6100
+ chunkU6JQ4KMX_cjs.ModelProviderLabel,
6101
6101
  {
6102
6102
  logo: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/favicon.svg", alt: "ARBI", className: "size-3.5 flex-shrink-0 rounded-sm" }),
6103
6103
  children: "ARBI CITY"
6104
6104
  }
6105
6105
  ) : /* @__PURE__ */ jsxRuntime.jsx(
6106
- chunk3FSXWVHW_cjs.ModelProviderLabel,
6106
+ chunkU6JQ4KMX_cjs.ModelProviderLabel,
6107
6107
  {
6108
6108
  logo: /* @__PURE__ */ jsxRuntime.jsx(react$1.ProviderIcon, { modelName: params.data?.model_name, provider: params.value, size: 14 }),
6109
6109
  children: PROVIDER_NAMES[params.value ?? ""] || params.value || "\u2014"
@@ -6179,8 +6179,8 @@ function ConnectedPremiumModels() {
6179
6179
  [save]
6180
6180
  );
6181
6181
  if (premiumModels.length === 0) return null;
6182
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsPanel, { className: "max-w-2xl space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsSection, { title: "Premium models", children: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
6183
- chunk3FSXWVHW_cjs.PremiumModelsFrame,
6182
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl space-y-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { title: "Premium models", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
6183
+ chunkU6JQ4KMX_cjs.PremiumModelsFrame,
6184
6184
  {
6185
6185
  enabled: premiumModel !== "",
6186
6186
  onEnabledChange: (enabled) => {
@@ -6309,10 +6309,10 @@ function ConnectedAppsSettings({
6309
6309
  }
6310
6310
  };
6311
6311
  if (isLoading) {
6312
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ConnectionsLoading, { message: "Loading connected apps\u2026" });
6312
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsLoading, { message: "Loading connected apps\u2026" });
6313
6313
  }
6314
6314
  if (catalogError) {
6315
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ConnectionsError, { message: "Failed to load connector catalog. Please refresh and try again." });
6315
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsError, { message: "Failed to load connector catalog. Please refresh and try again." });
6316
6316
  }
6317
6317
  const visibleCatalog = catalog.filter((c) => isVendorVisible(c.vendor_key));
6318
6318
  const sharePointVisible = isVendorVisible("microsoft_sharepoint");
@@ -6321,7 +6321,7 @@ function ConnectedAppsSettings({
6321
6321
  (c) => !react$1.isMailboxSyncVendor(c.vendor_key) && !react$1.isSharePointVendor(c.vendor_key)
6322
6322
  );
6323
6323
  const renderCard = (entry) => /* @__PURE__ */ jsxRuntime.jsx(
6324
- chunk3FSXWVHW_cjs.ConnectionCard,
6324
+ chunkU6JQ4KMX_cjs.ConnectionCard,
6325
6325
  {
6326
6326
  connection: toConnectionCardView(entry, connectedByVendor[entry.vendor_key], {
6327
6327
  isDisconnecting: disconnect.isPending && disconnect.variables?.vendorKey === entry.vendor_key,
@@ -6338,12 +6338,12 @@ function ConnectedAppsSettings({
6338
6338
  );
6339
6339
  const renderGroup = (title, subtitle, icon2, entries) => {
6340
6340
  if (entries.length === 0) return null;
6341
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsSection, { icon: icon2, title, children: /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsCard, { className: "space-y-3", children: [
6341
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsSection, { icon: icon2, title, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsCard, { className: "space-y-3", children: [
6342
6342
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: subtitle }),
6343
6343
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: entries.map(renderCard) })
6344
6344
  ] }) });
6345
6345
  };
6346
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SettingsPanel, { className: "max-w-2xl", children: [
6346
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SettingsPanel, { className: "max-w-2xl", children: [
6347
6347
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "rounded-xl border border-border bg-card px-5 py-4", children: [
6348
6348
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
6349
6349
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-background text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-5 w-5" }) }),
@@ -6449,7 +6449,7 @@ function ConnectedAppsSettings({
6449
6449
  }
6450
6450
  )
6451
6451
  ] }),
6452
- catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ConnectionsEmpty, { message: "No connectors available yet." }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6452
+ catalog.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SettingsCard, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ConnectionsEmpty, { message: "No connectors available yet." }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6453
6453
  renderGroup("Email & Drive", EMAIL_AND_DRIVE_SUBTITLE, /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, {}), emailCatalog),
6454
6454
  renderGroup(
6455
6455
  "Apps & Integrations (MCP)",
@@ -6526,7 +6526,7 @@ function ConnectedSettingsPage({
6526
6526
  }, [requested]);
6527
6527
  const controlled = section !== void 0;
6528
6528
  return /* @__PURE__ */ jsxRuntime.jsx(
6529
- chunk3FSXWVHW_cjs.SettingsPage,
6529
+ chunkU6JQ4KMX_cjs.SettingsPage,
6530
6530
  {
6531
6531
  ...page,
6532
6532
  sections,
@@ -6739,13 +6739,13 @@ function ConnectedWorkspaceSettings({
6739
6739
  const [membersExpanded, setMembersExpanded] = react.useState(false);
6740
6740
  const [shareOpen, setShareOpen] = react.useState(false);
6741
6741
  if (!workspace) {
6742
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRXK3XP62_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkIPQ5MJ4Z_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
6742
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkRXK3XP62_cjs.PageLoading, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk2FLWPM3B_cjs.LoadingIndicator, { message: "Loading workspace..." }) });
6743
6743
  }
6744
6744
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6745
6745
  /* @__PURE__ */ jsxRuntime.jsxs(chunkRXK3XP62_cjs.WorkspacePageFrame, { testId, children: [
6746
6746
  /* @__PURE__ */ jsxRuntime.jsxs(chunkRXK3XP62_cjs.WorkspaceIdentityPanel, { children: [
6747
6747
  /* @__PURE__ */ jsxRuntime.jsx(
6748
- chunkIPQ5MJ4Z_cjs.EntityIdentityBar,
6748
+ chunk2FLWPM3B_cjs.EntityIdentityBar,
6749
6749
  {
6750
6750
  testId: "workspace-identity-bar",
6751
6751
  canEdit: isOwner,
@@ -6762,7 +6762,7 @@ function ConnectedWorkspaceSettings({
6762
6762
  label: "Name",
6763
6763
  value: workspace.name,
6764
6764
  placeholder: "Untitled",
6765
- maxLength: chunkIPQ5MJ4Z_cjs.IDENTITY_NAME_MAX_LENGTH,
6765
+ maxLength: chunk2FLWPM3B_cjs.IDENTITY_NAME_MAX_LENGTH,
6766
6766
  valueClassName: "truncate text-base font-semibold",
6767
6767
  testId: "workspace-home-title",
6768
6768
  hideLabel: true,
@@ -7047,9 +7047,9 @@ function ConnectedMailboxSyncDialog({
7047
7047
  showDescription: true,
7048
7048
  className: "w-[92vw] sm:max-w-lg",
7049
7049
  children: [
7050
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncDialogBody, { children: [
7051
- !lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncField, { label: "Target workspace", htmlFor: "sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
7052
- chunk3FSXWVHW_cjs.SyncSelect,
7050
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncDialogBody, { children: [
7051
+ !lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncField, { label: "Target workspace", htmlFor: "sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
7052
+ chunkU6JQ4KMX_cjs.SyncSelect,
7053
7053
  {
7054
7054
  id: "sync-workspace",
7055
7055
  value: workspaceExtId,
@@ -7058,9 +7058,9 @@ function ConnectedMailboxSyncDialog({
7058
7058
  options: memberWorkspaces.map((w) => ({ value: w.external_id, label: w.name }))
7059
7059
  }
7060
7060
  ) }),
7061
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncField, { label: "Backfill window", htmlFor: "sync-backfill", children: [
7061
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncField, { label: "Backfill window", htmlFor: "sync-backfill", children: [
7062
7062
  /* @__PURE__ */ jsxRuntime.jsx(
7063
- chunk3FSXWVHW_cjs.SyncSelect,
7063
+ chunkU6JQ4KMX_cjs.SyncSelect,
7064
7064
  {
7065
7065
  id: "sync-backfill",
7066
7066
  value: backfill,
@@ -7080,17 +7080,17 @@ function ConnectedMailboxSyncDialog({
7080
7080
  "aria-label": "Import emails since date"
7081
7081
  }
7082
7082
  ),
7083
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncSmallNote, { children: "Emails are always imported from this date onward \u2014 the start point never moves." })
7083
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncSmallNote, { children: "Emails are always imported from this date onward \u2014 the start point never moves." })
7084
7084
  ] })
7085
7085
  ] }),
7086
7086
  /* @__PURE__ */ jsxRuntime.jsx(
7087
- chunk3FSXWVHW_cjs.SyncField,
7087
+ chunkU6JQ4KMX_cjs.SyncField,
7088
7088
  {
7089
7089
  label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
7090
7090
  hint: "Select at least one folder to import.",
7091
- actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncLinkRow, { children: [
7091
+ actions: folders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncLinkRow, { children: [
7092
7092
  /* @__PURE__ */ jsxRuntime.jsx(
7093
- chunk3FSXWVHW_cjs.SyncLinkButton,
7093
+ chunkU6JQ4KMX_cjs.SyncLinkButton,
7094
7094
  {
7095
7095
  onClick: () => setExpandAllNonce((n) => n + 1),
7096
7096
  testId: "mail-folders-expand-all",
@@ -7098,20 +7098,20 @@ function ConnectedMailboxSyncDialog({
7098
7098
  }
7099
7099
  ),
7100
7100
  /* @__PURE__ */ jsxRuntime.jsx(
7101
- chunk3FSXWVHW_cjs.SyncLinkButton,
7101
+ chunkU6JQ4KMX_cjs.SyncLinkButton,
7102
7102
  {
7103
7103
  onClick: () => setCollapseAllNonce((n) => n + 1),
7104
7104
  testId: "mail-folders-collapse-all",
7105
7105
  children: "Collapse all"
7106
7106
  }
7107
7107
  ),
7108
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncLinkButton, { onClick: toggleAllFolders, children: allSelected ? "Clear all" : "Select all" })
7108
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLinkButton, { onClick: toggleAllFolders, children: allSelected ? "Clear all" : "Select all" })
7109
7109
  ] }),
7110
- children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncLoading, { children: "Loading folders\u2026" }) : foldersError ? (
7110
+ children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLoading, { children: "Loading folders\u2026" }) : foldersError ? (
7111
7111
  // A failed fetch is not an empty mailbox: it hides auth/scope errors (e.g. a Gmail
7112
7112
  // account needing reconnect).
7113
7113
  /* @__PURE__ */ jsxRuntime.jsx(
7114
- chunk3FSXWVHW_cjs.SyncReconnectNotice,
7114
+ chunkU6JQ4KMX_cjs.SyncReconnectNotice,
7115
7115
  {
7116
7116
  message: `Couldn\u2019t load folders from ${catalog.display_name}. Reconnect the account and try again.`,
7117
7117
  onReconnect: () => void reconnect(),
@@ -7119,7 +7119,7 @@ function ConnectedMailboxSyncDialog({
7119
7119
  testId: "folders-reconnect"
7120
7120
  }
7121
7121
  )
7122
- ) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
7122
+ ) : folders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx(
7123
7123
  chunkGRGS5M6O_cjs.MailFolderTree,
7124
7124
  {
7125
7125
  nodes: folderTree,
@@ -7131,9 +7131,9 @@ function ConnectedMailboxSyncDialog({
7131
7131
  ) })
7132
7132
  }
7133
7133
  ),
7134
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncOptions, { children: [
7134
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncOptions, { children: [
7135
7135
  /* @__PURE__ */ jsxRuntime.jsx(
7136
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7136
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7137
7137
  {
7138
7138
  checked: skipDuplicates,
7139
7139
  onCheckedChange: setSkipDuplicates,
@@ -7143,7 +7143,7 @@ function ConnectedMailboxSyncDialog({
7143
7143
  }
7144
7144
  ),
7145
7145
  /* @__PURE__ */ jsxRuntime.jsx(
7146
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7146
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7147
7147
  {
7148
7148
  checked: autoRename,
7149
7149
  onCheckedChange: setAutoRename,
@@ -7153,7 +7153,7 @@ function ConnectedMailboxSyncDialog({
7153
7153
  }
7154
7154
  ),
7155
7155
  /* @__PURE__ */ jsxRuntime.jsx(
7156
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7156
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7157
7157
  {
7158
7158
  checked: shared,
7159
7159
  onCheckedChange: setShared,
@@ -7163,7 +7163,7 @@ function ConnectedMailboxSyncDialog({
7163
7163
  }
7164
7164
  ),
7165
7165
  /* @__PURE__ */ jsxRuntime.jsx(
7166
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7166
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7167
7167
  {
7168
7168
  checked: autoSync,
7169
7169
  onCheckedChange: setAutoSync,
@@ -7175,7 +7175,7 @@ function ConnectedMailboxSyncDialog({
7175
7175
  ] })
7176
7176
  ] }),
7177
7177
  /* @__PURE__ */ jsxRuntime.jsx(
7178
- chunk3FSXWVHW_cjs.SyncDialogFooter,
7178
+ chunkU6JQ4KMX_cjs.SyncDialogFooter,
7179
7179
  {
7180
7180
  onCancel: () => onOpenChange(false),
7181
7181
  onSave: handleEnableSubmit,
@@ -7237,7 +7237,7 @@ function DriveFolderNode({
7237
7237
  const mightHaveChildren = docCount == null || docCount > 0;
7238
7238
  const orderedChildren = [...children].sort((a, b) => a.name.localeCompare(b.name));
7239
7239
  return /* @__PURE__ */ jsxRuntime.jsx(
7240
- chunk3FSXWVHW_cjs.SyncFolderRow,
7240
+ chunkU6JQ4KMX_cjs.SyncFolderRow,
7241
7241
  {
7242
7242
  id: folder.id,
7243
7243
  name: folder.name,
@@ -7251,7 +7251,7 @@ function DriveFolderNode({
7251
7251
  onCheckedChange: () => onToggle(folder.id),
7252
7252
  count: typeof docCount === "number" ? docCount : void 0,
7253
7253
  isCountLoading: isSelectable && countLoading,
7254
- children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncFolderStatus, { depth, kind: "loading" }) : orderedChildren.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncFolderStatus, { depth, kind: "empty" }) : orderedChildren.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
7254
+ children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncFolderStatus, { depth, kind: "loading" }) : orderedChildren.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncFolderStatus, { depth, kind: "empty" }) : orderedChildren.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
7255
7255
  DriveFolderNode,
7256
7256
  {
7257
7257
  vendorKey,
@@ -7397,9 +7397,9 @@ function ConnectedDriveSyncDialog({
7397
7397
  showDescription: true,
7398
7398
  className: "w-[92vw] sm:max-w-lg",
7399
7399
  children: [
7400
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncDialogBody, { children: [
7401
- !lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncField, { label: "Target workspace", htmlFor: "drive-sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
7402
- chunk3FSXWVHW_cjs.SyncSelect,
7400
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncDialogBody, { children: [
7401
+ !lockedWorkspaceExtId && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncField, { label: "Target workspace", htmlFor: "drive-sync-workspace", children: /* @__PURE__ */ jsxRuntime.jsx(
7402
+ chunkU6JQ4KMX_cjs.SyncSelect,
7403
7403
  {
7404
7404
  id: "drive-sync-workspace",
7405
7405
  value: workspaceExtId,
@@ -7409,13 +7409,13 @@ function ConnectedDriveSyncDialog({
7409
7409
  }
7410
7410
  ) }),
7411
7411
  /* @__PURE__ */ jsxRuntime.jsx(
7412
- chunk3FSXWVHW_cjs.SyncField,
7412
+ chunkU6JQ4KMX_cjs.SyncField,
7413
7413
  {
7414
7414
  label: `Folders to import${selectedFolders.length > 0 ? ` (${selectedFolders.length})` : ""}`,
7415
7415
  hint: "Select at least one folder. Importing a folder includes everything inside it.",
7416
- actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncLinkRow, { children: [
7416
+ actions: orderedFolders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncLinkRow, { children: [
7417
7417
  /* @__PURE__ */ jsxRuntime.jsx(
7418
- chunk3FSXWVHW_cjs.SyncLinkButton,
7418
+ chunkU6JQ4KMX_cjs.SyncLinkButton,
7419
7419
  {
7420
7420
  onClick: () => setExpandAllNonce((n) => n + 1),
7421
7421
  testId: "drive-folders-expand-all",
@@ -7423,7 +7423,7 @@ function ConnectedDriveSyncDialog({
7423
7423
  }
7424
7424
  ),
7425
7425
  /* @__PURE__ */ jsxRuntime.jsx(
7426
- chunk3FSXWVHW_cjs.SyncLinkButton,
7426
+ chunkU6JQ4KMX_cjs.SyncLinkButton,
7427
7427
  {
7428
7428
  onClick: () => setCollapseAllNonce((n) => n + 1),
7429
7429
  testId: "drive-folders-collapse-all",
@@ -7431,19 +7431,19 @@ function ConnectedDriveSyncDialog({
7431
7431
  }
7432
7432
  )
7433
7433
  ] }),
7434
- children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncLoading, { children: "Loading folders\u2026" }) : needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
7435
- chunk3FSXWVHW_cjs.SyncReconnectNotice,
7434
+ children: foldersLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncLoading, { children: "Loading folders\u2026" }) : needsReconnect ? /* @__PURE__ */ jsxRuntime.jsx(
7435
+ chunkU6JQ4KMX_cjs.SyncReconnectNotice,
7436
7436
  {
7437
7437
  ...reconnectButtonProps,
7438
7438
  message: `Reconnect ${catalog.display_name} to enable ${productName} \u2014 your account needs to grant file access.`
7439
7439
  }
7440
7440
  ) : foldersError ? /* @__PURE__ */ jsxRuntime.jsx(
7441
- chunk3FSXWVHW_cjs.SyncReconnectNotice,
7441
+ chunkU6JQ4KMX_cjs.SyncReconnectNotice,
7442
7442
  {
7443
7443
  ...reconnectButtonProps,
7444
7444
  message: `Couldn\u2019t load folders from ${productName}. Reconnect the account and try again.`
7445
7445
  }
7446
- ) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", "data-testid": "drive-folder-tree", children: orderedFolders.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
7446
+ ) : orderedFolders.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncNote, { children: "No folders found." }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SyncTreeFrame, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", "data-testid": "drive-folder-tree", children: orderedFolders.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
7447
7447
  DriveFolderNode,
7448
7448
  {
7449
7449
  vendorKey: catalog.vendor_key,
@@ -7460,9 +7460,9 @@ function ConnectedDriveSyncDialog({
7460
7460
  )) }) })
7461
7461
  }
7462
7462
  ),
7463
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.SyncOptions, { children: [
7463
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.SyncOptions, { children: [
7464
7464
  /* @__PURE__ */ jsxRuntime.jsx(
7465
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7465
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7466
7466
  {
7467
7467
  checked: skipDuplicates,
7468
7468
  onCheckedChange: setSkipDuplicates,
@@ -7471,7 +7471,7 @@ function ConnectedDriveSyncDialog({
7471
7471
  }
7472
7472
  ),
7473
7473
  /* @__PURE__ */ jsxRuntime.jsx(
7474
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7474
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7475
7475
  {
7476
7476
  checked: autoRename,
7477
7477
  onCheckedChange: setAutoRename,
@@ -7480,7 +7480,7 @@ function ConnectedDriveSyncDialog({
7480
7480
  }
7481
7481
  ),
7482
7482
  /* @__PURE__ */ jsxRuntime.jsx(
7483
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7483
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7484
7484
  {
7485
7485
  checked: shared,
7486
7486
  onCheckedChange: setShared,
@@ -7489,7 +7489,7 @@ function ConnectedDriveSyncDialog({
7489
7489
  }
7490
7490
  ),
7491
7491
  /* @__PURE__ */ jsxRuntime.jsx(
7492
- chunk3FSXWVHW_cjs.SyncOptionToggle,
7492
+ chunkU6JQ4KMX_cjs.SyncOptionToggle,
7493
7493
  {
7494
7494
  checked: autoSync,
7495
7495
  onCheckedChange: setAutoSync,
@@ -7501,7 +7501,7 @@ function ConnectedDriveSyncDialog({
7501
7501
  ] })
7502
7502
  ] }),
7503
7503
  /* @__PURE__ */ jsxRuntime.jsx(
7504
- chunk3FSXWVHW_cjs.SyncDialogFooter,
7504
+ chunkU6JQ4KMX_cjs.SyncDialogFooter,
7505
7505
  {
7506
7506
  onCancel: () => onOpenChange(false),
7507
7507
  onSave: handleEnableSubmit,
@@ -7938,7 +7938,7 @@ function InvoicesModal({
7938
7938
  };
7939
7939
  });
7940
7940
  return /* @__PURE__ */ jsxRuntime.jsx(
7941
- chunk3FSXWVHW_cjs.InvoicesDialog,
7941
+ chunkU6JQ4KMX_cjs.InvoicesDialog,
7942
7942
  {
7943
7943
  open,
7944
7944
  onOpenChange,
@@ -8043,7 +8043,7 @@ function StripeCheckoutModal({
8043
8043
  const isStripeConfigured = stripeEnabled;
8044
8044
  const vatNote = quote ? `${checkoutItemsLabel(aiBlocks, storageBlocks)} \xB7 ${quoteTotalLine(quote)}` : null;
8045
8045
  return /* @__PURE__ */ jsxRuntime.jsx(
8046
- chunk3FSXWVHW_cjs.CheckoutDialogFrame,
8046
+ chunkU6JQ4KMX_cjs.CheckoutDialogFrame,
8047
8047
  {
8048
8048
  open,
8049
8049
  onOpenChange,
@@ -8053,7 +8053,7 @@ function StripeCheckoutModal({
8053
8053
  children: clientSecret && !!stripe && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8054
8054
  vatNote && /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-note", className: "mb-4 text-sm text-muted-foreground", children: vatNote }),
8055
8055
  checkout?.render(stripe, { clientSecret, onComplete: handleComplete }),
8056
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.MoreInfo, { title: "Paying", label: "Payment help", testId: "checkout-payment-help", children: [
8056
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Paying", label: "Payment help", testId: "checkout-payment-help", children: [
8057
8057
  /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-decline-note", children: "Card declined? Nothing was charged. Try again or use another card." }),
8058
8058
  /* @__PURE__ */ jsxRuntime.jsx("p", { "data-testid": "checkout-vat-id-note", children: "No VAT number? Leave \u2018purchasing as a business\u2019 unticked." }),
8059
8059
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: "Add-ons chosen here are on the first invoice with the plan and renew with it until you reduce them." })
@@ -8146,7 +8146,7 @@ function PlanChoiceCards({
8146
8146
  isOnFree = false
8147
8147
  }) {
8148
8148
  return /* @__PURE__ */ jsxRuntime.jsx(
8149
- chunk3FSXWVHW_cjs.PlanCardGrid,
8149
+ chunkU6JQ4KMX_cjs.PlanCardGrid,
8150
8150
  {
8151
8151
  plans: buildPlanCards(selected, isAnnual, prices, isOnFree),
8152
8152
  onSelect: (id) => onSelect(choiceForPacks(id))
@@ -8155,7 +8155,7 @@ function PlanChoiceCards({
8155
8155
  }
8156
8156
  function PlanInfoPopover2() {
8157
8157
  const { openSettings } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
8158
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanInfoPopover, { onOpenModelList: () => openSettings("chat") });
8158
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanInfoPopover, { onOpenModelList: () => openSettings("chat") });
8159
8159
  }
8160
8160
  function CheckoutAddonBudget({
8161
8161
  value,
@@ -8340,7 +8340,7 @@ function ReferralRewardSummary2({
8340
8340
  if (!reward) return null;
8341
8341
  const applied = totalCents != null && currency ? applyReferralReward(totalCents, reward, currency) : null;
8342
8342
  return /* @__PURE__ */ jsxRuntime.jsx(
8343
- chunk3FSXWVHW_cjs.ReferralRewardSummary,
8343
+ chunkU6JQ4KMX_cjs.ReferralRewardSummary,
8344
8344
  {
8345
8345
  amountLabel: formatMoney(reward.amount, reward.currency),
8346
8346
  breakdown: applied && totalCents != null && currency ? {
@@ -8355,7 +8355,7 @@ function ReferralRewardSummary2({
8355
8355
  function ReferralRewardNote2() {
8356
8356
  const reward = useReferralReward();
8357
8357
  if (!reward) return null;
8358
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ReferralRewardNote, { amountLabel: formatMoney(reward.amount, reward.currency) });
8358
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ReferralRewardNote, { amountLabel: formatMoney(reward.amount, reward.currency) });
8359
8359
  }
8360
8360
  function CheckoutTotal({
8361
8361
  state,
@@ -8450,9 +8450,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
8450
8450
  storageBlocks,
8451
8451
  enabled: !!products?.length
8452
8452
  });
8453
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { children: "Loading plans\u2026" });
8454
- if (error) return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { tone: "error", children: "Plans didn't load. Try again." });
8455
- if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { children: "No plans available." });
8453
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Loading plans\u2026" });
8454
+ if (error) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { tone: "error", children: "Plans didn't load. Try again." });
8455
+ if (!products || products.length === 0) return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "No plans available." });
8456
8456
  const prices = findProPrices(products);
8457
8457
  const intervalPrice = isAnnual ? prices.annual : prices.monthly;
8458
8458
  const selectedPrice = packPrice(intervalPrice);
@@ -8467,14 +8467,14 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
8467
8467
  setIsCheckoutModalOpen(true);
8468
8468
  };
8469
8469
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8470
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanStack, { children: [
8470
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { children: [
8471
8471
  /* @__PURE__ */ jsxRuntime.jsx(
8472
- chunk3FSXWVHW_cjs.PlanPickerHeader,
8472
+ chunkU6JQ4KMX_cjs.PlanPickerHeader,
8473
8473
  {
8474
8474
  title: "Plan",
8475
8475
  info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
8476
8476
  toggle: /* @__PURE__ */ jsxRuntime.jsx(
8477
- chunk3FSXWVHW_cjs.PricingToggle,
8477
+ chunkU6JQ4KMX_cjs.PricingToggle,
8478
8478
  {
8479
8479
  isAnnual,
8480
8480
  onToggle: () => setIsAnnual(!isAnnual),
@@ -8511,7 +8511,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
8511
8511
  currency: intervalPrice.currency
8512
8512
  }
8513
8513
  ),
8514
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
8514
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
8515
8515
  /* @__PURE__ */ jsxRuntime.jsx(
8516
8516
  CheckoutCountrySelect,
8517
8517
  {
@@ -8523,9 +8523,9 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
8523
8523
  }
8524
8524
  ),
8525
8525
  /* @__PURE__ */ jsxRuntime.jsx(CheckoutTotal, { state: quote, postalCode, onPostalCodeChange: setPostalCode }),
8526
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanActionRow, { children: [
8526
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanActionRow, { children: [
8527
8527
  onDismiss && /* @__PURE__ */ jsxRuntime.jsx(
8528
- chunk3FSXWVHW_cjs.PlanActionButton,
8528
+ chunkU6JQ4KMX_cjs.PlanActionButton,
8529
8529
  {
8530
8530
  tone: "muted",
8531
8531
  fill: true,
@@ -8536,7 +8536,7 @@ function SubscriptionPlans({ projectExtId, onDismiss }) {
8536
8536
  }
8537
8537
  ),
8538
8538
  /* @__PURE__ */ jsxRuntime.jsx(
8539
- chunk3FSXWVHW_cjs.PlanActionButton,
8539
+ chunkU6JQ4KMX_cjs.PlanActionButton,
8540
8540
  {
8541
8541
  fill: true,
8542
8542
  onClick: handleSubscribe,
@@ -8788,11 +8788,11 @@ function ChangeProPlan({
8788
8788
  summary: allowance
8789
8789
  };
8790
8790
  };
8791
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanStack, { gap: 4, testId: "change-pro-plan", children: [
8791
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 4, testId: "change-pro-plan", children: [
8792
8792
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
8793
8793
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: "Billing" }),
8794
8794
  targetPacks > PRO_PACKS ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", "data-testid": "change-plan-interval-fixed", children: currentInterval === "year" ? "Annual" : "Monthly" }) : /* @__PURE__ */ jsxRuntime.jsx(
8795
- chunk3FSXWVHW_cjs.PricingToggle,
8795
+ chunkU6JQ4KMX_cjs.PricingToggle,
8796
8796
  {
8797
8797
  isAnnual: targetInterval === "year",
8798
8798
  onToggle: () => setChosenInterval(targetInterval === "year" ? "month" : "year"),
@@ -8800,10 +8800,10 @@ function ChangeProPlan({
8800
8800
  }
8801
8801
  )
8802
8802
  ] }),
8803
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanStack, { gap: 2, children: packOptions.map((packs) => {
8803
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanStack, { gap: 2, children: packOptions.map((packs) => {
8804
8804
  const { total, summary } = optionFor(packs);
8805
8805
  return /* @__PURE__ */ jsxRuntime.jsx(
8806
- chunk3FSXWVHW_cjs.PlanTierOption,
8806
+ chunkU6JQ4KMX_cjs.PlanTierOption,
8807
8807
  {
8808
8808
  onSelect: setTargetPacks,
8809
8809
  option: {
@@ -8820,11 +8820,11 @@ function ChangeProPlan({
8820
8820
  );
8821
8821
  }) }),
8822
8822
  isLegacyMultiPack && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [
8823
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanNotice, { className: "text-xs", testId: "change-plan-legacy-note", children: [
8823
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanNotice, { className: "text-xs", testId: "change-plan-legacy-note", children: [
8824
8824
  proTierName(project),
8825
8825
  " is no longer sold"
8826
8826
  ] }),
8827
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.MoreInfo, { title: "Legacy plan", testId: "change-plan-legacy-more-info", children: [
8827
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Legacy plan", testId: "change-plan-legacy-more-info", children: [
8828
8828
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
8829
8829
  proTierName(project),
8830
8830
  " keeps renewing at its own price, with its allowance and add-ons, until you change it."
@@ -8847,7 +8847,7 @@ function ChangeProPlan({
8847
8847
  ),
8848
8848
  targetPacks > 0 && /* @__PURE__ */ jsxRuntime.jsx(ReferralRewardNote2, {}),
8849
8849
  /* @__PURE__ */ jsxRuntime.jsx(
8850
- chunk3FSXWVHW_cjs.PlanActionButton,
8850
+ chunkU6JQ4KMX_cjs.PlanActionButton,
8851
8851
  {
8852
8852
  onClick: apply,
8853
8853
  disabled: noChange || isPending,
@@ -8860,7 +8860,7 @@ function ChangeProPlan({
8860
8860
  function ChangePlanDialog({ project, open, onOpenChange }) {
8861
8861
  const isPro = !!project && isProProject(project);
8862
8862
  return /* @__PURE__ */ jsxRuntime.jsx(
8863
- chunk3FSXWVHW_cjs.PlanDialogFrame,
8863
+ chunkU6JQ4KMX_cjs.PlanDialogFrame,
8864
8864
  {
8865
8865
  open,
8866
8866
  onOpenChange,
@@ -8926,13 +8926,13 @@ function ProjectsTable() {
8926
8926
  const hasPaid = p.subscription === "active" || p.subscription === "past_due";
8927
8927
  const canUpgrade = stripeEnabled && !hasPaid && p.subscription !== "canceled" && p.subscription !== "dev";
8928
8928
  return /* @__PURE__ */ jsxRuntime.jsx(
8929
- chunk3FSXWVHW_cjs.ProjectRow,
8929
+ chunkU6JQ4KMX_cjs.ProjectRow,
8930
8930
  {
8931
8931
  testId: `project-row-${p.external_id}`,
8932
8932
  onOpen: () => openProject(p.external_id),
8933
8933
  identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "mine", subscription: p.subscription, size: "sm" }),
8934
- summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanBadge, { ...planBadgeView(p) }) }) : void 0,
8935
- usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.QuotaMeter, { items: getQuotaItems(p.quotas), size: "lg" }) : void 0,
8934
+ summary: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanBadge, { ...planBadgeView(p) }) }) : void 0,
8935
+ usage: p.quotas ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.QuotaMeter, { items: getQuotaItems(p.quotas), size: "lg" }) : void 0,
8936
8936
  actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8937
8937
  canUpgrade && /* @__PURE__ */ jsxRuntime.jsxs(
8938
8938
  ui.Button,
@@ -8966,9 +8966,9 @@ function ProjectsTable() {
8966
8966
  );
8967
8967
  };
8968
8968
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8969
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ProjectList, { isLoading, isEmpty: ownedProjects.length === 0, isFilteredOut: false, children: ownedProjects.map(renderRow) }),
8969
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ProjectList, { isLoading, isEmpty: ownedProjects.length === 0, isFilteredOut: false, children: ownedProjects.map(renderRow) }),
8970
8970
  /* @__PURE__ */ jsxRuntime.jsx(
8971
- chunk3FSXWVHW_cjs.RenameDialog,
8971
+ chunkU6JQ4KMX_cjs.RenameDialog,
8972
8972
  {
8973
8973
  open: !!renameTarget,
8974
8974
  onClose: () => setRenameTarget(null),
@@ -9007,10 +9007,10 @@ function SharedProjects() {
9007
9007
  );
9008
9008
  if (shared.length === 0) return null;
9009
9009
  const usedToday = usageToday?.used_gbp ?? 0;
9010
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.SharedProjectsSection, { footnote: "Your daily AI usage allowance in projects other people run \u2014 their plan and billing are theirs.", children: shared.map((p) => {
9010
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.SharedProjectsSection, { footnote: "Your daily AI usage allowance in projects other people run \u2014 their plan and billing are theirs.", children: shared.map((p) => {
9011
9011
  const cap = p.daily_cap_per_user;
9012
9012
  return /* @__PURE__ */ jsxRuntime.jsx(
9013
- chunk3FSXWVHW_cjs.SharedProjectRow,
9013
+ chunkU6JQ4KMX_cjs.SharedProjectRow,
9014
9014
  {
9015
9015
  testId: `shared-project-${p.external_id}`,
9016
9016
  identity: /* @__PURE__ */ jsxRuntime.jsx(BillingProjectEntity, { name: p.name, relation: "other", size: "sm" }),
@@ -9054,7 +9054,7 @@ function DailyCapEditor({ project }) {
9054
9054
  );
9055
9055
  };
9056
9056
  return /* @__PURE__ */ jsxRuntime.jsx(
9057
- chunk3FSXWVHW_cjs.DailyCapField,
9057
+ chunkU6JQ4KMX_cjs.DailyCapField,
9058
9058
  {
9059
9059
  value,
9060
9060
  onChange: setValue,
@@ -9067,7 +9067,7 @@ function DailyCapEditor({ project }) {
9067
9067
  function SubscriptionStatus({ project }) {
9068
9068
  const { quotas, cancel_at_period_end, subscription, current_period_end, addons } = project;
9069
9069
  return /* @__PURE__ */ jsxRuntime.jsx(
9070
- chunk3FSXWVHW_cjs.SubscriptionStatusView,
9070
+ chunkU6JQ4KMX_cjs.SubscriptionStatusView,
9071
9071
  {
9072
9072
  resetDate: formatResetDate(addons?.ai_usage_reset_at ?? current_period_end),
9073
9073
  isCanceling: subscription === "canceled" || cancel_at_period_end === true,
@@ -9199,8 +9199,8 @@ function AddAddonDialog({
9199
9199
  isAnnual ? "yearly" : "monthly",
9200
9200
  " \xB7 no refund"
9201
9201
  ] }),
9202
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.MoreInfo, { title: "Adding a top-up", testId: "add-addon-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
9203
- chunk3FSXWVHW_cjs.MoreInfoList,
9202
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Adding a top-up", testId: "add-addon-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
9203
+ chunkU6JQ4KMX_cjs.MoreInfoList,
9204
9204
  {
9205
9205
  items: [
9206
9206
  {
@@ -9309,7 +9309,7 @@ function ReduceAddonDialog({
9309
9309
  fromShort,
9310
9310
  " \xB7 no refund"
9311
9311
  ] }),
9312
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.MoreInfo, { title: "Reducing a top-up", testId: "reduce-addon-more-info", children: [
9312
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Reducing a top-up", testId: "reduce-addon-more-info", children: [
9313
9313
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
9314
9314
  "The reduction applies from your next renewal (",
9315
9315
  from,
@@ -9668,8 +9668,8 @@ function UsageCapEditor({ project, addons }) {
9668
9668
  function UsageInfo({ addons, isAnnual }) {
9669
9669
  const period = isAnnual ? "year" : "month";
9670
9670
  const legacy = (addons.legacy_ai_blocks ?? 0) > 0 || (addons.legacy_storage_blocks ?? 0) > 0;
9671
- return /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.MoreInfo, { title: "Usage and top-ups", testId: "usage-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
9672
- chunk3FSXWVHW_cjs.MoreInfoList,
9671
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.MoreInfo, { title: "Usage and top-ups", testId: "usage-more-info", children: /* @__PURE__ */ jsxRuntime.jsx(
9672
+ chunkU6JQ4KMX_cjs.MoreInfoList,
9673
9673
  {
9674
9674
  items: [
9675
9675
  {
@@ -9972,8 +9972,8 @@ function ProjectPlanCard({
9972
9972
  }
9973
9973
  )
9974
9974
  ] }),
9975
- addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { tone: "error", testId: "plan-billing-error", children: addons.billing_error }),
9976
- confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanNotice, { testId: "plan-payment-state", children: [
9975
+ addons?.billing_error && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { tone: "error", testId: "plan-billing-error", children: addons.billing_error }),
9976
+ confirmUrl ? /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanNotice, { testId: "plan-payment-state", children: [
9977
9977
  "Waiting for your bank",
9978
9978
  pendingPayment?.amount_pence ? ` \xB7 ${gbp4(pendingPayment.amount_pence)}` : "",
9979
9979
  " \xB7",
@@ -9991,7 +9991,7 @@ function ProjectPlanCard({
9991
9991
  ]
9992
9992
  }
9993
9993
  )
9994
- ] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { testId: "plan-payment-state", children: paidLine(paidPayment, addons) }),
9994
+ ] }) : paidPayment && addons && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { testId: "plan-payment-state", children: paidLine(paidPayment, addons) }),
9995
9995
  isPro && /* @__PURE__ */ jsxRuntime.jsxs(
9996
9996
  "button",
9997
9997
  {
@@ -10149,13 +10149,13 @@ function ProjectUsageContent({
10149
10149
  };
10150
10150
  const quotaPct = effectiveUsage && aiUsageLimit ? Math.round(effectiveUsage.total_spend / aiUsageLimit * 100) : 0;
10151
10151
  return /* @__PURE__ */ jsxRuntime.jsx(
10152
- chunk3FSXWVHW_cjs.UsagePanel,
10152
+ chunkU6JQ4KMX_cjs.UsagePanel,
10153
10153
  {
10154
10154
  state,
10155
10155
  dateRange,
10156
10156
  emptyMessage: `No usage ${period === "current" ? "yet this month" : "last month"}.`,
10157
10157
  period: /* @__PURE__ */ jsxRuntime.jsx(
10158
- chunk3FSXWVHW_cjs.UsageToggle,
10158
+ chunkU6JQ4KMX_cjs.UsageToggle,
10159
10159
  {
10160
10160
  ariaLabel: "Period",
10161
10161
  value: period,
@@ -10168,7 +10168,7 @@ function ProjectUsageContent({
10168
10168
  ),
10169
10169
  actions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10170
10170
  effectiveUsage?.invoice_pdf && /* @__PURE__ */ jsxRuntime.jsx(
10171
- chunk3FSXWVHW_cjs.UsageActionButton,
10171
+ chunkU6JQ4KMX_cjs.UsageActionButton,
10172
10172
  {
10173
10173
  label: "Download Stripe invoice PDF",
10174
10174
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "size-3.5" }),
@@ -10176,7 +10176,7 @@ function ProjectUsageContent({
10176
10176
  }
10177
10177
  ),
10178
10178
  /* @__PURE__ */ jsxRuntime.jsx(
10179
- chunk3FSXWVHW_cjs.UsageActionButton,
10179
+ chunkU6JQ4KMX_cjs.UsageActionButton,
10180
10180
  {
10181
10181
  label: "Print usage summary",
10182
10182
  icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Printer, { className: "size-3.5" }),
@@ -10186,7 +10186,7 @@ function ProjectUsageContent({
10186
10186
  ] }),
10187
10187
  children: effectiveUsage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10188
10188
  /* @__PURE__ */ jsxRuntime.jsx(
10189
- chunk3FSXWVHW_cjs.UsageSummary,
10189
+ chunkU6JQ4KMX_cjs.UsageSummary,
10190
10190
  {
10191
10191
  stats: [
10192
10192
  {
@@ -10194,7 +10194,7 @@ function ProjectUsageContent({
10194
10194
  value: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: react$1.formatGbp(effectiveUsage.total_spend) }),
10195
10195
  label: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10196
10196
  "AI usage",
10197
- quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.UsageQuotaHint, { children: [
10197
+ quotaPct > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.UsageQuotaHint, { children: [
10198
10198
  "(",
10199
10199
  quotaPct,
10200
10200
  "% of quota)"
@@ -10215,7 +10215,7 @@ function ProjectUsageContent({
10215
10215
  }
10216
10216
  ),
10217
10217
  /* @__PURE__ */ jsxRuntime.jsx(
10218
- chunk3FSXWVHW_cjs.UsageToggle,
10218
+ chunkU6JQ4KMX_cjs.UsageToggle,
10219
10219
  {
10220
10220
  ariaLabel: "Breakdown by",
10221
10221
  size: "fill",
@@ -10228,12 +10228,12 @@ function ProjectUsageContent({
10228
10228
  }
10229
10229
  ),
10230
10230
  /* @__PURE__ */ jsxRuntime.jsx(
10231
- chunk3FSXWVHW_cjs.UsageSection,
10231
+ chunkU6JQ4KMX_cjs.UsageSection,
10232
10232
  {
10233
- footer: /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.UsageLegend, { series }),
10233
+ footer: /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.UsageLegend, { series }),
10234
10234
  title: `Daily AI usage${breakdown === "model" ? ` by ${BREAKDOWN_LABELS[breakdown]}` : ""}`,
10235
10235
  children: /* @__PURE__ */ jsxRuntime.jsx(
10236
- chunk3FSXWVHW_cjs.UsageLineChart,
10236
+ chunkU6JQ4KMX_cjs.UsageLineChart,
10237
10237
  {
10238
10238
  dates,
10239
10239
  series,
@@ -10244,12 +10244,12 @@ function ProjectUsageContent({
10244
10244
  }
10245
10245
  ),
10246
10246
  /* @__PURE__ */ jsxRuntime.jsx(
10247
- chunk3FSXWVHW_cjs.UsageSection,
10247
+ chunkU6JQ4KMX_cjs.UsageSection,
10248
10248
  {
10249
10249
  title: "Breakdown",
10250
10250
  gap: "md",
10251
10251
  action: /* @__PURE__ */ jsxRuntime.jsx(
10252
- chunk3FSXWVHW_cjs.UsageToggle,
10252
+ chunkU6JQ4KMX_cjs.UsageToggle,
10253
10253
  {
10254
10254
  ariaLabel: "Breakdown metric",
10255
10255
  value: metric,
@@ -10261,7 +10261,7 @@ function ProjectUsageContent({
10261
10261
  }
10262
10262
  ),
10263
10263
  children: /* @__PURE__ */ jsxRuntime.jsx(
10264
- chunk3FSXWVHW_cjs.UsageProportionBar,
10264
+ chunkU6JQ4KMX_cjs.UsageProportionBar,
10265
10265
  {
10266
10266
  metric,
10267
10267
  items: breakdownItems.map((item) => ({
@@ -10319,7 +10319,7 @@ function ProjectDetail({ projectExtId, storage }) {
10319
10319
  }
10320
10320
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-6 space-y-6 max-w-4xl", "data-testid": `project-detail-${project.external_id}`, children: [
10321
10321
  /* @__PURE__ */ jsxRuntime.jsx(
10322
- chunk3FSXWVHW_cjs.ProjectDetailHeader,
10322
+ chunkU6JQ4KMX_cjs.ProjectDetailHeader,
10323
10323
  {
10324
10324
  icon: /* @__PURE__ */ jsxRuntime.jsx(ui.EntityIcon, { entityType: "PROJECT" }),
10325
10325
  name: project.name,
@@ -10327,11 +10327,11 @@ function ProjectDetail({ projectExtId, storage }) {
10327
10327
  setRenameValue(project.name);
10328
10328
  setRenameOpen(true);
10329
10329
  },
10330
- badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanBadge, { ...planBadgeView(project), size: "md" }) : void 0
10330
+ badge: stripeEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanBadge, { ...planBadgeView(project), size: "md" }) : void 0
10331
10331
  }
10332
10332
  ),
10333
10333
  hasBilling && /* @__PURE__ */ jsxRuntime.jsx(ProjectBilling, { project, onChangePlan: () => setPlanOpen(true) }),
10334
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.ProjectDetailSection, { title: hasBilling ? "Collaborator limits" : "Plan limits", children: [
10334
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.ProjectDetailSection, { title: hasBilling ? "Collaborator limits" : "Plan limits", children: [
10335
10335
  !hasBilling && /* @__PURE__ */ jsxRuntime.jsx(SubscriptionStatus, { project }),
10336
10336
  /* @__PURE__ */ jsxRuntime.jsxs(
10337
10337
  "div",
@@ -10347,7 +10347,7 @@ function ProjectDetail({ projectExtId, storage }) {
10347
10347
  }
10348
10348
  )
10349
10349
  ] }),
10350
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.ProjectDetailSection, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(
10350
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.ProjectDetailSection, { title: "Usage", children: /* @__PURE__ */ jsxRuntime.jsx(
10351
10351
  ProjectUsageContent,
10352
10352
  {
10353
10353
  projectExtId: project.external_id,
@@ -10357,7 +10357,7 @@ function ProjectDetail({ projectExtId, storage }) {
10357
10357
  ) }),
10358
10358
  storage,
10359
10359
  /* @__PURE__ */ jsxRuntime.jsx(
10360
- chunk3FSXWVHW_cjs.RenameDialog,
10360
+ chunkU6JQ4KMX_cjs.RenameDialog,
10361
10361
  {
10362
10362
  open: renameOpen,
10363
10363
  onClose: () => setRenameOpen(false),
@@ -10518,8 +10518,8 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
10518
10518
  description: stripeEnabled ? "Name it and pick a plan." : "Projects group your workspaces.",
10519
10519
  showDescription: true,
10520
10520
  size: "xl",
10521
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanStack, { gap: 5, children: [
10522
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanStack, { gap: 2, children: [
10521
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 5, children: [
10522
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanStack, { gap: 2, children: [
10523
10523
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { htmlFor: "new-project-name", children: "Name" }),
10524
10524
  /* @__PURE__ */ jsxRuntime.jsx(
10525
10525
  ui.Input,
@@ -10535,16 +10535,16 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
10535
10535
  }
10536
10536
  )
10537
10537
  ] }),
10538
- stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { children: "Loading plans\u2026" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10539
- /* @__PURE__ */ jsxRuntime.jsxs(chunk3FSXWVHW_cjs.PlanPickerCard, { children: [
10538
+ stripeEnabled && (productsLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Loading plans\u2026" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10539
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkU6JQ4KMX_cjs.PlanPickerCard, { children: [
10540
10540
  /* @__PURE__ */ jsxRuntime.jsx(
10541
- chunk3FSXWVHW_cjs.PlanPickerHeader,
10541
+ chunkU6JQ4KMX_cjs.PlanPickerHeader,
10542
10542
  {
10543
10543
  title: "Plan",
10544
10544
  info: /* @__PURE__ */ jsxRuntime.jsx(PlanInfoPopover2, {}),
10545
10545
  infoPlacement: "toggle",
10546
10546
  toggle: plan !== "free" ? /* @__PURE__ */ jsxRuntime.jsx(
10547
- chunk3FSXWVHW_cjs.PricingToggle,
10547
+ chunkU6JQ4KMX_cjs.PricingToggle,
10548
10548
  {
10549
10549
  isAnnual,
10550
10550
  onToggle: () => setIsAnnual(!isAnnual),
@@ -10582,7 +10582,7 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
10582
10582
  currency
10583
10583
  }
10584
10584
  ),
10585
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
10585
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PromoCodeInput, { value: promoCode, onChange: setPromoCode }),
10586
10586
  /* @__PURE__ */ jsxRuntime.jsx(
10587
10587
  CheckoutCountrySelect,
10588
10588
  {
@@ -10601,10 +10601,10 @@ function NewProjectFlow({ open, onOpenChange, defaultName }) {
10601
10601
  onPostalCodeChange: setPostalCode
10602
10602
  }
10603
10603
  )
10604
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { children: "Pro isn't available right now." }))
10604
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { children: "Pro isn't available right now." }))
10605
10605
  ] })),
10606
- /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanActionButton, { onClick: submit, disabled: !canSubmit, children: isCreating ? "Creating\u2026" : isPro ? "Continue to payment" : "Create project" }),
10607
- isSlow && /* @__PURE__ */ jsxRuntime.jsx(chunk3FSXWVHW_cjs.PlanNotice, { className: "text-xs", testId: "new-project-still-working", children: "Still working. We'll update here." })
10606
+ /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanActionButton, { onClick: submit, disabled: !canSubmit, children: isCreating ? "Creating\u2026" : isPro ? "Continue to payment" : "Create project" }),
10607
+ isSlow && /* @__PURE__ */ jsxRuntime.jsx(chunkU6JQ4KMX_cjs.PlanNotice, { className: "text-xs", testId: "new-project-still-working", children: "Still working. We'll update here." })
10608
10608
  ] })
10609
10609
  }
10610
10610
  ),
@@ -12880,7 +12880,7 @@ function ConnectedMailbox({
12880
12880
  }
12881
12881
  ),
12882
12882
  /* @__PURE__ */ jsxRuntime.jsx(
12883
- chunkZAVEMQ37_cjs.ConfirmDialog,
12883
+ chunkDWZXSPMB_cjs.ConfirmDialog,
12884
12884
  {
12885
12885
  isOpen: confirmDelete !== null,
12886
12886
  onClose: () => setConfirmDelete(null),
@@ -16351,51 +16351,51 @@ Object.defineProperty(exports, "useWorkspaceDocs", {
16351
16351
  });
16352
16352
  Object.defineProperty(exports, "ConnectedWorkflowDocumentsField", {
16353
16353
  enumerable: true,
16354
- get: function () { return chunkGGTUMLCT_cjs.ConnectedWorkflowDocumentsField; }
16354
+ get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowDocumentsField; }
16355
16355
  });
16356
16356
  Object.defineProperty(exports, "ConnectedWorkflowLauncher", {
16357
16357
  enumerable: true,
16358
- get: function () { return chunkGGTUMLCT_cjs.ConnectedWorkflowLauncher; }
16358
+ get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowLauncher; }
16359
16359
  });
16360
16360
  Object.defineProperty(exports, "ConnectedWorkflowsTable", {
16361
16361
  enumerable: true,
16362
- get: function () { return chunkGGTUMLCT_cjs.ConnectedWorkflowsTable; }
16362
+ get: function () { return chunkQ4BY2CQQ_cjs.ConnectedWorkflowsTable; }
16363
16363
  });
16364
16364
  Object.defineProperty(exports, "DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS", {
16365
16365
  enumerable: true,
16366
- get: function () { return chunkGGTUMLCT_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
16366
+ get: function () { return chunkQ4BY2CQQ_cjs.DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS; }
16367
16367
  });
16368
16368
  Object.defineProperty(exports, "NativeDocxSupportProvider", {
16369
16369
  enumerable: true,
16370
- get: function () { return chunkGGTUMLCT_cjs.NativeDocxSupportProvider; }
16370
+ get: function () { return chunkQ4BY2CQQ_cjs.NativeDocxSupportProvider; }
16371
16371
  });
16372
16372
  Object.defineProperty(exports, "toWorkflowFieldDocument", {
16373
16373
  enumerable: true,
16374
- get: function () { return chunkGGTUMLCT_cjs.toWorkflowFieldDocument; }
16374
+ get: function () { return chunkQ4BY2CQQ_cjs.toWorkflowFieldDocument; }
16375
16375
  });
16376
16376
  Object.defineProperty(exports, "useConnectedAgentOptions", {
16377
16377
  enumerable: true,
16378
- get: function () { return chunkGGTUMLCT_cjs.useConnectedAgentOptions; }
16378
+ get: function () { return chunkQ4BY2CQQ_cjs.useConnectedAgentOptions; }
16379
16379
  });
16380
16380
  Object.defineProperty(exports, "useConnectedWorkflowScopeSource", {
16381
16381
  enumerable: true,
16382
- get: function () { return chunkGGTUMLCT_cjs.useConnectedWorkflowScopeSource; }
16382
+ get: function () { return chunkQ4BY2CQQ_cjs.useConnectedWorkflowScopeSource; }
16383
16383
  });
16384
16384
  Object.defineProperty(exports, "useConnectedWorkspaceRole", {
16385
16385
  enumerable: true,
16386
- get: function () { return chunkGGTUMLCT_cjs.useConnectedWorkspaceRole; }
16386
+ get: function () { return chunkQ4BY2CQQ_cjs.useConnectedWorkspaceRole; }
16387
16387
  });
16388
16388
  Object.defineProperty(exports, "useNativeDocxSupport", {
16389
16389
  enumerable: true,
16390
- get: function () { return chunkGGTUMLCT_cjs.useNativeDocxSupport; }
16390
+ get: function () { return chunkQ4BY2CQQ_cjs.useNativeDocxSupport; }
16391
16391
  });
16392
16392
  Object.defineProperty(exports, "DocumentViewerSupportProvider", {
16393
16393
  enumerable: true,
16394
- get: function () { return chunkKLPRAQCE_cjs.DocumentViewerSupportProvider; }
16394
+ get: function () { return chunk6I6CVX5G_cjs.DocumentViewerSupportProvider; }
16395
16395
  });
16396
16396
  Object.defineProperty(exports, "useDocumentViewerSupport", {
16397
16397
  enumerable: true,
16398
- get: function () { return chunkKLPRAQCE_cjs.useDocumentViewerSupport; }
16398
+ get: function () { return chunk6I6CVX5G_cjs.useDocumentViewerSupport; }
16399
16399
  });
16400
16400
  Object.defineProperty(exports, "ConnectedWorkspaceDataProvider", {
16401
16401
  enumerable: true,