@arbidocs/blocks 0.4.94 → 0.4.95

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 (70) hide show
  1. package/dist/agents/index.cjs +285 -285
  2. package/dist/agents/index.js +9 -9
  3. package/dist/chat/index.cjs +127 -127
  4. package/dist/chat/index.js +4 -4
  5. package/dist/{chunk-HOXKR26S.js → chunk-24CS7JWU.js} +3 -3
  6. package/dist/{chunk-HOXKR26S.js.map → chunk-24CS7JWU.js.map} +1 -1
  7. package/dist/{chunk-RPCQBET5.cjs → chunk-5YXG342J.cjs} +3 -3
  8. package/dist/{chunk-RPCQBET5.cjs.map → chunk-5YXG342J.cjs.map} +1 -1
  9. package/dist/{chunk-NYBIKDWI.cjs → chunk-CKYA2IG5.cjs} +11 -5
  10. package/dist/chunk-CKYA2IG5.cjs.map +1 -0
  11. package/dist/{chunk-3US5OIDQ.cjs → chunk-DCZGYCN2.cjs} +5 -5
  12. package/dist/{chunk-3US5OIDQ.cjs.map → chunk-DCZGYCN2.cjs.map} +1 -1
  13. package/dist/{chunk-EWSEQEPL.js → chunk-EJAYB7PP.js} +4 -4
  14. package/dist/{chunk-EWSEQEPL.js.map → chunk-EJAYB7PP.js.map} +1 -1
  15. package/dist/{chunk-Z3G65XHZ.js → chunk-EOEDGJ75.js} +3 -3
  16. package/dist/{chunk-Z3G65XHZ.js.map → chunk-EOEDGJ75.js.map} +1 -1
  17. package/dist/{chunk-XMBYDLZQ.cjs → chunk-GNHOB2ZB.cjs} +4 -4
  18. package/dist/{chunk-XMBYDLZQ.cjs.map → chunk-GNHOB2ZB.cjs.map} +1 -1
  19. package/dist/{chunk-PGDL26TQ.js → chunk-HUFLBZWI.js} +4 -4
  20. package/dist/{chunk-PGDL26TQ.js.map → chunk-HUFLBZWI.js.map} +1 -1
  21. package/dist/{chunk-B4SRYJLM.cjs → chunk-KBPHLW2R.cjs} +3 -3
  22. package/dist/{chunk-B4SRYJLM.cjs.map → chunk-KBPHLW2R.cjs.map} +1 -1
  23. package/dist/{chunk-IF6VAYIA.cjs → chunk-OYMYNYFV.cjs} +5 -5
  24. package/dist/{chunk-IF6VAYIA.cjs.map → chunk-OYMYNYFV.cjs.map} +1 -1
  25. package/dist/{chunk-ICBAFX5B.js → chunk-PDEHIGJ5.js} +3 -3
  26. package/dist/{chunk-ICBAFX5B.js.map → chunk-PDEHIGJ5.js.map} +1 -1
  27. package/dist/{chunk-ZNGDEQBN.js → chunk-QQH2NI5U.js} +9 -9
  28. package/dist/{chunk-ZNGDEQBN.js.map → chunk-QQH2NI5U.js.map} +1 -1
  29. package/dist/{chunk-LENXDIMY.cjs → chunk-TOVSTC2M.cjs} +5 -5
  30. package/dist/{chunk-LENXDIMY.cjs.map → chunk-TOVSTC2M.cjs.map} +1 -1
  31. package/dist/{chunk-R3PDNQYT.js → chunk-UMY6Y6BM.js} +11 -5
  32. package/dist/chunk-UMY6Y6BM.js.map +1 -0
  33. package/dist/{chunk-KKU7MUWE.cjs → chunk-VQ65UHTV.cjs} +48 -48
  34. package/dist/{chunk-KKU7MUWE.cjs.map → chunk-VQ65UHTV.cjs.map} +1 -1
  35. package/dist/{chunk-MP6FK43E.cjs → chunk-VYKMBLDX.cjs} +8 -8
  36. package/dist/{chunk-MP6FK43E.cjs.map → chunk-VYKMBLDX.cjs.map} +1 -1
  37. package/dist/{chunk-Z7OMEYDG.js → chunk-W7NZRZ54.js} +3 -3
  38. package/dist/{chunk-Z7OMEYDG.js.map → chunk-W7NZRZ54.js.map} +1 -1
  39. package/dist/{chunk-XQDM6T6C.js → chunk-YG7DGGCA.js} +3 -3
  40. package/dist/{chunk-XQDM6T6C.js.map → chunk-YG7DGGCA.js.map} +1 -1
  41. package/dist/connect/index.cjs +71 -71
  42. package/dist/connect/index.js +19 -19
  43. package/dist/facts/index.cjs +7 -7
  44. package/dist/facts/index.js +4 -4
  45. package/dist/files/index.cjs +2 -2
  46. package/dist/files/index.js +2 -2
  47. package/dist/home/CreateTile.d.ts +3 -1
  48. package/dist/home/index.cjs +11 -5
  49. package/dist/home/index.cjs.map +1 -1
  50. package/dist/home/index.js +11 -5
  51. package/dist/home/index.js.map +1 -1
  52. package/dist/index.cjs +1240 -1240
  53. package/dist/index.js +20 -20
  54. package/dist/settings/PanelFrame.d.ts +3 -1
  55. package/dist/settings/index.cjs +47 -39
  56. package/dist/settings/index.cjs.map +1 -1
  57. package/dist/settings/index.js +14 -6
  58. package/dist/settings/index.js.map +1 -1
  59. package/dist/shell/Workspace.d.ts +6 -1
  60. package/dist/shell/index.cjs +68 -68
  61. package/dist/shell/index.js +4 -4
  62. package/dist/studio/index.cjs +8 -8
  63. package/dist/studio/index.js +7 -7
  64. package/dist/workflow-canvas/index.cjs +53 -53
  65. package/dist/workflow-canvas/index.js +10 -10
  66. package/dist/workspaces/index.cjs +1 -1
  67. package/dist/workspaces/index.js +1 -1
  68. package/package.json +4 -4
  69. package/dist/chunk-NYBIKDWI.cjs.map +0 -1
  70. package/dist/chunk-R3PDNQYT.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
+ import { AssistantDock } from './chunk-EJAYB7PP.js';
2
3
  import { useConnection } from './chunk-OYMWV45N.js';
3
- import { AssistantDock } from './chunk-EWSEQEPL.js';
4
4
  import { useCallback } from 'react';
5
5
  import { useAiTask, useWorkspaceDocs as useWorkspaceDocs$1, useSemanticSearch as useSemanticSearch$1, useWorkspaceUsers, useArbiChat } from '@arbidocs/react';
6
6
  export { redlineStats, textToArtifact, toRedlineMarkdown } from '@arbidocs/react';
@@ -64,5 +64,5 @@ function ConnectedAssistantDock(props) {
64
64
  }
65
65
 
66
66
  export { ConnectedAssistantDock, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs };
67
- //# sourceMappingURL=chunk-XQDM6T6C.js.map
68
- //# sourceMappingURL=chunk-XQDM6T6C.js.map
67
+ //# sourceMappingURL=chunk-YG7DGGCA.js.map
68
+ //# sourceMappingURL=chunk-YG7DGGCA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-XQDM6T6C.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n ...options,\n workspaceId: workspaceId ?? fallbackWorkspaceId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-YG7DGGCA.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n ...options,\n workspaceId: workspaceId ?? fallbackWorkspaceId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
@@ -1,35 +1,35 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkRPCQBET5_cjs = require('../chunk-RPCQBET5.cjs');
5
- var chunkXMBYDLZQ_cjs = require('../chunk-XMBYDLZQ.cjs');
6
- var chunkRZGVMV6B_cjs = require('../chunk-RZGVMV6B.cjs');
7
- var chunkMUMH3Z6K_cjs = require('../chunk-MUMH3Z6K.cjs');
4
+ var chunkGNHOB2ZB_cjs = require('../chunk-GNHOB2ZB.cjs');
5
+ var chunk5YXG342J_cjs = require('../chunk-5YXG342J.cjs');
8
6
  var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
9
- require('../chunk-E2AAIMXO.cjs');
10
7
  var chunkO4YPVYPO_cjs = require('../chunk-O4YPVYPO.cjs');
11
- var chunkLENXDIMY_cjs = require('../chunk-LENXDIMY.cjs');
12
- var chunkAOFATOT3_cjs = require('../chunk-AOFATOT3.cjs');
13
- require('../chunk-RC25WMVB.cjs');
14
- var chunk3US5OIDQ_cjs = require('../chunk-3US5OIDQ.cjs');
8
+ var chunkTOVSTC2M_cjs = require('../chunk-TOVSTC2M.cjs');
9
+ var chunkVYKMBLDX_cjs = require('../chunk-VYKMBLDX.cjs');
10
+ require('../chunk-VGOFFCMT.cjs');
11
+ var chunkDCZGYCN2_cjs = require('../chunk-DCZGYCN2.cjs');
15
12
  var chunkN26CXGXC_cjs = require('../chunk-N26CXGXC.cjs');
13
+ require('../chunk-KBPHLW2R.cjs');
16
14
  var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
15
+ require('../chunk-7D737FLE.cjs');
17
16
  require('../chunk-DETZZBG2.cjs');
18
17
  require('../chunk-32HW2Q33.cjs');
19
18
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
20
- require('../chunk-7D737FLE.cjs');
21
- var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
19
+ require('../chunk-PPCATBOY.cjs');
22
20
  require('../chunk-ADOKTJHV.cjs');
21
+ var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
22
+ var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
23
23
  var chunk3R6XBYL7_cjs = require('../chunk-3R6XBYL7.cjs');
24
24
  var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
25
25
  require('../chunk-IXALYQT7.cjs');
26
- var chunkMP6FK43E_cjs = require('../chunk-MP6FK43E.cjs');
27
- require('../chunk-VGOFFCMT.cjs');
28
- require('../chunk-B4SRYJLM.cjs');
29
- require('../chunk-7UTB4PHM.cjs');
30
- require('../chunk-PPCATBOY.cjs');
31
- var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
32
26
  require('../chunk-FX3K6LNZ.cjs');
27
+ var chunkRZGVMV6B_cjs = require('../chunk-RZGVMV6B.cjs');
28
+ var chunkMUMH3Z6K_cjs = require('../chunk-MUMH3Z6K.cjs');
29
+ require('../chunk-E2AAIMXO.cjs');
30
+ var chunkAOFATOT3_cjs = require('../chunk-AOFATOT3.cjs');
31
+ require('../chunk-RC25WMVB.cjs');
32
+ require('../chunk-7UTB4PHM.cjs');
33
33
  require('../chunk-MHVNT4J3.cjs');
34
34
  require('../chunk-DES3K4SD.cjs');
35
35
  var react = require('react');
@@ -119,7 +119,7 @@ function ConnectedWorkspaceActivity({
119
119
  [feed.data]
120
120
  );
121
121
  return /* @__PURE__ */ jsxRuntime.jsx(
122
- chunkLENXDIMY_cjs.WorkspaceActivityList,
122
+ chunkTOVSTC2M_cjs.WorkspaceActivityList,
123
123
  {
124
124
  ...listProps,
125
125
  items,
@@ -145,7 +145,7 @@ function ConnectedWorkspaceNotificationMenu({
145
145
  });
146
146
  if (!workspaceId) return null;
147
147
  return /* @__PURE__ */ jsxRuntime.jsx(
148
- chunkLENXDIMY_cjs.WorkspaceNotificationMenu,
148
+ chunkTOVSTC2M_cjs.WorkspaceNotificationMenu,
149
149
  {
150
150
  ...menuProps,
151
151
  level,
@@ -164,7 +164,7 @@ function ConnectedThreadFollow({
164
164
  enabled: status === "authenticated"
165
165
  });
166
166
  if (!conversationId) return null;
167
- const Control = as === "menu-item" ? chunkLENXDIMY_cjs.ThreadFollowMenuItem : chunkLENXDIMY_cjs.ThreadFollowButton;
167
+ const Control = as === "menu-item" ? chunkTOVSTC2M_cjs.ThreadFollowMenuItem : chunkTOVSTC2M_cjs.ThreadFollowButton;
168
168
  return /* @__PURE__ */ jsxRuntime.jsx(
169
169
  Control,
170
170
  {
@@ -290,7 +290,7 @@ function StreamedArtifact({
290
290
  }
291
291
  var STARTING = /* @__PURE__ */ new Set(["pending", "running"]);
292
292
  function formValues(step, inputs) {
293
- const fields = chunk3US5OIDQ_cjs.stepFields(step);
293
+ const fields = chunkDCZGYCN2_cjs.stepFields(step);
294
294
  if (!fields.length) return void 0;
295
295
  if (step.kind === "form")
296
296
  return Object.fromEntries(fields.map((f) => [f.name, inputs[f.name] ?? ""]));
@@ -325,10 +325,10 @@ function useAnswerRetry(missing, refetch) {
325
325
  function useWorkflowThread(workflow, options = {}) {
326
326
  const arbi = react$1.useArbi();
327
327
  const { ensureWorkspaceOpen, status } = chunkMUMH3Z6K_cjs.useConnection();
328
- const { wsId } = chunkXMBYDLZQ_cjs.useWorkspaceDocs();
328
+ const { wsId } = chunkGNHOB2ZB_cjs.useWorkspaceDocs();
329
329
  const [threadId, setThreadId] = react.useState(options.conversationId);
330
330
  const [localInputs, setLocalInputs] = react.useState(
331
- () => chunk3US5OIDQ_cjs.initialRunInputs(workflow, options.initialInputs)
331
+ () => chunkDCZGYCN2_cjs.initialRunInputs(workflow, options.initialInputs)
332
332
  );
333
333
  const [edits, setEdits] = react.useState({});
334
334
  const [localStates, setLocalStates] = react.useState({});
@@ -348,12 +348,12 @@ function useWorkflowThread(workflow, options = {}) {
348
348
  );
349
349
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
350
350
  const steps = react.useMemo(
351
- () => chunk3US5OIDQ_cjs.workflowSteps(workflow).length > 0 ? chunk3US5OIDQ_cjs.workflowSteps(workflow) : chunk3US5OIDQ_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
351
+ () => chunkDCZGYCN2_cjs.workflowSteps(workflow).length > 0 ? chunkDCZGYCN2_cjs.workflowSteps(workflow) : chunkDCZGYCN2_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
352
352
  [workflow, conversation?.plan?.steps]
353
353
  );
354
354
  const activity = react$1.useConversationActivity(threadId, { live: !!threadId });
355
355
  const serverStates = react.useMemo(
356
- () => chunk3US5OIDQ_cjs.stepStatesFromActivity(activity.data ?? []),
356
+ () => chunkDCZGYCN2_cjs.stepStatesFromActivity(activity.data ?? []),
357
357
  [activity.data]
358
358
  );
359
359
  const working = steps.some(
@@ -396,7 +396,7 @@ function useWorkflowThread(workflow, options = {}) {
396
396
  async (values, done) => {
397
397
  await ensureWorkspaceOpen();
398
398
  const created = await createWork.mutateAsync({
399
- title: chunk3US5OIDQ_cjs.runThreadTitle(workflow, values).slice(0, 60),
399
+ title: chunkDCZGYCN2_cjs.runThreadTitle(workflow, values).slice(0, 60),
400
400
  description: workflow.description || null,
401
401
  prompt: null,
402
402
  skill_ref: null,
@@ -408,7 +408,7 @@ function useWorkflowThread(workflow, options = {}) {
408
408
  criteria: [],
409
409
  max_passes: 3,
410
410
  documents: [],
411
- steps: chunk3US5OIDQ_cjs.toPlanSteps(workflow, {
411
+ steps: chunkDCZGYCN2_cjs.toPlanSteps(workflow, {
412
412
  inputs: values,
413
413
  resolveWorkflow: options.resolveWorkflow,
414
414
  compose: options.compose
@@ -495,7 +495,7 @@ function useWorkflowThread(workflow, options = {}) {
495
495
  const anyRunning = Object.values(states).some((s) => s.status === "running");
496
496
  const needsStart = !threadId || idle && !anyRunning;
497
497
  const runError = idle ? conversation?.last_error ?? null : null;
498
- const view = chunk3US5OIDQ_cjs.useWorkflowView({
498
+ const view = chunkDCZGYCN2_cjs.useWorkflowView({
499
499
  steps,
500
500
  states,
501
501
  inputs,
@@ -538,7 +538,7 @@ function WorkflowRunThread({
538
538
  if (listed && activeThreadId !== conversationId) selectThread(conversationId);
539
539
  }, [listed, activeThreadId, conversationId, selectThread]);
540
540
  return /* @__PURE__ */ jsxRuntime.jsx(
541
- chunkMP6FK43E_cjs.ChatPage,
541
+ chunkVYKMBLDX_cjs.ChatPage,
542
542
  {
543
543
  chat: { ...chat, threads: chat.threads.filter((t) => t.id === conversationId) },
544
544
  singleThread: true,
@@ -576,7 +576,7 @@ function WorkflowSignDialog({
576
576
  const arbi = react$1.useArbi();
577
577
  const { user, ensureWorkspaceOpen } = chunkMUMH3Z6K_cjs.useConnection();
578
578
  const tools = documentTools.useOptionalDocumentTools();
579
- const { id, version: stepVersion } = chunk3US5OIDQ_cjs.splitDocRef(docRef);
579
+ const { id, version: stepVersion } = chunkDCZGYCN2_cjs.splitDocRef(docRef);
580
580
  const [version, setVersion] = react.useState(stepVersion);
581
581
  const [pdf, setPdf] = react.useState(null);
582
582
  const [preparing, setPreparing] = react.useState(false);
@@ -654,7 +654,7 @@ function WorkflowWordDialog({
654
654
  onClose,
655
655
  labels
656
656
  }) {
657
- const { id } = chunk3US5OIDQ_cjs.splitDocRef(docRef);
657
+ const { id } = chunkDCZGYCN2_cjs.splitDocRef(docRef);
658
658
  return /* @__PURE__ */ jsxRuntime.jsx(
659
659
  chunkULWRNGGE_cjs.ModalScaffold,
660
660
  {
@@ -803,7 +803,7 @@ function ConnectedWorkflowRunner({
803
803
  const dl = { ...DEFAULT_WORKFLOW_RUNNER_DIALOG_LABELS, ...dialogLabels };
804
804
  const arbi = react$1.useArbi();
805
805
  const { ensureWorkspaceOpen, user } = chunkMUMH3Z6K_cjs.useConnection();
806
- const { wsId } = chunkXMBYDLZQ_cjs.useWorkspaceDocs();
806
+ const { wsId } = chunkGNHOB2ZB_cjs.useWorkspaceDocs();
807
807
  const { data: docs = [], refetch } = react$1.useDocuments(wsId);
808
808
  const [sending, setSending] = react.useState([]);
809
809
  const [added, setAdded] = react.useState({});
@@ -826,7 +826,7 @@ function ConnectedWorkflowRunner({
826
826
  () => ({
827
827
  me: user?.externalId,
828
828
  openDocument: onOpenDocument && ((ref) => {
829
- const { id, version } = chunk3US5OIDQ_cjs.splitDocRef(ref);
829
+ const { id, version } = chunkDCZGYCN2_cjs.splitDocRef(ref);
830
830
  onOpenDocument(id, version);
831
831
  }),
832
832
  openDraft: onOpenDraft && ((draftId) => onOpenDraft(draftId)),
@@ -836,7 +836,7 @@ function ConnectedWorkflowRunner({
836
836
  const w = state.waiting;
837
837
  if (w?.doc_ext_id) setDialog({ kind: "sign", docRef: w.doc_ext_id });
838
838
  }),
839
- openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunk3US5OIDQ_cjs.splitDocRef(ref).id) ?? "" })),
839
+ openRedline: hostActions?.openRedline ?? ((ref) => setDialog({ kind: "word", docRef: ref, title: nameOfDoc(chunkDCZGYCN2_cjs.splitDocRef(ref).id) ?? "" })),
840
840
  openReview: hostActions?.openReview ?? ((tags, documents) => setDialog({ kind: "review", tags, documents }))
841
841
  }),
842
842
  [user?.externalId, onOpenDocument, onOpenDraft, onOpenMessage, hostActions, nameOfDoc, inThread]
@@ -972,7 +972,7 @@ function ConnectedWorkflowRunner({
972
972
  );
973
973
  };
974
974
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
975
- chunk3US5OIDQ_cjs.WorkflowRunner,
975
+ chunkDCZGYCN2_cjs.WorkflowRunner,
976
976
  {
977
977
  people,
978
978
  ...runnerProps,
@@ -1018,10 +1018,10 @@ function ConnectedWorkflowRunner({
1018
1018
  ) }),
1019
1019
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1020
1020
  /* @__PURE__ */ jsxRuntime.jsx(
1021
- chunk3US5OIDQ_cjs.WorkflowStepBar,
1021
+ chunkDCZGYCN2_cjs.WorkflowStepBar,
1022
1022
  {
1023
1023
  run: view,
1024
- levels: chunk3US5OIDQ_cjs.stepLevels(view.steps),
1024
+ levels: chunkDCZGYCN2_cjs.stepLevels(view.steps),
1025
1025
  doneTitle: (workflow.run.kind === "steps" ? workflow.run.completion?.title : void 0) ?? runnerProps.labels?.complete ?? "Done",
1026
1026
  icon: (key) => key && runnerProps.renderIcon ? runnerProps.renderIcon(key) : void 0,
1027
1027
  tid: (suffix) => `${testIdPrefix}-${suffix}`
@@ -1202,7 +1202,7 @@ function ConnectedTagTable({
1202
1202
  const fail = (e) => setError(e instanceof Error ? e.message : String(e));
1203
1203
  const snapshot = (data) => {
1204
1204
  const title = exportTitle ?? KIND_TITLES[kind];
1205
- const bytes = chunkLENXDIMY_cjs.tagTableDocx(data, {
1205
+ const bytes = chunkTOVSTC2M_cjs.tagTableDocx(data, {
1206
1206
  title,
1207
1207
  nameOf: (id) => people.find((p) => p.value === id)?.label
1208
1208
  });
@@ -1212,7 +1212,7 @@ function ConnectedTagTable({
1212
1212
  };
1213
1213
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
1214
1214
  /* @__PURE__ */ jsxRuntime.jsx(
1215
- chunkLENXDIMY_cjs.TagTable,
1215
+ chunkTOVSTC2M_cjs.TagTable,
1216
1216
  {
1217
1217
  ...props,
1218
1218
  table,
@@ -1350,12 +1350,12 @@ function ConnectedProfileCard({ notify: notify3, title = "Profile" }) {
1350
1350
  }
1351
1351
  });
1352
1352
  const display = profile?.fullName || user?.name || "Unnamed";
1353
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRPCQBET5_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
1354
- chunkRPCQBET5_cjs.ProfileCard,
1353
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk5YXG342J_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserCircle, {}), title, children: /* @__PURE__ */ jsxRuntime.jsx(
1354
+ chunk5YXG342J_cjs.ProfileCard,
1355
1355
  {
1356
1356
  avatar: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1357
1357
  /* @__PURE__ */ jsxRuntime.jsx(
1358
- chunkRPCQBET5_cjs.AvatarPicker,
1358
+ chunk5YXG342J_cjs.AvatarPicker,
1359
1359
  {
1360
1360
  pictureUrl: profile?.picture ?? user?.picture,
1361
1361
  initials: chunkKDG6FER6_cjs.initials(display),
@@ -1397,9 +1397,9 @@ function ConnectedIdentityVerification({
1397
1397
  onNameAccepted: () => notify3?.("Name updated to match your ID", "success")
1398
1398
  });
1399
1399
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1400
- /* @__PURE__ */ jsxRuntime.jsx(chunkRPCQBET5_cjs.IdentityVerificationCard, { flow, labels }),
1400
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5YXG342J_cjs.IdentityVerificationCard, { flow, labels }),
1401
1401
  /* @__PURE__ */ jsxRuntime.jsx(
1402
- chunkRPCQBET5_cjs.IdentityVerificationDialog,
1402
+ chunk5YXG342J_cjs.IdentityVerificationDialog,
1403
1403
  {
1404
1404
  flow,
1405
1405
  accountName: profile?.fullName ?? "",
@@ -1411,7 +1411,7 @@ function ConnectedIdentityVerification({
1411
1411
  function ConnectedRequireVerified({ children, labels }) {
1412
1412
  const { data: profile } = react$1.useProfile();
1413
1413
  const flow = react$1.useIdentityVerification();
1414
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRPCQBET5_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1414
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk5YXG342J_cjs.RequireVerified, { flow, accountName: profile?.fullName ?? "", labels, children });
1415
1415
  }
1416
1416
  function defaultUnmetPasswordRequirement(password) {
1417
1417
  if (password.length < 8) return "Minimum 8 characters";
@@ -1436,10 +1436,10 @@ function ConnectedSecuritySection({
1436
1436
  },
1437
1437
  onClose: () => setOpen(false)
1438
1438
  });
1439
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkRPCQBET5_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1440
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRPCQBET5_cjs.SettingsCard, { padding: "sm", children: [
1439
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk5YXG342J_cjs.SettingsSection, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.KeyRound, {}), title: "Security", children: [
1440
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk5YXG342J_cjs.SettingsCard, { padding: "sm", children: [
1441
1441
  /* @__PURE__ */ jsxRuntime.jsx(
1442
- chunkRPCQBET5_cjs.SettingsActionRow,
1442
+ chunk5YXG342J_cjs.SettingsActionRow,
1443
1443
  {
1444
1444
  title: "Change password",
1445
1445
  description: "Used to sign in and to unlock your account key. Changing it keeps everything readable and re-encrypts nothing.",
@@ -1450,7 +1450,7 @@ function ConnectedSecuritySection({
1450
1450
  children
1451
1451
  ] }),
1452
1452
  /* @__PURE__ */ jsxRuntime.jsx(
1453
- chunkRPCQBET5_cjs.PasswordChangeDialog,
1453
+ chunk5YXG342J_cjs.PasswordChangeDialog,
1454
1454
  {
1455
1455
  open,
1456
1456
  onClose: form.onCancel,
@@ -1473,23 +1473,23 @@ function ConnectedSecuritySection({
1473
1473
  ] });
1474
1474
  }
1475
1475
  function ConnectedNotificationPreferences({
1476
- categories = chunkRPCQBET5_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1476
+ categories = chunk5YXG342J_cjs.EMAIL_NOTIFICATION_CATEGORIES,
1477
1477
  title = "Notifications"
1478
1478
  }) {
1479
1479
  const keys = react.useMemo(
1480
- () => categories === chunkRPCQBET5_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunkRPCQBET5_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1480
+ () => categories === chunk5YXG342J_cjs.EMAIL_NOTIFICATION_CATEGORIES ? chunk5YXG342J_cjs.EMAIL_NOTIFICATION_KEYS : categories.map((c) => c.key),
1481
1481
  [categories]
1482
1482
  );
1483
1483
  const prefs = react$1.useNotificationPreferences(keys);
1484
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRPCQBET5_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunkRPCQBET5_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1485
- chunkRPCQBET5_cjs.NotificationCategoryList,
1484
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk5YXG342J_cjs.SettingsSection, { title, children: /* @__PURE__ */ jsxRuntime.jsx(chunk5YXG342J_cjs.SettingsCard, { className: "space-y-0", children: /* @__PURE__ */ jsxRuntime.jsx(
1485
+ chunk5YXG342J_cjs.NotificationCategoryList,
1486
1486
  {
1487
1487
  masterId: "emailNotifications",
1488
1488
  masterTitle: "Email Notifications",
1489
1489
  masterDescription: "Email me about activity when I\u2019m away",
1490
1490
  masterChecked: prefs.masterChecked,
1491
1491
  onMasterChange: prefs.setAll,
1492
- categories: chunkRPCQBET5_cjs.toNotificationCategories(prefs.checked, categories),
1492
+ categories: chunk5YXG342J_cjs.toNotificationCategories(prefs.checked, categories),
1493
1493
  onCategoryChange: prefs.setCategory
1494
1494
  }
1495
1495
  ) }) });
@@ -1503,14 +1503,14 @@ function ConnectedSessionsRow({
1503
1503
  const sessions = react$1.useSessions({ enabled: open });
1504
1504
  const currentSessionId = react$1.useCurrentSessionId();
1505
1505
  const terminate = react$1.useTerminateSession();
1506
- const views = chunkRPCQBET5_cjs.toActiveSessionViews(sessions.data ?? [], {
1506
+ const views = chunk5YXG342J_cjs.toActiveSessionViews(sessions.data ?? [], {
1507
1507
  currentSessionId,
1508
1508
  terminatingId: terminate.isPending ? terminate.variables : null,
1509
1509
  renderIcon: renderSessionIcon
1510
1510
  });
1511
1511
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1512
1512
  /* @__PURE__ */ jsxRuntime.jsx(
1513
- chunkRPCQBET5_cjs.SettingsRow,
1513
+ chunk5YXG342J_cjs.SettingsRow,
1514
1514
  {
1515
1515
  label: "Active sessions",
1516
1516
  description: "Devices and agents currently signed in to your account.",
@@ -1532,7 +1532,7 @@ function ConnectedSessionsRow({
1532
1532
  }
1533
1533
  ),
1534
1534
  /* @__PURE__ */ jsxRuntime.jsx(
1535
- chunkRPCQBET5_cjs.ActiveSessionsDialog,
1535
+ chunk5YXG342J_cjs.ActiveSessionsDialog,
1536
1536
  {
1537
1537
  open,
1538
1538
  onOpenChange: setOpen,
@@ -1567,7 +1567,7 @@ function ConnectedLogoutDialog({
1567
1567
  const sessions = react$1.useSessions({ enabled: open });
1568
1568
  const logoutAll = react$1.useLogoutAllSessions();
1569
1569
  return /* @__PURE__ */ jsxRuntime.jsx(
1570
- chunkRPCQBET5_cjs.LogoutDialog,
1570
+ chunk5YXG342J_cjs.LogoutDialog,
1571
1571
  {
1572
1572
  open,
1573
1573
  onClose,
@@ -1581,7 +1581,7 @@ function ConnectedLogoutDialog({
1581
1581
  },
1582
1582
  canLogoutAll: true,
1583
1583
  isOnline,
1584
- sessions: chunkRPCQBET5_cjs.toLogoutSessionViews(sessions.data ?? []),
1584
+ sessions: chunk5YXG342J_cjs.toLogoutSessionViews(sessions.data ?? []),
1585
1585
  renderSessionIcon
1586
1586
  }
1587
1587
  );
@@ -1600,7 +1600,7 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1600
1600
  });
1601
1601
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1602
1602
  /* @__PURE__ */ jsxRuntime.jsx(
1603
- chunkRPCQBET5_cjs.SettingsDangerZone,
1603
+ chunk5YXG342J_cjs.SettingsDangerZone,
1604
1604
  {
1605
1605
  isOpen: zoneOpen,
1606
1606
  onToggle: () => setZoneOpen((o) => !o),
@@ -1620,12 +1620,12 @@ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1620
1620
  }
1621
1621
  ),
1622
1622
  /* @__PURE__ */ jsxRuntime.jsx(
1623
- chunkRPCQBET5_cjs.DeleteAccountDialog,
1623
+ chunk5YXG342J_cjs.DeleteAccountDialog,
1624
1624
  {
1625
1625
  open: dialogOpen,
1626
1626
  onClose: flow.onClose,
1627
1627
  step: flow.step,
1628
- blockers: chunkRPCQBET5_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1628
+ blockers: chunk5YXG342J_cjs.toDeleteBlockerViews(flow.blockers, renderSubscriptionLink),
1629
1629
  onContinue: flow.onContinue,
1630
1630
  onBack: flow.onBack,
1631
1631
  userEmail: user?.email ?? "",
@@ -3322,7 +3322,7 @@ function ConnectedMailbox({
3322
3322
  function ActiveChat({ agentId, workspaceId }) {
3323
3323
  const chat = react$1.useArbiChat({ agentId, workspaceId });
3324
3324
  return /* @__PURE__ */ jsxRuntime.jsx(
3325
- chunkMP6FK43E_cjs.ChatPage,
3325
+ chunkVYKMBLDX_cjs.ChatPage,
3326
3326
  {
3327
3327
  chat: { ...chat, assistantMode: void 0, setAssistantMode: void 0 },
3328
3328
  documentsRequired: false,
@@ -3384,35 +3384,35 @@ function ConnectedAgentChatPanel({
3384
3384
 
3385
3385
  Object.defineProperty(exports, "ConnectedAssistantDock", {
3386
3386
  enumerable: true,
3387
- get: function () { return chunkXMBYDLZQ_cjs.ConnectedAssistantDock; }
3387
+ get: function () { return chunkGNHOB2ZB_cjs.ConnectedAssistantDock; }
3388
3388
  });
3389
3389
  Object.defineProperty(exports, "redlineStats", {
3390
3390
  enumerable: true,
3391
- get: function () { return chunkXMBYDLZQ_cjs.redlineStats; }
3391
+ get: function () { return chunkGNHOB2ZB_cjs.redlineStats; }
3392
3392
  });
3393
3393
  Object.defineProperty(exports, "textToArtifact", {
3394
3394
  enumerable: true,
3395
- get: function () { return chunkXMBYDLZQ_cjs.textToArtifact; }
3395
+ get: function () { return chunkGNHOB2ZB_cjs.textToArtifact; }
3396
3396
  });
3397
3397
  Object.defineProperty(exports, "toRedlineMarkdown", {
3398
3398
  enumerable: true,
3399
- get: function () { return chunkXMBYDLZQ_cjs.toRedlineMarkdown; }
3399
+ get: function () { return chunkGNHOB2ZB_cjs.toRedlineMarkdown; }
3400
3400
  });
3401
3401
  Object.defineProperty(exports, "useConnectedAiTask", {
3402
3402
  enumerable: true,
3403
- get: function () { return chunkXMBYDLZQ_cjs.useConnectedAiTask; }
3403
+ get: function () { return chunkGNHOB2ZB_cjs.useConnectedAiTask; }
3404
3404
  });
3405
3405
  Object.defineProperty(exports, "useConnectedChat", {
3406
3406
  enumerable: true,
3407
- get: function () { return chunkXMBYDLZQ_cjs.useConnectedChat; }
3407
+ get: function () { return chunkGNHOB2ZB_cjs.useConnectedChat; }
3408
3408
  });
3409
3409
  Object.defineProperty(exports, "useSemanticSearch", {
3410
3410
  enumerable: true,
3411
- get: function () { return chunkXMBYDLZQ_cjs.useSemanticSearch; }
3411
+ get: function () { return chunkGNHOB2ZB_cjs.useSemanticSearch; }
3412
3412
  });
3413
3413
  Object.defineProperty(exports, "useWorkspaceDocs", {
3414
3414
  enumerable: true,
3415
- get: function () { return chunkXMBYDLZQ_cjs.useWorkspaceDocs; }
3415
+ get: function () { return chunkGNHOB2ZB_cjs.useWorkspaceDocs; }
3416
3416
  });
3417
3417
  Object.defineProperty(exports, "ConnectionProvider", {
3418
3418
  enumerable: true,
@@ -1,35 +1,35 @@
1
1
  "use client";
2
- import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, SettingsCard, SettingsActionRow, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-Z7OMEYDG.js';
3
- import { useWorkspaceDocs } from '../chunk-XQDM6T6C.js';
4
- export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-XQDM6T6C.js';
5
- import { ConnectedNativeDocxEditor } from '../chunk-ZNDAXSDP.js';
6
- import { ConnectionProvider, useConnection } from '../chunk-OYMWV45N.js';
7
- export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnection } from '../chunk-OYMWV45N.js';
2
+ import { useWorkspaceDocs } from '../chunk-YG7DGGCA.js';
3
+ export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-YG7DGGCA.js';
4
+ import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, SettingsCard, SettingsActionRow, PasswordChangeDialog, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-W7NZRZ54.js';
8
5
  import { SignDocumentDialog } from '../chunk-2YOVK524.js';
9
- import '../chunk-WXLKMEMB.js';
10
6
  import { FilesFilterBar, FolderFilterButton, FolderPickerRow } from '../chunk-7RJTEWYM.js';
11
- import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, tagTableDocx } from '../chunk-Z3G65XHZ.js';
12
- import { DOCX_MIME_TYPE } from '../chunk-D3QPYKZG.js';
13
- import '../chunk-AF6RDAJF.js';
14
- import { splitDocRef, WorkflowStepBar, stepLevels, WorkflowRunner, initialRunInputs, workflowSteps, fromPlanSteps, stepStatesFromActivity, toPlanSteps, runThreadTitle, useWorkflowView, stepFields } from '../chunk-PGDL26TQ.js';
7
+ import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, tagTableDocx } from '../chunk-EOEDGJ75.js';
8
+ import { ChatPage } from '../chunk-EJAYB7PP.js';
9
+ import '../chunk-KZJAG7T3.js';
10
+ import { splitDocRef, WorkflowStepBar, stepLevels, WorkflowRunner, initialRunInputs, workflowSteps, fromPlanSteps, stepStatesFromActivity, toPlanSteps, runThreadTitle, useWorkflowView, stepFields } from '../chunk-HUFLBZWI.js';
15
11
  import { TriStateFilterMenu } from '../chunk-6S5FLMWG.js';
12
+ import '../chunk-24CS7JWU.js';
16
13
  import { TabHeader } from '../chunk-4WWM3GQ5.js';
14
+ import '../chunk-XD2M6LIG.js';
17
15
  import '../chunk-EVUEIBNU.js';
18
16
  import '../chunk-AUS3KBHJ.js';
19
17
  import { FilterInput } from '../chunk-YU2KUMGE.js';
20
- import '../chunk-XD2M6LIG.js';
21
- import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
18
+ import '../chunk-NPLYHR2E.js';
22
19
  import '../chunk-VILAPTCB.js';
20
+ import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
21
+ import { initials } from '../chunk-OXF2IFXG.js';
23
22
  import { PlainMailBodyEditor, draftMailCompose, emptyMailCompose, MailGrid, MailMessageView, replyMailCompose, MailDocumentPicker, parseMailRecipients } from '../chunk-LGX6UFYG.js';
24
23
  import { ModalScaffold } from '../chunk-TX2ZICS7.js';
25
24
  import '../chunk-ZPLG7QYF.js';
26
- import { ChatPage } from '../chunk-EWSEQEPL.js';
27
- import '../chunk-KZJAG7T3.js';
28
- import '../chunk-HOXKR26S.js';
29
- import '../chunk-AA3PT6KR.js';
30
- import '../chunk-NPLYHR2E.js';
31
- import { initials } from '../chunk-OXF2IFXG.js';
32
25
  import '../chunk-SLSBJRWW.js';
26
+ import { ConnectedNativeDocxEditor } from '../chunk-ZNDAXSDP.js';
27
+ import { ConnectionProvider, useConnection } from '../chunk-OYMWV45N.js';
28
+ export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnection } from '../chunk-OYMWV45N.js';
29
+ import '../chunk-WXLKMEMB.js';
30
+ import { DOCX_MIME_TYPE } from '../chunk-D3QPYKZG.js';
31
+ import '../chunk-AF6RDAJF.js';
32
+ import '../chunk-AA3PT6KR.js';
33
33
  import '../chunk-7F6CBP3Z.js';
34
34
  import '../chunk-VUNV25KB.js';
35
35
  import { lazy, useState, useMemo, Suspense, useEffect, useRef, useCallback, useLayoutEffect } from 'react';
@@ -4,15 +4,15 @@
4
4
  var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
5
5
  var chunkOUW6G4O2_cjs = require('../chunk-OUW6G4O2.cjs');
6
6
  var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
7
- var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
8
7
  var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
9
8
  var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
10
9
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
11
- require('../chunk-C54XEN5T.cjs');
12
- var chunkIXALYQT7_cjs = require('../chunk-IXALYQT7.cjs');
13
10
  var chunkPPCATBOY_cjs = require('../chunk-PPCATBOY.cjs');
11
+ require('../chunk-C54XEN5T.cjs');
14
12
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
13
+ var chunkIXALYQT7_cjs = require('../chunk-IXALYQT7.cjs');
15
14
  require('../chunk-FX3K6LNZ.cjs');
15
+ var chunkRC25WMVB_cjs = require('../chunk-RC25WMVB.cjs');
16
16
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
17
17
  require('../chunk-DES3K4SD.cjs');
18
18
  var lucideReact = require('lucide-react');
@@ -2252,10 +2252,6 @@ function FactSearchResult({
2252
2252
  ] });
2253
2253
  }
2254
2254
 
2255
- Object.defineProperty(exports, "decodeWhitespaceEntities", {
2256
- enumerable: true,
2257
- get: function () { return chunkRC25WMVB_cjs.decodeWhitespaceEntities; }
2258
- });
2259
2255
  Object.defineProperty(exports, "DEFAULT_FACTS_FILTER_INPUT_LABELS", {
2260
2256
  enumerable: true,
2261
2257
  get: function () { return chunk2EI7NCUA_cjs.DEFAULT_FILTER_INPUT_LABELS; }
@@ -2268,6 +2264,10 @@ Object.defineProperty(exports, "FactsFilterInput", {
2268
2264
  enumerable: true,
2269
2265
  get: function () { return chunk2EI7NCUA_cjs.FilterInput; }
2270
2266
  });
2267
+ Object.defineProperty(exports, "decodeWhitespaceEntities", {
2268
+ enumerable: true,
2269
+ get: function () { return chunkRC25WMVB_cjs.decodeWhitespaceEntities; }
2270
+ });
2271
2271
  exports.DEFAULT_FACTS_BULK_BAR_LABELS = DEFAULT_FACTS_BULK_BAR_LABELS;
2272
2272
  exports.DEFAULT_FACTS_EMPTY_STATE_LABELS = DEFAULT_FACTS_EMPTY_STATE_LABELS;
2273
2273
  exports.DEFAULT_FACTS_FIELDS_BUTTON_LABELS = DEFAULT_FACTS_FIELDS_BUTTON_LABELS;
@@ -2,17 +2,17 @@
2
2
  import { ViewToggle } from '../chunk-JJA6GQKH.js';
3
3
  import { SearchHit } from '../chunk-A2YAC22G.js';
4
4
  import { formatSpan, TimelineCalendar, TimelineGantt } from '../chunk-4EZVCGRL.js';
5
- import { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
6
- export { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
7
5
  import { TabHeader } from '../chunk-4WWM3GQ5.js';
8
6
  import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
9
7
  import { FilterInput } from '../chunk-YU2KUMGE.js';
10
8
  export { DEFAULT_FILTER_INPUT_LABELS as DEFAULT_FACTS_FILTER_INPUT_LABELS, DEFAULT_FILTER_FIELDS as FACTS_SEARCH_FIELD_OPTIONS, FilterInput as FactsFilterInput } from '../chunk-YU2KUMGE.js';
11
- import '../chunk-76JDDMSP.js';
12
- import { GridView } from '../chunk-ZPLG7QYF.js';
13
9
  import { observeResize } from '../chunk-NPLYHR2E.js';
10
+ import '../chunk-76JDDMSP.js';
14
11
  import { initials } from '../chunk-OXF2IFXG.js';
12
+ import { GridView } from '../chunk-ZPLG7QYF.js';
15
13
  import '../chunk-SLSBJRWW.js';
14
+ import { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
15
+ export { decodeWhitespaceEntities } from '../chunk-AF6RDAJF.js';
16
16
  import { testIdOr } from '../chunk-7F6CBP3Z.js';
17
17
  import '../chunk-VUNV25KB.js';
18
18
  import { PencilLine, Check, MoreVertical, Pencil, Trash2, CalendarDays, X, Columns3, ChevronDown, RotateCcw, Milestone, CalendarClock, Scale, Lightbulb, ArrowRight, Loader2, Info, Paperclip, Tags, MoreHorizontal, FolderUp, BookMarked, Plus, Search, CheckCircle2, CornerDownLeft, Quote, ChevronLeft, ChevronRight, Table2, CalendarRange, GanttChartSquare } from 'lucide-react';
@@ -12,12 +12,12 @@ var chunk32HW2Q33_cjs = require('../chunk-32HW2Q33.cjs');
12
12
  var chunkV4ISCZJ7_cjs = require('../chunk-V4ISCZJ7.cjs');
13
13
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
14
14
  var chunkOB5F4577_cjs = require('../chunk-OB5F4577.cjs');
15
+ require('../chunk-PPCATBOY.cjs');
15
16
  require('../chunk-C54XEN5T.cjs');
17
+ var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
16
18
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
17
19
  var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
18
20
  var chunkIXALYQT7_cjs = require('../chunk-IXALYQT7.cjs');
19
- require('../chunk-PPCATBOY.cjs');
20
- var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
21
21
  require('../chunk-FX3K6LNZ.cjs');
22
22
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
23
23
  require('../chunk-DES3K4SD.cjs');
@@ -12,13 +12,13 @@ import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
12
12
  export { DEFAULT_SELECTION_BAR_LABELS, SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
13
13
  import { FilterInput } from '../chunk-YU2KUMGE.js';
14
14
  import { ActionLink } from '../chunk-S7PSMMRG.js';
15
+ import '../chunk-NPLYHR2E.js';
15
16
  import '../chunk-76JDDMSP.js';
17
+ import { formatCount } from '../chunk-OXF2IFXG.js';
16
18
  import { ShareControl } from '../chunk-K4BGOPGG.js';
17
19
  import { ModalSection, ModalSectionTitle, ModalHeader } from '../chunk-TX2ZICS7.js';
18
20
  import { GridView } from '../chunk-ZPLG7QYF.js';
19
21
  export { GridView } from '../chunk-ZPLG7QYF.js';
20
- import '../chunk-NPLYHR2E.js';
21
- import { formatCount } from '../chunk-OXF2IFXG.js';
22
22
  import '../chunk-SLSBJRWW.js';
23
23
  import { testIdOr } from '../chunk-7F6CBP3Z.js';
24
24
  import '../chunk-VUNV25KB.js';