@arbidocs/blocks 0.4.145 → 0.4.146

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 (71) hide show
  1. package/dist/agents/index.cjs +267 -267
  2. package/dist/agents/index.js +10 -10
  3. package/dist/chat/index.cjs +1 -1
  4. package/dist/chat/index.js +1 -1
  5. package/dist/{chunk-J4M37SXY.js → chunk-A6IU4GIW.js} +190 -7
  6. package/dist/chunk-A6IU4GIW.js.map +1 -0
  7. package/dist/{chunk-34GDGE77.cjs → chunk-C3CGJK7A.cjs} +192 -6
  8. package/dist/chunk-C3CGJK7A.cjs.map +1 -0
  9. package/dist/{chunk-KTSF4HFC.js → chunk-C44TDH54.js} +6 -6
  10. package/dist/{chunk-KTSF4HFC.js.map → chunk-C44TDH54.js.map} +1 -1
  11. package/dist/chunk-EV7W64B6.js +134 -0
  12. package/dist/chunk-EV7W64B6.js.map +1 -0
  13. package/dist/{chunk-QOL3M4FJ.js → chunk-IJST4EBM.js} +9 -9
  14. package/dist/{chunk-QOL3M4FJ.js.map → chunk-IJST4EBM.js.map} +1 -1
  15. package/dist/{chunk-NSNHRZBH.cjs → chunk-LPYEUD2D.cjs} +4 -4
  16. package/dist/{chunk-NSNHRZBH.cjs.map → chunk-LPYEUD2D.cjs.map} +1 -1
  17. package/dist/{chunk-ULPFRK3J.cjs → chunk-MFMASSEO.cjs} +8 -8
  18. package/dist/{chunk-ULPFRK3J.cjs.map → chunk-MFMASSEO.cjs.map} +1 -1
  19. package/dist/{chunk-KPO67GBR.cjs → chunk-O2GW5IY6.cjs} +33 -33
  20. package/dist/{chunk-KPO67GBR.cjs.map → chunk-O2GW5IY6.cjs.map} +1 -1
  21. package/dist/{chunk-NGDXDHLG.js → chunk-OBWYM25Y.js} +3 -3
  22. package/dist/{chunk-NGDXDHLG.js.map → chunk-OBWYM25Y.js.map} +1 -1
  23. package/dist/{chunk-WO7QAVTL.cjs → chunk-RB7GX2VT.cjs} +9 -9
  24. package/dist/{chunk-WO7QAVTL.cjs.map → chunk-RB7GX2VT.cjs.map} +1 -1
  25. package/dist/chunk-RXK3XP62.cjs +144 -0
  26. package/dist/chunk-RXK3XP62.cjs.map +1 -0
  27. package/dist/{chunk-VVZ34A2P.js → chunk-T5B7FM7S.js} +4 -4
  28. package/dist/{chunk-VVZ34A2P.js.map → chunk-T5B7FM7S.js.map} +1 -1
  29. package/dist/collaboration/index.cjs +9 -9
  30. package/dist/collaboration/index.js +1 -1
  31. package/dist/connect/docx.cjs +10 -10
  32. package/dist/connect/docx.js +7 -7
  33. package/dist/connect/index.cjs +433 -74
  34. package/dist/connect/index.cjs.map +1 -1
  35. package/dist/connect/index.d.ts +1 -0
  36. package/dist/connect/index.js +379 -22
  37. package/dist/connect/index.js.map +1 -1
  38. package/dist/connection/ConnectedNotificationRelevance.d.ts +4 -1
  39. package/dist/connection/workspace-settings/ConnectedWorkspaceSettings.d.ts +53 -0
  40. package/dist/connection/workspace-settings/index.d.ts +2 -0
  41. package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +85 -0
  42. package/dist/document-tools/index.cjs +1 -1
  43. package/dist/document-tools/index.js +1 -1
  44. package/dist/facts/index.cjs +1 -1
  45. package/dist/facts/index.js +1 -1
  46. package/dist/files/index.cjs +1 -1
  47. package/dist/files/index.js +1 -1
  48. package/dist/index.cjs +357 -530
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.js +21 -203
  51. package/dist/index.js.map +1 -1
  52. package/dist/settings/index.cjs +10 -10
  53. package/dist/settings/index.js +2 -2
  54. package/dist/shell/index.cjs +1 -1
  55. package/dist/shell/index.js +1 -1
  56. package/dist/site/index.cjs +5 -5
  57. package/dist/site/index.js +1 -1
  58. package/dist/studio/index.cjs +2 -2
  59. package/dist/studio/index.js +2 -2
  60. package/dist/workflow-canvas/index.cjs +23 -23
  61. package/dist/workflow-canvas/index.js +10 -10
  62. package/dist/workspaces/CommonWorkspaceToggle.d.ts +15 -0
  63. package/dist/workspaces/index.cjs +38 -107
  64. package/dist/workspaces/index.cjs.map +1 -1
  65. package/dist/workspaces/index.d.ts +1 -0
  66. package/dist/workspaces/index.js +5 -102
  67. package/dist/workspaces/index.js.map +1 -1
  68. package/node_modules/@arbidocs/coedit/package.json +1 -1
  69. package/package.json +4 -4
  70. package/dist/chunk-34GDGE77.cjs.map +0 -1
  71. package/dist/chunk-J4M37SXY.js.map +0 -1
@@ -24,6 +24,7 @@ export { ConnectedTagTable, type ConnectedTagTableProps } from '../connection/Co
24
24
  export { useConnectedShellWorkspaces, type UseConnectedShellWorkspacesOptions, } from '../connection/useConnectedShellWorkspaces';
25
25
  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';
26
26
  export * from '../connection/settings-page';
27
+ export * from '../connection/workspace-settings';
27
28
  export { useConnectedDocxNotifications } from '../connection/useConnectedDocxNotifications';
28
29
  export { useConnectedWorkNotifications, type WorkNotificationTarget, } from '../connection/useConnectedWorkNotifications';
29
30
  export * from '../connection/mail';
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { FilesFilterBar, FolderFilterButton, FolderPickerRow } from '../chunk-7RJTEWYM.js';
2
+ import { PageLoading, WorkspacePageFrame, WorkspaceIdentityPanel, WorkspaceProjectSlot, WorkspaceAudienceLine, CommonWorkspaceToggle, ExpandableSection, LeaveFooter } from '../chunk-EV7W64B6.js';
3
3
  import { DraggableHeader, 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, SettingsPanel, PremiumModelsFrame, SettingsPage, serverConnectionView, ServerConnectionButton, ModelProviderLabel } from '../chunk-5YHEHEJT.js';
4
4
  export { ConnectedAssistantDock, redlineStats, textToArtifact, toRedlineMarkdown, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs } from '../chunk-CSI2B2H5.js';
5
- import { useConnectedWorkspaceRole, ConnectedNativeDocxEditor } from '../chunk-NGDXDHLG.js';
6
- export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, NativeDocxSupportProvider, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useNativeDocxSupport } from '../chunk-NGDXDHLG.js';
5
+ import { useConnectedWorkspaceRole, ConnectedNativeDocxEditor } from '../chunk-OBWYM25Y.js';
6
+ export { ConnectedWorkflowDocumentsField, ConnectedWorkflowLauncher, ConnectedWorkflowsTable, DEFAULT_CONNECTED_WORKFLOWS_TABLE_LABELS, NativeDocxSupportProvider, toWorkflowFieldDocument, useConnectedAgentOptions, useConnectedWorkflowScopeSource, useConnectedWorkspaceRole, useNativeDocxSupport } from '../chunk-OBWYM25Y.js';
7
7
  export { ConnectedWorkspaceDataProvider, useConnectedConversations, useConnectedDocuments, useConnectedTags } from '../chunk-DN2KI4BU.js';
8
8
  import { ConnectionProvider, useConnection, useConnectedWorkspace } from '../chunk-US3S4DCB.js';
9
9
  export { ConnectionProvider, SESSION_EXPIRED_MESSAGE, isAuthenticated, useConnectedWorkspace, useConnection } from '../chunk-US3S4DCB.js';
@@ -11,24 +11,26 @@ import { SignDocumentDialog } from '../chunk-2YOVK524.js';
11
11
  import '../chunk-MTSKK3BN.js';
12
12
  import '../chunk-2FL7QJKJ.js';
13
13
  import '../chunk-HFZ45FD3.js';
14
- import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, tagTableDocx } from '../chunk-J4M37SXY.js';
15
- import { workspaceKindColor } from '../chunk-A3XPS2EU.js';
14
+ import { FilesFilterBar, FolderFilterButton, FolderPickerRow } from '../chunk-7RJTEWYM.js';
15
+ import { WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, tagTableDocx } from '../chunk-A6IU4GIW.js';
16
+ import { MemberAvatarStack } from '../chunk-XNOASBGW.js';
17
+ import { WorkspaceIdentity, workspaceKindColor } from '../chunk-A3XPS2EU.js';
16
18
  import { PlainMailBodyEditor, draftMailCompose, replyMailCompose, emptyMailCompose, MailGrid, MailMessageView, MailDocumentPicker, parseMailRecipients } from '../chunk-6HCJ3ZEU.js';
17
19
  import '../chunk-SV65E4QW.js';
18
20
  import { DOCX_MIME_TYPE } from '../chunk-QXMR5YHC.js';
19
21
  import '../chunk-AF6RDAJF.js';
20
- import { buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, composePersona, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, fromPlanSteps, toPlanSteps, useWorkflowView, workflowToSkillMarkdown } from '../chunk-KTSF4HFC.js';
21
- import '../chunk-EVUEIBNU.js';
22
+ import { buildLibrarySkills, filterLibrarySkills, SKILL_SOURCE_LABELS, SKILL_TYPE_LABELS, SkillViewToggle, SkillFilterChips, SkillTile, SkillGenerateForm, SkillLibraryDetail, parseSkillFrontmatter, SKILL_MAIN_FILENAME, SkillEditForm, DEFAULT_AGENT_CAPABILITIES, stripPersonaPreamble, AgentCreator, DEFAULT_AGENT_TYPES, DEFAULT_AGENT_TEMPLATES, AgentAvatarField, isValidAgentName, AgentConnectInstructions, TaskRunsDialog, TaskActivityDialog, WorkflowStepBar, composePersona, importSkillFile, importSkillFromUrl, WorkflowRunner, skillSlug, serializeSkill, fromPlanSteps, toPlanSteps, useWorkflowView, workflowToSkillMarkdown } from '../chunk-C44TDH54.js';
22
23
  import { MultiSelect } from '../chunk-CQCC7LE7.js';
23
- import { PersonPill } from '../chunk-VVZ34A2P.js';
24
- import { TriStateFilterMenu } from '../chunk-KSHKTOY2.js';
24
+ import { PersonPill } from '../chunk-T5B7FM7S.js';
25
+ import '../chunk-IXWJGOM2.js';
25
26
  import '../chunk-RLWIUUQ5.js';
27
+ import { TriStateFilterMenu } from '../chunk-KSHKTOY2.js';
26
28
  import '../chunk-P6GHJSLR.js';
29
+ import '../chunk-EVUEIBNU.js';
30
+ import '../chunk-YKQ2DPIP.js';
27
31
  import { SelectionBar, SelectionBarAction } from '../chunk-NUNKSZKU.js';
28
32
  import { FilterInput } from '../chunk-YU2KUMGE.js';
29
33
  import { GridView } from '../chunk-N5YEF3LC.js';
30
- import '../chunk-IXWJGOM2.js';
31
- import '../chunk-YKQ2DPIP.js';
32
34
  import { StreamedArtifactFrame } from '../chunk-LOJVUGBJ.js';
33
35
  import '../chunk-VILAPTCB.js';
34
36
  import { upcomingOf, conferenceUrl, isWebinarConference, canJoinEvent, calendarToListItem, buildGridEvents, pendingCreateToGrid, newEventDraft, MiniMonth, CalendarList, CalendarGrid, printCalendar, EventDetails, ScopeDialog, CalendarFormDialog, ProposeTimeDialog, isCalendarAttachment, parseIcsInvite, formatEventWhen, groupSlotsByDay, publicBookingMessage, formatSlotRange, zoneOptions, buildTimeChangeRequest, eventToDraft, needsScope, validateDraft, CALENDAR_DEFAULT_LABELS, buildCreateBody, attendeeKey, buildDeleteTarget, EventEditor, toSettingsValue, CalendarSettingsForm, describeCalendarError, normalizeFeedUrl, parseOverlayLink, isAllDayDraft, draftRangeUtc, freeBusyToRows, SchedulingAssistant, applySuggestion, toSuggestionViews, RoomFinder, bookingLink, defaultRoomWindow, bookingToForm, emptyBookingForm, slugify, WeeklyHoursEditor, validateBookingForm, formToBookingBody, WEEKDAY_NAMES, formatBusy, setupSteps, buildEditRequest } from '../chunk-B3AHCIV5.js';
@@ -40,8 +42,8 @@ import '../chunk-7XF5SFJ2.js';
40
42
  import { takeOpenDocumentForTurn, useRegisterOpenDocument } from '../chunk-YBLIKTJK.js';
41
43
  import { splitDocRef, stepLevels, stepDocuments, stepKindOf, initialRunInputs, workflowSteps, stepStatesFromActivity, runThreadTitle, stepFields } from '../chunk-PDKM27DF.js';
42
44
  import '../chunk-TZGBRLPK.js';
43
- import '../chunk-AUS3KBHJ.js';
44
45
  import '../chunk-AA3PT6KR.js';
46
+ import '../chunk-AUS3KBHJ.js';
45
47
  import '../chunk-SLSBJRWW.js';
46
48
  import '../chunk-NPLYHR2E.js';
47
49
  import '../chunk-7F6CBP3Z.js';
@@ -52,11 +54,11 @@ import { fmtDate, initials } from '../chunk-OXF2IFXG.js';
52
54
  import '../chunk-VUNV25KB.js';
53
55
  import { lazy, useState, useMemo, useEffect, useCallback, useRef, Suspense, useSyncExternalStore, useLayoutEffect } from 'react';
54
56
  import { QueryClient, QueryClientProvider, useQueryClient, useQuery } from '@tanstack/react-query';
55
- import { ArbiProvider, useConversations, useRunConversation, useWorkspaceActivity, useWorkspaceUsers, isWorkspaceNotificationType, useArbi, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useWorkspaces, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSkills, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useConversationActivity, useAgents, ArtifactCanvas, useArbiChat, useDocuments, useTagKindSchema, useTags, useSetTagValues, useUpdateTagKindSchema, useInvalidateTagData, useShellWorkspaces, ArbiBotHeadIcon, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailPolicy, useMailAccounts, useUserSettings, useUpdateUserSettings, useAvailableModels, useArbiWebSocket, useWorkNotifications, mailDraftIdFromContent, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, useAgentSession, useStartAgentSession, useCloseAgentSession, isQueuedCalendarWrite, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, ArbiWebSocketProvider, isDeploymentUserNotification, getWorkspaceActionText, getWorkspaceSentPhrase, describeServerNotification, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useArbiSessionState, documentDisplayName, getWorkspaceKind, formatRelativeTime, useCreateWork, useActOnStep, useConversationThreads, ProviderIcon, formatGbpPerMillionTokens, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, AiAnswer, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useRooms, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useAppPasswords, splitAppPasswords, useBookingPages, useDeleteBookingPage, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useCreateAppPassword, useCreateFeed, useSaveBookingPage, useCreateRoom, useRevokeAppPassword } from '@arbidocs/react';
57
+ import { ArbiProvider, useConversations, useRunConversation, useWorkspaceActivity, useWorkspaceUsers, isWorkspaceNotificationType, useArbi, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useWorkspaces, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSkills, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useConversationActivity, useAgents, ArtifactCanvas, useArbiChat, useDocuments, useTagKindSchema, useTags, useSetTagValues, useUpdateTagKindSchema, useInvalidateTagData, useShellWorkspaces, ArbiBotHeadIcon, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailPolicy, useMailAccounts, useUserSettings, useUpdateUserSettings, useAvailableModels, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, toShellWorkspace, useArbiWebSocket, useWorkNotifications, mailDraftIdFromContent, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, useAgentSession, useStartAgentSession, useCloseAgentSession, isQueuedCalendarWrite, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, ArbiWebSocketProvider, isDeploymentUserNotification, getWorkspaceActionText, getWorkspaceSentPhrase, describeServerNotification, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useArbiSessionState, documentDisplayName, getWorkspaceKind, formatRelativeTime, useCreateWork, useActOnStep, useConversationThreads, ProviderIcon, formatGbpPerMillionTokens, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, AiAnswer, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useRooms, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useAppPasswords, splitAppPasswords, useBookingPages, useDeleteBookingPage, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useCreateAppPassword, useCreateFeed, useSaveBookingPage, useCreateRoom, useRevokeAppPassword } from '@arbidocs/react';
56
58
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
57
- import { Button, Label, Input, cn, Textarea, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Switch, DocumentEntity, EntityPill, ShieldIcon, EntityIcon, Tooltip, TooltipTrigger, TooltipContent, Popover, PopoverTrigger, PopoverContent, Tabs, TabsList, TabsTrigger, TabsContent, DialogFooter, UserEntity } from '@arbidocs/react/ui';
59
+ import { Button, Label, Input, cn, Textarea, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Switch, getEntityLabel, DocumentEntity, EntityPill, ShieldIcon, EntityIcon, Tooltip, TooltipTrigger, TooltipContent, Popover, PopoverTrigger, PopoverContent, Tabs, TabsList, TabsTrigger, TabsContent, DialogFooter, UserEntity } from '@arbidocs/react/ui';
58
60
  import { useNotify } from '@arbidocs/react/shell';
59
- import { Bell, Activity, Info, UserCheck, Trash2, Loader2, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, RotateCcw, User, Mail, HatGlasses, MessageSquare, Settings, Video, Printer, CalendarDays, Clock, MapPin, Globe, X, Paperclip, Send, Inbox, CalendarX, CalendarCheck, CalendarSearch, Pencil, DoorOpen, RefreshCw, CheckCircle2, AlertTriangle, Check, Copy } from 'lucide-react';
61
+ import { Bell, Activity, Info, UserCheck, Trash2, Loader2, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, RotateCcw, User, Mail, HatGlasses, MessageSquare, FolderInput, Settings, Video, Printer, CalendarDays, Clock, MapPin, Globe, X, Paperclip, Send, Inbox, CalendarX, CalendarCheck, CalendarSearch, Pencil, DoorOpen, RefreshCw, CheckCircle2, AlertTriangle, Check, Copy } from 'lucide-react';
60
62
  import { useIsOnline, downloadBlob, useOptionalDocumentTools, fetchDocumentPdf, DocumentToolsProvider } from '@arbidocs/react/document-tools';
61
63
  import { useStreamedArtifact } from '@arbidocs/react/artifacts';
62
64
  import { bytesToBase64 } from '@arbidocs/client';
@@ -806,11 +808,16 @@ function ConnectedWorkspaceNotificationMenu({
806
808
  workspaceId: workspaceProp,
807
809
  ...menuProps
808
810
  }) {
809
- const { workspaceId: selected, status } = useConnection();
811
+ const { notify } = useBlocksEnvironment();
812
+ const { workspaceId: selected, live } = useConnectedWorkspace();
810
813
  const workspaceId = workspaceProp ?? selected;
811
- const { level, setLevel, isLoading, isSaving } = useWorkspaceNotificationLevel(workspaceId, {
812
- enabled: status === "authenticated"
813
- });
814
+ const { level, setLevel, isLoading, isSaving, error } = useWorkspaceNotificationLevel(
815
+ workspaceId,
816
+ { enabled: live }
817
+ );
818
+ useEffect(() => {
819
+ if (error) notify("Could not save the workspace notification setting", "error");
820
+ }, [error, notify]);
814
821
  if (!workspaceId) return null;
815
822
  return /* @__PURE__ */ jsx(
816
823
  WorkspaceNotificationMenu,
@@ -827,9 +834,9 @@ function ConnectedThreadFollow({
827
834
  as = "button",
828
835
  ...props
829
836
  }) {
830
- const { status } = useConnection();
837
+ const { live } = useConnectedWorkspace();
831
838
  const { following, setFollowing, isLoading, isSaving } = useFollowThread(conversationId, {
832
- enabled: status === "authenticated"
839
+ enabled: live
833
840
  });
834
841
  if (!conversationId) return null;
835
842
  const Control = as === "menu-item" ? ThreadFollowMenuItem : ThreadFollowButton;
@@ -3721,6 +3728,356 @@ function ConnectedSettingsPage({
3721
3728
  }
3722
3729
  );
3723
3730
  }
3731
+ function errorDetail(err) {
3732
+ const e = err;
3733
+ const detail = e?.detail ?? e?.apiError?.detail ?? e?.response?.data?.detail ?? e?.error?.detail;
3734
+ if (typeof detail === "string" && detail) return detail;
3735
+ const message = detail?.message;
3736
+ return typeof message === "string" && message ? message : void 0;
3737
+ }
3738
+ function errorStatus(err) {
3739
+ const e = err;
3740
+ return e?.status ?? e?.response?.status;
3741
+ }
3742
+ var workspaceWord = () => getEntityLabel("WORKSPACE").toLowerCase();
3743
+ var inviteMessage = (emails) => `${emails.length === 1 ? `${emails[0]} isn't on the platform yet.` : `These users aren't on the platform yet:
3744
+ ${emails.join("\n")}`}
3745
+
3746
+ Invite them by email? Once they sign up, they'll usually get access to this ${workspaceWord()} automatically \u2014 if not, they can request it themselves.`;
3747
+ function useConnectedWorkspaceSettings(workspaceId, { onLeft } = {}) {
3748
+ const { notify, confirm } = useBlocksEnvironment();
3749
+ const { workspaceId: openWorkspaceId, userId } = useConnectedWorkspace();
3750
+ const { data: workspaces } = useWorkspaces();
3751
+ const workspace = workspaces?.find((w) => w.external_id === workspaceId);
3752
+ const update = useUpdateWorkspace();
3753
+ const add = useAddWorkspaceMembers();
3754
+ const remove = useRemoveWorkspaceMembers();
3755
+ const members = workspace?.users ?? [];
3756
+ const role = members.find((m) => m.user.external_id === userId)?.role ?? null;
3757
+ const isOwner = role === "owner";
3758
+ const isMember = role !== null;
3759
+ const stillOpen = () => {
3760
+ if (!workspace) return false;
3761
+ if (openWorkspaceId === workspace.external_id) return true;
3762
+ notify(
3763
+ `Not saved: you switched to another ${workspaceWord()} first. Open "${workspace.name}" and try again.`,
3764
+ "warning"
3765
+ );
3766
+ return false;
3767
+ };
3768
+ const updateIdentity = async (data) => {
3769
+ if (!workspace || !stillOpen()) return;
3770
+ const changed = [
3771
+ ...data.name !== workspace.name ? ["name"] : [],
3772
+ ...data.description !== (workspace.description || "") ? ["description"] : []
3773
+ ];
3774
+ try {
3775
+ await update.mutateAsync({ name: data.name, description: data.description });
3776
+ if (changed.length > 0) {
3777
+ notify(`${getEntityLabel("WORKSPACE")} ${changed.join(", ")} updated`, "success");
3778
+ }
3779
+ } catch (err) {
3780
+ notify(err instanceof Error ? err.message : "Failed to update workspace", "error");
3781
+ throw err;
3782
+ }
3783
+ };
3784
+ const setPublic = async (isPublic) => {
3785
+ if (!workspace || !stillOpen()) return;
3786
+ await update.mutateAsync({ is_public: isPublic });
3787
+ notify(`Workspace is now ${isPublic ? "common" : "members-only"}`, "success");
3788
+ };
3789
+ const invite = async (emails, memberRole) => {
3790
+ try {
3791
+ await add.mutateAsync({ emails, role: memberRole, confirmInvite: true });
3792
+ notify(
3793
+ emails.length === 1 ? `Invitation sent to ${emails[0]}` : `Invitations sent to ${emails.length} users`,
3794
+ "success"
3795
+ );
3796
+ } catch (err) {
3797
+ const detail = errorDetail(err);
3798
+ notify(
3799
+ detail ? `Couldn't send the invitation: ${detail}` : "Failed to send the invitation.",
3800
+ "error"
3801
+ );
3802
+ }
3803
+ };
3804
+ const share = async (emails, memberRole = "collaborator") => {
3805
+ if (!workspace) return "error";
3806
+ const current = new Set(members.map((m) => m.user.email.toLowerCase()));
3807
+ try {
3808
+ const added = new Set(
3809
+ (await add.mutateAsync({ emails, role: memberRole }) ?? []).map(
3810
+ (m) => m.user.email.toLowerCase()
3811
+ )
3812
+ );
3813
+ const failed = emails.filter((email) => !added.has(email.toLowerCase()));
3814
+ if (failed.length === 0) return "added";
3815
+ const already = failed.filter((email) => current.has(email.toLowerCase()));
3816
+ const unknown = failed.filter((email) => !current.has(email.toLowerCase()));
3817
+ if (added.size > 0) {
3818
+ notify(`Added ${added.size} ${added.size === 1 ? "member" : "members"}`, "success");
3819
+ }
3820
+ if (already.length > 0) {
3821
+ notify(
3822
+ already.length === 1 ? `${already[0]} is already a member` : `${already.length} users are already members`,
3823
+ "info"
3824
+ );
3825
+ }
3826
+ if (unknown.length > 0 && await confirm({
3827
+ message: inviteMessage(unknown),
3828
+ title: "Invite by email?",
3829
+ kind: "yesno"
3830
+ })) {
3831
+ await invite(unknown, memberRole);
3832
+ return added.size > 0 ? "partial" : "invited";
3833
+ }
3834
+ return added.size > 0 ? "partial" : "already_member";
3835
+ } catch (err) {
3836
+ const status = errorStatus(err);
3837
+ const detail = errorDetail(err) || "Failed to add member to workspace";
3838
+ const lower = detail.toLowerCase();
3839
+ if (lower.includes("already has access")) return "already_member";
3840
+ const notRegistered = status === 404 || lower.includes("not found") || lower.includes("no user") || lower.includes("does not exist") || lower.includes("user not registered");
3841
+ if (notRegistered) {
3842
+ if (await confirm({
3843
+ message: inviteMessage(emails),
3844
+ title: "Invite by email?",
3845
+ kind: "yesno"
3846
+ })) {
3847
+ await invite(emails, memberRole);
3848
+ return "invited";
3849
+ }
3850
+ return "cancelled";
3851
+ }
3852
+ const quota = status === 402 || lower.includes("limit reached") || lower.includes("quota") || lower.includes("upgrade");
3853
+ if (!quota) notify(detail, "error");
3854
+ return "error";
3855
+ }
3856
+ };
3857
+ const removeMember = async (userExtId, email, name) => {
3858
+ if (!workspace || !isOwner) return;
3859
+ const ok = await confirm({
3860
+ message: `Remove ${name} (${email}) from the "${workspace.name}" ${getEntityLabel("WORKSPACE")}?
3861
+
3862
+ Note that ${getEntityLabel("WORKSPACEUSER", "PLURAL").toLowerCase()} may have saved private content in the workspace that you cannot see. If you remove them from the ${workspaceWord()} they will immediately lose access to any content in the ${workspaceWord()}.`,
3863
+ title: `Remove ${getEntityLabel("WORKSPACEUSER")}`
3864
+ });
3865
+ if (!ok) return;
3866
+ try {
3867
+ await remove.mutateAsync([userExtId]);
3868
+ notify(`Successfully removed ${name} from workspace`, "success");
3869
+ } catch {
3870
+ notify(`Failed to remove ${name} from workspace`, "error");
3871
+ }
3872
+ };
3873
+ const leave = async () => {
3874
+ if (!workspace || !userId || isOwner) return;
3875
+ const name = workspace.name;
3876
+ const ok = await confirm({
3877
+ message: `Are you sure you want to leave the "${name}" ${getEntityLabel("WORKSPACE")}?
3878
+
3879
+ You will lose access to all content in this ${workspaceWord()}.`,
3880
+ title: "Leave Workspace"
3881
+ });
3882
+ if (!ok) return;
3883
+ try {
3884
+ await remove.mutateAsync([userId]);
3885
+ onLeft?.();
3886
+ notify(`Successfully left ${name}`, "success");
3887
+ } catch {
3888
+ notify("Failed to leave workspace", "error");
3889
+ }
3890
+ };
3891
+ return {
3892
+ workspace,
3893
+ members,
3894
+ role,
3895
+ isOwner,
3896
+ isMember,
3897
+ updateIdentity,
3898
+ setPublic,
3899
+ share,
3900
+ removeMember,
3901
+ leave,
3902
+ isSharing: add.isPending,
3903
+ isRemoving: remove.isPending
3904
+ };
3905
+ }
3906
+ var isAgentMember = (member) => member.user.external_id.startsWith("agt-");
3907
+ var memberName = (member) => member.user.family_name ? `${member.user.given_name} ${member.user.family_name}` : member.user.given_name;
3908
+ function ConnectedWorkspaceSettings({
3909
+ workspaceId,
3910
+ project,
3911
+ projectLine,
3912
+ membersTable,
3913
+ shareDialog,
3914
+ children,
3915
+ onExport,
3916
+ onOpenActivity,
3917
+ onLeft,
3918
+ testId = "workspace-settings-page"
3919
+ }) {
3920
+ const settings = useConnectedWorkspaceSettings(workspaceId, { onLeft });
3921
+ const { workspace, members, isOwner, isMember } = settings;
3922
+ const { data: userSettings } = useUserSettings();
3923
+ const isDeveloper = userSettings?.developer === true;
3924
+ const showAgents = userSettings?.show_agent_sessions ?? false;
3925
+ const visibleMembers = useMemo(
3926
+ () => showAgents ? members : members.filter((m) => !isAgentMember(m)),
3927
+ [members, showAgents]
3928
+ );
3929
+ const [membersExpanded, setMembersExpanded] = useState(false);
3930
+ const [shareOpen, setShareOpen] = useState(false);
3931
+ if (!workspace) {
3932
+ return /* @__PURE__ */ jsx(PageLoading, { children: /* @__PURE__ */ jsx(LoadingIndicator, { message: "Loading workspace..." }) });
3933
+ }
3934
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
3935
+ /* @__PURE__ */ jsxs(WorkspacePageFrame, { testId, children: [
3936
+ /* @__PURE__ */ jsxs(WorkspaceIdentityPanel, { children: [
3937
+ /* @__PURE__ */ jsx(
3938
+ EntityIdentityBar,
3939
+ {
3940
+ testId: "workspace-identity-bar",
3941
+ canEdit: isOwner,
3942
+ actions: isMember ? /* @__PURE__ */ jsx(
3943
+ ConnectedWorkspaceNotificationMenu,
3944
+ {
3945
+ workspaceId: workspace.external_id,
3946
+ onOpenActivity,
3947
+ testId: "workspace-home-notification-menu"
3948
+ }
3949
+ ) : void 0,
3950
+ fields: [
3951
+ {
3952
+ label: "Name",
3953
+ value: workspace.name,
3954
+ placeholder: "Untitled",
3955
+ maxLength: IDENTITY_NAME_MAX_LENGTH,
3956
+ valueClassName: "truncate text-base font-semibold",
3957
+ testId: "workspace-home-title",
3958
+ hideLabel: true,
3959
+ leading: /* @__PURE__ */ jsx(
3960
+ WorkspaceIdentity,
3961
+ {
3962
+ workspace: {
3963
+ ...toShellWorkspace(workspace),
3964
+ projectLine: projectLine?.(workspace)
3965
+ },
3966
+ expanded: false
3967
+ }
3968
+ ),
3969
+ trailing: project && /* @__PURE__ */ jsx(
3970
+ WorkspaceProjectSlot,
3971
+ {
3972
+ testId: "workspace-home-project",
3973
+ caption: `${getEntityLabel("PROJECT")}:`,
3974
+ children: project({ workspace, isOwner })
3975
+ }
3976
+ ),
3977
+ // Both fields go up together: the endpoint takes the pair.
3978
+ onSave: (name) => settings.updateIdentity({ name, description: workspace.description ?? "" })
3979
+ },
3980
+ {
3981
+ label: "Description",
3982
+ value: workspace.description ?? "",
3983
+ placeholder: "No description",
3984
+ multiline: true,
3985
+ valueClassName: "line-clamp-2 text-sm text-muted-foreground",
3986
+ testId: "workspace-home-description",
3987
+ hideLabel: true,
3988
+ trailing: /* @__PURE__ */ jsx(
3989
+ WorkspaceAudienceLine,
3990
+ {
3991
+ visibility: {
3992
+ testId: "workspace-home-visibility",
3993
+ caption: "Visibility:",
3994
+ toggle: isOwner && isDeveloper ? /* @__PURE__ */ jsx(
3995
+ CommonWorkspaceToggle,
3996
+ {
3997
+ isCommon: workspace.is_public ?? false,
3998
+ onToggle: (value) => void settings.setPublic(value),
3999
+ "data-testid": "workspace-visibility-toggle"
4000
+ }
4001
+ ) : void 0,
4002
+ stateText: workspace.is_public ? "Common \u2014 everyone on this deployment" : "Members only",
4003
+ stateHelp: workspace.is_public ? "Everyone on this deployment can see its files, not only its members." : "Only members of this workspace can see its files."
4004
+ },
4005
+ members: /* @__PURE__ */ jsx(
4006
+ MemberAvatarStack,
4007
+ {
4008
+ members: visibleMembers.map((m) => ({
4009
+ name: memberName(m),
4010
+ picture: m.user.picture
4011
+ })),
4012
+ total: visibleMembers.length,
4013
+ expanded: membersExpanded,
4014
+ onClick: () => setMembersExpanded((open) => !open),
4015
+ testId: "workspace-home-members-toggle"
4016
+ }
4017
+ ),
4018
+ share: isOwner && shareDialog ? {
4019
+ label: "Share",
4020
+ onClick: () => setShareOpen(true),
4021
+ testId: "workspace-quick-add-member"
4022
+ } : void 0
4023
+ }
4024
+ ),
4025
+ onSave: (description) => settings.updateIdentity({ name: workspace.name, description })
4026
+ }
4027
+ ]
4028
+ }
4029
+ ),
4030
+ isMember && membersTable && /* @__PURE__ */ jsx(
4031
+ ExpandableSection,
4032
+ {
4033
+ expanded: membersExpanded,
4034
+ testId: "workspace-settings-members-section",
4035
+ children: membersTable({
4036
+ workspace,
4037
+ members: visibleMembers,
4038
+ onRemove: settings.removeMember,
4039
+ isRemoving: settings.isRemoving
4040
+ })
4041
+ }
4042
+ )
4043
+ ] }),
4044
+ children,
4045
+ isMember && onExport && /* @__PURE__ */ jsx("div", { className: "flex justify-end px-4 pb-4", children: /* @__PURE__ */ jsxs(
4046
+ Button,
4047
+ {
4048
+ variant: "outline",
4049
+ size: "sm",
4050
+ onClick: onExport,
4051
+ "data-testid": "workspace-transfer-button",
4052
+ children: [
4053
+ /* @__PURE__ */ jsx(FolderInput, { className: "size-4" }),
4054
+ "Export, copy or move\u2026"
4055
+ ]
4056
+ }
4057
+ ) }),
4058
+ !isOwner && /* @__PURE__ */ jsx(
4059
+ LeaveFooter,
4060
+ {
4061
+ testId: "workspace-settings-footer",
4062
+ leave: {
4063
+ testId: "workspace-leave-button",
4064
+ label: settings.isRemoving ? "Leaving\u2026" : `Leave ${getEntityLabel("WORKSPACE").toLowerCase()}`,
4065
+ disabled: settings.isRemoving,
4066
+ onClick: () => void settings.leave()
4067
+ }
4068
+ }
4069
+ )
4070
+ ] }),
4071
+ isOwner && shareDialog?.({
4072
+ open: shareOpen,
4073
+ onOpenChange: setShareOpen,
4074
+ workspace,
4075
+ members: visibleMembers,
4076
+ onShare: settings.share,
4077
+ isSharing: settings.isSharing
4078
+ })
4079
+ ] });
4080
+ }
3724
4081
  function useConnectedDocxNotifications(onOpen) {
3725
4082
  const arbi = useArbi();
3726
4083
  const { status, user, apiUrl } = useConnection();
@@ -9267,6 +9624,6 @@ function ConnectedAgentChatPanel({
9267
9624
  ] });
9268
9625
  }
9269
9626
 
9270
- export { ArbiAppProvider, ConnectedAccountSettings, ConnectedAgentChatPanel, ConnectedAgentCreator, ConnectedCalendar, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedPasswordChangeDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedPublicBooking, ConnectedRequireVerified, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedTagTable, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedThreadFollow, ConnectedUpcomingEvents, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkspaceActivity, ConnectedWorkspaceNotificationMenu, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_SETTINGS_SECTIONS, NotificationCenter, NotificationEvent, SETTINGS_SECTION_IDS, SessionStatusIcon, StreamedArtifact, WorkflowRunThread, accountSettingsSection, bookingCancelLink, buildNotificationCenterItems, chatSettingsSection, countNotificationTypes, defaultUnmetPasswordRequirement, filterNotificationCenterItems, mailSettingsSection, openMeetingLink, privacySettingsSection, renderSessionStatusIcon, requestCalendarComposer, requestCalendarEvent, resolveMailbox, useCalendarViewStore, useConnectedDocxNotifications, useConnectedShellWorkspaces, useConnectedWorkNotifications, workflowRunView };
9627
+ export { ArbiAppProvider, ConnectedAccountSettings, ConnectedAgentChatPanel, ConnectedAgentCreator, ConnectedCalendar, ConnectedDangerZone, ConnectedIdentityVerification, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedPasswordChangeDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedPublicBooking, ConnectedRequireVerified, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedTagTable, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedThreadFollow, ConnectedUpcomingEvents, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkspaceActivity, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_SETTINGS_SECTIONS, NotificationCenter, NotificationEvent, SETTINGS_SECTION_IDS, SessionStatusIcon, StreamedArtifact, WorkflowRunThread, accountSettingsSection, bookingCancelLink, buildNotificationCenterItems, chatSettingsSection, countNotificationTypes, defaultUnmetPasswordRequirement, filterNotificationCenterItems, mailSettingsSection, openMeetingLink, privacySettingsSection, renderSessionStatusIcon, requestCalendarComposer, requestCalendarEvent, resolveMailbox, useCalendarViewStore, useConnectedDocxNotifications, useConnectedShellWorkspaces, useConnectedWorkNotifications, useConnectedWorkspaceSettings, workflowRunView };
9271
9628
  //# sourceMappingURL=index.js.map
9272
9629
  //# sourceMappingURL=index.js.map