@arbidocs/blocks 0.5.41 → 0.5.43
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.
- package/dist/{chunk-46WCQ4F3.js → chunk-HH34WKOC.js} +104 -79
- package/dist/{chunk-46WCQ4F3.js.map → chunk-HH34WKOC.js.map} +1 -1
- package/dist/{chunk-5ZHAHJ4H.cjs → chunk-TPNLYQD2.cjs} +9 -2
- package/dist/chunk-TPNLYQD2.cjs.map +1 -0
- package/dist/{chunk-CEO7YI7I.js → chunk-X7CXCEGO.js} +8 -3
- package/dist/chunk-X7CXCEGO.js.map +1 -0
- package/dist/{chunk-5V4HH7EH.cjs → chunk-XDMIVPJP.cjs} +104 -79
- package/dist/{chunk-5V4HH7EH.cjs.map → chunk-XDMIVPJP.cjs.map} +1 -1
- package/dist/collaboration/direct-messages/DmParts.d.ts +14 -4
- package/dist/collaboration/index.cjs +67 -67
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/index.cjs +601 -110
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +3 -0
- package/dist/connect/index.js +499 -11
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/people/ConnectedPeopleMultiSelect.d.ts +40 -0
- package/dist/connection/people/index.d.ts +1 -0
- package/dist/connection/people/invitation-message.d.ts +2 -0
- package/dist/connection/sharing/ConnectedShareDialog.d.ts +7 -0
- package/dist/connection/sharing/ResourceShareForm.d.ts +24 -0
- package/dist/connection/sharing/index.d.ts +1 -0
- package/dist/connection/sharing/useShareResource.d.ts +44 -0
- package/dist/connection/tips/useContextualHints.d.ts +13 -0
- package/dist/index.cjs +171 -123
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +43 -4
- package/dist/index.js.map +1 -1
- package/dist/tips/index.d.ts +2 -0
- package/dist/tips/useTipsPlacement.d.ts +24 -0
- package/dist/tips/visibility.d.ts +5 -0
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/chunk-5ZHAHJ4H.cjs.map +0 -1
- package/dist/chunk-CEO7YI7I.js.map +0 -1
package/dist/connect/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import '../chunk-MTSKK3BN.js';
|
|
|
25
25
|
import '../chunk-BTTUZZN3.js';
|
|
26
26
|
import { FactSourcesPanel, FactPassageItem } from '../chunk-HFZ45FD3.js';
|
|
27
27
|
import '../chunk-IA5BYEO7.js';
|
|
28
|
-
import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint, SharedCell, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, EntityTooltipStats, documentCount, tagTableDocx, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, Toolbar, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-
|
|
28
|
+
import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint, SharedCell, WorkspaceActivityList, WorkspaceNotificationMenu, ThreadFollowMenuItem, ThreadFollowButton, TagTable, TagPicker, tagsPageNouns, entitiesPhrase, ExtractEntitiesDialog, GridRowNavigator, LoadingIndicator, EntityIdentityBar, IDENTITY_NAME_MAX_LENGTH, EntityTooltipStats, documentCount, TIPS_VISIBILITY_OVERRIDE, tagTableDocx, setHintsSessionOverride, tagTableLabels, TagDetail, tagDetailLabels, tagNoteLabel, tagKindDescription, Toolbar, glossaryEntries, glossaryDocx, glossaryMarkdown, glossaryFileName } from '../chunk-X7CXCEGO.js';
|
|
29
29
|
import { MemberAvatarStack } from '../chunk-FUPAGAZB.js';
|
|
30
30
|
import { renderSearchSnippet, SearchGroupHeader, isMeaningMatch, extractHighlightTerms, passesRelevanceCutoff, groupSearchResults, SearchPillToggle, SearchPagination, SearchPageFrame, SearchPageHeader, ApplyLabelDialog, SearchPageBody, SearchToolbarRow, SearchBar, SearchControlsBar, RelevanceThreshold, SearchTotalsHeadline, ApplyLabelButton, getSearchMatchHint, SearchResultsMain, SearchResultsInner, SearchErrorBanner, SearchResultList, SearchGroupCard, SearchNoResults, SearchEmptyState } from '../chunk-G4IYES7G.js';
|
|
31
31
|
import { SearchHit } from '../chunk-XJA6TS6D.js';
|
|
@@ -35,7 +35,7 @@ import { ThemeEditor } from '../chunk-5ZBXFHZW.js';
|
|
|
35
35
|
import { TimelineZoomControl } from '../chunk-4EZVCGRL.js';
|
|
36
36
|
import '../chunk-UJE32SST.js';
|
|
37
37
|
import '../chunk-NHZK64TQ.js';
|
|
38
|
-
import { PlainMailBodyEditor, MemberNameCell, MemberMutedText, MemberRoleCell, MemberListLoading, MemberBulkActions, buildMailFolderTree, MailFolderTree, AddContactsResults, AddContactsForm, emailTokens, EMPTY_CONTACT_FORM, contactToForm, contactStatusLabel, summarizeImport, matchesContact, contactName, primaryEmail, draftMailCompose, replyMailCompose, emptyMailCompose, MailGrid, MailMessageView, DmThreadFrame, DmAccessRequestBanner, planContactInvites, MAX_INVITE_EMAILS, summarizeUnsentInvites, applyContactInviteResults, summarizeContactInvites, failContactInvites, validateContactForm, inviteEmail, formToContactCard, DEFAULT_CONTACT_OUTCOME_LABELS, contactOutcomeMessage, MailDocumentPicker, parseMailRecipients } from '../chunk-
|
|
38
|
+
import { PlainMailBodyEditor, MemberNameCell, MemberMutedText, MemberRoleCell, MemberListLoading, MemberBulkActions, buildMailFolderTree, MailFolderTree, AddContactsResults, AddContactsForm, emailTokens, EMPTY_CONTACT_FORM, contactToForm, contactStatusLabel, summarizeImport, matchesContact, contactName, primaryEmail, draftMailCompose, replyMailCompose, emptyMailCompose, MailGrid, MailMessageView, DmThreadFrame, DmAccessRequestBanner, RecipientPicker, planContactInvites, MAX_INVITE_EMAILS, summarizeUnsentInvites, applyContactInviteResults, summarizeContactInvites, failContactInvites, validateContactForm, inviteEmail, formToContactCard, DEFAULT_CONTACT_OUTCOME_LABELS, contactOutcomeMessage, MailDocumentPicker, parseMailRecipients } from '../chunk-HH34WKOC.js';
|
|
39
39
|
import '../chunk-NBV56SGU.js';
|
|
40
40
|
import { ErrorBoundary } from '../chunk-EQ3WRY2N.js';
|
|
41
41
|
import { LabelMultiSelectView } from '../chunk-JMQLTMJ7.js';
|
|
@@ -94,12 +94,12 @@ import { ModalSection, ModalHeader, ModalScaffold, ModalSectionTitle } from '../
|
|
|
94
94
|
import '../chunk-7F6CBP3Z.js';
|
|
95
95
|
import '../chunk-VUNV25KB.js';
|
|
96
96
|
import { QueryClient, useQueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
97
|
-
import { useWorkspaces, ArbiBotHeadIcon, IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, HtmlIcon, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useArbiWsStatus, useArbiWsStore, useUserSettings, useProcessingTask, useDocumentPendingSync, useWorkspaceUsers, useMessageTimer, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useArbiWebSocket, isNotificationRow, usePendingSyncItems, useCancelManyPendingSync, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useDismissedTips, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useUserUsageToday, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useIsSlow, useProducts, useCreateProject, useDeleteProject, useCanCreateProjects, PROJECT_CREATION_DENIED_REASON, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useProjectUsage, useRefreshProject, useBoxRole, useContacts, useInviteContacts, useDeleteWorkspaces, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, useKeepDocumentsOffline, useRemoveDocumentsOffline, subscribeDocumentRows, useGenerateDocTags, useRefreshDocuments, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, useDatabases, useCreateDatabase, useImportDatabase, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useChatArrivals, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, useIsEntitled, ImageCropper, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateConversation, useUpdateWorkflow, threadTabId, useCanEditShared, useActOnStep, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, useTransientView, useDeleteConversation, useIsWorkspaceOwner, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, cropImage, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, useCreateWorkspace, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, useSwitchWorkspace, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useDatabase, useDatabaseRows, useUpdateDatabase, useDeleteDatabase, useAddDatabaseRows, useUpdateDatabaseRow, useDeleteDatabaseRows, useImportDatabaseRows, useExportDatabase, DATABASE_ROWS_PAGE, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, useChatUnreadTotal, useUnreadByPeer, useConversationSearch, useProjectConversationUsage, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, useSearchDatabaseRows, isReplayableArbiMutation, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
|
|
97
|
+
import { useWorkspaces, ArbiBotHeadIcon, IN_FLIGHT_DOCUMENT_STATUSES, useOfflineDocumentIds, useOpenViewerDocumentId, FINISHED_DOCUMENT_STATUSES, useMailPolicy, useProcessingTasks, resolveDocumentStatus, useArbi, useIsCreatingTag, useUpdateDocuments, useDeleteDocuments, useRenameFolder, useDownloadDocuments, useTags, useDocumentHostActions, useDocumentThumbnails, HtmlIcon, useArbiSessionState, selectDraft, useArbiSessionStore, useAudioRecorder, MicRecordingOverlay, useArbiWsStatus, useArbiWsStore, useUserSettings, useProcessingTask, useDocumentPendingSync, useWorkspaceUsers, useMessageTimer, useDocuments, useAvailableModels, formatGbp, CitationRenderer, useArbiSession, buildMentionCandidates, useConversations, ASSISTANT_MENTION_LABEL, useConversationItems, useDeleteMessage, useArbiHost, transcriptSegmentOf, useConfig, useThinkingContent, useCreateFact, useCreateFacts, workflowStepOf, stripSpeakerPrefix, MessageArtifactCard, useConversationData, useBranchNavigation, useSkills, useBuiltinCommands, useDocumentsSupport, useConversationActivity, useMessageDetails, useWorkflows, getWorkspaceKind, resolveConfigModel, useRunConversation, useWorkspaceActivity, callLink, openCall, startDmCall, calendarQueryKeys, mailQueryKeys, arbiQueryKeys, invalidateConversationLists, isWorkspaceNotificationType, useNotifications, useDeleteNotifications, useMarkNotificationsRead, useCallsEnabled, serverNotificationBellEntry, documentDisplayName, useArbiWebSocket, isNotificationRow, usePendingSyncItems, useCancelManyPendingSync, useWorkspaceNotificationLevel, useFollowThread, useUploadSkillFiles, useSaveSkill, useSetSkillVisibility, useDeleteSkill, useSkillSource, useAgentModels, useMcpTools, useAgentConfig, useAgentWorkspaces, useCreateAgent, useSaveAgentConfig, useGrantAgentAccess, useRevokeAgentAccess, useGenerateAgentAvatar, useWorkflowRuns, useAgents, ArtifactCanvas, ConversationScope, useConversation, useTagKindSchema, useCreateTag, useSetTagValues, useUpdateTagKindSchema, useUpdateTag, useFacts, useDeleteTag, useExtractEntities, useEntityExtractionDocIds, useStartWorkspaceTransfer, useResumeWorkspaceTransfer, useCancelWorkspaceTransfer, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceExportDownload, usePlanWorkspaceTransfer, isTransferResumable, isTransferFinished, useShellWorkspaces, useProfile, useUpdateProfile, useRequestEmailChange, useConfirmEmailChange, useNameEditor, useAvatarCrop, useEmailChange, ImageCropModal, useIdentityVerification, usePasswordChange, usePasswordChangeForm, useNotificationPreferences, useSessions, useCurrentSessionId, useTerminateSession, useSignOut, useDeleteAccount, useDeleteAccountFlow, useMailClient, defaultMailAlias, useClaimNativeAlias, useMailOnline, useConnectMailAccount, useDisconnectMailAccount, useMailAccounts, useUpdateUserSettings, useDismissedTips, useConnectorVendorVisibility, useConnectorCatalog, useMyConnectors, useDisconnectConnector, useSlackConnection, useDisconnectSlack, isMailboxSyncVendor, isSharePointVendor, useWorkspaceTrash, useInvalidateStorage, useStorageActions, useStorageItems, useStorageItemNames, useStorageProjects, useUserUsageToday, useStorageSnapshots, useUpdateWorkspace, useAddWorkspaceMembers, useRemoveWorkspaceMembers, useSetWorkspaceMemberRoles, toShellWorkspace, useIsSlow, useProducts, useCreateProject, useDeleteProject, useCanCreateProjects, PROJECT_CREATION_DENIED_REASON, useEnableMailboxSync, useMailboxFolders, useEnableDriveSync, useDriveFolderChildren, connectorErrorStatus, useProjectInvoices, useProjects, useUpdateProjectFields, useChargeWatch, useAddonQuote, STILL_WORKING, useProjectBillingPortal, useProjectUsage, useRefreshProject, useBoxRole, useContacts, useInviteContacts, useDeleteWorkspaces, useCreateContact, useUpdateContact, useLinkContact, useEntitlements, useImportContacts, entitlementRefusal, useDeleteContact, MAX_RETRIEVE_DOC_IDS, useSemanticSearch, useAssignDocTags, useMailUnlock, useMailFolders, useMailMessages, useMailDraftCompose, useMailMessage, useMailCache, MailOfflineUnavailableError, accountPath, useCalendarEvents, useCalendars, useCanHostCalls, useOpenCallMeetingChat, usePeople, useFetchCalendarEvent, useCalendarSettings, useCalendarOverlays, useCalendarOutbox, useCalendarAccounts, useSyncAccountsOnOpen, useResumeCalendarAccountConnect, useCreateEvent, useUpdateEvent, useDeleteEvent, useMoveEvent, useRespondToEvent, useCreateCalendar, useUpdateCalendar, useDeleteCalendar, useImportCalendar, useSaveCalendarSettings, useRefreshCalendar, useCalendarEvent, useMailAttachmentText, useCalendarEventByUid, getPublicBookingPage, bookPublicSlot, PublicBookingError, isZipFile, prepareUploadFiles, UPLOAD_MAX_FILE_SIZE, filesFromDrop, UPLOAD_ACCEPT, useUploadFromUrls, useUploadFiles, useUpdateDocTag, useRemoveDocTags, useKeepDocumentsOffline, useRemoveDocumentsOffline, subscribeDocumentRows, useGenerateDocTags, useRefreshDocuments, useDocumentsLoading, selectViewingDocumentId, useRelatedDocuments, useDatabases, useCreateDatabase, useImportDatabase, myChatId, useChatThread, useChatPost, useDeleteChatMessage, useMarkChatRead, setOpenChat, useAgentDmStatus, annotateThread, userDisplayName, DmComposer, TypingIndicator, useRenameChat, useAddChatMembers, useRemoveChatMember, useChats, useChatSummaries, useCreateGroupChat, useChatArrivals, useApplyChatModel, AUTO_CHAT_MODEL, formatGbpPerMillionTokens, useConfigSchema, useSaveConfig, useConversationPendingAuth, openAccessRequest, useRequestWorkspaceAccess, useIsEntitled, ImageCropper, useCreateWork, useRunWorkflow, useStartTaskQuery, useCreateWorkflow, useUpdateConversation, useUpdateWorkflow, usePeopleSearch, threadTabId, useCanEditShared, useActOnStep, usePlanWork, useWorkItems, TaskThreadPendingError, useMentionCandidates, useAgentRunControl, useConnectRunStream, useAnswerAgentQuestion, useConversationIsShared, useWorkspaceRole, buildPendingFirstTurn, useConversationTurn, useAskAgain, getOrphanedLastMessage, refuseChatWhenOffline, useThreadDocument, useDocumentAutoAdd, useAutoSendDraft, READ_ONLY_MEETING_TEXT, useAgentSession, useStartAgentSession, useCloseAgentSession, downloadRecoveryFile, LinkedInIcon, GoogleIcon, AppleIcon, useCurrentUser, useTransientView, useDeleteConversation, useIsWorkspaceOwner, isQueuedCalendarWrite, DateSeparator, ChatBubble, isAliasTakenError, nextAliasSuggestion, aliasTakenMessage, mailJson, connectorReturnTo, DmAvatar, ConversationList, GitHubIcon, cropImage, getRelatedTotal, isDeploymentUserNotification, describeServerNotification, getWorkspaceActionText, getWorkspaceSentPhrase, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_TITLE, documentActivityPhrase, isSignatureNotificationType, inputRequestTitle, WORK_NOTIFICATION_LABELS, useConversationThreads, usePassageQuotes, useUpdateFact, useDeleteFact, useAccountClient, usePlanQuote, useCreateProjectCheckout, useInvalidateProjects, useCreateWorkspace, useDriveFolderDocCount, useChangeProjectPlan, useCancelProjectSubscription, usePreviewProjectPlanChange, useAddProjectAddonBlock, useSwitchWorkspace, fileAttachment, useMailProjects, useSaveMailDraft, useSendMail, useMailDraftReplaced, useCalendarInvitations, useDecideCounter, useSearchContacts, usePublishCalendar, useCalendarShares, useShareCalendar, useUnshareCalendar, useSubscribeCalendar, useHolidayCountries, useAddHolidayCalendar, cancelPublicBooking, useDatabase, useDatabaseRows, useUpdateDatabase, useDeleteDatabase, useAddDatabaseRows, useUpdateDatabaseRow, useDeleteDatabaseRows, useImportDatabaseRows, useExportDatabase, DATABASE_ROWS_PAGE, useInvalidateAfterTransfer, useConfigs, useSaveConfigField, useDeleteConfig, isFullConfig, useChatUnreadTotal, useUnreadByPeer, useMarkDocumentShared, useConversationSearch, useProjectConversationUsage, AiAnswer, ArbiWebSocketProvider, signatureNotificationPhrase, signatureRequestMeta, getNotificationTypeMeta, useMailDraftEditor, useFreeBusy, useFindTime, useCalendarSupport, useStartCalendarAccountOAuth, useConnectOAuthAccount, useBookingPages, useDeleteBookingPage, useRooms, useSearchDatabaseRows, isReplayableArbiMutation, SHAREPOINT_VENDORS, useUpdateProjectNextPeriodAddons, useUpdateProjectAddonSettings, useSyncCalendarAccount, useUpdateCalendarAccount, useDisconnectCalendarAccount, ACCOUNT_VENDOR, useCalDavProfiles, useConnectCalDavAccount, useSaveBookingPage, useCreateRoom } from '@arbidocs/react';
|
|
98
98
|
import { mergeAgentSteps, extractSubagentLanes, getCurrentStep, computeRunStats, formatTokens, isNearAiUsageBudget, getSubagentBranchRecord, buildCitationChunkData, topLevelAgentSteps, findMainSiblingLeaf, sliceToSubagentThread, getAgentStepLabel, subagentJobLabel, getStepDisplay, getStepTool, findLeafForTaskMessage, Arbi, FLAT_TAG_KINDS, getEligibleParentTags, canTagHaveParent, isFlatKind, TAG_NESTING_MAX_DEPTH, TAG_KINDS, formatFileSize, filterDocumentTags, isLabelTag, refusalReason, isPresenceTag, isAnnotationTag, flattenTagTree, tagsForScope, tagsOfGroup, chats, buildRetrievalFullContextTool, buildRetrievalChunkTool, getChildTags, tagUseCount, ArbiApiError, PRESENCE_KINDS, isEntityTag, DuplicateContactError, wouldCreateTagCycle, getTagDescendantIds } from '@arbidocs/sdk/browser';
|
|
99
99
|
import { isAbortError, browserSessionStateStorage, parseCallFragment, isMessageType, validateRecoveryKeyFile, RECOVERY_KEY_ERRORS, parseRecoveryUrl, prewarmKeyPairs, decryptRecoveryKey, unlockIdentityWithPassword, createRecoveryUrl, bytesToBase64, initSodium } from '@arbidocs/client';
|
|
100
100
|
import React9, { memo, useMemo, lazy, useRef, useEffect, useCallback, useState, forwardRef, useLayoutEffect, useImperativeHandle, createContext, useContext, Suspense, useSyncExternalStore, createElement, Fragment as Fragment$1, useId } from 'react';
|
|
101
101
|
import { Users, MessageCircleMore, SquarePen, BookOpen, MessagesSquare, Pencil, Download, Mail, FolderInput, Trash2, Eye, Sparkles, Play, ArrowDownToLine, RefreshCw, Zap, AlertTriangle, FileX, SkipForward, Loader2, Clock, CheckCircle, ArrowUpRight, Send, Settings, Edit3, Copy, Link, Share2, Check, Milestone, RotateCcw, FileText, Network, ChevronRight, Bell, Activity, Info, UserCheck, WifiOff, CircleCheck, Upload, Link2, Search, Plus, ArrowLeft, ExternalLink as ExternalLink$1, Tags, CheckCircle2, Monitor, UserCircle, KeyRound, Radio, LogOut, Wifi, Lock, HardDrive, User, HatGlasses, MessageSquare, PlugZap, Gauge, Cloud, XCircle, Building2, Palette, Type, Printer, SquareStack, Table, FolderKanban, Cake, X, UserRound, Star, Tag, Video, CalendarDays, MapPin, Globe, Calendar, Hash, File as File$1, FileType, FolderOpen, Fingerprint, Paperclip, TriangleAlert, LoaderCircle, NotebookPen, Columns3, EyeOff, ArrowUp, ArrowDown, ZoomOut, Camera, FilePlus2, UserMinus, UserPlus, UsersRound, Code2, Infinity, Bug, Crop, Undo2, ImageUp, ChevronDown, MoreHorizontal, Wrench, RotateCw, Square, BadgeCheck, Shield, ClipboardList, Table2, CheckCheck, FolderUp, ArrowUpCircle, Contact, Scale, BookA, Quote, Inbox, CalendarX, CalendarCheck, Phone, LogIn, Pause, Workflow, Minimize2, Maximize2, Minus, CalendarSearch, DoorOpen, AlertCircle } from 'lucide-react';
|
|
102
|
-
import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, getFileTypeIcon, DocumentEntity, getDocumentTitle, formatFolderLabel, getEntityLabel, getEntityColor, VisibilityIcon, formatFriendlyDate, getDocumentSubject, Badge, getTagTypeIcon, getTagTypeLabel, VisibilityToggle, TagEntity, ThreadVisibilityIcon, Button, isImageDocument, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, formatRelativeTime, ProviderIcon, EntityIcon, createUserAvatarIcon, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Label, Input, Textarea, tagKindNouns, tagKindTitle, IconToggle, Switch, Checkbox, entityNoun, DialogTrigger, EntityPill, ProjectEntity, Tabs, TabsList, TabsTrigger, TabsContent, getDocIcon, getDocumentNature, getDocumentAuthor, markdownToPlainText, formatDocDate, getDocumentDate, friendlyFileType, canonicalFolderPath, DebouncedInput, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Slider, AgentBadge, PresenceLabel, TooltipProvider, UserMenu, Popover, PopoverAnchor, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty,
|
|
102
|
+
import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, getFileTypeIcon, DocumentEntity, getDocumentTitle, formatFolderLabel, getEntityLabel, getEntityColor, VisibilityIcon, formatFriendlyDate, getDocumentSubject, Badge, getTagTypeIcon, getTagTypeLabel, VisibilityToggle, TagEntity, ThreadVisibilityIcon, Button, isImageDocument, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, formatRelativeTime, ProviderIcon, EntityIcon, createUserAvatarIcon, DialogHeader, DialogTitle, DialogDescription, DialogFooter, Label, Input, Textarea, tagKindNouns, tagKindTitle, IconToggle, Switch, Checkbox, entityNoun, DialogTrigger, EntityPill, ProjectEntity, Tabs, TabsList, TabsTrigger, TabsContent, getDocIcon, getDocumentNature, getDocumentAuthor, markdownToPlainText, formatDocDate, getDocumentDate, friendlyFileType, canonicalFolderPath, DebouncedInput, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Slider, AgentBadge, PresenceLabel, TooltipProvider, UserMenu, CommandGroup, CommandItem, Popover, PopoverAnchor, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, ScrollArea, ArbiIcon, ARBI_MARK_SRC, Card, CardHeader, CardTitle, CardContent, VerifiedToggle, Progress } from '@arbidocs/react/ui';
|
|
103
103
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
104
104
|
import { hasMessageBody, notify, linkMentions, useNotify, sharedSearchSession, takePendingSearch, selectUnread, NotificationBell, useTurnDocumentId, useOpenDocumentId, useRegisterOpenDocument } from '@arbidocs/react/shell';
|
|
105
105
|
import { SIGNED_LOCKED_REASON, isSignedVersion, currentHasMarkup, fetchMarkupPdf, downloadBlob, useIsOnline, DocumentToolsProvider, useOptionalDocumentTools, fetchDocumentPdf, useSignatureVerification, SignatureVerificationError } from '@arbidocs/react/document-tools';
|
|
@@ -10338,6 +10338,18 @@ function ConnectedRecentlyDeletedButton({
|
|
|
10338
10338
|
] })
|
|
10339
10339
|
] });
|
|
10340
10340
|
}
|
|
10341
|
+
|
|
10342
|
+
// src/connection/people/invitation-message.ts
|
|
10343
|
+
function invitationMessage(emails, workspaceWord2) {
|
|
10344
|
+
const missing = emails.length === 1 ? `${emails[0]} isn't on the platform yet.` : `These users aren't on the platform yet:
|
|
10345
|
+
${emails.join("\n")}`;
|
|
10346
|
+
const destination = workspaceWord2 ? ` to this ${workspaceWord2}` : "";
|
|
10347
|
+
return `${missing}
|
|
10348
|
+
|
|
10349
|
+
Invite them by email? Once they sign up, they'll usually get access${destination} automatically \u2014 if not, they can request it themselves.`;
|
|
10350
|
+
}
|
|
10351
|
+
|
|
10352
|
+
// src/connection/workspace-settings/useConnectedWorkspaceSettings.ts
|
|
10341
10353
|
function errorDetail(err) {
|
|
10342
10354
|
const e = err;
|
|
10343
10355
|
const detail = e?.detail ?? e?.apiError?.detail ?? e?.response?.data?.detail ?? e?.error?.detail;
|
|
@@ -10350,10 +10362,6 @@ function errorStatus(err) {
|
|
|
10350
10362
|
return e?.status ?? e?.response?.status;
|
|
10351
10363
|
}
|
|
10352
10364
|
var workspaceWord = () => getEntityLabel("WORKSPACE").toLowerCase();
|
|
10353
|
-
var inviteMessage = (emails) => `${emails.length === 1 ? `${emails[0]} isn't on the platform yet.` : `These users aren't on the platform yet:
|
|
10354
|
-
${emails.join("\n")}`}
|
|
10355
|
-
|
|
10356
|
-
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.`;
|
|
10357
10365
|
function useConnectedWorkspaceSettings(workspaceId, { onLeft } = {}) {
|
|
10358
10366
|
const { notify: notify18, confirm } = useBlocksEnvironment();
|
|
10359
10367
|
const { workspaceId: openWorkspaceId, userId } = useConnectedWorkspace();
|
|
@@ -10434,7 +10442,7 @@ function useConnectedWorkspaceSettings(workspaceId, { onLeft } = {}) {
|
|
|
10434
10442
|
);
|
|
10435
10443
|
}
|
|
10436
10444
|
if (unknown.length > 0 && await confirm({
|
|
10437
|
-
message:
|
|
10445
|
+
message: invitationMessage(unknown, workspaceWord()),
|
|
10438
10446
|
title: "Invite by email?",
|
|
10439
10447
|
kind: "yesno"
|
|
10440
10448
|
})) {
|
|
@@ -10450,7 +10458,7 @@ function useConnectedWorkspaceSettings(workspaceId, { onLeft } = {}) {
|
|
|
10450
10458
|
const notRegistered = status === 404 || lower.includes("not found") || lower.includes("no user") || lower.includes("does not exist") || lower.includes("user not registered");
|
|
10451
10459
|
if (notRegistered) {
|
|
10452
10460
|
if (await confirm({
|
|
10453
|
-
message:
|
|
10461
|
+
message: invitationMessage(emails, workspaceWord()),
|
|
10454
10462
|
title: "Invite by email?",
|
|
10455
10463
|
kind: "yesno"
|
|
10456
10464
|
})) {
|
|
@@ -33106,7 +33114,468 @@ function Inner() {
|
|
|
33106
33114
|
function WorkflowLaunchHost() {
|
|
33107
33115
|
return useWorkflowLaunchRequest() ? /* @__PURE__ */ jsx(Inner, {}) : null;
|
|
33108
33116
|
}
|
|
33117
|
+
function isNeedsConfirmationDetail(detail) {
|
|
33118
|
+
return typeof detail === "object" && detail !== null && detail.needs_confirmation === "resource_private";
|
|
33119
|
+
}
|
|
33120
|
+
function extractDetail(err) {
|
|
33121
|
+
const error = err;
|
|
33122
|
+
return error?.detail ?? error?.response?.data?.detail ?? error?.error?.detail;
|
|
33123
|
+
}
|
|
33124
|
+
function isNotFoundError(err) {
|
|
33125
|
+
const error = err;
|
|
33126
|
+
const status = error?.status ?? error?.response?.status;
|
|
33127
|
+
const detail = extractDetail(err);
|
|
33128
|
+
const detailStr = typeof detail === "string" ? detail.toLowerCase() : "";
|
|
33129
|
+
return status === 404 || detailStr.includes("not found") || detailStr.includes("no user") || detailStr.includes("does not exist");
|
|
33130
|
+
}
|
|
33131
|
+
function groupByRole(entries) {
|
|
33132
|
+
const groups = /* @__PURE__ */ new Map();
|
|
33133
|
+
for (const { email, role } of entries) {
|
|
33134
|
+
const group = groups.get(role);
|
|
33135
|
+
if (group) group.push(email);
|
|
33136
|
+
else groups.set(role, [email]);
|
|
33137
|
+
}
|
|
33138
|
+
return groups;
|
|
33139
|
+
}
|
|
33140
|
+
function useShareResource({
|
|
33141
|
+
workspaceExtId,
|
|
33142
|
+
resourceType,
|
|
33143
|
+
resourceExtId,
|
|
33144
|
+
resourceName,
|
|
33145
|
+
memberEmails = []
|
|
33146
|
+
}) {
|
|
33147
|
+
const { confirm, notify: notify18 } = useBlocksEnvironment();
|
|
33148
|
+
const addWorkspaceUsersMutation = useAddWorkspaceMembers();
|
|
33149
|
+
const [isSharing, setIsSharing] = useState(false);
|
|
33150
|
+
const memberEmailSet = new Set(memberEmails.map((e) => e.toLowerCase()));
|
|
33151
|
+
const submit = (emails, role, extra) => addWorkspaceUsersMutation.mutateAsync({
|
|
33152
|
+
emails,
|
|
33153
|
+
role,
|
|
33154
|
+
workspace_ext_id: workspaceExtId,
|
|
33155
|
+
resource_type: resourceType,
|
|
33156
|
+
resource_ext_id: resourceExtId,
|
|
33157
|
+
...extra
|
|
33158
|
+
});
|
|
33159
|
+
const shareResource = async (entries, shareWithWorkspace) => {
|
|
33160
|
+
if (entries.length === 0) return "error";
|
|
33161
|
+
setIsSharing(true);
|
|
33162
|
+
try {
|
|
33163
|
+
let confirmShare = shareWithWorkspace;
|
|
33164
|
+
const notFoundByRole = /* @__PURE__ */ new Map();
|
|
33165
|
+
for (const [role, emails] of groupByRole(entries)) {
|
|
33166
|
+
let response = null;
|
|
33167
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
33168
|
+
try {
|
|
33169
|
+
response = await submit(emails, role, confirmShare ? { confirm_share: true } : {});
|
|
33170
|
+
break;
|
|
33171
|
+
} catch (err) {
|
|
33172
|
+
const detail = extractDetail(err);
|
|
33173
|
+
if (isNeedsConfirmationDetail(detail) && !confirmShare) {
|
|
33174
|
+
const label = resourceType === "document" ? "document" : "conversation";
|
|
33175
|
+
const displayName = detail.resource_name || resourceName || "Untitled";
|
|
33176
|
+
const confirmed = await confirm({
|
|
33177
|
+
message: `"${displayName}" is currently private. Sharing it will make it visible to everyone in this workspace, not just ${emails.length === 1 ? emails[0] : "the people you selected"}. Continue?`,
|
|
33178
|
+
title: `Share private ${label}`,
|
|
33179
|
+
kind: "yesno"
|
|
33180
|
+
});
|
|
33181
|
+
if (!confirmed) return "cancelled";
|
|
33182
|
+
confirmShare = true;
|
|
33183
|
+
continue;
|
|
33184
|
+
}
|
|
33185
|
+
if (isNotFoundError(err)) {
|
|
33186
|
+
response = [];
|
|
33187
|
+
break;
|
|
33188
|
+
}
|
|
33189
|
+
throw err;
|
|
33190
|
+
}
|
|
33191
|
+
}
|
|
33192
|
+
const addedEmails = new Set((response || []).map((wu) => wu.user.email.toLowerCase()));
|
|
33193
|
+
const groupNotFound = emails.filter(
|
|
33194
|
+
(email) => !addedEmails.has(email.toLowerCase()) && !memberEmailSet.has(email.toLowerCase())
|
|
33195
|
+
);
|
|
33196
|
+
if (groupNotFound.length > 0) notFoundByRole.set(role, groupNotFound);
|
|
33197
|
+
}
|
|
33198
|
+
const allNotFound = [...notFoundByRole.values()].flat();
|
|
33199
|
+
const handledCount = entries.length - allNotFound.length;
|
|
33200
|
+
if (allNotFound.length > 0) {
|
|
33201
|
+
const shouldInvite = await confirm({
|
|
33202
|
+
message: invitationMessage(allNotFound),
|
|
33203
|
+
title: allNotFound.length === 1 ? "User not found" : "Users not found",
|
|
33204
|
+
kind: "yesno"
|
|
33205
|
+
});
|
|
33206
|
+
if (shouldInvite) {
|
|
33207
|
+
for (const [role, emails] of notFoundByRole) {
|
|
33208
|
+
await submit(emails, role, {
|
|
33209
|
+
confirm_invite: true,
|
|
33210
|
+
...confirmShare ? { confirm_share: true } : {}
|
|
33211
|
+
});
|
|
33212
|
+
}
|
|
33213
|
+
} else if (handledCount === 0) {
|
|
33214
|
+
return "cancelled";
|
|
33215
|
+
}
|
|
33216
|
+
}
|
|
33217
|
+
notify18("Shared successfully", "success");
|
|
33218
|
+
return "shared";
|
|
33219
|
+
} catch (err) {
|
|
33220
|
+
console.error("Failed to share resource:", err);
|
|
33221
|
+
notify18("Failed to share", "error");
|
|
33222
|
+
return "error";
|
|
33223
|
+
} finally {
|
|
33224
|
+
setIsSharing(false);
|
|
33225
|
+
}
|
|
33226
|
+
};
|
|
33227
|
+
return { shareResource, isSharing };
|
|
33228
|
+
}
|
|
33229
|
+
function ConnectedPeopleMultiSelect({
|
|
33230
|
+
includeAgents = false,
|
|
33231
|
+
selectedUsers,
|
|
33232
|
+
onSelectionChange,
|
|
33233
|
+
allowEmailEntry = false,
|
|
33234
|
+
excludeEmails = [],
|
|
33235
|
+
memberEmails = [],
|
|
33236
|
+
showContactToggle = false,
|
|
33237
|
+
showPresence = false,
|
|
33238
|
+
placeholder = "Select users...",
|
|
33239
|
+
emptyMessage = "No users available",
|
|
33240
|
+
actionSlot,
|
|
33241
|
+
renderChipExtra
|
|
33242
|
+
}) {
|
|
33243
|
+
const [open, setOpen] = useState(false);
|
|
33244
|
+
const [searchValue, setSearchValue] = useState("");
|
|
33245
|
+
const selectedIds = useMemo(
|
|
33246
|
+
() => new Set(selectedUsers.map((u) => u.id.toLowerCase())),
|
|
33247
|
+
[selectedUsers]
|
|
33248
|
+
);
|
|
33249
|
+
const selectedEmails = useMemo(
|
|
33250
|
+
() => new Set(selectedUsers.map((u) => u.email.toLowerCase())),
|
|
33251
|
+
[selectedUsers]
|
|
33252
|
+
);
|
|
33253
|
+
const excludeSet = useMemo(
|
|
33254
|
+
() => /* @__PURE__ */ new Set([...excludeEmails.map((e) => e.toLowerCase())]),
|
|
33255
|
+
[excludeEmails]
|
|
33256
|
+
);
|
|
33257
|
+
const memberSet = useMemo(() => new Set(memberEmails.map((e) => e.toLowerCase())), [memberEmails]);
|
|
33258
|
+
const { people } = usePeopleSearch(searchValue, { agents: includeAgents });
|
|
33259
|
+
const availablePeople = useMemo(
|
|
33260
|
+
() => people.filter((p) => !excludeSet.has(p.email.toLowerCase())),
|
|
33261
|
+
[people, excludeSet]
|
|
33262
|
+
);
|
|
33263
|
+
const isSelected = useCallback(
|
|
33264
|
+
(id, email) => selectedIds.has(id.toLowerCase()) || selectedEmails.has(email.toLowerCase()),
|
|
33265
|
+
[selectedIds, selectedEmails]
|
|
33266
|
+
);
|
|
33267
|
+
const isValidEmail = (value) => {
|
|
33268
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
33269
|
+
return emailRegex.test(value.trim());
|
|
33270
|
+
};
|
|
33271
|
+
const isEmailExcluded = useCallback(
|
|
33272
|
+
(email) => excludeSet.has(email.toLowerCase()),
|
|
33273
|
+
[excludeSet]
|
|
33274
|
+
);
|
|
33275
|
+
const isEmailSelected = useCallback(
|
|
33276
|
+
(email) => selectedEmails.has(email.toLowerCase()),
|
|
33277
|
+
[selectedEmails]
|
|
33278
|
+
);
|
|
33279
|
+
const selectionId = (person) => person.user?.external_id ?? person.email.toLowerCase();
|
|
33280
|
+
const togglePerson = (person) => {
|
|
33281
|
+
const id = selectionId(person);
|
|
33282
|
+
if (isSelected(id, person.email)) {
|
|
33283
|
+
onSelectionChange(
|
|
33284
|
+
selectedUsers.filter(
|
|
33285
|
+
(u) => u.id.toLowerCase() !== id.toLowerCase() && u.email.toLowerCase() !== person.email.toLowerCase()
|
|
33286
|
+
)
|
|
33287
|
+
);
|
|
33288
|
+
} else {
|
|
33289
|
+
onSelectionChange([
|
|
33290
|
+
...selectedUsers,
|
|
33291
|
+
person.user ? { id, email: person.user.email, user: person.user } : { id, email: person.email.toLowerCase() }
|
|
33292
|
+
]);
|
|
33293
|
+
}
|
|
33294
|
+
setSearchValue("");
|
|
33295
|
+
};
|
|
33296
|
+
const addEmail = () => {
|
|
33297
|
+
const email = searchValue.trim().toLowerCase();
|
|
33298
|
+
if (email && isValidEmail(email) && !isEmailExcluded(email) && !isEmailSelected(email)) {
|
|
33299
|
+
onSelectionChange([...selectedUsers, { id: email, email }]);
|
|
33300
|
+
setSearchValue("");
|
|
33301
|
+
setOpen(false);
|
|
33302
|
+
}
|
|
33303
|
+
};
|
|
33304
|
+
const removeUser = (id) => {
|
|
33305
|
+
onSelectionChange(selectedUsers.filter((u) => u.id.toLowerCase() !== id.toLowerCase()));
|
|
33306
|
+
};
|
|
33307
|
+
const canAddEmail = allowEmailEntry && searchValue && isValidEmail(searchValue) && !isEmailExcluded(searchValue) && !isEmailSelected(searchValue) && !availablePeople.some((p) => p.email.toLowerCase() === searchValue.trim().toLowerCase());
|
|
33308
|
+
const getEmptyMessage = () => {
|
|
33309
|
+
if (!searchValue.trim()) return emptyMessage;
|
|
33310
|
+
if (allowEmailEntry) {
|
|
33311
|
+
if (!isValidEmail(searchValue)) return "Type a valid email address";
|
|
33312
|
+
if (isEmailExcluded(searchValue)) return "This user is already a member";
|
|
33313
|
+
if (isEmailSelected(searchValue)) return "Already selected";
|
|
33314
|
+
}
|
|
33315
|
+
return "No matching users";
|
|
33316
|
+
};
|
|
33317
|
+
return /* @__PURE__ */ jsx(
|
|
33318
|
+
RecipientPicker,
|
|
33319
|
+
{
|
|
33320
|
+
layout: "field",
|
|
33321
|
+
selected: selectedUsers.map((selected) => ({
|
|
33322
|
+
id: selected.id,
|
|
33323
|
+
identity: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
33324
|
+
selected.user ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
33325
|
+
/* @__PURE__ */ jsx(
|
|
33326
|
+
ConnectedUserEntity,
|
|
33327
|
+
{
|
|
33328
|
+
user: selected.user,
|
|
33329
|
+
size: "xs",
|
|
33330
|
+
variant: "pill",
|
|
33331
|
+
showPresence,
|
|
33332
|
+
interactive: false
|
|
33333
|
+
}
|
|
33334
|
+
),
|
|
33335
|
+
showContactToggle && /* @__PURE__ */ jsx(ConnectedContactToggle, { user: selected.user })
|
|
33336
|
+
] }) : /* @__PURE__ */ jsx("span", { className: "text-sm truncate", children: selected.email }),
|
|
33337
|
+
renderChipExtra?.(selected)
|
|
33338
|
+
] })
|
|
33339
|
+
})),
|
|
33340
|
+
onRemove: removeUser,
|
|
33341
|
+
candidates: availablePeople.map((person) => {
|
|
33342
|
+
const id = selectionId(person), selected = isSelected(id, person.email), isMember = memberSet.has(person.email.toLowerCase());
|
|
33343
|
+
return {
|
|
33344
|
+
id,
|
|
33345
|
+
value: `person-${id}`,
|
|
33346
|
+
identity: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
33347
|
+
/* @__PURE__ */ jsx(
|
|
33348
|
+
Check,
|
|
33349
|
+
{
|
|
33350
|
+
className: `mr-2 h-4 w-4 shrink-0 ${selected ? "opacity-100" : "opacity-0"}`
|
|
33351
|
+
}
|
|
33352
|
+
),
|
|
33353
|
+
person.user ? /* @__PURE__ */ jsx(
|
|
33354
|
+
ConnectedUserEntity,
|
|
33355
|
+
{
|
|
33356
|
+
user: person.user,
|
|
33357
|
+
size: "xs",
|
|
33358
|
+
variant: "pill",
|
|
33359
|
+
showPresence,
|
|
33360
|
+
interactive: false
|
|
33361
|
+
}
|
|
33362
|
+
) : /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
|
|
33363
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm", children: person.name }),
|
|
33364
|
+
person.name !== person.email && /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-muted-foreground", children: person.email })
|
|
33365
|
+
] }),
|
|
33366
|
+
isMember ? /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: "Member" }) : !person.user && /* @__PURE__ */ jsx("span", { className: "ml-auto pl-2 text-xs text-muted-foreground", children: "Invite" })
|
|
33367
|
+
] })
|
|
33368
|
+
};
|
|
33369
|
+
}),
|
|
33370
|
+
onPick: (id) => {
|
|
33371
|
+
const person = availablePeople.find((p) => selectionId(p) === id);
|
|
33372
|
+
if (person) togglePerson(person);
|
|
33373
|
+
},
|
|
33374
|
+
canAdd: true,
|
|
33375
|
+
isOpen: open,
|
|
33376
|
+
onOpenChange: setOpen,
|
|
33377
|
+
search: searchValue,
|
|
33378
|
+
onSearchChange: setSearchValue,
|
|
33379
|
+
hasNoKnownUsers: false,
|
|
33380
|
+
labels: {
|
|
33381
|
+
selectRecipient: placeholder,
|
|
33382
|
+
searchUsers: allowEmailEntry ? "Search or type email..." : "Search users...",
|
|
33383
|
+
removeRecipient: "Remove"
|
|
33384
|
+
},
|
|
33385
|
+
triggerTestId: "user-multi-select-trigger",
|
|
33386
|
+
candidateHeading: "People",
|
|
33387
|
+
emptyContent: canAddEmail ? null : getEmptyMessage(),
|
|
33388
|
+
actionSlot,
|
|
33389
|
+
beforeCandidates: canAddEmail && /* @__PURE__ */ jsx(CommandGroup, { heading: "Add by email", children: /* @__PURE__ */ jsxs(
|
|
33390
|
+
CommandItem,
|
|
33391
|
+
{
|
|
33392
|
+
value: `add-email-${searchValue}`,
|
|
33393
|
+
onSelect: addEmail,
|
|
33394
|
+
className: "cursor-pointer",
|
|
33395
|
+
children: [
|
|
33396
|
+
/* @__PURE__ */ jsx(Plus, { className: "mr-2 h-4 w-4 shrink-0" }),
|
|
33397
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col", children: [
|
|
33398
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm", children: [
|
|
33399
|
+
"Add \u201C",
|
|
33400
|
+
searchValue,
|
|
33401
|
+
"\u201D"
|
|
33402
|
+
] }),
|
|
33403
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Not in your contacts or workspaces yet. ARBI checks for an account when you add them." })
|
|
33404
|
+
] })
|
|
33405
|
+
]
|
|
33406
|
+
},
|
|
33407
|
+
`add-email-${searchValue}`
|
|
33408
|
+
) })
|
|
33409
|
+
}
|
|
33410
|
+
);
|
|
33411
|
+
}
|
|
33412
|
+
var ALL_ROLES2 = [
|
|
33413
|
+
{ value: "owner", label: "Owner" },
|
|
33414
|
+
{ value: "collaborator", label: "Collaborator" },
|
|
33415
|
+
{ value: "guest", label: "Guest" }
|
|
33416
|
+
];
|
|
33417
|
+
function ResourceShareForm({
|
|
33418
|
+
resourceType,
|
|
33419
|
+
resourceExtId,
|
|
33420
|
+
workspaceExtId,
|
|
33421
|
+
resourceName,
|
|
33422
|
+
isPrivate,
|
|
33423
|
+
onDone,
|
|
33424
|
+
disabled = false
|
|
33425
|
+
}) {
|
|
33426
|
+
const [selectedUsers, setPeopleSelections] = useState([]);
|
|
33427
|
+
const [rolesByEmail, setRolesByEmail] = useState({});
|
|
33428
|
+
const [shareWithWorkspace, setShareWithWorkspace] = useState(isPrivate);
|
|
33429
|
+
const { data: workspaces = [] } = useWorkspaces();
|
|
33430
|
+
const markDocumentShared = useMarkDocumentShared();
|
|
33431
|
+
const workspace = useMemo(
|
|
33432
|
+
() => workspaces.find((ws) => ws.external_id === workspaceExtId),
|
|
33433
|
+
[workspaces, workspaceExtId]
|
|
33434
|
+
);
|
|
33435
|
+
const memberEmailSet = useMemo(
|
|
33436
|
+
() => new Set((workspace?.users ?? []).map((wu) => wu.user.email.toLowerCase())),
|
|
33437
|
+
[workspace]
|
|
33438
|
+
);
|
|
33439
|
+
const memberRoleByEmail = useMemo(
|
|
33440
|
+
() => new Map((workspace?.users ?? []).map((wu) => [wu.user.email.toLowerCase(), wu.role])),
|
|
33441
|
+
[workspace]
|
|
33442
|
+
);
|
|
33443
|
+
const { shareResource, isSharing } = useShareResource({
|
|
33444
|
+
workspaceExtId,
|
|
33445
|
+
resourceType,
|
|
33446
|
+
resourceExtId,
|
|
33447
|
+
resourceName,
|
|
33448
|
+
memberEmails: [...memberEmailSet]
|
|
33449
|
+
});
|
|
33450
|
+
const label = resourceType === "document" ? "document" : "conversation";
|
|
33451
|
+
const workspaceLabel = getEntityLabel("WORKSPACE").toLowerCase();
|
|
33452
|
+
const handleSubmit = async () => {
|
|
33453
|
+
if (disabled || selectedUsers.length === 0) return;
|
|
33454
|
+
const entries = selectedUsers.map((u) => {
|
|
33455
|
+
const lower = u.email.toLowerCase();
|
|
33456
|
+
const role = memberEmailSet.has(lower) ? memberRoleByEmail.get(lower) : rolesByEmail[u.email] ?? "collaborator";
|
|
33457
|
+
return { email: u.email, role };
|
|
33458
|
+
});
|
|
33459
|
+
const result = await shareResource(entries, shareWithWorkspace);
|
|
33460
|
+
if (result === "shared") {
|
|
33461
|
+
if (resourceType === "document" && shareWithWorkspace) {
|
|
33462
|
+
markDocumentShared(resourceExtId);
|
|
33463
|
+
}
|
|
33464
|
+
setPeopleSelections([]);
|
|
33465
|
+
setRolesByEmail({});
|
|
33466
|
+
onDone();
|
|
33467
|
+
}
|
|
33468
|
+
};
|
|
33469
|
+
const canSubmit = !disabled && selectedUsers.length > 0 && (!isPrivate || shareWithWorkspace);
|
|
33470
|
+
const renderChipExtra = (selected) => {
|
|
33471
|
+
const lower = selected.email.toLowerCase();
|
|
33472
|
+
if (memberEmailSet.has(lower)) {
|
|
33473
|
+
const memberRole = memberRoleByEmail.get(lower);
|
|
33474
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 shrink-0", children: [
|
|
33475
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Member" }),
|
|
33476
|
+
/* @__PURE__ */ jsx(Badge, { variant: "default", className: getRoleBadgeClass(memberRole), children: formatRole(memberRole) })
|
|
33477
|
+
] });
|
|
33478
|
+
}
|
|
33479
|
+
const role = rolesByEmail[selected.email] ?? "collaborator";
|
|
33480
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5 shrink-0", children: /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
33481
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsxs(
|
|
33482
|
+
Select,
|
|
33483
|
+
{
|
|
33484
|
+
value: role,
|
|
33485
|
+
onValueChange: (value) => setRolesByEmail((prev) => ({ ...prev, [selected.email]: value })),
|
|
33486
|
+
children: [
|
|
33487
|
+
/* @__PURE__ */ jsx(SelectTrigger, { className: "h-7 w-[120px]", children: /* @__PURE__ */ jsx(SelectValue, { children: /* @__PURE__ */ jsx(Badge, { variant: "default", className: getRoleBadgeClass(role), children: formatRole(role) }) }) }),
|
|
33488
|
+
/* @__PURE__ */ jsx(SelectContent, { children: ALL_ROLES2.map((r) => /* @__PURE__ */ jsx(SelectItem, { value: r.value, children: /* @__PURE__ */ jsx(Badge, { variant: "default", className: getRoleBadgeClass(r.value), children: r.label }) }, r.value)) })
|
|
33489
|
+
]
|
|
33490
|
+
}
|
|
33491
|
+
) }) }),
|
|
33492
|
+
/* @__PURE__ */ jsx(TooltipContent, { side: "left", className: "max-w-[300px]", children: /* @__PURE__ */ jsx("p", { children: getRoleDescription(role) }) })
|
|
33493
|
+
] }) });
|
|
33494
|
+
};
|
|
33495
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
33496
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
33497
|
+
"Adding someone here invites them into",
|
|
33498
|
+
" ",
|
|
33499
|
+
workspace?.name ? `"${workspace.name}"` : `this ${workspaceLabel}`,
|
|
33500
|
+
". Anyone not already a member will be added with the role you choose below."
|
|
33501
|
+
] }),
|
|
33502
|
+
isPrivate && /* @__PURE__ */ jsxs(ModalSection, { className: "space-y-2", children: [
|
|
33503
|
+
/* @__PURE__ */ jsx(
|
|
33504
|
+
VisibilityToggle,
|
|
33505
|
+
{
|
|
33506
|
+
items: { shared: shareWithWorkspace },
|
|
33507
|
+
onToggle: setShareWithWorkspace,
|
|
33508
|
+
"data-testid": "share-resource-visibility-toggle"
|
|
33509
|
+
}
|
|
33510
|
+
),
|
|
33511
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: shareWithWorkspace ? `This ${label} is private today. Sharing it will make it visible to everyone in this ${workspaceLabel}, not just the people below.` : `Turn this on to share the ${label} \u2014 it can't be shared with specific people while it stays private.` })
|
|
33512
|
+
] }),
|
|
33513
|
+
/* @__PURE__ */ jsx(
|
|
33514
|
+
ConnectedPeopleMultiSelect,
|
|
33515
|
+
{
|
|
33516
|
+
includeAgents: true,
|
|
33517
|
+
selectedUsers,
|
|
33518
|
+
onSelectionChange: setPeopleSelections,
|
|
33519
|
+
allowEmailEntry: true,
|
|
33520
|
+
memberEmails: [...memberEmailSet],
|
|
33521
|
+
placeholder: "Search contacts or type email...",
|
|
33522
|
+
emptyMessage: "Type a name or email to share with",
|
|
33523
|
+
renderChipExtra
|
|
33524
|
+
}
|
|
33525
|
+
),
|
|
33526
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-2 pt-2", children: [
|
|
33527
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", onClick: onDone, disabled: isSharing, children: "Cancel" }),
|
|
33528
|
+
/* @__PURE__ */ jsx(Button, { onClick: handleSubmit, disabled: !canSubmit || isSharing, children: isSharing ? "Sharing..." : `Share${selectedUsers.length > 0 ? ` with ${selectedUsers.length}` : ""}` })
|
|
33529
|
+
] })
|
|
33530
|
+
] });
|
|
33531
|
+
}
|
|
33532
|
+
function ConnectedShareDialog({ request, onClose }) {
|
|
33533
|
+
const { live } = useConnectedWorkspace();
|
|
33534
|
+
const identity = request ? `${request.workspaceExtId}:${request.resourceType}:${request.resourceExtId}` : null;
|
|
33535
|
+
const intent = useRef({ identity, generation: 0 });
|
|
33536
|
+
if (intent.current.identity !== identity) {
|
|
33537
|
+
intent.current = { identity, generation: intent.current.generation + 1 };
|
|
33538
|
+
}
|
|
33539
|
+
const generation = intent.current.generation;
|
|
33540
|
+
const label = request?.resourceType === "document" ? "document" : "conversation";
|
|
33541
|
+
const title = request?.resourceName ? `Share "${request.resourceName}"` : `Share ${label}`;
|
|
33542
|
+
return /* @__PURE__ */ jsx(Dialog, { open: request !== null, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxs(
|
|
33543
|
+
DialogContent,
|
|
33544
|
+
{
|
|
33545
|
+
presentation: "sheet",
|
|
33546
|
+
className: "sm:max-w-[500px]",
|
|
33547
|
+
"data-testid": "resource-share-dialog",
|
|
33548
|
+
children: [
|
|
33549
|
+
/* @__PURE__ */ jsx(ModalBreadcrumbHeader, { icon: /* @__PURE__ */ jsx(Share2, { className: "w-4 h-4" }), title }),
|
|
33550
|
+
/* @__PURE__ */ jsxs(DialogDescription, { className: "sr-only", children: [
|
|
33551
|
+
"Share this ",
|
|
33552
|
+
label,
|
|
33553
|
+
" by email, with people already on the platform or new invitees"
|
|
33554
|
+
] }),
|
|
33555
|
+
request && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
33556
|
+
!live && /* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
33557
|
+
"Connect your account to share this ",
|
|
33558
|
+
label,
|
|
33559
|
+
"."
|
|
33560
|
+
] }),
|
|
33561
|
+
/* @__PURE__ */ jsx(
|
|
33562
|
+
ResourceShareForm,
|
|
33563
|
+
{
|
|
33564
|
+
...request,
|
|
33565
|
+
onDone: () => {
|
|
33566
|
+
if (intent.current.generation === generation) onClose();
|
|
33567
|
+
},
|
|
33568
|
+
disabled: !live
|
|
33569
|
+
},
|
|
33570
|
+
identity
|
|
33571
|
+
)
|
|
33572
|
+
] })
|
|
33573
|
+
]
|
|
33574
|
+
}
|
|
33575
|
+
) });
|
|
33576
|
+
}
|
|
33109
33577
|
var BUILTIN_GLOBAL_DIALOGS = {
|
|
33578
|
+
share: ({ props, onClose }) => /* @__PURE__ */ jsx(ConnectedShareDialog, { request: props, onClose }),
|
|
33110
33579
|
createWorkspace: ({ props, onClose }) => /* @__PURE__ */ jsx(
|
|
33111
33580
|
ConnectedWorkspaceFormModal,
|
|
33112
33581
|
{
|
|
@@ -41701,7 +42170,26 @@ function ConnectedAppShell({
|
|
|
41701
42170
|
}
|
|
41702
42171
|
) });
|
|
41703
42172
|
}
|
|
42173
|
+
function useContextualHints() {
|
|
42174
|
+
const session = useArbiSessionStore();
|
|
42175
|
+
const { data: userSettings } = useUserSettings();
|
|
42176
|
+
const updateUserSettings = useUpdateUserSettings();
|
|
42177
|
+
const [sessionOverride] = useTransientView(TIPS_VISIBILITY_OVERRIDE, null);
|
|
42178
|
+
const setShowHints = (value) => setHintsSessionOverride(session, value);
|
|
42179
|
+
const setShowHintsPersisted = (value) => {
|
|
42180
|
+
setHintsSessionOverride(session, null);
|
|
42181
|
+
updateUserSettings.mutate({ show_hints: value });
|
|
42182
|
+
};
|
|
42183
|
+
return {
|
|
42184
|
+
showHints: sessionOverride ?? userSettings?.show_hints ?? true,
|
|
42185
|
+
settingsLoaded: userSettings !== void 0,
|
|
42186
|
+
isDeveloper: userSettings?.developer === true,
|
|
42187
|
+
setShowHints,
|
|
42188
|
+
setShowHintsPersisted,
|
|
42189
|
+
dismissHints: () => setShowHints(false)
|
|
42190
|
+
};
|
|
42191
|
+
}
|
|
41704
42192
|
|
|
41705
|
-
export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BUILTIN_GLOBAL_DIALOGS, BULK_REPROCESS_LIMIT, BillingProjectEntity, CaptureBar, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountCluster, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppRuntime, ConnectedAppShell, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDatabasesPage, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGlobalDialogs, ConnectedGrantWorkspaceAccessDialog, ConnectedGridView, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPanelHost, ConnectedPasswordChangeDialog, ConnectedPendingSyncDialog, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectEntity, ConnectedProjectPage, ConnectedProjectSelector, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedReportProblem, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedSharePointAdminConsentPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPage, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedUserEntity, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceEntity, ConnectedWorkspaceFormModal, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_PROJECTS_LIST_LABELS, DEFAULT_PROJECT_DETAILS_LABELS, DEFAULT_PROJECT_DETAIL_FIELDS, DEFAULT_PROJECT_LIST_COLUMNS, DEFAULT_PROJECT_PAGE_LABELS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectUsageContent, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, ReportProblemDialog, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell2 as StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, appearanceSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, connectionSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, formatStorageGb, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, openPendingSyncDialog, openSsoPopup, organisationSettingsSection, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderConnectedUser, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, usageSettingsSection, useAccessRequestUnderReview, useAddFromUrls, useAiReviewLiveUpdates, useAiReviewStore, useAppShell, useAuthPages, useAutoRefreshPendingProjects, useBatchCompleteToasts, useChatMessageToasts, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useNotificationToasts, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useReportProblem, useResolvedDocStatus, useSessionPanelMode, useSessionSidebar, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkflowsPageState, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
|
|
42193
|
+
export { AddAddonDialog, AddFromAccountsButton, AgentBarShell, AgentControlBar, AgentSteps, AnswerTable, AskAgainContext, BACKFILL_OPTIONS, BUILTIN_GLOBAL_DIALOGS, BULK_REPROCESS_LIMIT, BillingProjectEntity, CaptureBar, ChangePlanDialog, ChatAttachmentList, ConnectedAccountAccessBadge, ConnectedAccountCluster, ConnectedAccountSettings, ConnectedAddContacts, ConnectedAgentChat, ConnectedAgentChatPanel, ConnectedAgentConfigForm, ConnectedAgentCreator, ConnectedAiReview, ConnectedAppRuntime, ConnectedAppShell, ConnectedAppsSettings, ConnectedAuthorizeAgent, ConnectedBranchControls, ConnectedBulkTagEditor, ConnectedCalendar, ConnectedChatThread, ConnectedCitationRenderer, ConnectedCompactConversation, ConnectedConfigForm, ConnectedContactCardForm, ConnectedContactToggle, ConnectedContactsDirectory, ConnectedConversation, ConnectedConversationDocumentPicker, ConnectedConversationEmpty, ConnectedConversationStart, ConnectedDangerZone, ConnectedDatabasesPage, ConnectedDeploymentStorage, ConnectedDeveloperConfig, ConnectedDriveSyncDialog, ConnectedExportDialog, ConnectedExportPanel, ConnectedFactsPage, ConnectedFieldsEditor, ConnectedFieldsManager, ConnectedFilesBulkActions, ConnectedFilesExplorer, ConnectedFilesPage, ConnectedForgotPassword, ConnectedGlobalDialogs, ConnectedGrantWorkspaceAccessDialog, ConnectedGridView, ConnectedGroupMembers, ConnectedIdentityVerification, ConnectedLoginPage, ConnectedLogoutDialog, ConnectedMailAccounts, ConnectedMailComposer, ConnectedMailInviteCard, ConnectedMailMessage, ConnectedMailSettings, ConnectedMailSetup, ConnectedMailbox, ConnectedMailboxSyncDialog, ConnectedMessage, ConnectedMessageArea, ConnectedMessageList, ConnectedMessenger, ConnectedModelSelector, ConnectedMoveToFolder, ConnectedNewThreadDialog, ConnectedNotificationCenter, ConnectedNotificationPreferences, ConnectedOAuthConsentPage, ConnectedPanelHost, ConnectedPasswordChangeDialog, ConnectedPendingSyncDialog, ConnectedPeopleMultiSelect, ConnectedPremiumModels, ConnectedPrivacySettings, ConnectedProfileCard, ConnectedProjectEntity, ConnectedProjectPage, ConnectedProjectSelector, ConnectedProjectStorage, ConnectedProjectsPanel, ConnectedPublicBooking, ConnectedQuotaDialog, ConnectedRecentlyDeletedButton, ConnectedRecoveryKeyDialog, ConnectedReportProblem, ConnectedRequestWorkspaceAccess, ConnectedRequireVerified, ConnectedSearchPage, ConnectedSecuritySection, ConnectedSessionsRow, ConnectedSettingsPage, ConnectedShareDialog, ConnectedSharePointAdminConsentPage, ConnectedSharedFilesPage, ConnectedSignatureVerifyPage, ConnectedSkillUpload, ConnectedSkillsLibrary, ConnectedSsoCallback, ConnectedStorageProjectCard, ConnectedStorageSettings, ConnectedTagEditorDialog, ConnectedTagEntity, ConnectedTagForm, ConnectedTagTable, ConnectedTagsPage, ConnectedTaskAccessRequest, ConnectedTaskActivityDialog, ConnectedTaskComposer, ConnectedTaskStartDialog, ConnectedThreadFollow, ConnectedThreadLauncher, ConnectedThreadTabs, ConnectedThreadTaskBar, ConnectedThreadsPage, ConnectedThreadsPreview, ConnectedTransferWatcher, ConnectedUpcomingEvents, ConnectedUpload, ConnectedUploadDropzone, ConnectedUserEntity, ConnectedWelcomeDialog, ConnectedWorkflowHistory, ConnectedWorkflowRunner, ConnectedWorkflowStart, ConnectedWorkspaceActivity, ConnectedWorkspaceDashboard, ConnectedWorkspaceEntity, ConnectedWorkspaceFormModal, ConnectedWorkspaceList, ConnectedWorkspaceMembers, ConnectedWorkspaceNotificationMenu, ConnectedWorkspaceSettings, ConnectedWorkspaceTrash, ConversationAlert, ConversationComposer2 as ConversationComposer, ConversationEntity, ConversationSendButton, ConversationStatusCell, DEFAULT_CONNECTED_SEARCH_PAGE_LABELS, DEFAULT_CONNECTED_SKILL_UPLOAD_LABELS, DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS, DEFAULT_OAUTH_PERMISSIONS, DEFAULT_PROJECTS_LIST_LABELS, DEFAULT_PROJECT_DETAILS_LABELS, DEFAULT_PROJECT_DETAIL_FIELDS, DEFAULT_PROJECT_LIST_COLUMNS, DEFAULT_PROJECT_PAGE_LABELS, DEFAULT_SEARCH_FIELDS, DEFAULT_SEARCH_ROW_LABELS, DEFAULT_SETTINGS_SECTIONS, DEFAULT_TIMELINE_LABEL_WIDTH, DEFAULT_WORKSPACE_LIST_LABELS, DeveloperFooter, DocumentFolderCell, DocumentLabelsCell, DocumentNameCell, DocumentSharedCell, DocumentStatusGlyph, DocumentSyncGlyph, DocumentUser, DocumentsFilterBarActions, DocumentsUploadButton, EmptyWorkspaceUpload, FACTS_GRID_ID, FILES_PREFS_KEY, FileTooltipContent, ImportVcfButton, ImportVcfSummary, InvoicesModal, LOOK_AGAIN_LABEL, MessageDetailsModal, MessageLiveSeconds, MicButton, NewProjectFlow, NotificationCenter, NotificationEvent, PENDING_LOOKUP_MS, PENDING_RECOVERY_KEY, PENDING_TASK_MESSAGE, PREMIUM_TIER_TAG, PROJECTS_BASE_TAB_ID, PROMPT_BINDINGS, PersistedGridView, ProgressiveLoadingChip, ProjectDetail, ProjectUsageContent, ProjectsTable, REFERRAL_OFFER, RecoveryKeyDownload, RelatedDocumentsCell, ReportProblemDialog, RunStatsBadges, RunningSubagents, SEARCH_FIELD_OPTIONS, SETTINGS_SECTION_IDS, STANDARD_TIER_TAG, SessionStatusIcon, SharedProjects, SourceChips, SsoResendVerificationButton, StatusCell2 as StatusCell, StorageBreakdown, StorageItemsTable, StorageTiers, StreamedArtifact, TILE_DEFAULT, TILE_MAX, TILE_MIN, ThreadSwitcher, UserAvatar, ViewSelector, WORKSPACES_TAB_ID, WorkflowLaunchHost, WorkflowRunStatusCell, WorkflowRunThread, WorkflowStepMessage, accountSettingsSection, appearanceSettingsSection, backUpOnSignup, bookingCancelLink, buildNotificationCenterItems, buildProjectSummaries, chatSettingsSection, closeAccessRequestReview, connectedAppsSettingsSection, connectionSettingsSection, countNotificationTypes, createDocumentColumns, createEventCall, createNotificationTargetOpener, createTagColumn, deduplicateByContentHash, defaultHost, describePlan, distinctPeers, documentFamilyMeta, documentFieldContent, filesViewMode, filterNotificationCenterItems, formatStorageGb, groupFallbackName, identifyOAuthClient, isActiveDocumentStatus, joinEventMeeting, loadEventWebinar, mailSettingsSection, openMeetingLink, openPendingSyncDialog, openSsoPopup, organisationSettingsSection, parseArbiCallUrl, parseOAuthConsentRequest, parseQuotaError, parseTypedSkill, primaryProjectWorkspace, privacySettingsSection, renderConnectedUser, renderSessionStatusIcon, requestProjectBillingFocus, resolveAttendeeUsers, resolveAttendeeUsersRemote, resolveCallPeers, resolveCallPeersRemote, resolveLaunchInputs, resolveMailbox, resolveSsoName, reviewAccessRequest, reviewProgress, shareEventCall, startMenuItem, storageSettingsSection, suppliedKinds, threadStateOf, toWorkspaceSummary, transferOutcome, updateEventWebinarRoles, usageSettingsSection, useAccessRequestUnderReview, useAddFromUrls, useAiReviewLiveUpdates, useAiReviewStore, useAppShell, useAuthPages, useAutoRefreshPendingProjects, useBatchCompleteToasts, useChatMessageToasts, useConnectedCalendarCalls, useConnectedNotificationBell, useConnectedShellWorkspaces, useConnectedThreadActivity, useConnectedWorkspaceList, useConnectedWorkspaceSettings, useContextualHints, useDocumentBulkActions, useDocumentFilters, useDocumentFolders, useDocumentGridSync, useDocumentNavigation, useDocumentTable, useExportStore, useFilesDialogs, useFilesGridStates, useFilesPrefs, useFilesStore, useLaunchWorkflow, useMemberLookup, useMessengerRows, useModelPicker, useNotificationBellEntry, useNotificationToasts, useOpenBillingPortal, useOpenChunk, useOpenNotificationTarget, useOpenWorkspaceActivityTarget, useOpenWorkspaceIcon, usePendingFolders, usePendingTaskThread, useProjectBillingFocus, useProjectSummaries, useProjectSummary, useReferralReward, useRenderTaskPerson, useReportProblem, useResolvedDocStatus, useSessionPanelMode, useSessionSidebar, useSkillsEnabled, useSlashItems, useSlashSkillWorkflows, useSsoSignIn, useStartRequestedDraft, useTableViews, useTaskPeople, useTaskStart, useThreadLabels, useThreadTabs, useWorkflowDefinitions, useWorkflowLaunch, useWorkflowTasks, useWorkflowsPageState, useWorkspaceDocTitles, viewsOfTable, webinarRolesByUser, windowLabel, withMissingTableViews, withTableView, withoutTableView, workflowRunView };
|
|
41706
42194
|
//# sourceMappingURL=index.js.map
|
|
41707
42195
|
//# sourceMappingURL=index.js.map
|