@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
@@ -15,7 +15,7 @@ export { ConnectedWorkflowRunner, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, type
15
15
  export { WorkflowRunThread, type WorkflowRunThreadProps } from '../connection/WorkflowRunThread';
16
16
  export { ConnectedTagTable, type ConnectedTagTableProps } from '../connection/ConnectedTagTable';
17
17
  export { useConnectedShellWorkspaces, type UseConnectedShellWorkspacesOptions, } from '../connection/useConnectedShellWorkspaces';
18
- export { ConnectedProfileCard, ConnectedSecuritySection, ConnectedPasswordChangeDialog, ConnectedNotificationPreferences, ConnectedSessionsRow, ConnectedLogoutDialog, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedRequireVerified, defaultUnmetPasswordRequirement, type ConnectedProfileCardProps, type ConnectedSecuritySectionProps, type ConnectedPasswordChangeDialogProps, type ConnectedNotificationPreferencesProps, type ConnectedSessionsRowProps, type ConnectedLogoutDialogProps, type ConnectedDangerZoneProps, type ConnectedIdentityVerificationProps, type ConnectedRequireVerifiedProps, } from '../connection/ConnectedSettings';
18
+ export { ConnectedProfileCard, ConnectedSecuritySection, ConnectedPasswordChangeDialog, ConnectedNotificationPreferences, ConnectedSessionsRow, ConnectedLogoutDialog, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedRequireVerified, defaultUnmetPasswordRequirement, type SettingsNotify, type ConnectedProfileCardProps, type ConnectedSecuritySectionProps, type ConnectedPasswordChangeDialogProps, type ConnectedNotificationPreferencesProps, type ConnectedSessionsRowProps, type ConnectedLogoutDialogProps, type ConnectedDangerZoneProps, type ConnectedIdentityVerificationProps, type ConnectedRequireVerifiedProps, } from '../connection/ConnectedSettings';
19
19
  export { useConnectedDocxNotifications } from '../connection/useConnectedDocxNotifications';
20
20
  export { useConnectedWorkNotifications, type WorkNotificationTarget, } from '../connection/useConnectedWorkNotifications';
21
21
  export * from '../connection/mail';
@@ -1,45 +1,44 @@
1
1
  "use client";
2
- import { FilesFilterBar, FolderFilterButton, FolderPickerRow } from '../chunk-7RJTEWYM.js';
3
- import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, SettingsCard, SettingsActionRow, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-OQ7RUNOC.js';
4
- import { useWorkspaceDocs } from '../chunk-QYTYW74G.js';
5
- export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-QYTYW74G.js';
6
- import { ConnectedNativeDocxEditor } from '../chunk-4UMXQPNA.js';
7
- import { ConnectionProvider, useConnection } from '../chunk-4RLCRFZS.js';
8
- export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnection } from '../chunk-4RLCRFZS.js';
2
+ import { SettingsSection, ProfileCard, AvatarPicker, IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, PasswordChangeDialog, SettingsCard, SettingsActionRow, EMAIL_NOTIFICATION_KEYS, EMAIL_NOTIFICATION_CATEGORIES, NotificationCategoryList, toNotificationCategories, toActiveSessionViews, SettingsRow, ActiveSessionsDialog, LogoutDialog, toLogoutSessionViews, SettingsDangerZone, DeleteAccountDialog, toDeleteBlockerViews } from '../chunk-GFYGYME3.js';
3
+ import { useWorkspaceDocs } from '../chunk-DI35D756.js';
4
+ export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-DI35D756.js';
5
+ import { ConnectedNativeDocxEditor } from '../chunk-P5HOXWYL.js';
6
+ import { ConnectionProvider, useConnection } from '../chunk-7D4W3SAH.js';
7
+ export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnection } from '../chunk-7D4W3SAH.js';
9
8
  import { SignDocumentDialog } from '../chunk-2YOVK524.js';
10
9
  import '../chunk-GYAUJ4KT.js';
11
10
  import '../chunk-2FL7QJKJ.js';
12
11
  import '../chunk-HFZ45FD3.js';
13
- import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, tagTableDocx } from '../chunk-ENDP7JER.js';
12
+ import { FilesFilterBar, FolderFilterButton, FolderPickerRow } from '../chunk-7RJTEWYM.js';
13
+ import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, tagTableDocx } from '../chunk-VW2C2AZL.js';
14
14
  import { PlainMailBodyEditor, draftMailCompose, replyMailCompose, emptyMailCompose, MailGrid, MailMessageView, MailDocumentPicker, parseMailRecipients } from '../chunk-6HCJ3ZEU.js';
15
15
  import { DOCX_MIME_TYPE } from '../chunk-QXMR5YHC.js';
16
16
  import '../chunk-AF6RDAJF.js';
17
- import { WorkflowStepBar, WorkflowRunner, fromPlanSteps, toPlanSteps, useWorkflowView } from '../chunk-2PNNCEPH.js';
18
- import '../chunk-EVUEIBNU.js';
17
+ import { WorkflowStepBar, WorkflowRunner, fromPlanSteps, toPlanSteps, useWorkflowView } from '../chunk-54ANPPMV.js';
18
+ import '../chunk-XD2M6LIG.js';
19
19
  import { TriStateFilterMenu } from '../chunk-6S5FLMWG.js';
20
+ import '../chunk-EVUEIBNU.js';
20
21
  import { FilterInput } from '../chunk-YU2KUMGE.js';
21
22
  import '../chunk-N5YEF3LC.js';
22
- import '../chunk-XD2M6LIG.js';
23
23
  import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
24
24
  import '../chunk-VILAPTCB.js';
25
- import { ConfirmDialog } from '../chunk-VHJHY7TT.js';
25
+ import { ConfirmDialog } from '../chunk-ECERC6TI.js';
26
26
  import { TabHeader } from '../chunk-4WWM3GQ5.js';
27
- import { ChatPage } from '../chunk-PUCY3UXN.js';
27
+ import { ModalScaffold } from '../chunk-TX2ZICS7.js';
28
+ import { ChatPage } from '../chunk-CXLVI3SB.js';
28
29
  import '../chunk-7XF5SFJ2.js';
29
- import { takeOpenDocumentForTurn, useRegisterOpenDocument } from '../chunk-YBLIKTJK.js';
30
- import { splitDocRef, stepLevels, stepDocuments, stepKindOf, initialRunInputs, workflowSteps, stepStatesFromActivity, runThreadTitle, stepFields } from '../chunk-2DFDFOM7.js';
31
- import '../chunk-AUS3KBHJ.js';
30
+ import { takeOpenDocumentForTurn, useRegisterOpenDocument } from '../chunk-GYCQ3FNL.js';
31
+ import { splitDocRef, stepLevels, stepDocuments, stepKindOf, initialRunInputs, workflowSteps, stepStatesFromActivity, runThreadTitle, stepFields } from '../chunk-7HAM7Y5U.js';
32
32
  import '../chunk-AA3PT6KR.js';
33
+ import '../chunk-AUS3KBHJ.js';
33
34
  import '../chunk-SLSBJRWW.js';
34
35
  import '../chunk-NPLYHR2E.js';
35
36
  import '../chunk-7F6CBP3Z.js';
36
- import { useBlocksEnvironment } from '../chunk-YNIBUKV5.js';
37
- import { ModalScaffold } from '../chunk-TX2ZICS7.js';
38
37
  import { initials } from '../chunk-OXF2IFXG.js';
39
38
  import '../chunk-VUNV25KB.js';
40
39
  import { lazy, useState, useMemo, Suspense, useEffect, useRef, useCallback, useLayoutEffect } from 'react';
41
40
  import { QueryClient, QueryClientProvider, useQueryClient, useQuery } from '@tanstack/react-query';
42
- import { ArbiProvider, useConversations, useRunConversation, useWorkspaceActivity, useWorkspaceUsers, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, ArtifactCanvas, useArbiChat, useArbi, useDocuments, useTagKindSchema, useTags, useSetTagValues, useUpdateTagKindSchema, useInvalidateTagData, useWorkspaces, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useArbiWebSocket, useWorkNotifications, mailDraftIdFromContent, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailPolicy, useMailAccounts, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useAgentSession, useStartAgentSession, useCloseAgentSession, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, ArbiWebSocketProvider, useCreateWork, useActOnStep, useConversationActivity, useConversationThreads, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, AiAnswer, useMailDraftEditor } from '@arbidocs/react';
41
+ import { ArbiProvider, useConversations, useRunConversation, useWorkspaceActivity, useWorkspaceUsers, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, ArtifactCanvas, useArbiChat, useArbi, useDocuments, useTagKindSchema, useTags, useSetTagValues, useUpdateTagKindSchema, useInvalidateTagData, useWorkspaces, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useArbiWebSocket, notify, useWorkNotifications, mailDraftIdFromContent, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailPolicy, useMailAccounts, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useAgentSession, useStartAgentSession, useCloseAgentSession, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, ArbiWebSocketProvider, useCreateWork, useActOnStep, useConversationActivity, useConversationThreads, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, AiAnswer, useMailDraftEditor } from '@arbidocs/react';
43
42
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
44
43
  import { Button, Label, Input, Dialog, DialogContent, DialogTitle, DialogDescription, Tooltip, TooltipTrigger, TooltipContent, cn } from '@arbidocs/react/ui';
45
44
  import { useStreamedArtifact } from '@arbidocs/react/artifacts';
@@ -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 } = useBlocksEnvironment();
1330
1329
  const { data: profile } = useProfile();
1331
1330
  const updateProfile = useUpdateProfile();
1332
1331
  const requestEmailChange = 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,30 +1347,30 @@ 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 = 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
  }
@@ -1418,16 +1417,16 @@ 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 } = useBlocksEnvironment();
1426
1425
  const { data: profile } = useProfile();
1427
1426
  const flow = 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__ */ jsxs(Fragment, { children: [
1433
1432
  /* @__PURE__ */ jsx(IdentityVerificationCard, { flow, labels, onManageBilling }),
@@ -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 } = useBlocksEnvironment();
1466
1465
  const change = usePasswordChange();
1467
1466
  const form = 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
  );
@@ -1500,6 +1499,7 @@ function ConnectedPasswordChangeDialog({
1500
1499
  );
1501
1500
  }
1502
1501
  function ConnectedSecuritySection({
1502
+ notify: notify3,
1503
1503
  getUnmetRequirement,
1504
1504
  children
1505
1505
  }) {
@@ -1522,6 +1522,7 @@ function ConnectedSecuritySection({
1522
1522
  {
1523
1523
  open,
1524
1524
  onClose: () => setOpen(false),
1525
+ notify: notify3,
1525
1526
  getUnmetRequirement
1526
1527
  }
1527
1528
  )
@@ -1549,8 +1550,11 @@ function ConnectedNotificationPreferences({
1549
1550
  }
1550
1551
  ) }) });
1551
1552
  }
1552
- function ConnectedSessionsRow({ renderSessionIcon }) {
1553
- const { notify, confirm } = useBlocksEnvironment();
1553
+ function ConnectedSessionsRow({
1554
+ notify: notify3,
1555
+ confirm,
1556
+ renderSessionIcon
1557
+ }) {
1554
1558
  const [open, setOpen] = useState(false);
1555
1559
  const sessions = useSessions({ enabled: open });
1556
1560
  const currentSessionId = useCurrentSessionId();
@@ -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
  }
@@ -1639,8 +1642,7 @@ function ConnectedLogoutDialog({
1639
1642
  }
1640
1643
  );
1641
1644
  }
1642
- function ConnectedDangerZone({ renderSubscriptionLink }) {
1643
- const { notify } = useBlocksEnvironment();
1645
+ function ConnectedDangerZone({ notify: notify3, renderSubscriptionLink }) {
1644
1646
  const [zoneOpen, setZoneOpen] = useState(false);
1645
1647
  const [dialogOpen, setDialogOpen] = useState(false);
1646
1648
  const { data: profile } = useProfile();
@@ -1652,7 +1654,7 @@ 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__ */ jsxs(Fragment, { children: [
1658
1660
  /* @__PURE__ */ jsx(
@@ -1696,7 +1698,6 @@ function ConnectedDangerZone({ renderSubscriptionLink }) {
1696
1698
  function useConnectedDocxNotifications(onOpen) {
1697
1699
  const arbi = useArbi();
1698
1700
  const { status, user, apiUrl } = useConnection();
1699
- const { notify } = useBlocksEnvironment();
1700
1701
  const queries = 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) => 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
  useNotify.getState().syncSource(source, items);
1742
1742
  return () => 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
+ notify.error("Could not mark document mentions read.");
1750
1750
  }
1751
1751
  };
1752
1752
  return {
@@ -1762,7 +1762,6 @@ function useConnectedDocxNotifications(onOpen) {
1762
1762
  }
1763
1763
  function useConnectedWorkNotifications(onOpen) {
1764
1764
  const { status, user, apiUrl } = useConnection();
1765
- const { notify } = useBlocksEnvironment();
1766
1765
  const source = `work-notifications:${apiUrl}:${user?.externalId || ""}`;
1767
1766
  const { data = [], markRead: persistRead } = 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) => 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
  useNotify.getState().syncSource(source, items);
1797
1795
  return () => 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
+ notify.error("Could not mark work notifications read.");
1805
1803
  }
1806
1804
  };
1807
1805
  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 } = useMailClient();
2244
- const { notify, confirm } = useBlocksEnvironment();
2245
2243
  const [to, setTo] = useState(initial.to.map((r) => r.email).join("; "));
2246
2244
  const [cc, setCc] = useState(initial.cc.map((r) => r.email).join("; "));
2247
2245
  const [showCc, setShowCc] = 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
  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
+ 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 } = useBlocksEnvironment();
3093
3085
  const cache = useMailCache();
3094
3086
  const { client } = useMailClient();
3095
3087
  const [savingToWorkspace, setSavingToWorkspace] = 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,
@@ -3825,6 +3818,6 @@ function ConnectedAgentChatPanel({
3825
3818
  ] });
3826
3819
  }
3827
3820
 
3828
- export { ArbiAppProvider, ConnectedAgentChatPanel, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailMessage, ConnectedMailSetup, ConnectedMailbox, ConnectedNotificationPreferences, ConnectedPasswordChangeDialog, ConnectedProfileCard, ConnectedRequireVerified, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSkillUpload, ConnectedTagTable, ConnectedTaskAccessRequest, ConnectedThreadFollow, ConnectedWorkflowRunner, ConnectedWorkspaceActivity, ConnectedWorkspaceNotificationMenu, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, StreamedArtifact, WorkflowRunThread, defaultUnmetPasswordRequirement, resolveMailbox, useConnectedDocxNotifications, useConnectedShellWorkspaces, useConnectedWorkNotifications };
3821
+ export { ArbiAppProvider, ConnectedAgentChatPanel, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailMessage, ConnectedMailSetup, ConnectedMailbox, ConnectedNotificationPreferences, ConnectedPasswordChangeDialog, ConnectedProfileCard, ConnectedRequireVerified, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSkillUpload, ConnectedTagTable, ConnectedTaskAccessRequest, ConnectedThreadFollow, ConnectedWorkflowRunner, ConnectedWorkspaceActivity, ConnectedWorkspaceNotificationMenu, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, StreamedArtifact, WorkflowRunThread, defaultMailNotify, defaultUnmetPasswordRequirement, resolveMailbox, useConnectedDocxNotifications, useConnectedShellWorkspaces, useConnectedWorkNotifications };
3829
3822
  //# sourceMappingURL=index.js.map
3830
3823
  //# sourceMappingURL=index.js.map