@arbidocs/blocks 0.4.71 → 0.4.73

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 (179) hide show
  1. package/dist/agents/index.cjs +404 -266
  2. package/dist/agents/index.js +10 -8
  3. package/dist/agents/tasks/TaskActivityTimeline.d.ts +1 -1
  4. package/dist/agents/tasks/WorkflowThreadStrip.d.ts +58 -0
  5. package/dist/agents/tasks/index.d.ts +1 -0
  6. package/dist/agents/workflows/WorkflowRunner.d.ts +70 -0
  7. package/dist/agents/workflows/index.d.ts +7 -1
  8. package/dist/agents/workflows/planSteps.d.ts +28 -0
  9. package/dist/agents/workflows/run.d.ts +97 -0
  10. package/dist/agents/workflows/skillMarkdown.d.ts +15 -0
  11. package/dist/agents/workflows/types.d.ts +109 -0
  12. package/dist/agents/workflows/useWorkflowPreview.d.ts +14 -0
  13. package/dist/agents/workflows/useWorkflowView.d.ts +54 -0
  14. package/dist/agents/workflows/workflow.d.ts +3 -1
  15. package/dist/calendar/CalendarGrid.d.ts +2 -0
  16. package/dist/calendar/CalendarList.d.ts +2 -0
  17. package/dist/calendar/CalendarSettingsForm.d.ts +2 -0
  18. package/dist/calendar/EventDetails.d.ts +2 -0
  19. package/dist/calendar/EventEditor.d.ts +2 -0
  20. package/dist/calendar/MiniMonth.d.ts +2 -0
  21. package/dist/calendar/RecurrenceEditor.d.ts +13 -0
  22. package/dist/calendar/RoomFinder.d.ts +2 -0
  23. package/dist/calendar/SchedulingAssistant.d.ts +2 -0
  24. package/dist/calendar/ScopeDialog.d.ts +2 -0
  25. package/dist/calendar/TimeZonePicker.d.ts +2 -0
  26. package/dist/calendar/colors.d.ts +4 -0
  27. package/dist/calendar/draft.d.ts +43 -0
  28. package/dist/calendar/format.d.ts +14 -0
  29. package/dist/calendar/grid-model.d.ts +24 -0
  30. package/dist/calendar/index.cjs +4122 -0
  31. package/dist/calendar/index.cjs.map +1 -0
  32. package/dist/calendar/index.d.ts +30 -0
  33. package/dist/calendar/index.js +4043 -0
  34. package/dist/calendar/index.js.map +1 -0
  35. package/dist/calendar/labels.d.ts +4 -0
  36. package/dist/calendar/recurrence-labels.d.ts +22 -0
  37. package/dist/calendar/recurrence.d.ts +66 -0
  38. package/dist/calendar/reminders.d.ts +26 -0
  39. package/dist/calendar/scheduling.d.ts +27 -0
  40. package/dist/calendar/types.d.ts +605 -0
  41. package/dist/calendar/ui.d.ts +16 -0
  42. package/dist/calendar/zone.d.ts +56 -0
  43. package/dist/chat/index.cjs +123 -123
  44. package/dist/chat/index.js +3 -3
  45. package/dist/chunk-2P3T23C7.js +1250 -0
  46. package/dist/chunk-2P3T23C7.js.map +1 -0
  47. package/dist/{chunk-XNRGCQPZ.cjs → chunk-3SFFTSOI.cjs} +5 -5
  48. package/dist/{chunk-XNRGCQPZ.cjs.map → chunk-3SFFTSOI.cjs.map} +1 -1
  49. package/dist/{chunk-7WM62NMM.cjs → chunk-6OL5S7MJ.cjs} +5 -2
  50. package/dist/chunk-6OL5S7MJ.cjs.map +1 -0
  51. package/dist/chunk-7D737FLE.cjs +43 -0
  52. package/dist/chunk-7D737FLE.cjs.map +1 -0
  53. package/dist/{chunk-VUEZARW5.cjs → chunk-B3WCKBJ7.cjs} +278 -5
  54. package/dist/chunk-B3WCKBJ7.cjs.map +1 -0
  55. package/dist/{chunk-L5UPP2HC.js → chunk-D46ZAPEE.js} +5 -2
  56. package/dist/chunk-D46ZAPEE.js.map +1 -0
  57. package/dist/{chunk-LFGJAZ5H.js → chunk-DDF5GPIJ.js} +6 -36
  58. package/dist/chunk-DDF5GPIJ.js.map +1 -0
  59. package/dist/chunk-DETZZBG2.cjs +91 -0
  60. package/dist/chunk-DETZZBG2.cjs.map +1 -0
  61. package/dist/chunk-EVUEIBNU.js +89 -0
  62. package/dist/chunk-EVUEIBNU.js.map +1 -0
  63. package/dist/{chunk-CXWESDIZ.cjs → chunk-F4RUCUXF.cjs} +6 -6
  64. package/dist/{chunk-CXWESDIZ.cjs.map → chunk-F4RUCUXF.cjs.map} +1 -1
  65. package/dist/{chunk-DABEWNL2.js → chunk-G5DP27DU.js} +3 -3
  66. package/dist/{chunk-DABEWNL2.js.map → chunk-G5DP27DU.js.map} +1 -1
  67. package/dist/{chunk-VZGBCBYB.js → chunk-GJV2G4FC.js} +276 -7
  68. package/dist/chunk-GJV2G4FC.js.map +1 -0
  69. package/dist/chunk-GTNUQBXI.cjs +1296 -0
  70. package/dist/chunk-GTNUQBXI.cjs.map +1 -0
  71. package/dist/{chunk-7M22KND4.cjs → chunk-IUR565UW.cjs} +303 -530
  72. package/dist/chunk-IUR565UW.cjs.map +1 -0
  73. package/dist/{chunk-5DM6VU4L.cjs → chunk-KJ3QEKOJ.cjs} +3 -3
  74. package/dist/{chunk-5DM6VU4L.cjs.map → chunk-KJ3QEKOJ.cjs.map} +1 -1
  75. package/dist/{chunk-THO7DZNN.cjs → chunk-MUMH3Z6K.cjs} +20 -15
  76. package/dist/chunk-MUMH3Z6K.cjs.map +1 -0
  77. package/dist/{chunk-3TVTG7FK.js → chunk-ORA2XE7U.js} +4 -4
  78. package/dist/{chunk-3TVTG7FK.js.map → chunk-ORA2XE7U.js.map} +1 -1
  79. package/dist/{chunk-5HOAOKZL.js → chunk-OYMWV45N.js} +21 -16
  80. package/dist/chunk-OYMWV45N.js.map +1 -0
  81. package/dist/{chunk-HLMFU7L2.js → chunk-QDNXEB3T.js} +272 -488
  82. package/dist/chunk-QDNXEB3T.js.map +1 -0
  83. package/dist/{chunk-ILGHS6ZV.js → chunk-SB5ZKOYN.js} +3 -3
  84. package/dist/{chunk-ILGHS6ZV.js.map → chunk-SB5ZKOYN.js.map} +1 -1
  85. package/dist/{chunk-CPMNAJLF.js → chunk-TX2ZICS7.js} +24 -4
  86. package/dist/chunk-TX2ZICS7.js.map +1 -0
  87. package/dist/{chunk-2ZTONLT5.cjs → chunk-ULWRNGGE.cjs} +25 -4
  88. package/dist/chunk-ULWRNGGE.cjs.map +1 -0
  89. package/dist/{chunk-BMWZTNZB.js → chunk-VRPRAU3J.js} +3 -3
  90. package/dist/{chunk-BMWZTNZB.js.map → chunk-VRPRAU3J.js.map} +1 -1
  91. package/dist/{chunk-LTA2IAQB.cjs → chunk-WOYUXVVQ.cjs} +8 -8
  92. package/dist/{chunk-LTA2IAQB.cjs.map → chunk-WOYUXVVQ.cjs.map} +1 -1
  93. package/dist/chunk-XD2M6LIG.js +41 -0
  94. package/dist/chunk-XD2M6LIG.js.map +1 -0
  95. package/dist/{chunk-WBDK4PIA.cjs → chunk-Z5VUZ6YD.cjs} +6 -37
  96. package/dist/chunk-Z5VUZ6YD.cjs.map +1 -0
  97. package/dist/collaboration/index.cjs +44 -45
  98. package/dist/collaboration/index.js +2 -3
  99. package/dist/connect/docx.cjs +2 -2
  100. package/dist/connect/docx.js +1 -1
  101. package/dist/connect/index.cjs +370 -48
  102. package/dist/connect/index.cjs.map +1 -1
  103. package/dist/connect/index.d.ts +2 -1
  104. package/dist/connect/index.js +331 -12
  105. package/dist/connect/index.js.map +1 -1
  106. package/dist/connection/ConnectedSettings.d.ts +13 -0
  107. package/dist/connection/ConnectedWorkflowBuilder.d.ts +44 -0
  108. package/dist/connection/ConnectedWorkflowRunner.d.ts +27 -0
  109. package/dist/connection/useWorkflowThread.d.ts +34 -0
  110. package/dist/document-tools/index.cjs +4 -5
  111. package/dist/document-tools/index.cjs.map +1 -1
  112. package/dist/document-tools/index.js +1 -2
  113. package/dist/document-tools/index.js.map +1 -1
  114. package/dist/facts/index.cjs +1 -1
  115. package/dist/facts/index.js +1 -1
  116. package/dist/files/import/index.d.ts +0 -1
  117. package/dist/files/index.cjs +31 -169
  118. package/dist/files/index.cjs.map +1 -1
  119. package/dist/files/index.js +8 -147
  120. package/dist/files/index.js.map +1 -1
  121. package/dist/home/index.cjs +21 -20
  122. package/dist/home/index.cjs.map +1 -1
  123. package/dist/home/index.js +3 -2
  124. package/dist/home/index.js.map +1 -1
  125. package/dist/index.cjs +680 -542
  126. package/dist/index.cjs.map +1 -1
  127. package/dist/index.js +15 -13
  128. package/dist/index.js.map +1 -1
  129. package/dist/settings/Billing.d.ts +4 -0
  130. package/dist/settings/IdentityVerification.d.ts +83 -0
  131. package/dist/settings/PlanBadge.d.ts +2 -2
  132. package/dist/settings/PlanCard.d.ts +6 -1
  133. package/dist/settings/ProfileCard.d.ts +5 -1
  134. package/dist/settings/SubscriptionParts.d.ts +6 -2
  135. package/dist/settings/index.cjs +128 -95
  136. package/dist/settings/index.cjs.map +1 -1
  137. package/dist/settings/index.d.ts +1 -0
  138. package/dist/settings/index.js +64 -47
  139. package/dist/settings/index.js.map +1 -1
  140. package/dist/shell/ActionCluster.d.ts +3 -1
  141. package/dist/shell/index.cjs +54 -54
  142. package/dist/shell/index.js +2 -2
  143. package/dist/studio/index.cjs +6 -6
  144. package/dist/studio/index.js +4 -4
  145. package/dist/workflow-canvas/StepInspector.d.ts +46 -0
  146. package/dist/workflow-canvas/TriggerInspector.d.ts +46 -0
  147. package/dist/workflow-canvas/WorkflowBuilder.d.ts +55 -0
  148. package/dist/workflow-canvas/WorkflowCanvas.d.ts +65 -0
  149. package/dist/workflow-canvas/edit.d.ts +54 -0
  150. package/dist/workflow-canvas/index.cjs +1609 -0
  151. package/dist/workflow-canvas/index.cjs.map +1 -0
  152. package/dist/workflow-canvas/index.d.ts +13 -0
  153. package/dist/workflow-canvas/index.js +1579 -0
  154. package/dist/workflow-canvas/index.js.map +1 -0
  155. package/dist/workflow-canvas/trigger.d.ts +51 -0
  156. package/dist/workspaces/index.cjs +2 -3
  157. package/dist/workspaces/index.cjs.map +1 -1
  158. package/dist/workspaces/index.js +1 -2
  159. package/dist/workspaces/index.js.map +1 -1
  160. package/package.json +41 -12
  161. package/src/calendar/calendar.css +316 -0
  162. package/src/workflow-canvas/canvas.css +113 -0
  163. package/dist/chunk-2ZTONLT5.cjs.map +0 -1
  164. package/dist/chunk-5HOAOKZL.js.map +0 -1
  165. package/dist/chunk-7M22KND4.cjs.map +0 -1
  166. package/dist/chunk-7WM62NMM.cjs.map +0 -1
  167. package/dist/chunk-CPMNAJLF.js.map +0 -1
  168. package/dist/chunk-DCDVWPMB.cjs +0 -29
  169. package/dist/chunk-DCDVWPMB.cjs.map +0 -1
  170. package/dist/chunk-HLMFU7L2.js.map +0 -1
  171. package/dist/chunk-L5UPP2HC.js.map +0 -1
  172. package/dist/chunk-LFGJAZ5H.js.map +0 -1
  173. package/dist/chunk-THO7DZNN.cjs.map +0 -1
  174. package/dist/chunk-TJMKFY5P.js +0 -27
  175. package/dist/chunk-TJMKFY5P.js.map +0 -1
  176. package/dist/chunk-VUEZARW5.cjs.map +0 -1
  177. package/dist/chunk-VZGBCBYB.js.map +0 -1
  178. package/dist/chunk-WBDK4PIA.cjs.map +0 -1
  179. package/dist/files/import/CalendarImportRow.d.ts +0 -26
@@ -1,18 +1,21 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkLTA2IAQB_cjs = require('../chunk-LTA2IAQB.cjs');
5
- var chunkVUEZARW5_cjs = require('../chunk-VUEZARW5.cjs');
4
+ var chunkB3WCKBJ7_cjs = require('../chunk-B3WCKBJ7.cjs');
5
+ var chunkWOYUXVVQ_cjs = require('../chunk-WOYUXVVQ.cjs');
6
+ var chunkMUMH3Z6K_cjs = require('../chunk-MUMH3Z6K.cjs');
7
+ var chunkGTNUQBXI_cjs = require('../chunk-GTNUQBXI.cjs');
8
+ require('../chunk-DETZZBG2.cjs');
9
+ require('../chunk-7D737FLE.cjs');
6
10
  var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
7
11
  require('../chunk-ADOKTJHV.cjs');
8
- var chunk5DM6VU4L_cjs = require('../chunk-5DM6VU4L.cjs');
12
+ var chunkKJ3QEKOJ_cjs = require('../chunk-KJ3QEKOJ.cjs');
9
13
  require('../chunk-VGOFFCMT.cjs');
10
14
  require('../chunk-V3L5DONY.cjs');
15
+ require('../chunk-7UTB4PHM.cjs');
11
16
  require('../chunk-PPCATBOY.cjs');
12
17
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
13
- require('../chunk-DCDVWPMB.cjs');
14
- var chunkTHO7DZNN_cjs = require('../chunk-THO7DZNN.cjs');
15
- require('../chunk-7UTB4PHM.cjs');
18
+ require('../chunk-ULWRNGGE.cjs');
16
19
  require('../chunk-MHVNT4J3.cjs');
17
20
  require('../chunk-DES3K4SD.cjs');
18
21
  var react = require('react');
@@ -25,7 +28,7 @@ var lucideReact = require('lucide-react');
25
28
  var shell = require('@arbidocs/react/shell');
26
29
 
27
30
  function ConnectionBoundWebSocket({ children }) {
28
- const { status } = chunkTHO7DZNN_cjs.useConnection();
31
+ const { status } = chunkMUMH3Z6K_cjs.useConnection();
29
32
  return /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiWebSocketProvider, { enabled: status === "authenticated", children });
30
33
  }
31
34
  function ArbiAppProvider({
@@ -38,10 +41,10 @@ function ArbiAppProvider({
38
41
  })
39
42
  );
40
43
  const providerUrl = config.apiUrl || config.demoApiUrl || "https://demo.arbi.local";
41
- return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiProvider, { url: providerUrl, deploymentDomain: config.deploymentDomain, children: /* @__PURE__ */ jsxRuntime.jsx(chunkTHO7DZNN_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children }) }) }) });
44
+ return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(react$1.ArbiProvider, { url: providerUrl, deploymentDomain: config.deploymentDomain, children: /* @__PURE__ */ jsxRuntime.jsx(chunkMUMH3Z6K_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children }) }) }) });
42
45
  }
43
46
  function ConnectedTaskAccessRequest({ conversationId }) {
44
- const { workspaceId } = chunkTHO7DZNN_cjs.useConnection();
47
+ const { workspaceId } = chunkMUMH3Z6K_cjs.useConnection();
45
48
  const tasks = react$1.useConversations(workspaceId ?? void 0, { live: true });
46
49
  const run = react$1.useRunConversation();
47
50
  const task = tasks.data?.find((item) => item.external_id === conversationId);
@@ -180,8 +183,296 @@ function StreamedArtifact({
180
183
  }
181
184
  );
182
185
  }
186
+ var STARTING = /* @__PURE__ */ new Set(["pending", "running"]);
187
+ function formValues(step, inputs) {
188
+ if (step.kind !== "form") return void 0;
189
+ return Object.fromEntries(step.inputs.map((f) => [f.name, inputs[f.name] ?? ""]));
190
+ }
191
+ function useWorkflowThread(workflow, options = {}) {
192
+ const arbi = react$1.useArbi();
193
+ const { ensureWorkspaceOpen } = chunkMUMH3Z6K_cjs.useConnection();
194
+ const { wsId } = chunkWOYUXVVQ_cjs.useWorkspaceDocs();
195
+ const [threadId, setThreadId] = react.useState(options.conversationId);
196
+ const [localInputs, setLocalInputs] = react.useState(
197
+ () => chunkGTNUQBXI_cjs.initialRunInputs(workflow, options.initialInputs)
198
+ );
199
+ const [edits, setEdits] = react.useState({});
200
+ const [localStates, setLocalStates] = react.useState({});
201
+ const createWork = react$1.useCreateWork();
202
+ const actOnStep = react$1.useActOnStep();
203
+ const conversations = react$1.useConversations(wsId, { enabled: !!threadId, live: true });
204
+ const conversation = conversations.data?.find((c) => c.external_id === threadId);
205
+ const steps = react.useMemo(
206
+ () => chunkGTNUQBXI_cjs.workflowSteps(workflow).length > 0 ? chunkGTNUQBXI_cjs.workflowSteps(workflow) : chunkGTNUQBXI_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
207
+ [workflow, conversation?.plan?.steps]
208
+ );
209
+ const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
210
+ const serverStates = react.useMemo(
211
+ () => chunkGTNUQBXI_cjs.stepStatesFromActivity(activity.data ?? []),
212
+ [activity.data]
213
+ );
214
+ const working = steps.some(
215
+ (s) => s.kind === "agent" && STARTING.has(serverStates[s.id]?.status ?? "pending")
216
+ );
217
+ const threads = react$1.useConversationThreads(wsId, threadId, { enabled: !!threadId, live: working });
218
+ const answers = react.useMemo(() => {
219
+ const byId = /* @__PURE__ */ new Map();
220
+ for (const t of threads.data?.threads ?? [])
221
+ for (const m of t.history) if (m.role === "assistant") byId.set(m.external_id, m.content);
222
+ return byId;
223
+ }, [threads.data]);
224
+ const answerMissing = Object.values(serverStates).some(
225
+ (st) => st.status === "done" && !!st.responseId && !answers.has(st.responseId)
226
+ );
227
+ const refetchThreads = threads.refetch;
228
+ react.useEffect(() => {
229
+ if (answerMissing) void refetchThreads();
230
+ }, [answerMissing, activity.data, refetchThreads]);
231
+ const states = react.useMemo(() => {
232
+ if (!threadId) return localStates;
233
+ const out = {};
234
+ for (const [id, s] of Object.entries(serverStates))
235
+ out[id] = { ...s, text: s.responseId ? answers.get(s.responseId) : void 0 };
236
+ return out;
237
+ }, [threadId, localStates, serverStates, answers]);
238
+ const inputs = react.useMemo(
239
+ () => threadId ? { ...localInputs, ...conversation?.skill_inputs ?? {}, ...edits } : { ...localInputs, ...edits },
240
+ [threadId, localInputs, conversation?.skill_inputs, edits]
241
+ );
242
+ const refresh = react.useCallback(async () => {
243
+ await Promise.all([activity.refetch(), conversations.refetch()]);
244
+ }, [activity, conversations]);
245
+ const act = react.useCallback(
246
+ async (id, body) => {
247
+ await actOnStep.mutateAsync({ conversationId: id, body });
248
+ await refresh();
249
+ },
250
+ [actOnStep, refresh]
251
+ );
252
+ const complete = react.useCallback(
253
+ async (step) => {
254
+ let values = inputs;
255
+ const commit = step.commit ? options.commit?.[step.id] : void 0;
256
+ if (commit && localStates[step.id]?.status !== "done") {
257
+ values = { ...values, ...await commit(values) ?? {} };
258
+ setLocalInputs(values);
259
+ setEdits({});
260
+ }
261
+ let id = threadId;
262
+ if (!id) {
263
+ await ensureWorkspaceOpen();
264
+ const created = await createWork.mutateAsync({
265
+ title: chunkGTNUQBXI_cjs.runThreadTitle(workflow, values).slice(0, 60),
266
+ description: workflow.description || null,
267
+ prompt: null,
268
+ skill_ref: null,
269
+ skill_inputs: values,
270
+ agent_ext_id: options.agentId ?? null,
271
+ auth_mode: "run_now_temp",
272
+ plan: {
273
+ goal: "",
274
+ criteria: [],
275
+ max_passes: 3,
276
+ documents: [],
277
+ steps: chunkGTNUQBXI_cjs.toPlanSteps(workflow, {
278
+ inputs: values,
279
+ resolveWorkflow: options.resolveWorkflow,
280
+ compose: options.compose
281
+ })
282
+ }
283
+ });
284
+ id = created.external_id;
285
+ setThreadId(id);
286
+ setLocalStates((s) => ({ ...s, [step.id]: { status: "done" } }));
287
+ options.onStarted?.(id);
288
+ }
289
+ await act(id, { step: step.id, action: "complete", inputs: formValues(step, values) });
290
+ },
291
+ [inputs, options, localStates, threadId, ensureWorkspaceOpen, createWork, workflow, act]
292
+ );
293
+ const skip = react.useCallback(
294
+ async (stepId) => {
295
+ if (!threadId) {
296
+ setLocalStates((s) => ({ ...s, [stepId]: { status: "skipped" } }));
297
+ return;
298
+ }
299
+ await act(threadId, { step: stepId, action: "skip" });
300
+ },
301
+ [threadId, act]
302
+ );
303
+ const retry = react.useCallback(
304
+ async (_stepId) => {
305
+ if (!threadId) return;
306
+ await arbi.conversations.runWithAuth(threadId);
307
+ await refresh();
308
+ },
309
+ [arbi, threadId, refresh]
310
+ );
311
+ const view = chunkGTNUQBXI_cjs.useWorkflowView({
312
+ steps,
313
+ states,
314
+ inputs,
315
+ setInput: (name, value) => setEdits((i) => ({ ...i, [name]: value })),
316
+ complete,
317
+ skip,
318
+ retry,
319
+ isLocked: (id) => states[id]?.status === "done"
320
+ });
321
+ return { view, conversationId: threadId, conversation };
322
+ }
323
+ var DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS = {
324
+ notify: "Ask to approve",
325
+ notified: "Notified.",
326
+ openThread: "Open the thread"
327
+ };
328
+ function ConnectedWorkflowRunner({
329
+ workflow,
330
+ options,
331
+ onOpenConversation,
332
+ emptyHint,
333
+ connectedLabels,
334
+ testIdPrefix = "workflow-run",
335
+ ...runnerProps
336
+ }) {
337
+ const l = { ...DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, ...connectedLabels };
338
+ const arbi = react$1.useArbi();
339
+ const { ensureWorkspaceOpen } = chunkMUMH3Z6K_cjs.useConnection();
340
+ const { wsId } = chunkWOYUXVVQ_cjs.useWorkspaceDocs();
341
+ const { data: docs = [], refetch } = react$1.useDocuments(wsId);
342
+ const [uploading, setUploading] = react.useState(false);
343
+ const { view, conversationId } = useWorkflowThread(workflow, options);
344
+ const onUpload = react.useCallback(
345
+ async (files) => {
346
+ if (!files.length) return;
347
+ setUploading(true);
348
+ try {
349
+ await ensureWorkspaceOpen();
350
+ for (const f of files) await arbi.documents.uploadFile(f, f.name);
351
+ await refetch();
352
+ } finally {
353
+ setUploading(false);
354
+ }
355
+ },
356
+ [arbi, ensureWorkspaceOpen, refetch]
357
+ );
358
+ const renderAgentOutput = (step, state) => {
359
+ const status = state?.status;
360
+ if (!state?.text && status !== "done") return null;
361
+ return /* @__PURE__ */ jsxRuntime.jsx(
362
+ react$1.AiAnswer,
363
+ {
364
+ status: status === "running" ? "running" : "done",
365
+ text: state?.text ?? "",
366
+ emptyHint: emptyHint?.(step),
367
+ testId: `${testIdPrefix}-${step.id}-answer`
368
+ }
369
+ );
370
+ };
371
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
372
+ conversationId && onOpenConversation && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs(
373
+ ui.Button,
374
+ {
375
+ variant: "ghost",
376
+ size: "sm",
377
+ onClick: () => onOpenConversation(conversationId),
378
+ "data-testid": `${testIdPrefix}-open-thread`,
379
+ children: [
380
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLink, { className: "size-4" }),
381
+ " ",
382
+ l.openThread
383
+ ]
384
+ }
385
+ ) }),
386
+ /* @__PURE__ */ jsxRuntime.jsx(
387
+ chunkGTNUQBXI_cjs.WorkflowRunner,
388
+ {
389
+ ...runnerProps,
390
+ workflow,
391
+ run: view,
392
+ renderAgentOutput,
393
+ renderReview: (step) => conversationId ? /* @__PURE__ */ jsxRuntime.jsx(
394
+ ReviewNotify,
395
+ {
396
+ conversationId,
397
+ workspaceId: wsId,
398
+ labels: l,
399
+ testId: `${testIdPrefix}-${step.id}`
400
+ }
401
+ ) : null,
402
+ onUpload,
403
+ uploading,
404
+ files: docs.map((d) => ({ id: d.external_id, name: d.file_name ?? d.external_id })),
405
+ testIdPrefix
406
+ }
407
+ )
408
+ ] });
409
+ }
410
+ function ReviewNotify({
411
+ conversationId,
412
+ workspaceId,
413
+ labels,
414
+ testId
415
+ }) {
416
+ const arbi = react$1.useArbi();
417
+ const { status, user, ensureWorkspaceOpen } = chunkMUMH3Z6K_cjs.useConnection();
418
+ const { data: members = [] } = react$1.useWorkspaceUsers(workspaceId, {
419
+ enabled: status === "authenticated" && !!workspaceId,
420
+ beforeFetch: ensureWorkspaceOpen
421
+ });
422
+ const people = members.filter(
423
+ (m) => !m.agent_ext_id && !m.user.external_id.startsWith("agt-") && m.user.external_id !== user?.externalId
424
+ );
425
+ const [picked, setPicked] = react.useState([]);
426
+ const [sent, setSent] = react.useState(false);
427
+ const [busy, setBusy] = react.useState(false);
428
+ if (people.length === 0) return null;
429
+ const toggle = (id) => setPicked((p) => p.includes(id) ? p.filter((x) => x !== id) : [...p, id]);
430
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", "data-testid": `${testId}-notify`, children: [
431
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1.5", children: people.map((m) => {
432
+ const name = [m.user.given_name, m.user.family_name].filter(Boolean).join(" ") || m.user.email;
433
+ const on = picked.includes(m.user.external_id);
434
+ return /* @__PURE__ */ jsxRuntime.jsx(
435
+ "button",
436
+ {
437
+ type: "button",
438
+ onClick: () => toggle(m.user.external_id),
439
+ "aria-pressed": on,
440
+ className: ui.cn(
441
+ "rounded-full border px-2.5 py-1 text-xs",
442
+ on ? "border-primary bg-primary/10 text-primary" : "border-border text-muted-foreground"
443
+ ),
444
+ "data-testid": `${testId}-person-${m.user.external_id}`,
445
+ children: name
446
+ },
447
+ m.user.external_id
448
+ );
449
+ }) }),
450
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
451
+ /* @__PURE__ */ jsxRuntime.jsx(
452
+ ui.Button,
453
+ {
454
+ variant: "outline",
455
+ size: "sm",
456
+ disabled: !picked.length || busy,
457
+ onClick: async () => {
458
+ setBusy(true);
459
+ try {
460
+ await arbi.conversations.notify(conversationId, picked);
461
+ setSent(true);
462
+ } finally {
463
+ setBusy(false);
464
+ }
465
+ },
466
+ "data-testid": `${testId}-notify-send`,
467
+ children: labels.notify
468
+ }
469
+ ),
470
+ sent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: labels.notified })
471
+ ] })
472
+ ] });
473
+ }
183
474
  function useConnectedShellWorkspaces(options = {}) {
184
- const { workspaceId, setWorkspace } = chunkTHO7DZNN_cjs.useConnection();
475
+ const { workspaceId, setWorkspace } = chunkMUMH3Z6K_cjs.useConnection();
185
476
  const query = react$1.useWorkspaces();
186
477
  return react$1.useShellWorkspaces({
187
478
  ...options,
@@ -206,7 +497,7 @@ function ConnectedProfileCard({ notify: notify3, title = "Profile" }) {
206
497
  const updateProfile = react$1.useUpdateProfile();
207
498
  const requestEmailChange = react$1.useRequestEmailChange();
208
499
  const confirmEmailChange = react$1.useConfirmEmailChange();
209
- const { user } = chunkTHO7DZNN_cjs.useConnection();
500
+ const { user } = chunkMUMH3Z6K_cjs.useConnection();
210
501
  const name = react$1.useNameEditor({
211
502
  givenName: profile?.givenName,
212
503
  familyName: profile?.familyName,
@@ -253,12 +544,12 @@ function ConnectedProfileCard({ notify: notify3, title = "Profile" }) {
253
544
  }
254
545
  });
255
546
  const display = profile?.fullName || user?.name || "Unnamed";
256
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVUEZARW5_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
257
- chunkVUEZARW5_cjs.ProfileCard,
547
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
548
+ chunkB3WCKBJ7_cjs.ProfileCard,
258
549
  {
259
550
  avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
260
551
  /* @__PURE__ */ jsxRuntime.jsx(
261
- chunkVUEZARW5_cjs.AvatarPicker,
552
+ chunkB3WCKBJ7_cjs.AvatarPicker,
262
553
  {
263
554
  pictureUrl: profile?.picture ?? user?.picture,
264
555
  initials: chunkKDG6FER6_cjs.initials(display),
@@ -284,11 +575,38 @@ function ConnectedProfileCard({ notify: notify3, title = "Profile" }) {
284
575
  name: { ...name, display, isSaving: name.isSaving },
285
576
  email: profile?.email ?? user?.email ?? "",
286
577
  isSso: profile?.isSso ?? false,
578
+ isVerified: profile?.isIdentityVerified ?? false,
287
579
  onStartEmailChange: email.onStart,
288
580
  emailChange: email.isOpen ? email : void 0
289
581
  }
290
582
  ) });
291
583
  }
584
+ function ConnectedIdentityVerification({
585
+ notify: notify3,
586
+ labels
587
+ }) {
588
+ const { data: profile } = react$1.useProfile();
589
+ const flow = react$1.useIdentityVerification({
590
+ onVerifiedChange: (verified) => notify3?.(verified ? "Identity verified" : "Verified tick removed", "success"),
591
+ onNameAccepted: () => notify3?.("Name updated to match your ID", "success")
592
+ });
593
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
594
+ /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.IdentityVerificationCard, { flow, labels }),
595
+ /* @__PURE__ */ jsxRuntime.jsx(
596
+ chunkB3WCKBJ7_cjs.IdentityVerificationDialog,
597
+ {
598
+ flow,
599
+ accountName: profile?.fullName ?? "",
600
+ labels
601
+ }
602
+ )
603
+ ] });
604
+ }
605
+ function ConnectedRequireVerified({ children, labels }) {
606
+ const { data: profile } = react$1.useProfile();
607
+ const flow = react$1.useIdentityVerification();
608
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
609
+ }
292
610
  function defaultUnmetPasswordRequirement(password) {
293
611
  if (password.length < 8) return "Minimum 8 characters";
294
612
  if (!/[A-Z!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(password)) {
@@ -316,10 +634,10 @@ function ConnectedSecuritySection({
316
634
  },
317
635
  onClose: () => setOpen(false)
318
636
  });
319
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVUEZARW5_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
320
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVUEZARW5_cjs.SettingsCard, { padding: "sm", children: [
637
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkB3WCKBJ7_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
638
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkB3WCKBJ7_cjs.SettingsCard, { padding: "sm", children: [
321
639
  /* @__PURE__ */ jsxRuntime.jsx(
322
- chunkVUEZARW5_cjs.SettingsActionRow,
640
+ chunkB3WCKBJ7_cjs.SettingsActionRow,
323
641
  {
324
642
  title: "Change password",
325
643
  description: "Used to sign in and to encrypt your data. Changing it re-encrypts everything in your account.",
@@ -330,7 +648,7 @@ function ConnectedSecuritySection({
330
648
  children
331
649
  ] }),
332
650
  /* @__PURE__ */ jsxRuntime.jsx(
333
- chunkVUEZARW5_cjs.PasswordChangeDialog,
651
+ chunkB3WCKBJ7_cjs.PasswordChangeDialog,
334
652
  {
335
653
  open,
336
654
  onClose: form.onCancel,
@@ -354,23 +672,23 @@ function ConnectedSecuritySection({
354
672
  ] });
355
673
  }
356
674
  function ConnectedNotificationPreferences({
357
- categories = chunkVUEZARW5_cjs.EMAIL_NOTIFICATION_CATEGORIES,
675
+ categories = chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_CATEGORIES,
358
676
  title = "Notifications"
359
677
  }) {
360
678
  const keys = react.useMemo(
361
- () => categories === chunkVUEZARW5_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkVUEZARW5_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
679
+ () => categories === chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkB3WCKBJ7_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
362
680
  [categories]
363
681
  );
364
682
  const prefs = react$1.useNotificationPreferences(keys);
365
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVUEZARW5_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVUEZARW5_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
366
- chunkVUEZARW5_cjs.NotificationCategoryList,
683
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkB3WCKBJ7_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
684
+ chunkB3WCKBJ7_cjs.NotificationCategoryList,
367
685
  {
368
686
  masterId: "emailNotifications",
369
687
  masterTitle: "Email Notifications",
370
688
  masterDescription: "Email me about activity when I\u2019m away",
371
689
  masterChecked: prefs.masterChecked,
372
690
  onMasterChange: prefs.setAll,
373
- categories: chunkVUEZARW5_cjs.toNotificationCategories(prefs.checked, categories),
691
+ categories: chunkB3WCKBJ7_cjs.toNotificationCategories(prefs.checked, categories),
374
692
  onCategoryChange: prefs.setCategory
375
693
  }
376
694
  ) }) });
@@ -384,14 +702,14 @@ function ConnectedSessionsRow({
384
702
  const sessions = react$1.useSessions({ enabled: open });
385
703
  const currentSessionId = react$1.useCurrentSessionId();
386
704
  const terminate = react$1.useTerminateSession();
387
- const views = chunkVUEZARW5_cjs.toActiveSessionViews(sessions.data ?? [], {
705
+ const views = chunkB3WCKBJ7_cjs.toActiveSessionViews(sessions.data ?? [], {
388
706
  currentSessionId,
389
707
  terminatingId: terminate.isPending ? terminate.variables : null,
390
708
  renderIcon: renderSessionIcon
391
709
  });
392
710
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
393
711
  /* @__PURE__ */ jsxRuntime.jsx(
394
- chunkVUEZARW5_cjs.SettingsRow,
712
+ chunkB3WCKBJ7_cjs.SettingsRow,
395
713
  {
396
714
  label: "Active sessions",
397
715
  description: "Devices and agents currently signed in to your account.",
@@ -413,7 +731,7 @@ function ConnectedSessionsRow({
413
731
  }
414
732
  ),
415
733
  /* @__PURE__ */ jsxRuntime.jsx(
416
- chunkVUEZARW5_cjs.ActiveSessionsDialog,
734
+ chunkB3WCKBJ7_cjs.ActiveSessionsDialog,
417
735
  {
418
736
  open,
419
737
  onOpenChange: setOpen,
@@ -444,11 +762,11 @@ function ConnectedLogoutDialog({
444
762
  isOnline = true,
445
763
  renderSessionIcon
446
764
  }) {
447
- const { logout } = chunkTHO7DZNN_cjs.useConnection();
765
+ const { logout } = chunkMUMH3Z6K_cjs.useConnection();
448
766
  const sessions = react$1.useSessions({ enabled: open });
449
767
  const logoutAll = react$1.useLogoutAllSessions();
450
768
  return /* @__PURE__ */ jsxRuntime.jsx(
451
- chunkVUEZARW5_cjs.LogoutDialog,
769
+ chunkB3WCKBJ7_cjs.LogoutDialog,
452
770
  {
453
771
  open,
454
772
  onClose,
@@ -462,7 +780,7 @@ function ConnectedLogoutDialog({
462
780
  },
463
781
  canLogoutAll: true,
464
782
  isOnline,
465
- sessions: chunkVUEZARW5_cjs.toLogoutSessionViews(sessions.data ?? []),
783
+ sessions: chunkB3WCKBJ7_cjs.toLogoutSessionViews(sessions.data ?? []),
466
784
  renderSessionIcon
467
785
  }
468
786
  );
@@ -470,7 +788,7 @@ function ConnectedLogoutDialog({
470
788
  function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
471
789
  const [zoneOpen, setZoneOpen] = react.useState(false);
472
790
  const [dialogOpen, setDialogOpen] = react.useState(false);
473
- const { user, logout } = chunkTHO7DZNN_cjs.useConnection();
791
+ const { user, logout } = chunkMUMH3Z6K_cjs.useConnection();
474
792
  const remove = react$1.useDeleteAccount();
475
793
  const flow = react$1.useDeleteAccountFlow({
476
794
  userEmail: user?.email ?? "",
@@ -481,7 +799,7 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
481
799
  });
482
800
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
483
801
  /* @__PURE__ */ jsxRuntime.jsx(
484
- chunkVUEZARW5_cjs.SettingsDangerZone,
802
+ chunkB3WCKBJ7_cjs.SettingsDangerZone,
485
803
  {
486
804
  isOpen: zoneOpen,
487
805
  onToggle: () => setZoneOpen((o) => !o),
@@ -501,12 +819,12 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
501
819
  }
502
820
  ),
503
821
  /* @__PURE__ */ jsxRuntime.jsx(
504
- chunkVUEZARW5_cjs.DeleteAccountDialog,
822
+ chunkB3WCKBJ7_cjs.DeleteAccountDialog,
505
823
  {
506
824
  open: dialogOpen,
507
825
  onClose: flow.onClose,
508
826
  step: flow.step,
509
- blockers: chunkVUEZARW5_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
827
+ blockers: chunkB3WCKBJ7_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
510
828
  onContinue: flow.onContinue,
511
829
  onBack: flow.onBack,
512
830
  userEmail: user?.email ?? "",
@@ -520,7 +838,7 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
520
838
  }
521
839
  function useConnectedDocxNotifications(onOpen) {
522
840
  const arbi = react$1.useArbi();
523
- const { status, user, apiUrl } = chunkTHO7DZNN_cjs.useConnection();
841
+ const { status, user, apiUrl } = chunkMUMH3Z6K_cjs.useConnection();
524
842
  const queries = reactQuery.useQueryClient();
525
843
  const source = `docx-mentions:${apiUrl}:${user?.externalId || ""}`;
526
844
  const queryKey = ["docx-mentions", apiUrl, user?.externalId];
@@ -584,7 +902,7 @@ function useConnectedDocxNotifications(onOpen) {
584
902
  };
585
903
  }
586
904
  function useConnectedWorkNotifications(onOpen) {
587
- const { status, user, apiUrl } = chunkTHO7DZNN_cjs.useConnection();
905
+ const { status, user, apiUrl } = chunkMUMH3Z6K_cjs.useConnection();
588
906
  const source = `work-notifications:${apiUrl}:${user?.externalId || ""}`;
589
907
  const { data = [], markRead: persistRead } = react$1.useWorkNotifications({
590
908
  apiUrl,
@@ -691,7 +1009,7 @@ function mapWorkNotification(note) {
691
1009
  function ActiveChat({ agentId, workspaceId }) {
692
1010
  const chat = react$1.useArbiChat({ agentId, workspaceId });
693
1011
  return /* @__PURE__ */ jsxRuntime.jsx(
694
- chunk5DM6VU4L_cjs.ChatPage,
1012
+ chunkKJ3QEKOJ_cjs.ChatPage,
695
1013
  {
696
1014
  chat: { ...chat, assistantMode: void 0, setAssistantMode: void 0 },
697
1015
  documentsRequired: false,
@@ -753,62 +1071,66 @@ function ConnectedAgentChatPanel({
753
1071
 
754
1072
  Object.defineProperty(exports, "ConnectedAssistantDock", {
755
1073
  enumerable: true,
756
- get: function () { return chunkLTA2IAQB_cjs.ConnectedAssistantDock; }
1074
+ get: function () { return chunkWOYUXVVQ_cjs.ConnectedAssistantDock; }
757
1075
  });
758
1076
  Object.defineProperty(exports, "redlineStats", {
759
1077
  enumerable: true,
760
- get: function () { return chunkLTA2IAQB_cjs.redlineStats; }
1078
+ get: function () { return chunkWOYUXVVQ_cjs.redlineStats; }
761
1079
  });
762
1080
  Object.defineProperty(exports, "textToArtifact", {
763
1081
  enumerable: true,
764
- get: function () { return chunkLTA2IAQB_cjs.textToArtifact; }
1082
+ get: function () { return chunkWOYUXVVQ_cjs.textToArtifact; }
765
1083
  });
766
1084
  Object.defineProperty(exports, "toRedlineMarkdown", {
767
1085
  enumerable: true,
768
- get: function () { return chunkLTA2IAQB_cjs.toRedlineMarkdown; }
1086
+ get: function () { return chunkWOYUXVVQ_cjs.toRedlineMarkdown; }
769
1087
  });
770
1088
  Object.defineProperty(exports, "useConnectedAiTask", {
771
1089
  enumerable: true,
772
- get: function () { return chunkLTA2IAQB_cjs.useConnectedAiTask; }
1090
+ get: function () { return chunkWOYUXVVQ_cjs.useConnectedAiTask; }
773
1091
  });
774
1092
  Object.defineProperty(exports, "useConnectedChat", {
775
1093
  enumerable: true,
776
- get: function () { return chunkLTA2IAQB_cjs.useConnectedChat; }
1094
+ get: function () { return chunkWOYUXVVQ_cjs.useConnectedChat; }
777
1095
  });
778
1096
  Object.defineProperty(exports, "useSemanticSearch", {
779
1097
  enumerable: true,
780
- get: function () { return chunkLTA2IAQB_cjs.useSemanticSearch; }
1098
+ get: function () { return chunkWOYUXVVQ_cjs.useSemanticSearch; }
781
1099
  });
782
1100
  Object.defineProperty(exports, "useWorkspaceDocs", {
783
1101
  enumerable: true,
784
- get: function () { return chunkLTA2IAQB_cjs.useWorkspaceDocs; }
1102
+ get: function () { return chunkWOYUXVVQ_cjs.useWorkspaceDocs; }
785
1103
  });
786
1104
  Object.defineProperty(exports, "ConnectionProvider", {
787
1105
  enumerable: true,
788
- get: function () { return chunkTHO7DZNN_cjs.ConnectionProvider; }
1106
+ get: function () { return chunkMUMH3Z6K_cjs.ConnectionProvider; }
789
1107
  });
790
1108
  Object.defineProperty(exports, "SESSION_EXPIRED_MESSAGE", {
791
1109
  enumerable: true,
792
- get: function () { return chunkTHO7DZNN_cjs.SESSION_EXPIRED_MESSAGE; }
1110
+ get: function () { return chunkMUMH3Z6K_cjs.SESSION_EXPIRED_MESSAGE; }
793
1111
  });
794
1112
  Object.defineProperty(exports, "isAuthenticated", {
795
1113
  enumerable: true,
796
- get: function () { return chunkTHO7DZNN_cjs.isAuthenticated; }
1114
+ get: function () { return chunkMUMH3Z6K_cjs.isAuthenticated; }
797
1115
  });
798
1116
  Object.defineProperty(exports, "useConnection", {
799
1117
  enumerable: true,
800
- get: function () { return chunkTHO7DZNN_cjs.useConnection; }
1118
+ get: function () { return chunkMUMH3Z6K_cjs.useConnection; }
801
1119
  });
802
1120
  exports.ArbiAppProvider = ArbiAppProvider;
803
1121
  exports.ConnectedAgentChatPanel = ConnectedAgentChatPanel;
804
1122
  exports.ConnectedDangerZone = ConnectedDangerZone;
1123
+ exports.ConnectedIdentityVerification = ConnectedIdentityVerification;
805
1124
  exports.ConnectedLogoutDialog = ConnectedLogoutDialog;
806
1125
  exports.ConnectedNotificationPreferences = ConnectedNotificationPreferences;
807
1126
  exports.ConnectedProfileCard = ConnectedProfileCard;
1127
+ exports.ConnectedRequireVerified = ConnectedRequireVerified;
808
1128
  exports.ConnectedSecuritySection = ConnectedSecuritySection;
809
1129
  exports.ConnectedSessionsRow = ConnectedSessionsRow;
810
1130
  exports.ConnectedSkillUpload = ConnectedSkillUpload;
811
1131
  exports.ConnectedTaskAccessRequest = ConnectedTaskAccessRequest;
1132
+ exports.ConnectedWorkflowRunner = ConnectedWorkflowRunner;
1133
+ exports.DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS = DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS;
812
1134
  exports.StreamedArtifact = StreamedArtifact;
813
1135
  exports.defaultUnmetPasswordRequirement = defaultUnmetPasswordRequirement;
814
1136
  exports.useConnectedDocxNotifications = useConnectedDocxNotifications;