@arbidocs/blocks 0.4.130 → 0.4.131

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 (154) hide show
  1. package/README.md +3 -4
  2. package/dist/agents/index.cjs +304 -304
  3. package/dist/agents/index.js +12 -12
  4. package/dist/calls/index.cjs +3 -3
  5. package/dist/calls/index.js +2 -2
  6. package/dist/chat/index.cjs +144 -144
  7. package/dist/chat/index.js +5 -5
  8. package/dist/chat/open-document.d.ts +1 -5
  9. package/dist/{chunk-SZX44LCT.js → chunk-26E6PHD2.js} +3 -3
  10. package/dist/{chunk-SZX44LCT.js.map → chunk-26E6PHD2.js.map} +1 -1
  11. package/dist/{chunk-2PNNCEPH.js → chunk-54ANPPMV.js} +4 -4
  12. package/dist/{chunk-2PNNCEPH.js.map → chunk-54ANPPMV.js.map} +1 -1
  13. package/dist/{chunk-FUTMU4FR.js → chunk-5HFPRI3W.js} +3 -3
  14. package/dist/{chunk-FUTMU4FR.js.map → chunk-5HFPRI3W.js.map} +1 -1
  15. package/dist/chunk-76JDDMSP.js +31 -0
  16. package/dist/chunk-76JDDMSP.js.map +1 -0
  17. package/dist/{chunk-4RLCRFZS.js → chunk-7D4W3SAH.js} +12 -15
  18. package/dist/chunk-7D4W3SAH.js.map +1 -0
  19. package/dist/{chunk-2DFDFOM7.js → chunk-7HAM7Y5U.js} +3 -3
  20. package/dist/{chunk-2DFDFOM7.js.map → chunk-7HAM7Y5U.js.map} +1 -1
  21. package/dist/{chunk-4QIIDXLF.cjs → chunk-7KH4M3KY.cjs} +10 -10
  22. package/dist/{chunk-4QIIDXLF.cjs.map → chunk-7KH4M3KY.cjs.map} +1 -1
  23. package/dist/{chunk-TP6PLDNM.cjs → chunk-7QDX2CO4.cjs} +4 -4
  24. package/dist/{chunk-TP6PLDNM.cjs.map → chunk-7QDX2CO4.cjs.map} +1 -1
  25. package/dist/{chunk-RI6DZA5X.js → chunk-A2YAC22G.js} +3 -3
  26. package/dist/{chunk-RI6DZA5X.js.map → chunk-A2YAC22G.js.map} +1 -1
  27. package/dist/{chunk-4S5IDT5F.cjs → chunk-BZF55UCE.cjs} +5 -5
  28. package/dist/{chunk-4S5IDT5F.cjs.map → chunk-BZF55UCE.cjs.map} +1 -1
  29. package/dist/chunk-C54XEN5T.cjs +34 -0
  30. package/dist/chunk-C54XEN5T.cjs.map +1 -0
  31. package/dist/{chunk-GZPTWHP5.cjs → chunk-CDZVC32G.cjs} +10 -22
  32. package/dist/chunk-CDZVC32G.cjs.map +1 -0
  33. package/dist/{chunk-PUCY3UXN.js → chunk-CXLVI3SB.js} +3 -3
  34. package/dist/{chunk-PUCY3UXN.js.map → chunk-CXLVI3SB.js.map} +1 -1
  35. package/dist/{chunk-W3VYZXNS.js → chunk-D3N67Q4D.js} +3 -3
  36. package/dist/{chunk-W3VYZXNS.js.map → chunk-D3N67Q4D.js.map} +1 -1
  37. package/dist/{chunk-KYDRUFWT.cjs → chunk-D4YR56FV.cjs} +5 -5
  38. package/dist/{chunk-KYDRUFWT.cjs.map → chunk-D4YR56FV.cjs.map} +1 -1
  39. package/dist/{chunk-QYTYW74G.js → chunk-DI35D756.js} +5 -5
  40. package/dist/{chunk-QYTYW74G.js.map → chunk-DI35D756.js.map} +1 -1
  41. package/dist/{chunk-OPTBQSCV.cjs → chunk-DJM7DLCT.cjs} +3 -3
  42. package/dist/{chunk-OPTBQSCV.cjs.map → chunk-DJM7DLCT.cjs.map} +1 -1
  43. package/dist/{chunk-2Q7FDZAY.js → chunk-DQCYCEDR.js} +3 -3
  44. package/dist/{chunk-2Q7FDZAY.js.map → chunk-DQCYCEDR.js.map} +1 -1
  45. package/dist/{chunk-VHJHY7TT.js → chunk-ECERC6TI.js} +3 -3
  46. package/dist/{chunk-VHJHY7TT.js.map → chunk-ECERC6TI.js.map} +1 -1
  47. package/dist/{chunk-OQ7RUNOC.js → chunk-GFYGYME3.js} +3 -3
  48. package/dist/{chunk-OQ7RUNOC.js.map → chunk-GFYGYME3.js.map} +1 -1
  49. package/dist/{chunk-YBLIKTJK.js → chunk-GYCQ3FNL.js} +2 -2
  50. package/dist/chunk-GYCQ3FNL.js.map +1 -0
  51. package/dist/{chunk-6AALMYPS.cjs → chunk-HM23LXUP.cjs} +3 -3
  52. package/dist/{chunk-6AALMYPS.cjs.map → chunk-HM23LXUP.cjs.map} +1 -1
  53. package/dist/{chunk-WXYQ66KC.cjs → chunk-JK45LSIH.cjs} +5 -5
  54. package/dist/{chunk-WXYQ66KC.cjs.map → chunk-JK45LSIH.cjs.map} +1 -1
  55. package/dist/{chunk-UMIY4SQS.js → chunk-KLOSOT26.js} +11 -11
  56. package/dist/{chunk-UMIY4SQS.js.map → chunk-KLOSOT26.js.map} +1 -1
  57. package/dist/{chunk-SARREDFP.cjs → chunk-LC2KJSUS.cjs} +46 -46
  58. package/dist/{chunk-SARREDFP.cjs.map → chunk-LC2KJSUS.cjs.map} +1 -1
  59. package/dist/{chunk-ARDHLU73.cjs → chunk-LRD7BHAT.cjs} +10 -13
  60. package/dist/chunk-LRD7BHAT.cjs.map +1 -0
  61. package/dist/{chunk-R26BK7YL.cjs → chunk-OB5F4577.cjs} +4 -4
  62. package/dist/{chunk-R26BK7YL.cjs.map → chunk-OB5F4577.cjs.map} +1 -1
  63. package/dist/{chunk-AAFX64WD.cjs → chunk-OR4CO743.cjs} +3 -3
  64. package/dist/{chunk-AAFX64WD.cjs.map → chunk-OR4CO743.cjs.map} +1 -1
  65. package/dist/{chunk-HFGXA5CL.cjs → chunk-OUW6G4O2.cjs} +4 -4
  66. package/dist/{chunk-HFGXA5CL.cjs.map → chunk-OUW6G4O2.cjs.map} +1 -1
  67. package/dist/{chunk-4UMXQPNA.js → chunk-P5HOXWYL.js} +8 -20
  68. package/dist/chunk-P5HOXWYL.js.map +1 -0
  69. package/dist/{chunk-GDBDHOI4.js → chunk-P5ST47VY.js} +3 -3
  70. package/dist/{chunk-GDBDHOI4.js.map → chunk-P5ST47VY.js.map} +1 -1
  71. package/dist/{chunk-OGBXV326.cjs → chunk-S6BOINC4.cjs} +7 -7
  72. package/dist/{chunk-OGBXV326.cjs.map → chunk-S6BOINC4.cjs.map} +1 -1
  73. package/dist/{chunk-444XKG46.js → chunk-S7PSMMRG.js} +3 -3
  74. package/dist/{chunk-444XKG46.js.map → chunk-S7PSMMRG.js.map} +1 -1
  75. package/dist/{chunk-JKB7WT7L.cjs → chunk-SWQX6CTT.cjs} +2 -2
  76. package/dist/chunk-SWQX6CTT.cjs.map +1 -0
  77. package/dist/{chunk-ENDP7JER.js → chunk-VW2C2AZL.js} +3 -3
  78. package/dist/{chunk-ENDP7JER.js.map → chunk-VW2C2AZL.js.map} +1 -1
  79. package/dist/{chunk-TT6XV6WM.cjs → chunk-W27VK32R.cjs} +84 -84
  80. package/dist/{chunk-TT6XV6WM.cjs.map → chunk-W27VK32R.cjs.map} +1 -1
  81. package/dist/{chunk-PJJY6CYL.cjs → chunk-WV4IDVDQ.cjs} +11 -11
  82. package/dist/{chunk-PJJY6CYL.cjs.map → chunk-WV4IDVDQ.cjs.map} +1 -1
  83. package/dist/{chunk-DWZXSPMB.cjs → chunk-ZAVEMQ37.cjs} +3 -3
  84. package/dist/{chunk-DWZXSPMB.cjs.map → chunk-ZAVEMQ37.cjs.map} +1 -1
  85. package/dist/{chunk-Y3KA6X7B.js → chunk-ZCF2JJFA.js} +3 -3
  86. package/dist/{chunk-Y3KA6X7B.js.map → chunk-ZCF2JJFA.js.map} +1 -1
  87. package/dist/{chunk-QDEODGXE.cjs → chunk-ZV3BKLFY.cjs} +5 -5
  88. package/dist/{chunk-QDEODGXE.cjs.map → chunk-ZV3BKLFY.cjs.map} +1 -1
  89. package/dist/citations/index.cjs +11 -12
  90. package/dist/citations/index.js +2 -3
  91. package/dist/collaboration/index.cjs +51 -51
  92. package/dist/collaboration/index.js +3 -3
  93. package/dist/connect/docx.cjs +5 -7
  94. package/dist/connect/docx.cjs.map +1 -1
  95. package/dist/connect/docx.js +4 -6
  96. package/dist/connect/docx.js.map +1 -1
  97. package/dist/connect/index.cjs +155 -161
  98. package/dist/connect/index.cjs.map +1 -1
  99. package/dist/connect/index.d.ts +1 -1
  100. package/dist/connect/index.js +78 -85
  101. package/dist/connect/index.js.map +1 -1
  102. package/dist/connection/ConnectedSettings.d.ts +17 -8
  103. package/dist/connection/ConnectionProvider.d.ts +0 -5
  104. package/dist/connection/mail/ConnectedMailComposer.d.ts +3 -2
  105. package/dist/connection/mail/ConnectedMailbox.d.ts +3 -2
  106. package/dist/connection/mail/MailComposerForm.d.ts +3 -2
  107. package/dist/connection/mail/index.d.ts +2 -2
  108. package/dist/connection/mail/mailbox.d.ts +4 -1
  109. package/dist/connection/mail/types.d.ts +8 -0
  110. package/dist/document-tools/index.cjs +1 -1
  111. package/dist/document-tools/index.js +1 -1
  112. package/dist/facts/index.cjs +4 -5
  113. package/dist/facts/index.cjs.map +1 -1
  114. package/dist/facts/index.js +3 -4
  115. package/dist/facts/index.js.map +1 -1
  116. package/dist/files/index.cjs +4 -4
  117. package/dist/files/index.js +3 -3
  118. package/dist/home/index.cjs +19 -20
  119. package/dist/home/index.cjs.map +1 -1
  120. package/dist/home/index.js +4 -5
  121. package/dist/home/index.js.map +1 -1
  122. package/dist/index.cjs +679 -679
  123. package/dist/index.d.ts +1 -2
  124. package/dist/index.js +24 -24
  125. package/dist/provider/BlocksProvider.d.ts +4 -39
  126. package/dist/retrieval/index.cjs +4 -5
  127. package/dist/retrieval/index.js +2 -3
  128. package/dist/settings/index.cjs +47 -47
  129. package/dist/settings/index.js +5 -5
  130. package/dist/shell/index.cjs +47 -48
  131. package/dist/shell/index.js +3 -4
  132. package/dist/site/index.cjs +5 -5
  133. package/dist/site/index.js +1 -1
  134. package/dist/studio/index.cjs +18 -19
  135. package/dist/studio/index.cjs.map +1 -1
  136. package/dist/studio/index.js +10 -11
  137. package/dist/studio/index.js.map +1 -1
  138. package/dist/workflow-canvas/index.cjs +65 -65
  139. package/dist/workflow-canvas/index.js +13 -13
  140. package/dist/workspaces/index.cjs +3 -3
  141. package/dist/workspaces/index.js +2 -2
  142. package/node_modules/@arbidocs/coedit/package.json +1 -1
  143. package/package.json +4 -4
  144. package/dist/chunk-4RLCRFZS.js.map +0 -1
  145. package/dist/chunk-4UMXQPNA.js.map +0 -1
  146. package/dist/chunk-ARDHLU73.cjs.map +0 -1
  147. package/dist/chunk-C4WSHRR6.cjs +0 -166
  148. package/dist/chunk-C4WSHRR6.cjs.map +0 -1
  149. package/dist/chunk-GZPTWHP5.cjs.map +0 -1
  150. package/dist/chunk-JKB7WT7L.cjs.map +0 -1
  151. package/dist/chunk-YBLIKTJK.js.map +0 -1
  152. package/dist/chunk-YNIBUKV5.js +0 -163
  153. package/dist/chunk-YNIBUKV5.js.map +0 -1
  154. package/dist/provider/dialogs.d.ts +0 -31
@@ -1,40 +1,39 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkO4YPVYPO_cjs = require('../chunk-O4YPVYPO.cjs');
5
- var chunkAAFX64WD_cjs = require('../chunk-AAFX64WD.cjs');
6
- var chunk4QIIDXLF_cjs = require('../chunk-4QIIDXLF.cjs');
7
- var chunkGZPTWHP5_cjs = require('../chunk-GZPTWHP5.cjs');
8
- var chunkARDHLU73_cjs = require('../chunk-ARDHLU73.cjs');
4
+ var chunkOR4CO743_cjs = require('../chunk-OR4CO743.cjs');
5
+ var chunk7KH4M3KY_cjs = require('../chunk-7KH4M3KY.cjs');
6
+ var chunkCDZVC32G_cjs = require('../chunk-CDZVC32G.cjs');
7
+ var chunkLRD7BHAT_cjs = require('../chunk-LRD7BHAT.cjs');
9
8
  var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
10
9
  require('../chunk-S24XEVPS.cjs');
11
10
  require('../chunk-V5OAXIBN.cjs');
12
11
  require('../chunk-5FYU7ZIU.cjs');
13
- var chunkKYDRUFWT_cjs = require('../chunk-KYDRUFWT.cjs');
12
+ var chunkO4YPVYPO_cjs = require('../chunk-O4YPVYPO.cjs');
13
+ var chunkD4YR56FV_cjs = require('../chunk-D4YR56FV.cjs');
14
14
  var chunkO6IEZDRC_cjs = require('../chunk-O6IEZDRC.cjs');
15
15
  var chunkI2QSDQQV_cjs = require('../chunk-I2QSDQQV.cjs');
16
16
  require('../chunk-RC25WMVB.cjs');
17
- var chunkSARREDFP_cjs = require('../chunk-SARREDFP.cjs');
18
- require('../chunk-DETZZBG2.cjs');
17
+ var chunkLC2KJSUS_cjs = require('../chunk-LC2KJSUS.cjs');
18
+ require('../chunk-7D737FLE.cjs');
19
19
  var chunkN26CXGXC_cjs = require('../chunk-N26CXGXC.cjs');
20
+ require('../chunk-DETZZBG2.cjs');
20
21
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
21
22
  require('../chunk-C2CWWEHO.cjs');
22
- require('../chunk-7D737FLE.cjs');
23
23
  var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
24
24
  require('../chunk-ADOKTJHV.cjs');
25
- var chunkDWZXSPMB_cjs = require('../chunk-DWZXSPMB.cjs');
25
+ var chunkZAVEMQ37_cjs = require('../chunk-ZAVEMQ37.cjs');
26
26
  var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
27
- var chunkPJJY6CYL_cjs = require('../chunk-PJJY6CYL.cjs');
27
+ var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
28
+ var chunkWV4IDVDQ_cjs = require('../chunk-WV4IDVDQ.cjs');
28
29
  require('../chunk-B6MVQCXW.cjs');
29
- var chunkJKB7WT7L_cjs = require('../chunk-JKB7WT7L.cjs');
30
- var chunk6AALMYPS_cjs = require('../chunk-6AALMYPS.cjs');
31
- require('../chunk-32HW2Q33.cjs');
30
+ var chunkSWQX6CTT_cjs = require('../chunk-SWQX6CTT.cjs');
31
+ var chunkHM23LXUP_cjs = require('../chunk-HM23LXUP.cjs');
32
32
  require('../chunk-7UTB4PHM.cjs');
33
+ require('../chunk-32HW2Q33.cjs');
33
34
  require('../chunk-FX3K6LNZ.cjs');
34
35
  require('../chunk-PPCATBOY.cjs');
35
36
  require('../chunk-MHVNT4J3.cjs');
36
- var chunkC4WSHRR6_cjs = require('../chunk-C4WSHRR6.cjs');
37
- var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
38
37
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
39
38
  require('../chunk-DES3K4SD.cjs');
40
39
  var react = require('react');
@@ -50,7 +49,7 @@ var client = require('@arbidocs/client');
50
49
  var reactDom = require('react-dom');
51
50
 
52
51
  function ConnectionBoundWebSocket({ children }) {
53
- const { status } = chunkARDHLU73_cjs.useConnection();
52
+ const { status } = chunkLRD7BHAT_cjs.useConnection();
54
53
  return /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiWebSocketProvider, { enabled: status === "authenticated", children });
55
54
  }
56
55
  function ArbiAppProvider({
@@ -63,10 +62,10 @@ function ArbiAppProvider({
63
62
  })
64
63
  );
65
64
  const providerUrl = config.apiUrl || config.demoApiUrl || "https://demo.arbi.local";
66
- return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiProvider, { url: providerUrl, deploymentDomain: config.deploymentDomain, children: /* @__PURE__ */ jsxRuntime.jsx(chunkARDHLU73_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children }) }) }) });
65
+ return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiProvider, { url: providerUrl, deploymentDomain: config.deploymentDomain, children: /* @__PURE__ */ jsxRuntime.jsx(chunkLRD7BHAT_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children }) }) }) });
67
66
  }
68
67
  function ConnectedTaskAccessRequest({ conversationId }) {
69
- const { workspaceId } = chunkARDHLU73_cjs.useConnection();
68
+ const { workspaceId } = chunkLRD7BHAT_cjs.useConnection();
70
69
  const tasks = react$1.useConversations(workspaceId ?? void 0, { live: true });
71
70
  const run = react$1.useRunConversation();
72
71
  const task = tasks.data?.find((item) => item.external_id === conversationId);
@@ -98,7 +97,7 @@ function ConnectedWorkspaceActivity({
98
97
  pageSize,
99
98
  ...listProps
100
99
  }) {
101
- const { workspaceId: selected, status, ensureWorkspaceOpen } = chunkARDHLU73_cjs.useConnection();
100
+ const { workspaceId: selected, status, ensureWorkspaceOpen } = chunkLRD7BHAT_cjs.useConnection();
102
101
  const workspaceId = workspaceProp ?? selected ?? void 0;
103
102
  const live = status === "authenticated" && !!workspaceId;
104
103
  const feed = react$1.useWorkspaceActivity(workspaceId, {
@@ -125,7 +124,7 @@ function ConnectedWorkspaceActivity({
125
124
  [feed.data]
126
125
  );
127
126
  return /* @__PURE__ */ jsxRuntime.jsx(
128
- chunkKYDRUFWT_cjs.WorkspaceActivityList,
127
+ chunkD4YR56FV_cjs.WorkspaceActivityList,
129
128
  {
130
129
  ...listProps,
131
130
  items,
@@ -144,14 +143,14 @@ function ConnectedWorkspaceNotificationMenu({
144
143
  workspaceId: workspaceProp,
145
144
  ...menuProps
146
145
  }) {
147
- const { workspaceId: selected, status } = chunkARDHLU73_cjs.useConnection();
146
+ const { workspaceId: selected, status } = chunkLRD7BHAT_cjs.useConnection();
148
147
  const workspaceId = workspaceProp ?? selected;
149
148
  const { level, setLevel, isLoading, isSaving } = react$1.useWorkspaceNotificationLevel(workspaceId, {
150
149
  enabled: status === "authenticated"
151
150
  });
152
151
  if (!workspaceId) return null;
153
152
  return /* @__PURE__ */ jsxRuntime.jsx(
154
- chunkKYDRUFWT_cjs.WorkspaceNotificationMenu,
153
+ chunkD4YR56FV_cjs.WorkspaceNotificationMenu,
155
154
  {
156
155
  ...menuProps,
157
156
  level,
@@ -165,12 +164,12 @@ function ConnectedThreadFollow({
165
164
  as = "button",
166
165
  ...props
167
166
  }) {
168
- const { status } = chunkARDHLU73_cjs.useConnection();
167
+ const { status } = chunkLRD7BHAT_cjs.useConnection();
169
168
  const { following, setFollowing, isLoading, isSaving } = react$1.useFollowThread(conversationId, {
170
169
  enabled: status === "authenticated"
171
170
  });
172
171
  if (!conversationId) return null;
173
- const Control = as === "menu-item" ? chunkKYDRUFWT_cjs.ThreadFollowMenuItem : chunkKYDRUFWT_cjs.ThreadFollowButton;
172
+ const Control = as === "menu-item" ? chunkD4YR56FV_cjs.ThreadFollowMenuItem : chunkD4YR56FV_cjs.ThreadFollowButton;
174
173
  return /* @__PURE__ */ jsxRuntime.jsx(
175
174
  Control,
176
175
  {
@@ -296,7 +295,7 @@ function StreamedArtifact({
296
295
  }
297
296
  var STARTING = /* @__PURE__ */ new Set(["pending", "running"]);
298
297
  function formValues(step, inputs) {
299
- const fields = chunk6AALMYPS_cjs.stepFields(step);
298
+ const fields = chunkHM23LXUP_cjs.stepFields(step);
300
299
  if (!fields.length) return void 0;
301
300
  if (step.kind === "form")
302
301
  return Object.fromEntries(fields.map((f) => [f.name, inputs[f.name] ?? ""]));
@@ -330,11 +329,11 @@ function useAnswerRetry(missing, refetch) {
330
329
  }
331
330
  function useWorkflowThread(workflow, options = {}) {
332
331
  const arbi = react$1.useArbi();
333
- const { ensureWorkspaceOpen, status } = chunkARDHLU73_cjs.useConnection();
334
- const { wsId } = chunk4QIIDXLF_cjs.useWorkspaceDocs();
332
+ const { ensureWorkspaceOpen, status } = chunkLRD7BHAT_cjs.useConnection();
333
+ const { wsId } = chunk7KH4M3KY_cjs.useWorkspaceDocs();
335
334
  const [threadId, setThreadId] = react.useState(options.conversationId);
336
335
  const [localInputs, setLocalInputs] = react.useState(
337
- () => chunk6AALMYPS_cjs.initialRunInputs(workflow, options.initialInputs)
336
+ () => chunkHM23LXUP_cjs.initialRunInputs(workflow, options.initialInputs)
338
337
  );
339
338
  const [edits, setEdits] = react.useState({});
340
339
  const [localStates, setLocalStates] = react.useState({});
@@ -354,12 +353,12 @@ function useWorkflowThread(workflow, options = {}) {
354
353
  );
355
354
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
356
355
  const steps = react.useMemo(
357
- () => chunk6AALMYPS_cjs.workflowSteps(workflow).length > 0 ? chunk6AALMYPS_cjs.workflowSteps(workflow) : chunkSARREDFP_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
356
+ () => chunkHM23LXUP_cjs.workflowSteps(workflow).length > 0 ? chunkHM23LXUP_cjs.workflowSteps(workflow) : chunkLC2KJSUS_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
358
357
  [workflow, conversation?.plan?.steps]
359
358
  );
360
359
  const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
361
360
  const serverStates = react.useMemo(
362
- () => chunk6AALMYPS_cjs.stepStatesFromActivity(activity.data ?? []),
361
+ () => chunkHM23LXUP_cjs.stepStatesFromActivity(activity.data ?? []),
363
362
  [activity.data]
364
363
  );
365
364
  const working = steps.some(
@@ -402,7 +401,7 @@ function useWorkflowThread(workflow, options = {}) {
402
401
  async (values, done) => {
403
402
  await ensureWorkspaceOpen();
404
403
  const created = await createWork.mutateAsync({
405
- title: chunk6AALMYPS_cjs.runThreadTitle(workflow, values).slice(0, 60),
404
+ title: chunkHM23LXUP_cjs.runThreadTitle(workflow, values).slice(0, 60),
406
405
  description: workflow.description || null,
407
406
  prompt: null,
408
407
  skill_ref: null,
@@ -414,7 +413,7 @@ function useWorkflowThread(workflow, options = {}) {
414
413
  criteria: [],
415
414
  max_passes: 3,
416
415
  documents: [],
417
- steps: chunkSARREDFP_cjs.toPlanSteps(workflow, {
416
+ steps: chunkLC2KJSUS_cjs.toPlanSteps(workflow, {
418
417
  inputs: values,
419
418
  resolveWorkflow: options.resolveWorkflow,
420
419
  compose: options.compose
@@ -501,7 +500,7 @@ function useWorkflowThread(workflow, options = {}) {
501
500
  const anyRunning = Object.values(states).some((s) => s.status === "running");
502
501
  const needsStart = !threadId || idle && !anyRunning;
503
502
  const runError = idle ? conversation?.last_error ?? null : null;
504
- const view = chunkSARREDFP_cjs.useWorkflowView({
503
+ const view = chunkLC2KJSUS_cjs.useWorkflowView({
505
504
  steps,
506
505
  states,
507
506
  inputs,
@@ -544,7 +543,7 @@ function WorkflowRunThread({
544
543
  if (listed && activeThreadId !== conversationId) selectThread(conversationId);
545
544
  }, [listed, activeThreadId, conversationId, selectThread]);
546
545
  return /* @__PURE__ */ jsxRuntime.jsx(
547
- chunkPJJY6CYL_cjs.ChatPage,
546
+ chunkWV4IDVDQ_cjs.ChatPage,
548
547
  {
549
548
  chat: { ...chat, threads: chat.threads.filter((t) => t.id === conversationId) },
550
549
  singleThread: true,
@@ -580,9 +579,9 @@ function WorkflowSignDialog({
580
579
  labels
581
580
  }) {
582
581
  const arbi = react$1.useArbi();
583
- const { user, ensureWorkspaceOpen } = chunkARDHLU73_cjs.useConnection();
582
+ const { user, ensureWorkspaceOpen } = chunkLRD7BHAT_cjs.useConnection();
584
583
  const tools = documentTools.useOptionalDocumentTools();
585
- const { id, version: stepVersion } = chunk6AALMYPS_cjs.splitDocRef(docRef);
584
+ const { id, version: stepVersion } = chunkHM23LXUP_cjs.splitDocRef(docRef);
586
585
  const [version, setVersion] = react.useState(stepVersion);
587
586
  const [pdf, setPdf] = react.useState(null);
588
587
  const [preparing, setPreparing] = react.useState(false);
@@ -660,7 +659,7 @@ function WorkflowWordDialog({
660
659
  onClose,
661
660
  labels
662
661
  }) {
663
- const { id } = chunk6AALMYPS_cjs.splitDocRef(docRef);
662
+ const { id } = chunkHM23LXUP_cjs.splitDocRef(docRef);
664
663
  return /* @__PURE__ */ jsxRuntime.jsx(
665
664
  chunkULWRNGGE_cjs.ModalScaffold,
666
665
  {
@@ -669,7 +668,7 @@ function WorkflowWordDialog({
669
668
  title: title ?? labels.wordTitle,
670
669
  size: "xl",
671
670
  testId: "workflow-word-dialog",
672
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkGZPTWHP5_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
671
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkCDZVC32G_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
673
672
  }
674
673
  );
675
674
  }
@@ -680,7 +679,7 @@ function WorkflowReviewGridDialog({
680
679
  onOpenDocument,
681
680
  labels
682
681
  }) {
683
- const { workspaceId } = chunkARDHLU73_cjs.useConnection();
682
+ const { workspaceId } = chunkLRD7BHAT_cjs.useConnection();
684
683
  const allTags = react$1.useTags(workspaceId ?? void 0);
685
684
  const all = react$1.useDocuments(workspaceId ?? void 0);
686
685
  const isLoading = allTags.isLoading || all.isLoading || all.isFetching && !all.isFetchedAfterMount;
@@ -808,8 +807,8 @@ function ConnectedWorkflowRunner({
808
807
  const l = { ...DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, ...connectedLabels };
809
808
  const dl = { ...DEFAULT_WORKFLOW_RUNNER_DIALOG_LABELS, ...dialogLabels };
810
809
  const arbi = react$1.useArbi();
811
- const { ensureWorkspaceOpen, user } = chunkARDHLU73_cjs.useConnection();
812
- const { wsId } = chunk4QIIDXLF_cjs.useWorkspaceDocs();
810
+ const { ensureWorkspaceOpen, user } = chunkLRD7BHAT_cjs.useConnection();
811
+ const { wsId } = chunk7KH4M3KY_cjs.useWorkspaceDocs();
813
812
  const { data: docs = [], refetch } = react$1.useDocuments(wsId);
814
813
  const [sending, setSending] = react.useState([]);
815
814
  const [added, setAdded] = react.useState({});
@@ -832,7 +831,7 @@ function ConnectedWorkflowRunner({
832
831
  () => ({
833
832
  me: user?.externalId,
834
833
  openDocument: onOpenDocument && ((ref) => {
835
- const { id, version } = chunk6AALMYPS_cjs.splitDocRef(ref);
834
+ const { id, version } = chunkHM23LXUP_cjs.splitDocRef(ref);
836
835
  onOpenDocument(id, version);
837
836
  }),
838
837
  openDraft: onOpenDraft && ((draftId) => onOpenDraft(draftId)),
@@ -842,7 +841,7 @@ function ConnectedWorkflowRunner({
842
841
  const w = state.waiting;
843
842
  if (w?.doc_ext_id) setDialog({ kind: "sign", docRef: w.doc_ext_id });
844
843
  }),
845
- openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunk6AALMYPS_cjs.splitDocRef(ref).id) ?? "" })),
844
+ openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunkHM23LXUP_cjs.splitDocRef(ref).id) ?? "" })),
846
845
  openReview: hostActions?.openReview ?? ((tags, documents) => setDialog({ kind: "review", tags, documents }))
847
846
  }),
848
847
  [user?.externalId, onOpenDocument, onOpenDraft, onOpenMessage, hostActions, nameOfDoc, inThread]
@@ -978,7 +977,7 @@ function ConnectedWorkflowRunner({
978
977
  );
979
978
  };
980
979
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
981
- chunkSARREDFP_cjs.WorkflowRunner,
980
+ chunkLC2KJSUS_cjs.WorkflowRunner,
982
981
  {
983
982
  people,
984
983
  ...runnerProps,
@@ -1024,10 +1023,10 @@ function ConnectedWorkflowRunner({
1024
1023
  ) }),
1025
1024
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1026
1025
  /* @__PURE__ */ jsxRuntime.jsx(
1027
- chunkSARREDFP_cjs.WorkflowStepBar,
1026
+ chunkLC2KJSUS_cjs.WorkflowStepBar,
1028
1027
  {
1029
1028
  run: view,
1030
- levels: chunk6AALMYPS_cjs.stepLevels(view.steps),
1029
+ levels: chunkHM23LXUP_cjs.stepLevels(view.steps),
1031
1030
  doneTitle: (workflow.run.kind === "steps" ? workflow.run.completion?.title : void 0) ?? runnerProps.labels?.complete ?? "Done",
1032
1031
  icon: (key) => key && runnerProps.renderIcon ? runnerProps.renderIcon(key) : void 0,
1033
1032
  tid: (suffix) => `${testIdPrefix}-${suffix}`
@@ -1047,13 +1046,13 @@ function ConnectedWorkflowRunner({
1047
1046
  return state ? [[s.id, state]] : [];
1048
1047
  })
1049
1048
  );
1050
- const ref = chunk6AALMYPS_cjs.stepDocuments(view.steps, states, id).at(-1);
1049
+ const ref = chunkHM23LXUP_cjs.stepDocuments(view.steps, states, id).at(-1);
1051
1050
  const open = actions.openDocument ?? actions.openRedline;
1052
1051
  return {
1053
1052
  title: step.title,
1054
- kind: chunk6AALMYPS_cjs.stepKindOf(step),
1053
+ kind: chunkHM23LXUP_cjs.stepKindOf(step),
1055
1054
  phase: view.phaseOf(id),
1056
- document: ref && open ? { name: nameOfDoc(chunk6AALMYPS_cjs.splitDocRef(ref).id) ?? ref, onOpen: () => open(ref) } : void 0
1055
+ document: ref && open ? { name: nameOfDoc(chunkHM23LXUP_cjs.splitDocRef(ref).id) ?? ref, onOpen: () => open(ref) } : void 0
1057
1056
  };
1058
1057
  },
1059
1058
  targetMessageId: target,
@@ -1120,7 +1119,7 @@ function ReviewNotify({
1120
1119
  testId
1121
1120
  }) {
1122
1121
  const arbi = react$1.useArbi();
1123
- const { status, user, ensureWorkspaceOpen } = chunkARDHLU73_cjs.useConnection();
1122
+ const { status, user, ensureWorkspaceOpen } = chunkLRD7BHAT_cjs.useConnection();
1124
1123
  const { data: members = [] } = react$1.useWorkspaceUsers(workspaceId, {
1125
1124
  enabled: status === "authenticated" && !!workspaceId,
1126
1125
  beforeFetch: ensureWorkspaceOpen
@@ -1197,7 +1196,7 @@ function ConnectedTagTable({
1197
1196
  ...props
1198
1197
  }) {
1199
1198
  const arbi = react$1.useArbi();
1200
- const { workspaceId, status, ensureWorkspaceOpen } = chunkARDHLU73_cjs.useConnection();
1199
+ const { workspaceId, status, ensureWorkspaceOpen } = chunkLRD7BHAT_cjs.useConnection();
1201
1200
  const schema = react$1.useTagKindSchema(kind);
1202
1201
  const rows = react$1.useTags(workspaceId ?? void 0, {
1203
1202
  kind,
@@ -1225,7 +1224,7 @@ function ConnectedTagTable({
1225
1224
  const fail = (e) => setError(e instanceof Error ? e.message : String(e));
1226
1225
  const snapshot = (data) => {
1227
1226
  const title = exportTitle ?? KIND_TITLES[kind];
1228
- const bytes = chunkKYDRUFWT_cjs.tagTableDocx(data, {
1227
+ const bytes = chunkD4YR56FV_cjs.tagTableDocx(data, {
1229
1228
  title,
1230
1229
  nameOf: (id) => people.find((p) => p.value === id)?.label
1231
1230
  });
@@ -1235,7 +1234,7 @@ function ConnectedTagTable({
1235
1234
  };
1236
1235
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
1237
1236
  /* @__PURE__ */ jsxRuntime.jsx(
1238
- chunkKYDRUFWT_cjs.TagTable,
1237
+ chunkD4YR56FV_cjs.TagTable,
1239
1238
  {
1240
1239
  ...props,
1241
1240
  table,
@@ -1301,7 +1300,7 @@ function ConnectedTagTable({
1301
1300
  ] });
1302
1301
  }
1303
1302
  function useConnectedShellWorkspaces(options = {}) {
1304
- const { workspaceId, setWorkspace } = chunkARDHLU73_cjs.useConnection();
1303
+ const { workspaceId, setWorkspace } = chunkLRD7BHAT_cjs.useConnection();
1305
1304
  const query = react$1.useWorkspaces();
1306
1305
  return react$1.useShellWorkspaces({
1307
1306
  ...options,
@@ -1322,11 +1321,11 @@ var AVATAR_PROBLEMS = {
1322
1321
  unreadable: "Couldn't read that image \u2014 try a different file"
1323
1322
  };
1324
1323
  function ConnectedProfileCard({
1324
+ notify: notify3,
1325
1325
  title = "Profile",
1326
1326
  avatarClassName = "bg-primary text-primary-foreground",
1327
1327
  children
1328
1328
  }) {
1329
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1330
1329
  const { data: profile } = react$1.useProfile();
1331
1330
  const updateProfile = react$1.useUpdateProfile();
1332
1331
  const requestEmailChange = react$1.useRequestEmailChange();
@@ -1337,9 +1336,9 @@ function ConnectedProfileCard({
1337
1336
  save: async (next) => {
1338
1337
  try {
1339
1338
  await updateProfile.mutateAsync(next);
1340
- notify("Name updated", "success");
1339
+ notify3?.("Name updated", "success");
1341
1340
  } catch (e) {
1342
- notify("Failed to update name", "error");
1341
+ notify3?.("Failed to update name", "error");
1343
1342
  throw e;
1344
1343
  }
1345
1344
  }
@@ -1348,42 +1347,42 @@ function ConnectedProfileCard({
1348
1347
  upload: async (picture) => {
1349
1348
  try {
1350
1349
  await updateProfile.mutateAsync({ picture });
1351
- notify("Profile picture updated", "success");
1350
+ notify3?.("Profile picture updated", "success");
1352
1351
  } catch (e) {
1353
- notify("Failed to update picture", "error");
1352
+ notify3?.("Failed to update picture", "error");
1354
1353
  throw e;
1355
1354
  }
1356
1355
  },
1357
- onProblem: (problem) => notify(AVATAR_PROBLEMS[problem], "error")
1356
+ onProblem: (problem) => notify3?.(AVATAR_PROBLEMS[problem], "error")
1358
1357
  });
1359
1358
  const email = react$1.useEmailChange({
1360
1359
  requestCode: async (address) => {
1361
1360
  try {
1362
1361
  await requestEmailChange.mutateAsync(address);
1363
- notify("Verification code sent to your new email", "success");
1362
+ notify3?.("Verification code sent to your new email", "success");
1364
1363
  } catch (e) {
1365
- notify(errorText(e, "Failed to send verification code"), "error");
1364
+ notify3?.(errorText(e, "Failed to send verification code"), "error");
1366
1365
  throw e;
1367
1366
  }
1368
1367
  },
1369
1368
  confirm: async (args) => {
1370
1369
  try {
1371
1370
  await confirmEmailChange.mutateAsync(args);
1372
- notify("Email address updated", "success");
1371
+ notify3?.("Email address updated", "success");
1373
1372
  } catch (e) {
1374
- notify(errorText(e, "Invalid or expired verification code"), "error");
1373
+ notify3?.(errorText(e, "Invalid or expired verification code"), "error");
1375
1374
  throw e;
1376
1375
  }
1377
1376
  }
1378
1377
  });
1379
1378
  const display = profile?.fullName || "Unnamed";
1380
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkAAFX64WD_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: [
1379
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkOR4CO743_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: [
1381
1380
  /* @__PURE__ */ jsxRuntime.jsx(
1382
- chunkAAFX64WD_cjs.ProfileCard,
1381
+ chunkOR4CO743_cjs.ProfileCard,
1383
1382
  {
1384
1383
  avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1385
1384
  /* @__PURE__ */ jsxRuntime.jsx(
1386
- chunkAAFX64WD_cjs.AvatarPicker,
1385
+ chunkOR4CO743_cjs.AvatarPicker,
1387
1386
  {
1388
1387
  pictureUrl: profile?.picture,
1389
1388
  initials: chunkKDG6FER6_cjs.initials(display),
@@ -1418,21 +1417,21 @@ function ConnectedProfileCard({
1418
1417
  ] });
1419
1418
  }
1420
1419
  function ConnectedIdentityVerification({
1420
+ notify: notify3,
1421
1421
  labels,
1422
1422
  onManageBilling,
1423
1423
  formatPrice
1424
1424
  }) {
1425
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1426
1425
  const { data: profile } = react$1.useProfile();
1427
1426
  const flow = react$1.useIdentityVerification({
1428
1427
  formatPrice,
1429
- onVerifiedChange: (verified) => notify(verified ? "Identity verified" : "Verified tick removed", "success"),
1430
- onNameAccepted: () => notify("Name updated to match your ID", "success")
1428
+ onVerifiedChange: (verified) => notify3?.(verified ? "Identity verified" : "Verified tick removed", "success"),
1429
+ onNameAccepted: () => notify3?.("Name updated to match your ID", "success")
1431
1430
  });
1432
1431
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1433
- /* @__PURE__ */ jsxRuntime.jsx(chunkAAFX64WD_cjs.IdentityVerificationCard, { flow, labels, onManageBilling }),
1432
+ /* @__PURE__ */ jsxRuntime.jsx(chunkOR4CO743_cjs.IdentityVerificationCard, { flow, labels, onManageBilling }),
1434
1433
  /* @__PURE__ */ jsxRuntime.jsx(
1435
- chunkAAFX64WD_cjs.IdentityVerificationDialog,
1434
+ chunkOR4CO743_cjs.IdentityVerificationDialog,
1436
1435
  {
1437
1436
  flow,
1438
1437
  accountName: profile?.fullName ?? "",
@@ -1445,7 +1444,7 @@ function ConnectedIdentityVerification({
1445
1444
  function ConnectedRequireVerified({ children, labels }) {
1446
1445
  const { data: profile } = react$1.useProfile();
1447
1446
  const flow = react$1.useIdentityVerification();
1448
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAAFX64WD_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1447
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOR4CO743_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1449
1448
  }
1450
1449
  function defaultUnmetPasswordRequirement(password) {
1451
1450
  if (password.length < 8) return "Minimum 8 characters";
@@ -1458,18 +1457,18 @@ function defaultUnmetPasswordRequirement(password) {
1458
1457
  function ConnectedPasswordChangeDialog({
1459
1458
  open,
1460
1459
  onClose,
1460
+ notify: notify3,
1461
1461
  getUnmetRequirement = defaultUnmetPasswordRequirement,
1462
1462
  recoveryMode = false,
1463
1463
  onRecoveryComplete
1464
1464
  }) {
1465
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1466
1465
  const change = react$1.usePasswordChange();
1467
1466
  const form = react$1.usePasswordChangeForm({
1468
1467
  recoveryMode,
1469
1468
  getUnmetRequirement,
1470
1469
  submit: async (vars) => {
1471
1470
  await change.mutateAsync(vars);
1472
- notify(
1471
+ notify3?.(
1473
1472
  recoveryMode ? "Account recovered and password set successfully" : "Password changed successfully",
1474
1473
  "success"
1475
1474
  );
@@ -1478,7 +1477,7 @@ function ConnectedPasswordChangeDialog({
1478
1477
  onRecoveryComplete
1479
1478
  });
1480
1479
  return /* @__PURE__ */ jsxRuntime.jsx(
1481
- chunkAAFX64WD_cjs.PasswordChangeDialog,
1480
+ chunkOR4CO743_cjs.PasswordChangeDialog,
1482
1481
  {
1483
1482
  open,
1484
1483
  onClose: form.onCancel,
@@ -1500,14 +1499,15 @@ function ConnectedPasswordChangeDialog({
1500
1499
  );
1501
1500
  }
1502
1501
  function ConnectedSecuritySection({
1502
+ notify: notify3,
1503
1503
  getUnmetRequirement,
1504
1504
  children
1505
1505
  }) {
1506
1506
  const [open, setOpen] = react.useState(false);
1507
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkAAFX64WD_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1508
- /* @__PURE__ */ jsxRuntime.jsxs(chunkAAFX64WD_cjs.SettingsCard, { padding: "sm", children: [
1507
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkOR4CO743_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1508
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkOR4CO743_cjs.SettingsCard, { padding: "sm", children: [
1509
1509
  /* @__PURE__ */ jsxRuntime.jsx(
1510
- chunkAAFX64WD_cjs.SettingsActionRow,
1510
+ chunkOR4CO743_cjs.SettingsActionRow,
1511
1511
  {
1512
1512
  title: "Change password",
1513
1513
  description: "Used to sign in and to unlock your account key. Changing it keeps everything readable and re-encrypts nothing.",
@@ -1522,47 +1522,51 @@ function ConnectedSecuritySection({
1522
1522
  {
1523
1523
  open,
1524
1524
  onClose: () => setOpen(false),
1525
+ notify: notify3,
1525
1526
  getUnmetRequirement
1526
1527
  }
1527
1528
  )
1528
1529
  ] });
1529
1530
  }
1530
1531
  function ConnectedNotificationPreferences({
1531
- categories = chunkAAFX64WD_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1532
+ categories = chunkOR4CO743_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1532
1533
  title = "Notifications"
1533
1534
  }) {
1534
1535
  const keys = react.useMemo(
1535
- () => categories === chunkAAFX64WD_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkAAFX64WD_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1536
+ () => categories === chunkOR4CO743_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkOR4CO743_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1536
1537
  [categories]
1537
1538
  );
1538
1539
  const prefs = react$1.useNotificationPreferences(keys);
1539
- return /* @__PURE__ */ jsxRuntime.jsx(chunkAAFX64WD_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkAAFX64WD_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1540
- chunkAAFX64WD_cjs.NotificationCategoryList,
1540
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkOR4CO743_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOR4CO743_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1541
+ chunkOR4CO743_cjs.NotificationCategoryList,
1541
1542
  {
1542
1543
  masterId: "emailNotifications",
1543
1544
  masterTitle: "Email Notifications",
1544
1545
  masterDescription: "Email me about activity when I\u2019m away",
1545
1546
  masterChecked: prefs.masterChecked,
1546
1547
  onMasterChange: prefs.setAll,
1547
- categories: chunkAAFX64WD_cjs.toNotificationCategories(prefs.checked, categories),
1548
+ categories: chunkOR4CO743_cjs.toNotificationCategories(prefs.checked, categories),
1548
1549
  onCategoryChange: prefs.setCategory
1549
1550
  }
1550
1551
  ) }) });
1551
1552
  }
1552
- function ConnectedSessionsRow({ renderSessionIcon }) {
1553
- const { notify, confirm } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1553
+ function ConnectedSessionsRow({
1554
+ notify: notify3,
1555
+ confirm,
1556
+ renderSessionIcon
1557
+ }) {
1554
1558
  const [open, setOpen] = react.useState(false);
1555
1559
  const sessions = react$1.useSessions({ enabled: open });
1556
1560
  const currentSessionId = react$1.useCurrentSessionId();
1557
1561
  const terminate = react$1.useTerminateSession();
1558
- const views = chunkAAFX64WD_cjs.toActiveSessionViews(sessions.data ?? [], {
1562
+ const views = chunkOR4CO743_cjs.toActiveSessionViews(sessions.data ?? [], {
1559
1563
  currentSessionId,
1560
1564
  terminatingId: terminate.isPending ? terminate.variables : null,
1561
1565
  renderIcon: renderSessionIcon
1562
1566
  });
1563
1567
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1564
1568
  /* @__PURE__ */ jsxRuntime.jsx(
1565
- chunkAAFX64WD_cjs.SettingsRow,
1569
+ chunkOR4CO743_cjs.SettingsRow,
1566
1570
  {
1567
1571
  label: "Active sessions",
1568
1572
  description: "Devices and agents currently signed in to your account.",
@@ -1584,7 +1588,7 @@ function ConnectedSessionsRow({ renderSessionIcon }) {
1584
1588
  }
1585
1589
  ),
1586
1590
  /* @__PURE__ */ jsxRuntime.jsx(
1587
- chunkAAFX64WD_cjs.ActiveSessionsDialog,
1591
+ chunkOR4CO743_cjs.ActiveSessionsDialog,
1588
1592
  {
1589
1593
  open,
1590
1594
  onOpenChange: setOpen,
@@ -1594,15 +1598,14 @@ function ConnectedSessionsRow({ renderSessionIcon }) {
1594
1598
  void (async () => {
1595
1599
  const view = views.find((v) => v.id === id);
1596
1600
  const label = view?.detail.split(" \xB7 ")[0];
1597
- const ok = await confirm({
1598
- title: "End session",
1599
- message: `End the session on ${label}? It will be signed out immediately.`
1600
- });
1601
+ const ok = await confirm?.(
1602
+ `End the session on ${label}? It will be signed out immediately.`
1603
+ ) ?? true;
1601
1604
  if (!ok) return;
1602
1605
  try {
1603
1606
  await terminate.mutateAsync(id);
1604
1607
  } catch {
1605
- notify("Failed to end session. Please try again.", "error");
1608
+ notify3?.("Failed to end session. Please try again.", "error");
1606
1609
  }
1607
1610
  })();
1608
1611
  }
@@ -1626,7 +1629,7 @@ function ConnectedLogoutDialog({
1626
1629
  signOut.mutate({ everywhere, reason: "manual" });
1627
1630
  };
1628
1631
  return /* @__PURE__ */ jsxRuntime.jsx(
1629
- chunkAAFX64WD_cjs.LogoutDialog,
1632
+ chunkOR4CO743_cjs.LogoutDialog,
1630
1633
  {
1631
1634
  open,
1632
1635
  onClose,
@@ -1634,13 +1637,12 @@ function ConnectedLogoutDialog({
1634
1637
  onLogoutAll: () => void run(true),
1635
1638
  canLogoutAll,
1636
1639
  isOnline,
1637
- sessions: chunkAAFX64WD_cjs.toLogoutSessionViews(sessions.data ?? []),
1640
+ sessions: chunkOR4CO743_cjs.toLogoutSessionViews(sessions.data ?? []),
1638
1641
  renderSessionIcon
1639
1642
  }
1640
1643
  );
1641
1644
  }
1642
- function ConnectedDangerZone({ renderSubscriptionLink }) {
1643
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1645
+ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1644
1646
  const [zoneOpen, setZoneOpen] = react.useState(false);
1645
1647
  const [dialogOpen, setDialogOpen] = react.useState(false);
1646
1648
  const { data: profile } = react$1.useProfile();
@@ -1652,11 +1654,11 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
1652
1654
  remove: () => remove.mutateAsync(),
1653
1655
  onClose: () => setDialogOpen(false),
1654
1656
  onDeleted: () => signOut.mutate({ reason: "account-deleted" }),
1655
- onError: () => notify("Failed to delete account. Please try again.", "error")
1657
+ onError: () => notify3?.("Failed to delete account. Please try again.", "error")
1656
1658
  });
1657
1659
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1658
1660
  /* @__PURE__ */ jsxRuntime.jsx(
1659
- chunkAAFX64WD_cjs.SettingsDangerZone,
1661
+ chunkOR4CO743_cjs.SettingsDangerZone,
1660
1662
  {
1661
1663
  isOpen: zoneOpen,
1662
1664
  onToggle: () => setZoneOpen((o) => !o),
@@ -1676,12 +1678,12 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
1676
1678
  }
1677
1679
  ),
1678
1680
  /* @__PURE__ */ jsxRuntime.jsx(
1679
- chunkAAFX64WD_cjs.DeleteAccountDialog,
1681
+ chunkOR4CO743_cjs.DeleteAccountDialog,
1680
1682
  {
1681
1683
  open: dialogOpen,
1682
1684
  onClose: flow.onClose,
1683
1685
  step: flow.step,
1684
- blockers: chunkAAFX64WD_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1686
+ blockers: chunkOR4CO743_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1685
1687
  onContinue: flow.onContinue,
1686
1688
  onBack: flow.onBack,
1687
1689
  userEmail,
@@ -1695,8 +1697,7 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
1695
1697
  }
1696
1698
  function useConnectedDocxNotifications(onOpen) {
1697
1699
  const arbi = react$1.useArbi();
1698
- const { status, user, apiUrl } = chunkARDHLU73_cjs.useConnection();
1699
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1700
+ const { status, user, apiUrl } = chunkLRD7BHAT_cjs.useConnection();
1700
1701
  const queries = reactQuery.useQueryClient();
1701
1702
  const source = `docx-mentions:${apiUrl}:${user?.externalId || ""}`;
1702
1703
  const queryKey = ["docx-mentions", apiUrl, user?.externalId];
@@ -1728,9 +1729,8 @@ function useConnectedDocxNotifications(onOpen) {
1728
1729
  source,
1729
1730
  onSelect: () => {
1730
1731
  void Promise.resolve(onOpen({ documentId, commentId, workspaceId })).catch(
1731
- (error) => notify(
1732
- error instanceof Error ? error.message : "Could not open the document.",
1733
- "error"
1732
+ (error) => react$1.notify.error(
1733
+ error instanceof Error ? error.message : "Could not open the document."
1734
1734
  )
1735
1735
  );
1736
1736
  }
@@ -1740,13 +1740,13 @@ function useConnectedDocxNotifications(onOpen) {
1740
1740
  }
1741
1741
  shell.useNotify.getState().syncSource(source, items);
1742
1742
  return () => shell.useNotify.getState().syncSource(source, []);
1743
- }, [data, status, user?.externalId, source, onOpen, notify]);
1743
+ }, [data, status, user?.externalId, source, onOpen]);
1744
1744
  const markRead = async (ids) => {
1745
1745
  try {
1746
1746
  await arbi.notifications.markRead(ids);
1747
1747
  await queries.invalidateQueries({ queryKey });
1748
1748
  } catch {
1749
- notify("Could not mark document mentions read.", "error");
1749
+ react$1.notify.error("Could not mark document mentions read.");
1750
1750
  }
1751
1751
  };
1752
1752
  return {
@@ -1761,8 +1761,7 @@ function useConnectedDocxNotifications(onOpen) {
1761
1761
  };
1762
1762
  }
1763
1763
  function useConnectedWorkNotifications(onOpen) {
1764
- const { status, user, apiUrl } = chunkARDHLU73_cjs.useConnection();
1765
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
1764
+ const { status, user, apiUrl } = chunkLRD7BHAT_cjs.useConnection();
1766
1765
  const source = `work-notifications:${apiUrl}:${user?.externalId || ""}`;
1767
1766
  const { data = [], markRead: persistRead } = react$1.useWorkNotifications({
1768
1767
  apiUrl,
@@ -1785,9 +1784,8 @@ function useConnectedWorkNotifications(onOpen) {
1785
1784
  source,
1786
1785
  onSelect: () => {
1787
1786
  void Promise.resolve().then(() => onOpen(mapped.target)).catch(
1788
- (error) => notify(
1789
- error instanceof Error ? error.message : "Could not open this notification.",
1790
- "error"
1787
+ (error) => react$1.notify.error(
1788
+ error instanceof Error ? error.message : "Could not open this notification."
1791
1789
  )
1792
1790
  );
1793
1791
  }
@@ -1795,13 +1793,13 @@ function useConnectedWorkNotifications(onOpen) {
1795
1793
  }
1796
1794
  shell.useNotify.getState().syncSource(source, items);
1797
1795
  return () => shell.useNotify.getState().syncSource(source, []);
1798
- }, [data, status, user?.externalId, source, onOpen, notify]);
1796
+ }, [data, status, user?.externalId, source, onOpen]);
1799
1797
  const markRead = async (ids) => {
1800
1798
  if (!ids.length) return;
1801
1799
  try {
1802
1800
  await persistRead(ids);
1803
1801
  } catch {
1804
- notify("Could not mark work notifications read.", "error");
1802
+ react$1.notify.error("Could not mark work notifications read.");
1805
1803
  }
1806
1804
  };
1807
1805
  return {
@@ -2174,7 +2172,7 @@ function useWordBody({
2174
2172
  // eslint-disable-next-line react-hooks/exhaustive-deps
2175
2173
  [word.adapter, client, documentKey]
2176
2174
  );
2177
- chunkJKB7WT7L_cjs.useRegisterOpenDocument({ documentId: roomId });
2175
+ chunkSWQX6CTT_cjs.useRegisterOpenDocument({ documentId: roomId });
2178
2176
  const editor = react$1.useMailDraftEditor();
2179
2177
  const state = () => stateRef.current?.() ?? null;
2180
2178
  return {
@@ -2209,16 +2207,16 @@ var NO_WORD = {
2209
2207
  loadFonts: () => Promise.reject(new Error("No Word editor"))
2210
2208
  }
2211
2209
  };
2212
- function notifySent(notify, result) {
2210
+ function notifySent(notify3, result) {
2213
2211
  const status = result && typeof result === "object" && "delivery_status" in result ? result.delivery_status : null;
2214
2212
  if (status === "bounced")
2215
- notify("Email couldn't be delivered", "error", { description: "Open it in Sent to see why." });
2213
+ notify3("Email couldn't be delivered", "error", { description: "Open it in Sent to see why." });
2216
2214
  else if (status === "partially_bounced")
2217
- notify("Email couldn't be delivered to every recipient", "error", {
2215
+ notify3("Email couldn't be delivered to every recipient", "error", {
2218
2216
  description: "Open it in Sent to see which and why."
2219
2217
  });
2220
- else if (status === "delivered") notify("Email delivered", "success");
2221
- else notify("Email queued for delivery", "success");
2218
+ else if (status === "delivered") notify3("Email delivered", "success");
2219
+ else notify3("Email queued for delivery", "success");
2222
2220
  }
2223
2221
  function MailComposerForm({
2224
2222
  account,
@@ -2235,13 +2233,13 @@ function MailComposerForm({
2235
2233
  localDraftId: initialLocalDraftId,
2236
2234
  offline,
2237
2235
  documents,
2236
+ notify: notify3,
2238
2237
  word,
2239
2238
  sessionKey,
2240
2239
  roomId,
2241
2240
  headerSlot
2242
2241
  }) {
2243
2242
  const { client } = react$1.useMailClient();
2244
- const { notify, confirm } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
2245
2243
  const [to, setTo] = react.useState(initial.to.map((r) => r.email).join("; "));
2246
2244
  const [cc, setCc] = react.useState(initial.cc.map((r) => r.email).join("; "));
2247
2245
  const [showCc, setShowCc] = react.useState(initial.cc.length > 0);
@@ -2376,7 +2374,7 @@ function MailComposerForm({
2376
2374
  setWordPending(true);
2377
2375
  try {
2378
2376
  if (!secure) {
2379
- notifySent(notify, await wordBody.send({ ...value, request_id: requestId.current }));
2377
+ notifySent(notify3, await wordBody.send({ ...value, request_id: requestId.current }));
2380
2378
  onClose();
2381
2379
  return;
2382
2380
  }
@@ -2410,13 +2408,13 @@ function MailComposerForm({
2410
2408
  {
2411
2409
  onSuccess: (result) => {
2412
2410
  if (result && typeof result === "object" && "onDevice" in result) {
2413
- notify("Saved to your Outbox", "info", {
2411
+ notify3("Saved to your Outbox", "info", {
2414
2412
  description: "It will be sent automatically when you're back online."
2415
2413
  });
2416
2414
  onClose();
2417
2415
  return;
2418
2416
  }
2419
- notifySent(notify, result);
2417
+ notifySent(notify3, result);
2420
2418
  if (localDraftId) void offline?.deleteDraft(localDraftId);
2421
2419
  onClose();
2422
2420
  },
@@ -2463,14 +2461,9 @@ function MailComposerForm({
2463
2461
  };
2464
2462
  const close = () => {
2465
2463
  if (busy) return;
2466
- const unsaved = !saved && (dirty || !draftId) && (text || subject || to || cc || bcc || attachments.length || bodyChanged);
2467
- if (!unsaved) return onClose();
2468
- void confirm({
2469
- title: "Discard changes",
2470
- message: "Close this message without saving your latest changes?"
2471
- }).then((ok) => {
2472
- if (ok) onClose();
2473
- });
2464
+ if (!saved && (dirty || !draftId) && (text || subject || to || cc || bcc || attachments.length || bodyChanged) && !window.confirm("Close this message without saving your latest changes?"))
2465
+ return;
2466
+ onClose();
2474
2467
  };
2475
2468
  react.useEffect(() => {
2476
2469
  if (closeRequestRef) closeRequestRef.current = close;
@@ -2571,12 +2564,8 @@ function MailComposerForm({
2571
2564
  className: "h-7 shrink-0 text-xs",
2572
2565
  disabled: busy,
2573
2566
  onClick: () => {
2574
- void confirm({
2575
- title: "Load changes",
2576
- message: "Discard your unsaved changes and load the changed draft?"
2577
- }).then((ok) => {
2578
- if (ok) onReload(replacedBy);
2579
- });
2567
+ if (window.confirm("Discard your unsaved changes and load the changed draft?"))
2568
+ onReload(replacedBy);
2580
2569
  },
2581
2570
  children: "Load changes"
2582
2571
  }
@@ -2827,8 +2816,9 @@ function MailComposerForm({
2827
2816
  }
2828
2817
  );
2829
2818
  }
2830
-
2831
- // src/connection/mail/mailbox.ts
2819
+ var defaultMailNotify = (message, variant, options) => {
2820
+ react$1.notify[variant](message, options);
2821
+ };
2832
2822
  function resolveMailbox(accounts, mailbox) {
2833
2823
  if (!accounts) return void 0;
2834
2824
  if (mailbox === "native") return accounts.find((a) => a.provider === "native");
@@ -2843,6 +2833,7 @@ function ConnectedMailComposer({
2843
2833
  maxBytes: maxBytesProp,
2844
2834
  ready: readyProp,
2845
2835
  drafts: draftsProp,
2836
+ notify: notify3 = defaultMailNotify,
2846
2837
  offline,
2847
2838
  replyTo,
2848
2839
  ...rest
@@ -2896,6 +2887,7 @@ function ConnectedMailComposer({
2896
2887
  maxBytes: maxBytesProp ?? policy.data?.max_attachment_bytes ?? DEFAULT_MAX_BYTES,
2897
2888
  ready,
2898
2889
  drafts: draftsProp ?? draftsList.data?.messages ?? [],
2890
+ notify: notify3,
2899
2891
  offline,
2900
2892
  onReload: setReloaded,
2901
2893
  ...rest
@@ -3087,9 +3079,9 @@ function ConnectedMailbox({
3087
3079
  onViewerOpenChange,
3088
3080
  gridState,
3089
3081
  onGridStateChange,
3090
- initialMessageId = null
3082
+ initialMessageId = null,
3083
+ notify: notify3 = defaultMailNotify
3091
3084
  }) {
3092
- const { notify } = chunkC4WSHRR6_cjs.useBlocksEnvironment();
3093
3085
  const cache = react$1.useMailCache();
3094
3086
  const { client } = react$1.useMailClient();
3095
3087
  const [savingToWorkspace, setSavingToWorkspace] = react.useState(false);
@@ -3303,7 +3295,7 @@ function ConnectedMailbox({
3303
3295
  new File([await response.blob()], fileName, { type: "message/rfc822" })
3304
3296
  );
3305
3297
  setSavingToWorkspace(false);
3306
- notify(
3298
+ notify3(
3307
3299
  "Email saved to workspace",
3308
3300
  "success",
3309
3301
  documentId && onOpenDocument ? { action: { label: "Open", onClick: () => onOpenDocument(documentId, workspaceId) } } : void 0
@@ -3572,6 +3564,7 @@ function ConnectedMailbox({
3572
3564
  localDraftId: composeLocalDraftId,
3573
3565
  offline,
3574
3566
  documents,
3567
+ notify: notify3,
3575
3568
  word,
3576
3569
  sessionKey: `${mailboxKey}-${composeSession}`,
3577
3570
  onChange: setCompose,
@@ -3665,7 +3658,7 @@ function ConnectedMailbox({
3665
3658
  }
3666
3659
  ),
3667
3660
  /* @__PURE__ */ jsxRuntime.jsx(
3668
- chunkDWZXSPMB_cjs.ConfirmDialog,
3661
+ chunkZAVEMQ37_cjs.ConfirmDialog,
3669
3662
  {
3670
3663
  isOpen: confirmDelete !== null,
3671
3664
  onClose: () => setConfirmDelete(null),
@@ -3762,10 +3755,10 @@ function ActiveChat({ agentId, workspaceId }) {
3762
3755
  const chat = react$1.useArbiChat({
3763
3756
  agentId,
3764
3757
  workspaceId,
3765
- activeArtifact: () => chunkJKB7WT7L_cjs.takeOpenDocumentForTurn({ workspaceId })
3758
+ activeArtifact: () => chunkSWQX6CTT_cjs.takeOpenDocumentForTurn({ workspaceId })
3766
3759
  });
3767
3760
  return /* @__PURE__ */ jsxRuntime.jsx(
3768
- chunkPJJY6CYL_cjs.ChatPage,
3761
+ chunkWV4IDVDQ_cjs.ChatPage,
3769
3762
  {
3770
3763
  chat: { ...chat, assistantMode: void 0, setAssistantMode: void 0 },
3771
3764
  documentsRequired: false,
@@ -3827,51 +3820,51 @@ function ConnectedAgentChatPanel({
3827
3820
 
3828
3821
  Object.defineProperty(exports, "ConnectedAssistantDock", {
3829
3822
  enumerable: true,
3830
- get: function () { return chunk4QIIDXLF_cjs.ConnectedAssistantDock; }
3823
+ get: function () { return chunk7KH4M3KY_cjs.ConnectedAssistantDock; }
3831
3824
  });
3832
3825
  Object.defineProperty(exports, "redlineStats", {
3833
3826
  enumerable: true,
3834
- get: function () { return chunk4QIIDXLF_cjs.redlineStats; }
3827
+ get: function () { return chunk7KH4M3KY_cjs.redlineStats; }
3835
3828
  });
3836
3829
  Object.defineProperty(exports, "textToArtifact", {
3837
3830
  enumerable: true,
3838
- get: function () { return chunk4QIIDXLF_cjs.textToArtifact; }
3831
+ get: function () { return chunk7KH4M3KY_cjs.textToArtifact; }
3839
3832
  });
3840
3833
  Object.defineProperty(exports, "toRedlineMarkdown", {
3841
3834
  enumerable: true,
3842
- get: function () { return chunk4QIIDXLF_cjs.toRedlineMarkdown; }
3835
+ get: function () { return chunk7KH4M3KY_cjs.toRedlineMarkdown; }
3843
3836
  });
3844
3837
  Object.defineProperty(exports, "useConnectedAiTask", {
3845
3838
  enumerable: true,
3846
- get: function () { return chunk4QIIDXLF_cjs.useConnectedAiTask; }
3839
+ get: function () { return chunk7KH4M3KY_cjs.useConnectedAiTask; }
3847
3840
  });
3848
3841
  Object.defineProperty(exports, "useConnectedChat", {
3849
3842
  enumerable: true,
3850
- get: function () { return chunk4QIIDXLF_cjs.useConnectedChat; }
3843
+ get: function () { return chunk7KH4M3KY_cjs.useConnectedChat; }
3851
3844
  });
3852
3845
  Object.defineProperty(exports, "useSemanticSearch", {
3853
3846
  enumerable: true,
3854
- get: function () { return chunk4QIIDXLF_cjs.useSemanticSearch; }
3847
+ get: function () { return chunk7KH4M3KY_cjs.useSemanticSearch; }
3855
3848
  });
3856
3849
  Object.defineProperty(exports, "useWorkspaceDocs", {
3857
3850
  enumerable: true,
3858
- get: function () { return chunk4QIIDXLF_cjs.useWorkspaceDocs; }
3851
+ get: function () { return chunk7KH4M3KY_cjs.useWorkspaceDocs; }
3859
3852
  });
3860
3853
  Object.defineProperty(exports, "ConnectionProvider", {
3861
3854
  enumerable: true,
3862
- get: function () { return chunkARDHLU73_cjs.ConnectionProvider; }
3855
+ get: function () { return chunkLRD7BHAT_cjs.ConnectionProvider; }
3863
3856
  });
3864
3857
  Object.defineProperty(exports, "SESSION_EXPIRED_MESSAGE", {
3865
3858
  enumerable: true,
3866
- get: function () { return chunkARDHLU73_cjs.SESSION_EXPIRED_MESSAGE; }
3859
+ get: function () { return chunkLRD7BHAT_cjs.SESSION_EXPIRED_MESSAGE; }
3867
3860
  });
3868
3861
  Object.defineProperty(exports, "isAuthenticated", {
3869
3862
  enumerable: true,
3870
- get: function () { return chunkARDHLU73_cjs.isAuthenticated; }
3863
+ get: function () { return chunkLRD7BHAT_cjs.isAuthenticated; }
3871
3864
  });
3872
3865
  Object.defineProperty(exports, "useConnection", {
3873
3866
  enumerable: true,
3874
- get: function () { return chunkARDHLU73_cjs.useConnection; }
3867
+ get: function () { return chunkLRD7BHAT_cjs.useConnection; }
3875
3868
  });
3876
3869
  exports.ArbiAppProvider = ArbiAppProvider;
3877
3870
  exports.ConnectedAgentChatPanel = ConnectedAgentChatPanel;
@@ -3899,6 +3892,7 @@ exports.ConnectedWorkspaceNotificationMenu = ConnectedWorkspaceNotificationMenu;
3899
3892
  exports.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS = DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS;
3900
3893
  exports.StreamedArtifact = StreamedArtifact;
3901
3894
  exports.WorkflowRunThread = WorkflowRunThread;
3895
+ exports.defaultMailNotify = defaultMailNotify;
3902
3896
  exports.defaultUnmetPasswordRequirement = defaultUnmetPasswordRequirement;
3903
3897
  exports.resolveMailbox = resolveMailbox;
3904
3898
  exports.useConnectedDocxNotifications = useConnectedDocxNotifications;