@arbidocs/react 0.5.30 → 0.5.32
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/artifacts/index.cjs +5 -5
- package/dist/artifacts/index.js +2 -2
- package/dist/calls/livekit/index.cjs +41 -41
- package/dist/calls/livekit/index.js +2 -2
- package/dist/{chunk-NV5G5RR5.cjs → chunk-CWJAULV2.cjs} +420 -5
- package/dist/chunk-CWJAULV2.cjs.map +1 -0
- package/dist/{chunk-YMAZYYD5.cjs → chunk-FSPLYO52.cjs} +2264 -2264
- package/dist/chunk-FSPLYO52.cjs.map +1 -0
- package/dist/{chunk-2ERRXEOB.cjs → chunk-GAW2PLSL.cjs} +59 -4
- package/dist/chunk-GAW2PLSL.cjs.map +1 -0
- package/dist/{chunk-3ZLRZTKP.cjs → chunk-KHRCABUX.cjs} +5 -5
- package/dist/{chunk-3ZLRZTKP.cjs.map → chunk-KHRCABUX.cjs.map} +1 -1
- package/dist/{chunk-I4JYI6GY.js → chunk-KUGZXI7V.js} +2266 -2266
- package/dist/chunk-KUGZXI7V.js.map +1 -0
- package/dist/{chunk-VHGJG32Q.js → chunk-MJWUUDYT.js} +57 -5
- package/dist/chunk-MJWUUDYT.js.map +1 -0
- package/dist/{chunk-5X4RZ36M.js → chunk-R4YLLLCT.js} +3 -3
- package/dist/{chunk-5X4RZ36M.js.map → chunk-R4YLLLCT.js.map} +1 -1
- package/dist/{chunk-CIWI5UFT.js → chunk-VTNFF7P6.js} +406 -7
- package/dist/chunk-VTNFF7P6.js.map +1 -0
- package/dist/index.cjs +1337 -820
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +517 -98
- package/dist/index.d.ts +517 -98
- package/dist/index.js +616 -187
- package/dist/index.js.map +1 -1
- package/dist/ui/index.cjs +147 -147
- package/dist/ui/index.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-2ERRXEOB.cjs.map +0 -1
- package/dist/chunk-CIWI5UFT.js.map +0 -1
- package/dist/chunk-I4JYI6GY.js.map +0 -1
- package/dist/chunk-NV5G5RR5.cjs.map +0 -1
- package/dist/chunk-VHGJG32Q.js.map +0 -1
- package/dist/chunk-YMAZYYD5.cjs.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { CallPeer, WebSocketServerMessage, WsBatchCompleteMessage, WsConversatio
|
|
|
9
9
|
import { az as IdentityStatus, ax as IdentityPurchase, aA as IdentityStep, aB as IdentityVerificationFlow, V as DictateContextValue, am as EntityVocabulary, ag as EntityIconComponent } from './index.d-DklHLjcu.js';
|
|
10
10
|
export { A as ARBI_MARK_SRC, a as AgentBadge, b as AiMarkdown, c as ArbiIcon, d as Avatar, e as AvatarFallback, f as AvatarImage, B as BASE_COLORS, g as Badge, h as BadgeProps, i as Button, j as ButtonProps, C as COLUMN_LABEL_FALLBACKS, k as Card, l as CardContent, m as CardDescription, n as CardFooter, o as CardHeader, p as CardProps, q as CardTitle, r as Checkbox, s as Collapsible, t as CollapsibleContent, u as CollapsibleTrigger, v as Command, w as CommandDialog, x as CommandEmpty, y as CommandGroup, z as CommandInput, D as CommandItem, E as CommandList, F as CommandSeparator, G as CommandShortcut, H as DEFAULT_METADATA_TAGS, I as DebouncedInput, J as DebouncedInputProps, K as Dialog, L as DialogClose, M as DialogContent, N as DialogDescription, O as DialogFooter, P as DialogHeader, Q as DialogOverlay, R as DialogPortal, S as DialogPresentation, T as DialogTitle, U as DialogTrigger, W as DocumentCard, X as DocumentCardProps, Y as DocumentEntity, Z as DocumentEntityProps, _ as DocumentLike, $ as DropdownMenu, a0 as DropdownMenuCheckboxItem, a1 as DropdownMenuContent, a2 as DropdownMenuGroup, a3 as DropdownMenuItem, a4 as DropdownMenuLabel, a5 as DropdownMenuPortal, a6 as DropdownMenuRadioGroup, a7 as DropdownMenuRadioItem, a8 as DropdownMenuSeparator, a9 as DropdownMenuShortcut, aa as DropdownMenuSub, ab as DropdownMenuSubContent, ac as DropdownMenuSubTrigger, ad as DropdownMenuTrigger, ae as ENTITY_MAPPINGS, af as EntityIcon, ah as EntityLabelForm, ai as EntityNoun, aj as EntityPill, ak as EntityRegistryOverride, al as EntityType, an as FileTypeIcon, ao as FolderTreeNode, aq as HoverCard, ar as HoverCardContent, as as HoverCardTrigger, at as IconToggle, au as IconToggleProps, av as IdentityBusy, aw as IdentityProblem, ay as IdentityState, aC as Input, aD as InputProps, aE as Label, aF as MarkMenu, aG as MarkMenuItem, aH as MarkMenuProps, aI as MarkdownCode, aJ as MarkdownLink, aK as MarkdownRenderer, aL as MarkdownRendererProps, aM as MarkdownStreamingContext, aN as NEUTRAL_GRAY, aO as PLACEHOLDER_COLOR, aP as PassageCard, aQ as PassageCardProps, aR as Popover, aS as PopoverAnchor, aT as PopoverClose, aU as PopoverContent, aV as PopoverTrigger, aW as PortalContainerProvider, aX as PresenceDisplayStatus, aY as PresenceLabel, aZ as Progress, a_ as ProjectEntity, a$ as ProjectEntityProps, b0 as ProjectRelation, b1 as ProviderIcon, b2 as RadioGroup, b3 as RadioGroupItem, b4 as Rag, b5 as RagDot, b6 as RelevanceDot, b7 as ScrollArea, b8 as ScrollBar, b9 as Select, ba as SelectContent, bb as SelectGroup, bc as SelectItem, bd as SelectLabel, be as SelectScrollDownButton, bf as SelectScrollUpButton, bg as SelectSeparator, bh as SelectTrigger, bi as SelectValue, bj as Separator, bk as ShieldIcon, bl as ShieldIconProps, bm as Slider, bn as StatusBadgeComponent, bo as StatusBadgeProps, bp as StatusPill, bq as StatusPillProps, br as StatusVariant, bs as Switch, bt as TAG_TYPE_ICONS, bu as TAG_TYPE_LABELS, bv as Table, bw as TableBody, bx as TableCaption, by as TableCell, bz as TableFooter, bA as TableHead, bB as TableHeader, bC as TableRow, bD as Tabs, bE as TabsContent, bF as TabsList, bG as TabsTrigger, bH as TagEntity, bI as TagEntityProps, bJ as TagLike, bK as Textarea, bL as TextareaProps, bM as ThreadVisibilityIcon, bN as Toggle, bO as ToggleGroup, bP as ToggleGroupItem, bQ as Tooltip, bR as TooltipContent, bS as TooltipProvider, bT as TooltipTrigger, bU as UserEntity, bV as UserEntityProps, bW as UserMenu, bX as UserMenuItem, bY as UserMenuProps, bZ as UserMenuStatus, b_ as VISIBILITY_ICONS, b$ as VerifiedBadge, c0 as VerifiedBadgeProps, c1 as VerifiedToggle, c2 as VisibilityIcon, c3 as VisibilityToggle, c4 as VisibilityToggleProps, c5 as agentAvatarColors, c6 as badgeVariants, c7 as buildFolderTree, c8 as buttonVariants, c9 as canonicalFolderPath, ca as cardVariants, cb as closeOpenEmphasis, cc as cn, cd as configureEntityRegistry, ce as configureEntityVocabulary, cf as configureRagLabels, cg as configureStatusRegistry, ch as createUserAvatarIcon, ci as entityNoun, cj as extensionFromMime, ck as formatDocDate, cl as formatFolderLabel, cm as formatFriendlyDate, cn as formatRelativeTime, co as friendlyFileType, cp as getDocIcon, cq as getDocumentAuthor, cr as getDocumentDate, cs as getDocumentNature, ct as getDocumentSubject, cu as getDocumentTitle, cv as getEntityColor, cw as getEntityColorStyles, cx as getEntityIcon, cy as getEntityLabel, cz as getFileExtension, cA as getFileTypeIcon, cB as getStatusVariant, cC as getTagTypeIcon, cD as getTagTypeLabel, cE as getUserAvatarColor, cF as getUserDisplayName, cG as getUserInitials, cH as getWorkspaceColor, cI as isAgent, cJ as isAudioFile, cK as isDocumentAddableToConversation, cL as isDownloadOnlyFile, cM as isImageDocument, cN as isImageFile, cO as isMediaFile, cP as isVideoFile, cQ as markdownBaseComponents, cR as markdownSanitizeSchema, cS as markdownToPlainText, cT as markdownToPlainTextBlocks, cU as normalizeCitationMarkup, cV as splitMarkdownBlocks, cW as tagKindNouns, cX as tagKindTitle, cY as toggleVariants, cZ as trimOpenCitation, c_ as useDictateContext, c$ as usePortalContainer, d0 as usesOriginalBytesForViewer } from './index.d-DklHLjcu.js';
|
|
11
11
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
12
|
-
import { QueryClient, QueryKey, MutationKey } from '@tanstack/react-query';
|
|
12
|
+
import { QueryClient, QueryKey, MutationKey, Mutation } from '@tanstack/react-query';
|
|
13
13
|
import * as React$1 from 'react';
|
|
14
14
|
import React__default, { ReactNode, ComponentType } from 'react';
|
|
15
15
|
import { M as MeetingChatRef, a as ActiveCall, W as SegmenterConfig, G as IncomingCall, J as JoinChoices, N as MeetingChatTarget, v as ChatResponse, t as ChatMemberKey, b as AgentDmStatus, x as ChatThreadMessage } from './useAudioRecorder.d-DpDeeeAZ.js';
|
|
@@ -568,10 +568,6 @@ interface DocumentHostActions {
|
|
|
568
568
|
openDocumentChat?: (docId: string) => void;
|
|
569
569
|
/** Start a chat about several documents. */
|
|
570
570
|
openDocumentsChat?: (docIds: string[]) => void;
|
|
571
|
-
/** Keep documents on this device for offline use. */
|
|
572
|
-
keepOffline?: (documents: WorkspaceDocument[]) => Promise<void>;
|
|
573
|
-
/** Stop keeping documents on this device. */
|
|
574
|
-
stopKeepingOffline?: (docIds: string[]) => Promise<void>;
|
|
575
571
|
/** Hand a document to the host's mail composer as an attachment (offered while mail is on). */
|
|
576
572
|
emailDocument?: (document: WorkspaceDocument) => Promise<void>;
|
|
577
573
|
/** Show how to raise the plan's limits (an upload was refused for them). */
|
|
@@ -582,8 +578,6 @@ interface DocumentHostActions {
|
|
|
582
578
|
budget: number;
|
|
583
579
|
projectExtId: string | null;
|
|
584
580
|
}) => void;
|
|
585
|
-
/** Show the edits made offline that are waiting to sync. */
|
|
586
|
-
openPendingChanges?: () => void;
|
|
587
581
|
/** Open a person (yourself: your settings; someone else: a direct message). */
|
|
588
582
|
openUser?: (userId: string) => void;
|
|
589
583
|
/** Open a document beside another, to compare them. */
|
|
@@ -595,13 +589,6 @@ interface DocumentHostActions {
|
|
|
595
589
|
}
|
|
596
590
|
/** A person as the document kits show them (who made a document, a field, a value). */
|
|
597
591
|
type DocumentPerson = components['schemas']['UserResponse'];
|
|
598
|
-
/** A document a write here sent back into processing (AI fields being filled). */
|
|
599
|
-
interface QueuedDocument {
|
|
600
|
-
docId: string;
|
|
601
|
-
workspaceId: string;
|
|
602
|
-
fileName: string;
|
|
603
|
-
version: number;
|
|
604
|
-
}
|
|
605
592
|
/** A document's live processing, as the host follows it (a `task_update` and what it adds). */
|
|
606
593
|
interface ProcessingTask {
|
|
607
594
|
doc_ext_id: string;
|
|
@@ -614,22 +601,6 @@ interface ProcessingTask {
|
|
|
614
601
|
seq?: number | null;
|
|
615
602
|
}
|
|
616
603
|
interface DocumentsSupport {
|
|
617
|
-
/**
|
|
618
|
-
* Every document's live processing, as a hook (a stable function for the provider's life).
|
|
619
|
-
* Without one, the package's own WebSocket store (`ArbiWebSocketProvider`) is read.
|
|
620
|
-
*/
|
|
621
|
-
useProcessingTasks?: () => Readonly<Record<string, ProcessingTask>>;
|
|
622
|
-
/** One document's live processing, as a hook: re-renders only when that document's changes. */
|
|
623
|
-
useProcessingTask?: (docId: string) => ProcessingTask | undefined;
|
|
624
|
-
/**
|
|
625
|
-
* A document's processing as the host last heard it live. A finished status heard live is kept
|
|
626
|
-
* over a re-read that predates it (the server may not have committed it yet).
|
|
627
|
-
*/
|
|
628
|
-
processingTask?: (docId: string) => ProcessingTask | undefined;
|
|
629
|
-
/** Documents went back into processing: show them as queued. Returns the undo (refused write). */
|
|
630
|
-
onProcessingQueued?: (documents: QueuedDocument[]) => () => void;
|
|
631
|
-
/** Documents were deleted: drop what the host keeps about them (processing rows, open tabs). */
|
|
632
|
-
onDocumentsDeleted?: (docIds: string[]) => void;
|
|
633
604
|
/**
|
|
634
605
|
* The workspace's raw key, for the direct upload (encrypted here, sent straight to storage) that
|
|
635
606
|
* the user's settings can turn on. Throws when the key is not held here (a public workspace, a
|
|
@@ -640,12 +611,13 @@ interface DocumentsSupport {
|
|
|
640
611
|
extractZip?: ZipExtractor;
|
|
641
612
|
/** The host's actions on documents, as a hook (a kit reads it once per view). */
|
|
642
613
|
useHostActions?: () => DocumentHostActions;
|
|
643
|
-
/**
|
|
644
|
-
|
|
614
|
+
/**
|
|
615
|
+
* Called once documents are kept on this device (`useKeepDocumentsOffline`), while still online:
|
|
616
|
+
* e.g. to load the viewer's code so a pinned document opens offline too.
|
|
617
|
+
*/
|
|
618
|
+
onKeptOffline?: () => void | Promise<void>;
|
|
645
619
|
/** The document open in the host's viewer while it is open (null when closed), as a hook. */
|
|
646
620
|
useOpenViewerDocumentId?: () => string | null;
|
|
647
|
-
/** Whether a document has an edit made offline that is waiting to sync, as a hook. */
|
|
648
|
-
useDocumentPendingSync?: (docId: string | null | undefined) => boolean;
|
|
649
621
|
/**
|
|
650
622
|
* How the host shows a person (its presence, its card): by a document, a field, a thread's
|
|
651
623
|
* entry or a message. `tooltip`: whether hovering shows their card; `variant`: their face alone
|
|
@@ -658,18 +630,14 @@ interface DocumentsSupport {
|
|
|
658
630
|
}
|
|
659
631
|
/** The host's document support (the host configuration's `documents`; empty without one). */
|
|
660
632
|
declare function useDocumentsSupport(): DocumentsSupport;
|
|
661
|
-
/** Every document's live processing (the
|
|
633
|
+
/** Every document's live processing (the shared WebSocket store's). */
|
|
662
634
|
declare function useProcessingTasks(): Readonly<Record<string, ProcessingTask>>;
|
|
663
|
-
/** One document's live processing
|
|
635
|
+
/** One document's live processing: re-renders only when that document's changes. */
|
|
664
636
|
declare function useProcessingTask(docId: string): ProcessingTask | undefined;
|
|
665
637
|
/** The host's actions on documents (none without host support). */
|
|
666
638
|
declare function useDocumentHostActions(): DocumentHostActions;
|
|
667
|
-
/** The documents kept on this device for offline use (none without host support). */
|
|
668
|
-
declare function useOfflineDocumentIds(): ReadonlySet<string>;
|
|
669
639
|
/** The document open in the host's viewer, while it is open (none without host support). */
|
|
670
640
|
declare function useOpenViewerDocumentId(): string | null;
|
|
671
|
-
/** Whether a document has an edit made offline waiting to sync (never without host support). */
|
|
672
|
-
declare function useDocumentPendingSync(docId: string | null | undefined): boolean;
|
|
673
641
|
|
|
674
642
|
/**
|
|
675
643
|
* The mail shapes the hooks and the mail blocks work with: what `/v1/mail` returns, with the
|
|
@@ -924,6 +892,250 @@ interface SealedDraftStorageOptions {
|
|
|
924
892
|
*/
|
|
925
893
|
declare function createSealedDraftStorage({ key, storage, owner, }: SealedDraftStorageOptions): ArbiDraftStorage;
|
|
926
894
|
|
|
895
|
+
/**
|
|
896
|
+
* Keeping the session's layout across reloads: a host gives the session store a
|
|
897
|
+
* {@link ArbiSessionPersist} (where the saved layout is read and written), and the store reads it
|
|
898
|
+
* once at start and writes it after each change. {@link createStoragePersist} makes one from any
|
|
899
|
+
* key-value storage (IndexedDB, `localStorage`), writing at most once per quiet period and on page
|
|
900
|
+
* exit, so a stream of changes (dragging a column) is one write and a reload never loses the last.
|
|
901
|
+
*/
|
|
902
|
+
/** Where a session store keeps its saved layout. */
|
|
903
|
+
interface ArbiSessionPersist<T = unknown> {
|
|
904
|
+
/** The saved value, or null when none (or it cannot be read). Never rejects. */
|
|
905
|
+
load(): Promise<T | null>;
|
|
906
|
+
/** Save the latest value (may be written later; the latest one wins). */
|
|
907
|
+
save(value: T): void;
|
|
908
|
+
/** Forget the saved value (signing out). */
|
|
909
|
+
clear?(): Promise<void>;
|
|
910
|
+
}
|
|
911
|
+
/** A key-value storage, asynchronous or not (IndexedDB, `localStorage`). */
|
|
912
|
+
interface ArbiKeyValueStorage {
|
|
913
|
+
get(key: string): Promise<string | null> | string | null;
|
|
914
|
+
set(key: string, value: string): Promise<void> | void;
|
|
915
|
+
remove(key: string): Promise<void> | void;
|
|
916
|
+
}
|
|
917
|
+
interface DebouncedWriterOptions {
|
|
918
|
+
/** Performs the write. Errors are reported through `onError`, never thrown to the caller. */
|
|
919
|
+
write: (key: string, value: string) => Promise<void> | void;
|
|
920
|
+
/** Trailing-edge quiet period. */
|
|
921
|
+
delayMs: number;
|
|
922
|
+
/** Longest a pending value may wait from its first unwritten change. */
|
|
923
|
+
maxWaitMs: number;
|
|
924
|
+
onError?: (key: string, error: unknown) => void;
|
|
925
|
+
}
|
|
926
|
+
interface DebouncedWriter {
|
|
927
|
+
/** Queue `value` as the latest value of `key`. */
|
|
928
|
+
schedule: (key: string, value: string) => void;
|
|
929
|
+
/** The value queued for `key` but not yet written, if any. */
|
|
930
|
+
pending: (key: string) => string | undefined;
|
|
931
|
+
/** Drop the queued value of `key` without writing it. */
|
|
932
|
+
cancel: (key: string) => void;
|
|
933
|
+
/** Write every queued value now. */
|
|
934
|
+
flushAll: () => void;
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Per-key debounced writer. Rapid successive writes of one key collapse into a single
|
|
938
|
+
* trailing-edge write `delayMs` after the last call; `maxWaitMs` caps how long a steady stream of
|
|
939
|
+
* changes can postpone it.
|
|
940
|
+
*/
|
|
941
|
+
declare function createDebouncedWriter({ write, delayMs, maxWaitMs, onError, }: DebouncedWriterOptions): DebouncedWriter;
|
|
942
|
+
/**
|
|
943
|
+
* Flush `writer` whenever the page may be about to go away: `pagehide`, `visibilitychange` to
|
|
944
|
+
* hidden (often the last event a mobile browser delivers) and `beforeunload`. Returns a function
|
|
945
|
+
* that removes the listeners.
|
|
946
|
+
*/
|
|
947
|
+
declare function flushOnPageExit(writer: Pick<DebouncedWriter, 'flushAll'>): () => void;
|
|
948
|
+
interface StoragePersistOptions<T> {
|
|
949
|
+
storage: ArbiKeyValueStorage;
|
|
950
|
+
/** The storage key. */
|
|
951
|
+
key: string;
|
|
952
|
+
/** Read a value saved under `key` by an earlier build (default: as JSON). Never throws. */
|
|
953
|
+
parse?: (saved: unknown) => T | null;
|
|
954
|
+
/**
|
|
955
|
+
* Bring in what an earlier build saved elsewhere: called on every load with what is saved under
|
|
956
|
+
* `key` (null: nothing yet), it returns the value to start from. A value other than the one given
|
|
957
|
+
* is saved under `key` at once, so each piece is brought in once.
|
|
958
|
+
*/
|
|
959
|
+
migrate?: (saved: T | null) => Promise<T | null>;
|
|
960
|
+
/** Quiet period before a write (default 250 ms), and the longest wait (default 1 s). */
|
|
961
|
+
delayMs?: number;
|
|
962
|
+
maxWaitMs?: number;
|
|
963
|
+
}
|
|
964
|
+
/** A {@link ArbiSessionPersist} on a key-value storage, debounced and flushed on page exit. */
|
|
965
|
+
declare function createStoragePersist<T>({ storage, key, parse, migrate, delayMs, maxWaitMs, }: StoragePersistOptions<T>): ArbiSessionPersist<T>;
|
|
966
|
+
|
|
967
|
+
/**
|
|
968
|
+
* The layout part of the session state: the shell (the page on screen, the sidebar, the panels and
|
|
969
|
+
* where each one shows, the area with focus), the open tabs (direct messages, projects), each
|
|
970
|
+
* page's view (its tab, its filters, other view settings) and the grids' saved state. Kits and the
|
|
971
|
+
* host read and change it through the session store; the parts a person arranges (the page, the
|
|
972
|
+
* pinned sidebar, the panels, the views, the grids) are kept across reloads by the host's
|
|
973
|
+
* {@link ArbiSessionPersist}.
|
|
974
|
+
*/
|
|
975
|
+
|
|
976
|
+
/** Where a panel shows: the page's area, docked beside it, over it, or in its own window. */
|
|
977
|
+
type ArbiPanelMode = 'main' | 'docked' | 'overlay' | 'popout';
|
|
978
|
+
interface ArbiPanelsState {
|
|
979
|
+
/** The panel in each place (one each): filling the page, docked, over the page, popped out. */
|
|
980
|
+
main: string | null;
|
|
981
|
+
docked: string | null;
|
|
982
|
+
overlay: string | null;
|
|
983
|
+
popout: string | null;
|
|
984
|
+
/** Where each panel last showed (it opens there again). */
|
|
985
|
+
modes: Readonly<Record<string, ArbiPanelMode>>;
|
|
986
|
+
/** A floating panel's size. */
|
|
987
|
+
sizes: Readonly<Record<string, {
|
|
988
|
+
width: number;
|
|
989
|
+
height: number;
|
|
990
|
+
}>>;
|
|
991
|
+
}
|
|
992
|
+
interface ArbiSidebarState {
|
|
993
|
+
/** Pinned open (on wide screens; phones show a drawer). */
|
|
994
|
+
pinned: boolean;
|
|
995
|
+
/** The rail is expanded under the pointer. */
|
|
996
|
+
hovering: boolean;
|
|
997
|
+
/** The phone drawer is open. */
|
|
998
|
+
drawerOpen: boolean;
|
|
999
|
+
}
|
|
1000
|
+
interface ArbiShellState {
|
|
1001
|
+
/** The page on screen (a host's page id). */
|
|
1002
|
+
page: string;
|
|
1003
|
+
sidebar: ArbiSidebarState;
|
|
1004
|
+
panels: ArbiPanelsState;
|
|
1005
|
+
/** The area with focus: `main` or a panel id. */
|
|
1006
|
+
focusedArea: string;
|
|
1007
|
+
}
|
|
1008
|
+
/** A direct-message tab: a person's or agent's id, a group chat's id, or null (a new message). */
|
|
1009
|
+
interface ArbiDmTab {
|
|
1010
|
+
recipientId: string | null;
|
|
1011
|
+
}
|
|
1012
|
+
interface ArbiTabsState {
|
|
1013
|
+
dm: readonly ArbiDmTab[];
|
|
1014
|
+
activeDm: string | null;
|
|
1015
|
+
/** The message a direct-message tab scrolls to once open. */
|
|
1016
|
+
dmMessageId: string | null;
|
|
1017
|
+
projects: readonly string[];
|
|
1018
|
+
activeProject: string | null;
|
|
1019
|
+
}
|
|
1020
|
+
interface ArbiViewsState {
|
|
1021
|
+
/** Each page's tab, by page. */
|
|
1022
|
+
tabs: Readonly<Record<string, string>>;
|
|
1023
|
+
/** Each list's quick filters, by list. */
|
|
1024
|
+
filters: Readonly<Record<string, unknown>>;
|
|
1025
|
+
/** Other view settings, by key (a page's view mode, a zoom, a filter box's text). */
|
|
1026
|
+
values: Readonly<Record<string, unknown>>;
|
|
1027
|
+
/** View state kept for this session only, by key (a search's results); not saved. */
|
|
1028
|
+
transient: Readonly<Record<string, unknown>>;
|
|
1029
|
+
}
|
|
1030
|
+
interface ArbiGridLayoutState {
|
|
1031
|
+
/** Each grid's saved state (columns, widths, sort), by grid id. */
|
|
1032
|
+
states: Readonly<Record<string, unknown>>;
|
|
1033
|
+
/** Each grid's row height. */
|
|
1034
|
+
rowHeights: Readonly<Record<string, number>>;
|
|
1035
|
+
/** Each timeline's label column width. */
|
|
1036
|
+
labelWidths: Readonly<Record<string, number>>;
|
|
1037
|
+
/** Views an earlier build saved on this device, by grid id (moved to user settings once). */
|
|
1038
|
+
savedViews: Readonly<Record<string, readonly unknown[]>>;
|
|
1039
|
+
}
|
|
1040
|
+
interface ArbiLayoutState {
|
|
1041
|
+
shell: ArbiShellState;
|
|
1042
|
+
tabs: ArbiTabsState;
|
|
1043
|
+
views: ArbiViewsState;
|
|
1044
|
+
grid: ArbiGridLayoutState;
|
|
1045
|
+
}
|
|
1046
|
+
/** What is kept across reloads. */
|
|
1047
|
+
interface ArbiSavedLayout {
|
|
1048
|
+
version: 1;
|
|
1049
|
+
/** The pieces an earlier build's own saved state was brought in for (the host's migration). */
|
|
1050
|
+
migrated: string[];
|
|
1051
|
+
shell: {
|
|
1052
|
+
page: string;
|
|
1053
|
+
sidebarPinned: boolean;
|
|
1054
|
+
panels: {
|
|
1055
|
+
main: string | null;
|
|
1056
|
+
docked: string | null;
|
|
1057
|
+
} & Pick<ArbiPanelsState, 'modes' | 'sizes'>;
|
|
1058
|
+
};
|
|
1059
|
+
views: Omit<ArbiViewsState, 'transient'>;
|
|
1060
|
+
grid: ArbiGridLayoutState;
|
|
1061
|
+
}
|
|
1062
|
+
declare function defaultLayoutState(): ArbiLayoutState;
|
|
1063
|
+
/**
|
|
1064
|
+
* A saved layout as this build reads it: whatever an earlier or a broken save left is dropped
|
|
1065
|
+
* rather than read. Never throws; null when there is nothing usable.
|
|
1066
|
+
*/
|
|
1067
|
+
declare function parseSavedLayout(saved: unknown): ArbiSavedLayout | null;
|
|
1068
|
+
/** What of a layout is saved. */
|
|
1069
|
+
declare function savedLayoutOf(layout: ArbiLayoutState, migrated: string[]): ArbiSavedLayout;
|
|
1070
|
+
/** The layout a saved one restores (the parts not saved keep their current values). */
|
|
1071
|
+
declare function restoreLayout(current: ArbiLayoutState, saved: ArbiSavedLayout): ArbiLayoutState;
|
|
1072
|
+
/** Show a panel in a place: it leaves the place it was in, and what was in that place closes. */
|
|
1073
|
+
declare function openPanelIn(panels: ArbiPanelsState, panelId: string, mode: ArbiPanelMode): ArbiPanelsState;
|
|
1074
|
+
declare function closePanelIn(panels: ArbiPanelsState, panelId: string): ArbiPanelsState;
|
|
1075
|
+
/** Where a panel shows now, or null while it is closed. */
|
|
1076
|
+
declare function panelPlace(panels: ArbiPanelsState, panelId: string): ArbiPanelMode | null;
|
|
1077
|
+
/** Whether a panel is open (anywhere). */
|
|
1078
|
+
declare const isPanelOpen: (state: {
|
|
1079
|
+
shell: ArbiShellState;
|
|
1080
|
+
}, panelId: string) => boolean;
|
|
1081
|
+
declare const dmTabId: (tab: ArbiDmTab) => string;
|
|
1082
|
+
/** The actions on the layout (part of {@link ArbiSessionStore}). */
|
|
1083
|
+
interface ArbiLayoutActions {
|
|
1084
|
+
/** Show a page; the focus goes to the page area. */
|
|
1085
|
+
setPage(page: string): void;
|
|
1086
|
+
setSidebar(change: Partial<ArbiSidebarState>): void;
|
|
1087
|
+
/** Show a panel in a place (`mode`), focused. */
|
|
1088
|
+
openPanel(panelId: string, mode: ArbiPanelMode): void;
|
|
1089
|
+
closePanel(panelId: string): void;
|
|
1090
|
+
/** Where a panel shows: an open one moves there, a closed one opens there next time. */
|
|
1091
|
+
setPanelMode(panelId: string, mode: ArbiPanelMode): void;
|
|
1092
|
+
setPanelSize(panelId: string, size: {
|
|
1093
|
+
width: number;
|
|
1094
|
+
height: number;
|
|
1095
|
+
}): void;
|
|
1096
|
+
setFocusedArea(area: string): void;
|
|
1097
|
+
/** Open (or show) a direct-message tab, optionally scrolled to a message. */
|
|
1098
|
+
openDmTab(recipientId: string | null, messageId?: string): void;
|
|
1099
|
+
closeDmTab(tabId: string): void;
|
|
1100
|
+
/** null: no direct-message tab (the panel's own). */
|
|
1101
|
+
selectDmTab(tabId: string | null): void;
|
|
1102
|
+
clearDmTabs(): void;
|
|
1103
|
+
setDmMessageId(messageId: string | null): void;
|
|
1104
|
+
openProjectTab(projectId: string): void;
|
|
1105
|
+
closeProjectTab(projectId: string): void;
|
|
1106
|
+
/** null: the projects list. */
|
|
1107
|
+
selectProjectTab(projectId: string | null): void;
|
|
1108
|
+
setPageTab(page: string, tab: string): void;
|
|
1109
|
+
setViewFilter(key: string, value: unknown): void;
|
|
1110
|
+
setViewValue(key: string, value: unknown): void;
|
|
1111
|
+
/** Set (or with `undefined`, drop) view state kept for this session only. */
|
|
1112
|
+
setTransientView(key: string, value: unknown): void;
|
|
1113
|
+
setGridState(gridId: string, state: unknown): void;
|
|
1114
|
+
clearGridState(gridId: string): void;
|
|
1115
|
+
setGridRowHeight(gridId: string, height: number): void;
|
|
1116
|
+
setGridLabelWidth(gridId: string, width: number): void;
|
|
1117
|
+
setGridSavedViews(gridId: string, views: readonly unknown[]): void;
|
|
1118
|
+
/**
|
|
1119
|
+
* Start over: a sign-in shows the home page with the sidebar at its default and no panel, tab
|
|
1120
|
+
* or page tab open; a sign-out also forgets the grids.
|
|
1121
|
+
*/
|
|
1122
|
+
resetLayout(variant: 'login' | 'logout'): void;
|
|
1123
|
+
}
|
|
1124
|
+
/** A store of the layout alone; the session stores are built on it. */
|
|
1125
|
+
interface ArbiLayoutStore extends ArbiLayoutActions {
|
|
1126
|
+
getLayout(): ArbiLayoutState;
|
|
1127
|
+
/** Back to the defaults, everything (unit tests; a reset from an error screen). */
|
|
1128
|
+
reset(): void;
|
|
1129
|
+
subscribe(listener: () => void): () => void;
|
|
1130
|
+
/** Resolves once the saved layout has been read (at once without a `persist`). */
|
|
1131
|
+
hydrated(): Promise<void>;
|
|
1132
|
+
isHydrated(): boolean;
|
|
1133
|
+
}
|
|
1134
|
+
interface ArbiLayoutStoreOptions {
|
|
1135
|
+
persist?: ArbiSessionPersist<ArbiSavedLayout>;
|
|
1136
|
+
}
|
|
1137
|
+
declare function createArbiLayoutStore({ persist }?: ArbiLayoutStoreOptions): ArbiLayoutStore;
|
|
1138
|
+
|
|
927
1139
|
/**
|
|
928
1140
|
* The live state of a running turn that is not in the threads cache: follow-ups waiting in the
|
|
929
1141
|
* agent bar's queue box, and the run-control state (pause / resume / report). Both are keyed by the
|
|
@@ -1051,7 +1263,7 @@ interface ArbiConversationDocument {
|
|
|
1051
1263
|
* `/open` (the host may cover the page), `open` once workspace-scoped requests may run.
|
|
1052
1264
|
*/
|
|
1053
1265
|
type ArbiWorkspaceStatus = 'closed' | 'opening' | 'open';
|
|
1054
|
-
interface ArbiSessionState extends AgentControlMaps {
|
|
1266
|
+
interface ArbiSessionState extends AgentControlMaps, ArbiLayoutState {
|
|
1055
1267
|
/** The selected workspace (`wrk-…`). */
|
|
1056
1268
|
workspaceId: string | null;
|
|
1057
1269
|
/** Whether it is open on the server session (`useSwitchWorkspace` moves it). */
|
|
@@ -1154,9 +1366,13 @@ interface ArbiViewingDocumentInput {
|
|
|
1154
1366
|
page?: number | null;
|
|
1155
1367
|
passageId?: string | null;
|
|
1156
1368
|
}
|
|
1157
|
-
interface ArbiSessionStore {
|
|
1369
|
+
interface ArbiSessionStore extends ArbiLayoutActions {
|
|
1158
1370
|
/** The current state. The same object until something in it changes. */
|
|
1159
1371
|
getState(): ArbiSessionState;
|
|
1372
|
+
/** Resolves once the saved layout has been read (at once when none is kept). */
|
|
1373
|
+
layoutHydrated(): Promise<void>;
|
|
1374
|
+
/** Whether the saved layout has been read. */
|
|
1375
|
+
isLayoutHydrated(): boolean;
|
|
1160
1376
|
/** Be told when the state may have changed. Returns the unsubscribe. */
|
|
1161
1377
|
subscribe(listener: () => void): () => void;
|
|
1162
1378
|
setWorkspaceId(id: string | null): void;
|
|
@@ -1264,8 +1480,12 @@ declare function nextViewingDocument(current: ArbiViewingDocument | null, input:
|
|
|
1264
1480
|
interface ArbiSessionStoreOptions {
|
|
1265
1481
|
/** Keep the composers' drafts across reloads (see {@link createSealedDraftStorage}). */
|
|
1266
1482
|
draftStorage?: ArbiDraftStorage;
|
|
1483
|
+
/** Keep the layout across reloads (see {@link createStoragePersist}). */
|
|
1484
|
+
persist?: ArbiSessionPersist<ArbiSavedLayout>;
|
|
1267
1485
|
}
|
|
1268
|
-
|
|
1486
|
+
/** The layout actions of a session store, on its layout store. */
|
|
1487
|
+
declare function layoutActionsOf(layout: ArbiLayoutStore): ArbiLayoutActions;
|
|
1488
|
+
declare function createArbiSessionStore(initial?: Partial<ArbiSessionState>, { draftStorage, persist }?: ArbiSessionStoreOptions): ArbiSessionStore;
|
|
1269
1489
|
|
|
1270
1490
|
/**
|
|
1271
1491
|
* What a host hands the `@arbidocs/react` hooks, as one configuration (`<ArbiHost config>`). Every
|
|
@@ -2701,13 +2921,28 @@ declare function settledByRows<T extends SequencedTask & {
|
|
|
2701
2921
|
external_id: string;
|
|
2702
2922
|
}>): T[];
|
|
2703
2923
|
|
|
2704
|
-
/** `error`: the host's socket failed
|
|
2924
|
+
/** `error`: the host's socket failed. */
|
|
2705
2925
|
type ArbiWsStatus = 'disconnected' | 'connecting' | 'connected' | 'reconnecting' | 'error';
|
|
2926
|
+
/**
|
|
2927
|
+
* A document's live processing: its last `task_update` (or a status set here, such as "queued"
|
|
2928
|
+
* while a write sends it back into processing), with when it was first seen (`startTime`) and
|
|
2929
|
+
* when it finished (`endTime`), both on this device's clock.
|
|
2930
|
+
*/
|
|
2931
|
+
type LiveTask = Omit<WsTaskUpdateMessage, 'type' | 'seq'> & {
|
|
2932
|
+
type?: 'task_update';
|
|
2933
|
+
seq?: number | null;
|
|
2934
|
+
startTime?: number;
|
|
2935
|
+
endTime?: number;
|
|
2936
|
+
};
|
|
2937
|
+
/** How long a document's tasks stay dismissed (late updates of a deleted upload are dropped). */
|
|
2938
|
+
declare const DISMISSED_TASK_TTL_MS: number;
|
|
2706
2939
|
interface ArbiWsState {
|
|
2707
2940
|
/** Live connection status of the shared socket. */
|
|
2708
2941
|
status: ArbiWsStatus;
|
|
2709
2942
|
/** Latest processing status per document id (the `task_update` stream). */
|
|
2710
|
-
tasks: Record<string,
|
|
2943
|
+
tasks: Record<string, LiveTask>;
|
|
2944
|
+
/** Documents whose processing rows were dismissed (deleted, cleared), with when. */
|
|
2945
|
+
dismissed: Record<string, number>;
|
|
2711
2946
|
/** The most recent `task_update` — a convenient single-value change trigger. */
|
|
2712
2947
|
lastTaskUpdate: WsTaskUpdateMessage | null;
|
|
2713
2948
|
/** Online status keyed by user id (the `presence_update` stream). */
|
|
@@ -2717,10 +2952,19 @@ interface ArbiWsState {
|
|
|
2717
2952
|
* code 1008). The socket stays closed: reconnecting would only be evicted again.
|
|
2718
2953
|
*/
|
|
2719
2954
|
evicted: boolean;
|
|
2720
|
-
setEvicted: (evicted: boolean) => void;
|
|
2721
2955
|
setStatus: (status: ArbiWsStatus) => void;
|
|
2722
|
-
|
|
2723
|
-
|
|
2956
|
+
setEvicted: (evicted: boolean) => void;
|
|
2957
|
+
/**
|
|
2958
|
+
* Take a `task_update`, unless it is older than the one held for its document (`seq`) or the
|
|
2959
|
+
* document was dismissed a moment ago. Resolves whether it was taken.
|
|
2960
|
+
*/
|
|
2961
|
+
applyTaskUpdate: (msg: WsTaskUpdateMessage) => boolean;
|
|
2962
|
+
/** Set a document's live processing directly (an optimistic status, or an undo). */
|
|
2963
|
+
putTask: (task: LiveTask) => void;
|
|
2964
|
+
/** Drop a document's processing row, and ignore its late updates for a while. */
|
|
2965
|
+
clearTask: (docId: string) => void;
|
|
2966
|
+
/** Drop every finished processing row (the in-flight ones stay). */
|
|
2967
|
+
clearFinishedTasks: () => void;
|
|
2724
2968
|
/** End the in-flight statuses that documents read since say finished after them. */
|
|
2725
2969
|
settleTasks: (rows: ReadonlyArray<SequencedRow & {
|
|
2726
2970
|
external_id: string;
|
|
@@ -2756,49 +3000,6 @@ declare function useArbiWsMessage<T extends WebSocketServerMessage>(type: T['typ
|
|
|
2756
3000
|
declare function useArbiWsStatus(): ArbiWsStatus;
|
|
2757
3001
|
/** `true` once the shared socket is authenticated and connected. */
|
|
2758
3002
|
declare function useArbiConnected(): boolean;
|
|
2759
|
-
/** The latest processing status per document id (the `task_update` stream). */
|
|
2760
|
-
declare function useArbiWsTasks(): Record<string, {
|
|
2761
|
-
type: "task_update";
|
|
2762
|
-
doc_ext_id: string;
|
|
2763
|
-
version: number;
|
|
2764
|
-
workspace_ext_id: string;
|
|
2765
|
-
file_name: string;
|
|
2766
|
-
status: "uploading" | "queued" | "parsing" | "encrypting" | "indexing" | "analysing" | "completed" | "failed" | "skipped" | "empty" | "low-content";
|
|
2767
|
-
progress: number;
|
|
2768
|
-
failed_stage?: string | null;
|
|
2769
|
-
folder?: string | null;
|
|
2770
|
-
seq?: number | null;
|
|
2771
|
-
updated_at?: string | null;
|
|
2772
|
-
}>;
|
|
2773
|
-
/** The latest processing status for a single document, if any. */
|
|
2774
|
-
declare function useArbiWsTask(docId: string): {
|
|
2775
|
-
type: "task_update";
|
|
2776
|
-
doc_ext_id: string;
|
|
2777
|
-
version: number;
|
|
2778
|
-
workspace_ext_id: string;
|
|
2779
|
-
file_name: string;
|
|
2780
|
-
status: "uploading" | "queued" | "parsing" | "encrypting" | "indexing" | "analysing" | "completed" | "failed" | "skipped" | "empty" | "low-content";
|
|
2781
|
-
progress: number;
|
|
2782
|
-
failed_stage?: string | null;
|
|
2783
|
-
folder?: string | null;
|
|
2784
|
-
seq?: number | null;
|
|
2785
|
-
updated_at?: string | null;
|
|
2786
|
-
};
|
|
2787
|
-
|
|
2788
|
-
/**
|
|
2789
|
-
* Keep a workspace's documents (and tags) current from WebSocket events — the shared, no-polling
|
|
2790
|
-
* replacement for refetch loops.
|
|
2791
|
-
*
|
|
2792
|
-
* Mount `useArbiDocumentSync(workspaceId)` once wherever the document list matters. It re-reads
|
|
2793
|
-
* just the documents an event names and patches them into the list (`refreshDocuments`):
|
|
2794
|
-
* - `batch_complete` (upload, AI fields, extraction) for this workspace: its documents, and the
|
|
2795
|
-
* tag list (a batch may create tags);
|
|
2796
|
-
* - a finished `task_update` for a document (processing over).
|
|
2797
|
-
* so freshly uploaded, freshly coded or freshly processed documents appear without anyone
|
|
2798
|
-
* polling or re-reading the whole list. Every documents read also settles the shared live
|
|
2799
|
-
* processing (`settleTasks`): a status a newer finished row supersedes is over.
|
|
2800
|
-
*/
|
|
2801
|
-
declare function useArbiDocumentSync(workspaceId: string | undefined): void;
|
|
2802
3003
|
|
|
2803
3004
|
/**
|
|
2804
3005
|
* The live updates every site applies from the server's WebSocket, cache side only: a message
|
|
@@ -2991,6 +3192,16 @@ declare function useArbiSessionStore(): ArbiSessionStore;
|
|
|
2991
3192
|
* state or a primitive (a new object each call would never settle).
|
|
2992
3193
|
*/
|
|
2993
3194
|
declare function useArbiSessionState<T>(selector: (state: ArbiSessionState) => T): T;
|
|
3195
|
+
/**
|
|
3196
|
+
* A view setting kept in the session and saved across reloads (`views.values`: a page's view
|
|
3197
|
+
* mode, a zoom, a filter box's text), and its setter. `fallback` while none is set.
|
|
3198
|
+
*/
|
|
3199
|
+
declare function useSessionView<T>(key: string, fallback: T): [T, (value: T) => void];
|
|
3200
|
+
/**
|
|
3201
|
+
* View state kept for this session only (`views.transient`: a search's results, a one-shot
|
|
3202
|
+
* request), and its setter (`undefined` drops it). `fallback` while none is set.
|
|
3203
|
+
*/
|
|
3204
|
+
declare function useTransientView<T>(key: string, fallback: T): [T, (value: T | undefined) => void];
|
|
2994
3205
|
|
|
2995
3206
|
/**
|
|
2996
3207
|
* Who is signed in: the host `Arbi`'s session (`arbi.session`, the client's session state), the
|
|
@@ -12090,6 +12301,20 @@ interface ActivityFeedProps {
|
|
|
12090
12301
|
*/
|
|
12091
12302
|
declare function ActivityFeed({ limit, className, emptyLabel, enabled, 'data-testid': testId, }: ActivityFeedProps): React$1.JSX.Element;
|
|
12092
12303
|
|
|
12304
|
+
/**
|
|
12305
|
+
* A persisted notification arriving live (the server pushes each row as it is created, and again
|
|
12306
|
+
* when it is read on another device), applied to the cache: every loaded list takes it at once
|
|
12307
|
+
* (a new row in front, a read receipt flips `read`), then is read again from the server; new mail
|
|
12308
|
+
* or an agent's draft also refreshes the Mail views. `ArbiWebSocketProvider` applies it to every
|
|
12309
|
+
* row; the arrival toast is the blocks' (`useNotificationToasts`).
|
|
12310
|
+
*/
|
|
12311
|
+
|
|
12312
|
+
type NotificationResponse$3 = components['schemas']['NotificationResponse'];
|
|
12313
|
+
/** A persisted notification row has an id and the person it is addressed to. */
|
|
12314
|
+
declare function isNotificationRow(message: unknown): message is NotificationResponse$3;
|
|
12315
|
+
/** Apply one live notification row to the cache (`me`: the signed-in user's id). */
|
|
12316
|
+
declare function applyNotificationRow(queryClient: QueryClient, row: NotificationResponse$3, me: string | null | undefined): void;
|
|
12317
|
+
|
|
12093
12318
|
/** Persisted work notices, isolated by account and API, with live refresh and read receipts. */
|
|
12094
12319
|
declare function useWorkNotifications(options: {
|
|
12095
12320
|
apiUrl: string;
|
|
@@ -13542,6 +13767,26 @@ declare function useRemoveChatMember(): _tanstack_react_query.UseMutationResult<
|
|
|
13542
13767
|
userExtId: string;
|
|
13543
13768
|
}, unknown>;
|
|
13544
13769
|
|
|
13770
|
+
/**
|
|
13771
|
+
* Someone else's message arriving in one of my chats that is not open: what a host announces (a
|
|
13772
|
+
* toast pointing at the thread). Text messages only, never from a person I muted; no preview (the
|
|
13773
|
+
* text is end-to-end encrypted, the announcement stays a pointer). The chat cache itself follows
|
|
13774
|
+
* by itself (`<ArbiWebSocketProvider>` applies the event first).
|
|
13775
|
+
*/
|
|
13776
|
+
|
|
13777
|
+
/** A chat message to announce. */
|
|
13778
|
+
interface ChatArrival {
|
|
13779
|
+
chatId: string;
|
|
13780
|
+
chat: ChatResponse | undefined;
|
|
13781
|
+
/** The sender, when the chat list knows them. */
|
|
13782
|
+
sender: ChatResponse['members'][number]['user'] | undefined;
|
|
13783
|
+
senderId: string;
|
|
13784
|
+
/** Where "Reply" goes: the person for a direct chat, the chat otherwise. */
|
|
13785
|
+
replyTo: string;
|
|
13786
|
+
}
|
|
13787
|
+
/** Call `onArrival` for each chat message to announce (see the module comment). */
|
|
13788
|
+
declare function useChatArrivals(onArrival: (arrival: ChatArrival) => void): void;
|
|
13789
|
+
|
|
13545
13790
|
/** Small presentation helpers for the DM kit. */
|
|
13546
13791
|
|
|
13547
13792
|
/** Initials from a user's name (falls back to the email local-part). */
|
|
@@ -13942,17 +14187,15 @@ declare function useSimilarDocuments(options?: {
|
|
|
13942
14187
|
similarity: number;
|
|
13943
14188
|
}[];
|
|
13944
14189
|
}>, Error>;
|
|
13945
|
-
interface RefreshDocumentsOptions {
|
|
13946
|
-
/** The processing the host last heard live for a document (`DocumentsSupport.processingTask`). */
|
|
13947
|
-
processingTask?: (docId: string) => SequencedTask | undefined;
|
|
13948
|
-
}
|
|
13949
14190
|
/**
|
|
13950
14191
|
* Re-read `docIds` and patch them into the caches that show them: their workspace's list (added
|
|
13951
14192
|
* when new), their own entries, and the tag list's document counts (tags the server applied, e.g.
|
|
13952
14193
|
* AI fields). For events that name documents (a batch finished, a version saved, an upload): the
|
|
13953
14194
|
* list is never re-read for them. A failed read leaves the caches as they were.
|
|
13954
14195
|
*/
|
|
13955
|
-
declare function refreshDocuments(qc: QueryClient, arbi: Arbi, docIds: string[]
|
|
14196
|
+
declare function refreshDocuments(qc: QueryClient, arbi: Arbi, docIds: string[]): Promise<WorkspaceDocument[]>;
|
|
14197
|
+
/** `refreshDocuments` on this host's cache and `Arbi`, for a component or a hook. */
|
|
14198
|
+
declare function useRefreshDocuments(): (docIds: string[]) => Promise<WorkspaceDocument[]>;
|
|
13956
14199
|
/** Add `delta` (tag id → change) to the tags' document counts; the tag tables re-read. */
|
|
13957
14200
|
declare function adjustTagCounts(qc: QueryClient, workspaceId: string, delta: Map<string, number>): void;
|
|
13958
14201
|
|
|
@@ -13966,6 +14209,36 @@ declare function adjustTagCounts(qc: QueryClient, workspaceId: string, delta: Ma
|
|
|
13966
14209
|
/** Call `onRows` with the documents each successful read or write of a documents cache holds. */
|
|
13967
14210
|
declare function subscribeDocumentReads(qc: QueryClient, onRows: (rows: WorkspaceDocument[]) => void): () => void;
|
|
13968
14211
|
|
|
14212
|
+
/**
|
|
14213
|
+
* A workspace's documents in processing, live: what every site's file views show while uploads
|
|
14214
|
+
* and re-processing run.
|
|
14215
|
+
*
|
|
14216
|
+
* - `applyTaskEvent` (the provider runs it on each taken `task_update`): an upload appears as a
|
|
14217
|
+
* row the moment it is queued (a light placeholder, so the table and the gallery show it with
|
|
14218
|
+
* its live progress), and a finished document replaces its row with the one read afresh.
|
|
14219
|
+
* - `useWorkspaceProcessing(workspaceId)`: the workspace's processing rows and their counts
|
|
14220
|
+
* (a snapshot every half second, so a batch upload does not re-render on every event), kept
|
|
14221
|
+
* honest: stale or orphaned rows are dropped when the workspace opens, rows a document read says
|
|
14222
|
+
* finished are settled, and the in-flight ones are re-checked when the connection comes back.
|
|
14223
|
+
*/
|
|
14224
|
+
|
|
14225
|
+
/** Apply one taken `task_update` to the documents list (`me`: who uploads, i.e. this user). */
|
|
14226
|
+
declare function applyTaskEvent(queryClient: QueryClient, arbi: Arbi, message: WsTaskUpdateMessage & {
|
|
14227
|
+
folder?: string | null;
|
|
14228
|
+
}, me: string | null | undefined): void;
|
|
14229
|
+
/** The workspace's processing rows (in the order of their document ids) and their counts. */
|
|
14230
|
+
interface WorkspaceProcessing {
|
|
14231
|
+
tasks: Record<string, LiveTask>;
|
|
14232
|
+
allTasks: LiveTask[];
|
|
14233
|
+
processingCount: number;
|
|
14234
|
+
completedCount: number;
|
|
14235
|
+
failedCount: number;
|
|
14236
|
+
skippedCount: number;
|
|
14237
|
+
clearTask: (docId: string) => void;
|
|
14238
|
+
clearFinishedTasks: () => void;
|
|
14239
|
+
}
|
|
14240
|
+
declare function useWorkspaceProcessing(workspaceId: string | undefined): WorkspaceProcessing;
|
|
14241
|
+
|
|
13969
14242
|
/**
|
|
13970
14243
|
* Reading a workspace's documents progressively: the first page is the query's result, so the
|
|
13971
14244
|
* list shows within a few hundred milliseconds even for 100k documents, and the remaining pages
|
|
@@ -14146,7 +14419,7 @@ interface GenerateDocTagsInput {
|
|
|
14146
14419
|
* Fill tags' values on documents with AI. Accepted at once; the work runs in the background and a
|
|
14147
14420
|
* `batch_complete` (`doctag_generate`) event names the documents when it is done
|
|
14148
14421
|
* (`refreshDocuments` then brings their values). Meanwhile the documents show as queued for
|
|
14149
|
-
* processing (
|
|
14422
|
+
* processing (as queued), undone if the request is refused.
|
|
14150
14423
|
*/
|
|
14151
14424
|
declare function useGenerateDocTags(): _tanstack_react_query.UseMutationResult<{
|
|
14152
14425
|
doc_ext_ids: string[];
|
|
@@ -14766,6 +15039,152 @@ declare function getRelatedLabels(related: RelatedDocs<WorkspaceDocument>): stri
|
|
|
14766
15039
|
*/
|
|
14767
15040
|
declare function useRelatedDocuments<D extends WorkspaceDocument>(documents: D[]): RelatedDocsMap<D>;
|
|
14768
15041
|
|
|
15042
|
+
/**
|
|
15043
|
+
* Changes made offline that wait to sync: the documents' writes held back by React Query while
|
|
15044
|
+
* offline (paused mutations, persisted by the host's query persister) or that failed when they
|
|
15045
|
+
* were replayed. What changed and where (`usePendingSyncItems`), how many (`usePendingSyncCounts`),
|
|
15046
|
+
* whether a document has one (`useDocumentPendingSync`), and undoing them before they reach the
|
|
15047
|
+
* server (`useCancelManyPendingSync`). These only read the mutation cache (plus the explicit
|
|
15048
|
+
* undo), so they never change how online writes behave.
|
|
15049
|
+
*/
|
|
15050
|
+
|
|
15051
|
+
type PendingStatus = 'queued' | 'syncing' | 'error';
|
|
15052
|
+
interface PendingSyncItem {
|
|
15053
|
+
mutationId: number;
|
|
15054
|
+
/** Affected document name(s) — resolved, e.g. "Exhibit R-007". */
|
|
15055
|
+
document: string;
|
|
15056
|
+
/** The exact change, in plain words — e.g. "Moved to Contracts", "Title → \"X\"". */
|
|
15057
|
+
change: string;
|
|
15058
|
+
status: PendingStatus;
|
|
15059
|
+
/** When the change was made (ms epoch). */
|
|
15060
|
+
at: number;
|
|
15061
|
+
docIds: string[];
|
|
15062
|
+
}
|
|
15063
|
+
/** Which queued write a pending change is. */
|
|
15064
|
+
type PendingKind = 'fields' | 'assignTag' | 'removeTag' | 'noteTag' | 'createTag';
|
|
15065
|
+
/** The raw projection pulled out of each pending mutation, before enrichment. */
|
|
15066
|
+
interface RawPending {
|
|
15067
|
+
mutationId: number;
|
|
15068
|
+
kind: PendingKind;
|
|
15069
|
+
variables: unknown;
|
|
15070
|
+
context: unknown;
|
|
15071
|
+
status: PendingStatus;
|
|
15072
|
+
at: number;
|
|
15073
|
+
}
|
|
15074
|
+
/**
|
|
15075
|
+
* Pure enrichment: turn one raw pending mutation into a display item, resolving
|
|
15076
|
+
* the document name(s) and change summary from the supplied maps. Exported for
|
|
15077
|
+
* direct unit testing (the bug-prone part is name/change resolution, not the
|
|
15078
|
+
* thin useMutationState wiring around it).
|
|
15079
|
+
*/
|
|
15080
|
+
declare function buildPendingSyncItem(raw: RawPending, docNameById: Map<string, string>, tagNameById: Map<string, string>): PendingSyncItem;
|
|
15081
|
+
declare const PENDING_SYNC_PREDICATE: (m: Mutation) => boolean;
|
|
15082
|
+
/**
|
|
15083
|
+
* Full, enriched list of unsynced writes for the offline-changes modal — newest
|
|
15084
|
+
* last, each with a resolved document name, the exact change, and a timestamp.
|
|
15085
|
+
* Resolves names from the live document + tag caches (reactively, so they fill
|
|
15086
|
+
* in as those load — unlike a one-shot cache read).
|
|
15087
|
+
*/
|
|
15088
|
+
declare function usePendingSyncItems(): PendingSyncItem[];
|
|
15089
|
+
/** Cheap counts for the sidebar badge — no name resolution. */
|
|
15090
|
+
declare function usePendingSyncCounts(): {
|
|
15091
|
+
pending: number;
|
|
15092
|
+
failed: number;
|
|
15093
|
+
};
|
|
15094
|
+
/**
|
|
15095
|
+
* Cancel many changes at once. Rolls back newest-first so layered edits to the
|
|
15096
|
+
* same doc restore in LIFO order (matching how they'd replay). Only undoable
|
|
15097
|
+
* (queued/failed) mutations are touched — anything already syncing is left alone.
|
|
15098
|
+
*/
|
|
15099
|
+
declare function useCancelManyPendingSync(): (mutationIds: number[]) => void;
|
|
15100
|
+
/** Whether a document has a change waiting to sync (a cheap boolean, for per-row status). */
|
|
15101
|
+
declare function useDocumentPendingSync(docId: string | null | undefined): boolean;
|
|
15102
|
+
|
|
15103
|
+
/**
|
|
15104
|
+
* Documents kept on this device ("available offline"): the bytes a viewer shows (the PDF, or for
|
|
15105
|
+
* media the stored file), so a pinned document opens with no network, and can be attached to an
|
|
15106
|
+
* email offline. A deliberate, user-pinned cache in IndexedDB: entries live until the user removes
|
|
15107
|
+
* them or signs out (`wipeOfflineDocuments`).
|
|
15108
|
+
*
|
|
15109
|
+
* The bytes are always ciphertext, sealed to the user's own key (the cache is private to one user
|
|
15110
|
+
* on one device). The store persists a raw `Uint8Array` (it structured-clones everywhere, unlike a
|
|
15111
|
+
* `Blob`); sealing and opening happen in `keepDocumentsOffline` / `loadOfflineDocument`.
|
|
15112
|
+
*/
|
|
15113
|
+
interface OfflineDocumentRecord {
|
|
15114
|
+
/** Document external id (the primary key). */
|
|
15115
|
+
docExtId: string;
|
|
15116
|
+
/** Display name, captured at save time so the offline list can render without metadata. */
|
|
15117
|
+
fileName: string;
|
|
15118
|
+
/**
|
|
15119
|
+
* Which bytes were cached: 'pdf' = the server-generated PDF preview (`/view`),
|
|
15120
|
+
* 'original' = the source file (`/download`, used for image/audio/video).
|
|
15121
|
+
*/
|
|
15122
|
+
kind: 'pdf' | 'original';
|
|
15123
|
+
/** Sealed-box ciphertext (the user's personal key); decrypted on read. */
|
|
15124
|
+
data: Uint8Array;
|
|
15125
|
+
/** MIME type, used to rebuild the Blob on read. */
|
|
15126
|
+
contentType: string;
|
|
15127
|
+
/** Epoch ms when cached. */
|
|
15128
|
+
savedAt: number;
|
|
15129
|
+
}
|
|
15130
|
+
declare function getOfflineDocument(docExtId: string): Promise<OfflineDocumentRecord | undefined>;
|
|
15131
|
+
/**
|
|
15132
|
+
* Ask the browser to mark this origin's storage as persistent, so the offline
|
|
15133
|
+
* cache isn't evicted under disk pressure (without this, IndexedDB is
|
|
15134
|
+
* "best-effort" and can be cleared). Best-effort + idempotent; returns whether
|
|
15135
|
+
* storage is persisted afterwards.
|
|
15136
|
+
*/
|
|
15137
|
+
declare function requestPersistentStorage(): Promise<boolean>;
|
|
15138
|
+
/** Drop every document kept on this device (signing out: nothing stays behind). */
|
|
15139
|
+
declare function wipeOfflineDocuments(): Promise<void>;
|
|
15140
|
+
/** Open a kept document's bytes (`undefined` when it is not kept on this device). */
|
|
15141
|
+
declare function loadOfflineDocument(docId: string): Promise<Blob | undefined>;
|
|
15142
|
+
/** The documents kept on this device (a local read: it runs offline too). */
|
|
15143
|
+
declare function useOfflineDocumentIds(): ReadonlySet<string>;
|
|
15144
|
+
/**
|
|
15145
|
+
* Keep documents on this device. Their metadata goes into the cache too (the persister keeps it),
|
|
15146
|
+
* so a pinned document never opened online still has it offline; the host may then warm its
|
|
15147
|
+
* viewer code (`documents.onKeptOffline`) so it opens offline as well.
|
|
15148
|
+
*/
|
|
15149
|
+
declare function useKeepDocumentsOffline(): _tanstack_react_query.UseMutationResult<number, Error, {
|
|
15150
|
+
external_id: string;
|
|
15151
|
+
workspace_ext_id: string;
|
|
15152
|
+
file_name?: string | null;
|
|
15153
|
+
status?: string | null;
|
|
15154
|
+
error_message?: string | null;
|
|
15155
|
+
failed_stage?: string | null;
|
|
15156
|
+
status_seq: number;
|
|
15157
|
+
n_pages?: number | null;
|
|
15158
|
+
n_chunks?: number | null;
|
|
15159
|
+
tokens?: number | null;
|
|
15160
|
+
file_type?: string | null;
|
|
15161
|
+
file_size?: number | null;
|
|
15162
|
+
storage_type?: string | null;
|
|
15163
|
+
storage_uri?: string | null;
|
|
15164
|
+
content_hash?: string | null;
|
|
15165
|
+
shared?: boolean | null;
|
|
15166
|
+
re_ocred?: boolean | null;
|
|
15167
|
+
config_ext_id?: string | null;
|
|
15168
|
+
parent_ext_id?: string | null;
|
|
15169
|
+
current_version: number;
|
|
15170
|
+
versions: _arbidocs_client.components["schemas"]["DocVersion"][];
|
|
15171
|
+
thread_id?: string | null;
|
|
15172
|
+
derived_from: _arbidocs_client.components["schemas"]["DerivedFrom"][];
|
|
15173
|
+
source_message_ext_id?: string | null;
|
|
15174
|
+
conversation_ext_id?: string | null;
|
|
15175
|
+
created_by_ext_id: string;
|
|
15176
|
+
updated_by_ext_id?: string | null;
|
|
15177
|
+
created_at: string;
|
|
15178
|
+
updated_at: string;
|
|
15179
|
+
wp_type?: string | null;
|
|
15180
|
+
folder?: string | null;
|
|
15181
|
+
sender?: string | null;
|
|
15182
|
+
doctags: _arbidocs_client.components["schemas"]["DocTagResponse"][];
|
|
15183
|
+
doc_metadata?: _arbidocs_client.components["schemas"]["DocMetadata"] | null;
|
|
15184
|
+
}[], unknown>;
|
|
15185
|
+
/** Stop keeping documents on this device. */
|
|
15186
|
+
declare function useRemoveDocumentsOffline(): _tanstack_react_query.UseMutationResult<number, Error, string[], unknown>;
|
|
15187
|
+
|
|
14769
15188
|
/**
|
|
14770
15189
|
* The documents whose people and organisations are being found (`useExtractEntities`), from the
|
|
14771
15190
|
* request until the live connection says the batch is done (`batch_complete`, `entity_extract`):
|
|
@@ -14779,4 +15198,4 @@ declare function finishEntityExtraction(docIds: readonly string[]): void;
|
|
|
14779
15198
|
/** The documents being extracted now. */
|
|
14780
15199
|
declare function useEntityExtractionDocIds(): readonly string[];
|
|
14781
15200
|
|
|
14782
|
-
export { AGENT_CONTROL_COMMANDS, ALLOWED_PORTAL_ORIGINS, ARCHIVE_POLL_MS, ASSISTANT_MENTION_LABEL, AUDIO_MIME_PREFERENCE, AUTO_CHAT_MODEL, type AccessRequestPayload, type AccessRequestRecipient, type AccountClient, type AccountClientContextValue, type AccountHost, type AccountSession, type AccountSignOutOptions, ActiveCall, type ActivityContent, type ActivityDescription, ActivityFeed, type ActivityFeedProps, type AddWorkspaceMembersRequest, type AgentAccessMode, type AgentConfigSections, type AgentControlMaps, AgentDmStatus, type AgentQuestionRef, type AgentRunControlState, type AggregatedDailyUsage, type AggregatedModelGroupUsage, AiActionCard, AiAnswer, type AiRunOptions, type AiTaskStatus, AppNotification, AppleIcon, type ApplyCallEventOptions, ArbiBotHeadIcon, ArbiBotIcon, type ArbiChatCitation, type ArbiChatDocument, type ArbiChatHost, type ArbiChatMessage, type ArbiChatMessageStatus, type ArbiChatPassage, type ArbiChatRole, type ArbiChatThread, type ArbiConversation, type ArbiConversationDocument, type ArbiConversationGeneration, type ArbiDocumentViewerState, type ArbiDraftStorage, ArbiHost, type ArbiHostConfig, ArbiHostConnection, ArbiHostProps, type ArbiMessageTimer, type ArbiSessionState, type ArbiSessionStatus, type ArbiSessionStore, type ArbiSessionStoreOptions, type ArbiSignedInSession, type ArbiThreadTab, type ArbiThreadView, type ArbiViewerTab, type ArbiViewingDocument, type ArbiViewingDocumentInput, ArbiWebSocketProvider, type ArbiWebSocketProviderProps, type ArbiWorkspaceStatus, type ArbiWsState, type ArbiWsStatus, ArtifactCanvas, type AskAgain, type AspectOption, type AssignDocTagsInput, type AssistantMode, AudIcon, type AudioPiece, type AvatarCrop, type AvatarFileProblem, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_ACTION, BOX_SEAT_REFUSED_TITLE, type BranchNavigation, type BranchPoint, type BuildArchiveInput, type BuiltArchive, CALL_MODERATION_TOPIC, CONVERSATION_SWITCH_MEASURE, type CalendarConnectorSupport, type CalendarNotificationMeta, type CalendarOfflineSupport, type CalendarPendingWrite, type CalendarSupport, type CalendarWriteOp, type CallInviteContact, type CallMutedNotice, type CallRoomEvents, type CallSlotMode, type CallUserPillProps, type CallsHost, ChatBubble, type ChatBubbleProps, ChatMemberKey, type ChatPost, ChatResponse, type ChatSummary, ChatThreadMessage, type Chunk, type ChunkActivation, type ChunkedRecorder, type ChunkedRecorderOptions, CitationRenderer, type CitationRendererProps, type CitationState, ClaudeIcon, CommandPalette, type CommandPaletteClassNames, type CommandPaletteProps, CommandPaletteProvider, type CommandPaletteProviderProps, type CommandPaletteValue, type ConfigUpdate, type ConversationActionsInput, type ConversationEvent, ConversationList, type ConversationListProps, ConversationScope, type ConversationScopeProps, type CreateProjectVars, type CreateTagInput, type CreateWorkspaceVars, type CreatedProject, type CropArea, type CropOutput, type CropResult, DATABASE_RELATION_PICK_LIMIT, DATABASE_ROWS_PAGE, DEFAULT_ASPECT_OPTIONS, DEFAULT_DOCUMENT_VIEWER_STATE, DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES, DOCUMENTS_FIRST_PAGE_MEASURE, DOCUMENTS_FIRST_PAGE_SIZE, DOCUMENTS_PAGE_SIZE, DateSeparator, type DateSeparatorProps, type DeleteAccountBlocker, type DeleteAccountFlow, type DeletedDocument, type DeletedDocumentsPage, type DescribeCalendarNotificationOptions, type DescribeServerNotificationOptions, DictateContextValue, DmAvatar, type DmAvatarProps, type DmClassNames, DmComposer, type DmComposerProps, type DmConversation, type DmMessage, type DmUser, DocIcon, DocQaPanel, DocSearch, DocumentCardMenu, type DocumentCardMenuProps, type DocumentHostActions, type DocumentPerson, DocumentReview, type DocumentReviewProps, type DocumentRowChange, type DocumentStartItem, type DocumentsSupport, type DraftKeyValueStore, DraftTitleControls, type DraftTitleControlsProps, EMPTY_SESSION_STATE, EXPORT_SAMPLE_RATE, type EmailChange, type EmailPreferences, EmlIcon, type EnableDriveSyncVars, type EnableMailboxSyncVars, type EntitledFeature, EntityIconComponent, EntityVocabulary, type ExportDownloadRequest, type ExportFileKind, type ExtractedZip, FILE_TYPE_COLORS, FINISHED_DOCUMENT_STATUSES, FIRST_TOKEN_MEASURE, type FactListFilter, type FeatureEntitlements, type FeatureRefusal, FileIcon, FireworksIcon, type FollowSaveCallbacks, GeminiIcon, type GenerateDocTagsInput, GitHubIcon, GoogleIcon, type GrantAgentAccessVars, HostConfigRecord, HtmlIcon, IN_FLIGHT_DOCUMENT_STATUSES, IdentityPurchase, IdentityStatus, IdentityStep, type IdentityVerificationApi, IdentityVerificationFlow, ImageCropModal, type ImageCropModalProps, ImageCropper, type ImageCropperProps, ImgIcon, IncomingCall, InlineMicButton, type InlineMicButtonProps, JoinChoices, LIVE_UPDATE_TYPES, LinkedInIcon, MAIL_DRAFT_REPLACED_EVENT, MAX_AVATAR_FILE_BYTES, MAX_THREAD_TABS, MIN_NARRATION_DWELL_MS, MIN_QUEUED_MESSAGE_VISIBILITY_MS, MUTED_DEDUPE_MS, type MailAccount, type MailAddress, type MailAttachment, type MailClient, type MailClientContextValue, type MailCompose, type MailDeliveryRecipient, type MailDeliveryStatus, type MailDeviceFallback, type MailDraftEditorRequest, type MailDraftEditorSession, type MailFetch, type MailFolder, type MailHost, type MailMessage, type MailMessageUpdate, MailOfflineUnavailableError, type MailPage, type MailPolicy, type MailProject, MeetingChatRef, MeetingChatTarget, MentionCandidate, type MessageArtifact, MessageArtifactCard, type MessageTimerResult, MicRecordingOverlay, type MicRecordingOverlayProps, MicWaveformIndicator, type MicWaveformIndicatorProps, type ModeratedTrack, type MountDiditOptions, type NameEditor, type NotificationPreferencesModel, type NotificationTarget, type NotificationTypeMeta, NotifyVariant, OpenAIIcon, type OpenedRecording, type OptimisticDocumentEdit, type OrderResolver, PLAYBACK_LOOKAHEAD_MS, POLL_EVERY_MS, PROJECT_CREATION_DENIED_REASON, type PaletteNavItem, type ParsedChunk, type ParsedChunkMetadata, type ParsedDocument, type ParsedDocumentMetadata, type PassageResolvers, type PasswordChangeForm, type PasswordChangeFormMessages, type PasswordChangeVars, PdfIcon, type PeopleDirectory, type Person, PhotoCapture, type PhotoCaptureProps, type ProcessingTask, type ProfileView, type ProjectsUsageAggregate, type QueuedCalendarWrite, type QueuedDocument, type QueuedMessage, type QueuedMessages, type QuoteResolver, RECORDING_SEGMENTER, RUN_WINDOW_MS, type RecordedChunk, type RecordingWindow, type RefreshDocumentsOptions, type RefusedUploadFile, type RelatedDocs, type RelatedDocsMap, type RelevancePatch, type RemoveDocTagsInput, type RenderMarkdown, type RequestAccessOptions, SEGMENT_FRAME_MS, SEGMENT_PRE_ROLL_MS, SHORT_PIECE_MERGE_GAP_MS, SIGNATURE_NOTIFICATION_TYPES, SIMILARITY_THRESHOLD, SLOW_AFTER_MS, STILL_WORKING, type SaveAgentConfigVars, type SealedDraftStorageOptions, type SearchMode, SearchSession, SearchStatus, SegmenterConfig, type SemanticSearch, type SemanticSearchOptions, type SendMessageOptions, type SequencedRow, type SequencedTask, type ServerNotificationBellOptions, type ServerNotificationDescription, type ShellRecentWorkspaceItem, type ShellWorkspaceItem, type ShellWorkspaceKind, type ShellWorkspaceMember, type ShellWorkspaceSeed, type ShellWorkspaceSource, type SignatureNotificationType, type StartTaskQuery, StorageActionError, type StorageActions, type StorageDeploymentUsage, type StorageItem, type StorageItemKind, type StorageItemState, type StorageItemsQuery, type StorageKindUsage, type StorageProjectUsage, type StorageScope, type StorageSnapshot, type StreamHandlerContext, type StreamHandlerParams, type StreamHandlers, type StreamState, type SwitchWorkspaceTarget, TRANSFER_POLL_MS, TaskThreadPendingError, type ThreadAccessors, ThreadBinding, type ThreadItem, type TimelinePart, type ToolResponses, type TrackCutter, type TrackPiece, type TranscriptExportLine, type TranscriptLineRef, type TranscriptSegmentMarker, type TransferConflictPolicy, type TransferKind, type TransferMode, type TransferPlan, type TransferScope, type TransferStatus, type TurnTools, TxtIcon, TypingIndicator, UPLOAD_ACCEPT, UPLOAD_MAX_FILE_SIZE, type UnarchiveEstimate, type UpdateDocTagInput, type UpdateDocumentsInput, type UpdateProfileVars, type UploadDocumentsInput, type UploadFilesInput, type UploadFilesProgress, type UploadFilesResult, type UploadFromUrlsInput, type UploadFromUrlsResult, type UploadRefusal, type UploadUrlsInput, type UsageTotals, type UseArbiShellWorkspacesOptions, type UseAskAgainOptions, type UseAvatarCropOptions, type UseCameraStreamResult, type UseConversationOptions, type UseDeleteAccountFlowOptions, type UseDownloadDocumentsOptions, type UseEmailChangeOptions, type UseIdentityVerificationFlowOptions, type UseMessageTimerOptions, type UseNameEditorOptions, type UsePasswordChangeFormOptions, type UseShellWorkspacesOptions, type UseShellWorkspacesResult, type UseSwitchWorkspaceResult, type UseVideoRecorderResult, type UserResponse, type UserSettingsPatch, VIDEO_MIME_PREFERENCE, VidIcon, VideoCapture, type VideoCaptureProps, type VideoRecorderState, VoiceNoteRecorder, type VoiceNoteRecorderProps, WORK_NOTIFICATION_LABELS, type WorkspaceArchive, type WorkspaceArchiveState, type WorkspaceDocument, type WorkspaceExport, type WorkspaceMember, type WorkspaceNotificationLevel, type WorkspaceRole, type WorkspaceSwitchContext, type WorkspaceUpdate, XlsIcon, type ZipExtractor, __resetPendingFinalCommitsForTests, __resetStreamingTokenBufferForTests, acceptRing, accountPath, addAssistantMessageToCache, addConversationToList, addUserMessageToCache, adjustTagCounts, adoptNewChatDocument, agentControl, aliasTakenMessage, allConversationThreads, annotateThread, announceMailDraftReplaced, appendTokenToMessage, applyCallEvent, applyConversationEvent, applyFinalContextToMessage, applyLiveUpdate, applyOptimisticDocumentEdit, applyOutputItemToMessage, arbiAccountClient, arbiMailClient, archiveName, archivedWorkspaceMessage, bindThreadDocument, boundDocumentOf, buildDocumentMetadataRows, buildMentionCandidates, buildPendingFirstTurn, buildWorkspaceArchive, cacheThreadBinding, cachedAssistantMode, cachedMentionCandidates, cachedQuotaUsedUp, calendarNotificationMeta, callLink, callNotificationMeta, captureFrameAsBlob, chatTranscriptRef, classifyMediaError, clearLoadingState, clearSealedDrafts, clearUserInputRequest, clockTime, commitFinalMessage, completeQueuedUserMessageByContent, compositeFiles, compositeTrack, connectOAuthCalendarAccount, connectorErrorStatus, connectorReturnTo, conversationKey, createArbiSessionStore, createChunkedRecorder, createMailClient, createMutedNotifier, createSealedDraftStorage, createStreamHandlers, createTrackCutter, createWorkspaceSwitch, cropImage, cutAtPauses, dayKey, declineRing, decodeMono16k, defaultMailAlias, deploymentUserMeta, describeActivity, describeCalendarNotification, describeServerNotification, discardStreamingTokensForMessage, disconnectAttachedRun, documentActivityMeta, documentActivityPhrase, documentDisplayName, docxMentionMeta, downloadRecoveryFile, dropTagFromCachedDocuments, encodeWav, ensureAssistantMessageLoading, entitlementRefusal, extensionFor, extractZipFile, fallbackFileName, fetchPart, fileAttachment, fileSafe, filesFromDrop, findConversation, finishEntityExtraction, floatToWav, flushStreamingTokens, forgetDocuments, forgetUploadedDocumentFolder, formatConfigValidationError, formatElapsed, formatIdentityPrice, formatTranscriptMarkdown, getCachedDocuments, getInterjectionText, getNotificationTypeMeta, getOrphanedLastMessage, getRelatedLabels, getRelatedTotal, getRunStartedAt, getThreadsQueryKey, getWorkspaceActionText, getWorkspaceKind, getWorkspaceSentPhrase, hasPendingFinalCommit, hasRecordingTranscript, hasVideoTrack, identityStepFor, inputRequestTitle, invalidateCalendarEvents, invalidateCalendars, invalidateCall, invalidateConversationActivity, invalidateConversationDetails, invalidateConversationLists, invalidateRelatedRows, invalidateTagData, invalidateTagTables, isActivityKey, isAliasTakenError, isArchiveMoving, isCommentToPeople, isConversationListKey, isConversationShared, isDeploymentAdmin, isDeploymentUserNotification, isDocumentsLoading, isFullConfig, isKnownSoloConversation, isMessageRunning, isOfflineReadableArbiQuery, isOrphanedUserMessage, isQueuedCalendarWrite, isRecordingSegmentId, isReplayableArbiMutation, isRestorableArbiQueryOnline, isRowNewer, isSignatureNotificationType, isStaleTaskUpdate, isTransferFinished, isTransferResumable, isUsageMetered, isWorkspaceArchivedError, isWorkspaceGuestOf, isWorkspaceNotificationType, isZipFile, joinFromPreJoin, mailDraftIdFromContent, mailJson, markMessageAsFailed, markNarrationSettled, mergeHostConfig, migrateLegacyThreadDocuments, mountDiditVerification, mutedNoticeFromEvent, mutedNoticeFromPacket, mutedNoticeText, nextAliasSuggestion, nextViewingDocument, notificationUserName, onCallEvent, openAccessRequest, openCall, openRecording, parseActivityContent, parseDeleteAccountBlockers, partKey, partsDue, patchCachedDocument, patchConversation, patchConversationList, patchDocuments, patchWorkspaceTags, pendingChatModelSave, peopleDirectory, personOfUser, pickRecentWorkspaces, pickRecorderMimeType, playheadAt, postRecordingDocsToThread, postTranscriptToThread, prepareUploadFiles, queuedMessages, recordingFiles, recordingWindowsOf, redlineStats, refreshDocuments, refuseChatWhenOffline, registerArbiMutationDefaults, registerAttachedRun, removeConversationFromLists, removeSettledNarration, resetCalendarAccountSyncState, resetMessageContent, resolveActiveWorkspace, resolveConfigModel, resolveDocumentStatus, resolveReplyTarget, rollbackOptimisticDocumentEdit, safePortalUrl, saveRecordingFilesToThread, schedulePart, selectDraft, selectIsGenerating, selectViewingDocumentId, serverCallsExperimental, serverNotificationBellEntry, setCachedDocument, setMessageContent, setUserInputRequest, settledByRows, signatureNotificationPhrase, signatureRequestMeta, sortTranscriptMessages, sortedParts, speakerTracks, speakerWav, splitIntoFiles, standalone, startChatCall, startContactsCall, startDmCall, startEntityExtraction, startThreadCall, startsMediaFile, stopDocumentsLoading, stripSpeakerPrefix, subscribeDocumentReads, subscribeDocumentRows, supersedeLiveTranscript, supersededTranscriptLines, supportsHouseTemplates, textToArtifact, threadBinding, threadEndingAtContains, threadTabId, threadTranscriptLines, threadTranscriptRef, timelineDurationMs, timelineOf, titleFromQuestion, toChatCitations, toNotificationPreferences, toProfileView, toRedlineMarkdown, toShellWorkspace, transcribeRecording, transcriptSegmentOf, updateMessageWithMetadata, updateUserMessageInCache, updateUserMessageStateInCache, uploadFolderOf, uploadedDocumentFolder, upsertDocuments, useAccountClient, useActOnStep, useActivity, useAddChatMembers, useAddDatabaseRows, useAddHolidayCalendar, useAddProjectAddonBlock, useAddWorkspaceMembers, useAddonQuote, useAgentChats, useAgentConfig, useAgentDmStatus, useAgentModels, useAgentRunControl, useAgentSession, useAgentWorkspaces, useAgents, useAiTask, useAnswerAgentQuestion, useApplyChatModel, useArbi, useArbiConnected, useArbiDocumentSync, useArbiHost, useArbiSession, useArbiSessionState, useArbiSessionStore, useArbiShellWorkspaces, useArbiWebSocket, useArbiWsContext, useArbiWsMessage, useArbiWsStatus, useArbiWsStore, useArbiWsTask, useArbiWsTasks, useArchiveProgressPolling, useArchiveWorkspace, useAskAgain, useAssignDocTags, useAssistantQuery, useAuthorizeLimits, useAutoSendDraft, useAvailableModels, useAvatarCrop, useBookingPages, useBoxRole, useBranchNavigation, useBuiltinCommands, useCalDavProfiles, useCalendarAccounts, useCalendarEvent, useCalendarEventByUid, useCalendarEvents, useCalendarInvitations, useCalendarOutbox, useCalendarOverlays, useCalendarSettings, useCalendarShares, useCalendarSupport, useCalendars, useCall, useCallInviteLinks, useCallRecording, useCallRecordings, useCallTranscriptionAvailable, useCallsConfig, useCallsEnabled, useCameraStream, useCanCreateProjects, useCanEditShared, useCanHostCalls, useCancelDriveSync, useCancelMailboxSync, useCancelProjectSubscription, useCancelWorkspaceTransfer, useChangeProjectPlan, useChargeWatch, useChatPost, useChatSummaries, useChatThread, useChatUnreadTotal, useChats, useClaimNativeAlias, useCloseAgentSession, useCommandPalette, useConfig, useConfigSchema, useConfigs, useConfirmEmailChange, useConnectCalDavAccount, useConnectMailAccount, useConnectOAuthAccount, useConnectRunStream, useConnectorAutoSync, useConnectorCatalog, useConnectorVendorVisibility, useContacts, useConversation, useConversationActions, useConversationActivity, useConversationData, useConversationDocuments, useConversationIsShared, useConversationItems, useConversationPendingAuth, useConversationSearch, useConversationThreads, useConversationTurn, useConversationUsage, useConversations, useCreateAgent, useCreateCalendar, useCreateContact, useCreateDatabase, useCreateEvent, useCreateFact, useCreateFacts, useCreateGroupChat, useCreateProject, useCreateProjectCheckout, useCreateRoom, useCreateTag, useCreateWork, useCreateWorkflow, useCreateWorkspace, useCurrentSessionId, useCurrentUser, useDatabase, useDatabaseRows, useDatabases, useDecideCounter, useDeleteAccount, useDeleteAccountFlow, useDeleteAgents, useDeleteBookingPage, useDeleteCalendar, useDeleteChatMessage, useDeleteConfig, useDeleteContact, useDeleteConversation, useDeleteDatabase, useDeleteDatabaseRows, useDeleteDocuments, useDeleteEvent, useDeleteFact, useDeleteMessage, useDeleteNotifications, useDeleteProject, useDeleteSkill, useDeleteTag, useDeleteWorkflow, useDeleteWorkspaces, useDeploymentDomain, useDisconnectCalendarAccount, useDisconnectConnector, useDisconnectMailAccount, useDisconnectSlack, useDismissedTips, useDocument, useDocumentAutoAdd, useDocumentHostActions, useDocumentPendingSync, useDocumentThumbnails, useDocumentVersionList, useDocuments, useDocumentsById, useDocumentsLoading, useDocumentsSupport, useDownloadDocuments, useDriveFolderChildren, useDriveFolderDocCount, useDriveFolders, useDriveSyncEstimate, useDriveSyncProgress, useEmailChange, useEnableDriveSync, useEnableMailboxSync, useEntitlements, useEntityExtractionDocIds, useExportDatabase, useExtractEntities, useFacts, useFetchCalendarEvent, useFilteredProjects, useFinaliseTranslation, useFindTime, useFirmPool, useFollowThread, useFreeBusy, useGenerateAgentAvatar, useGenerateDocTags, useGrantAgentAccess, useHealth, useHolidayCountries, useHouseTemplateCandidates, useIdentityVerification, useIdentityVerificationFlow, useImportCalendar, useImportContacts, useImportDatabase, useImportDatabaseRows, useInvalidateAfterTransfer, useInvalidateProjects, useInvalidateStorage, useInvalidateTagData, useInviteContacts, useIsCreatingTag, useIsEntitled, useIsSlow, useIsWorkspaceOwner, useLinkContact, useMailAccounts, useMailAttachmentText, useMailCache, useMailClient, useMailDraftCompose, useMailDraftEditor, useMailDraftReplaced, useMailFolders, useMailMessage, useMailMessages, useMailOnline, useMailPolicy, useMailProjects, useMailUnlock, useMailboxFolders, useMailboxSyncProgress, useMarkChatRead, useMarkNotificationsRead, useMcpTools, useMeetingReadOnly, useMentionCandidates, useMessageDetails, useMessageTimer, useMoveEvent, useMoveWorkspaceToProject, useMyConnectors, useNameEditor, useNotificationPreferences, useNotifications, useNotifyConversation, useOfflineDocumentIds, useOpenCallMeetingChat, useOpenSelectedWorkspace, useOpenViewerDocumentId, useParsedDocument, usePassageQuotes, usePasswordChange, usePasswordChangeForm, usePendingContacts, usePeople, usePeopleSearch, usePlanQuote, usePlanWork, usePlanWorkspaceTransfer, usePreviewProjectPlanChange, useProcessingTask, useProcessingTasks, useProducts, useProfile, useProjectBillingPortal, useProjectConversationUsage, useProjectEvents, useProjectInvoices, useProjectUsage, useProjects, useProjectsUsage, usePublishCalendar, useRecordingActions, useRecordingWindows, useRefreshCalendar, useRefreshConnectorsOnRunEnd, useRefreshProject, useRelatedDocuments, useRemoveChatMember, useRemoveDocTags, useRemoveWorkspaceMembers, useRenameChat, useRenameFolder, useRequestEmailChange, useRequestWorkspaceAccess, useRespondToEvent, useResumeCalendarAccountConnect, useResumeWorkspaceTransfer, useRevokeAgentAccess, useRevokeCallInviteLink, useRooms, useRunConversation, useRunWorkflow, useSaveAgentConfig, useSaveBookingPage, useSaveCalendarSettings, useSaveConfig, useSaveConfigField, useSaveMailDraft, useSaveSkill, useSaveToThread, useSearchContacts, useSearchDatabaseRows, useSearchFacts, useSemanticSearch, useSendBackStep, useSendMail, useServerCallsEnabled, useServerCallsExperimental, useSessions, useSetSkillVisibility, useSetTagValues, useSetWorkspaceHouseTemplate, useSetWorkspaceMemberRoles, useShareCalendar, useShellWorkspaces, useSignOut, useSignedInSession, useSimilarDocuments, useSkillSource, useSkills, useSlackConnection, useStartAgentSession, useStartCalendarAccountOAuth, useStartTaskQuery, useStartWorkspaceTransfer, useStorageActions, useStorageItemNames, useStorageItems, useStorageProjects, useStorageSnapshots, useStreamHandlers, useSubscribeCalendar, useSwitchWorkspace, useSyncAccountsOnOpen, useSyncCalendarAccount, useTagKindSchema, useTags, useTerminateSession, useThinkingContent, useThreadDocument, useThumbnails, useTopUpFirmPool, useTriggerDriveSync, useTriggerMailboxSync, useUnarchiveWorkspace, useUnreadByPeer, useUnshareCalendar, useUpdateCalendar, useUpdateCalendarAccount, useUpdateContact, useUpdateConversation, useUpdateDatabase, useUpdateDatabaseRow, useUpdateDocTag, useUpdateDocuments, useUpdateEvent, useUpdateFact, useUpdateMailMessage, useUpdateProfile, useUpdateProjectAddonSettings, useUpdateProjectFields, useUpdateProjectNextPeriodAddons, useUpdateTag, useUpdateTagKindSchema, useUpdateUserSettings, useUpdateWorkflow, useUpdateWorkspace, useUploadDocuments, useUploadFiles, useUploadFromUrls, useUploadSkillFiles, useUploadUrls, useUserSettings, useUserUsageToday, useVideoRecorder, useWorkItems, useWorkNotifications, useWorkflowRuns, useWorkflows, useWorkspaceActivity, useWorkspaceArchive, useWorkspaceDocs, useWorkspaceExportDownload, useWorkspaceNotificationLevel, useWorkspaceRole, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceTrash, useWorkspaceUsers, useWorkspaces, userDisplayName, userInitials, waitForResponseId, withRelativePath, workflowStepOf, workspaceHouseTemplateId, writeSamples };
|
|
15201
|
+
export { AGENT_CONTROL_COMMANDS, ALLOWED_PORTAL_ORIGINS, ARCHIVE_POLL_MS, ASSISTANT_MENTION_LABEL, AUDIO_MIME_PREFERENCE, AUTO_CHAT_MODEL, type AccessRequestPayload, type AccessRequestRecipient, type AccountClient, type AccountClientContextValue, type AccountHost, type AccountSession, type AccountSignOutOptions, ActiveCall, type ActivityContent, type ActivityDescription, ActivityFeed, type ActivityFeedProps, type AddWorkspaceMembersRequest, type AgentAccessMode, type AgentConfigSections, type AgentControlMaps, AgentDmStatus, type AgentQuestionRef, type AgentRunControlState, type AggregatedDailyUsage, type AggregatedModelGroupUsage, AiActionCard, AiAnswer, type AiRunOptions, type AiTaskStatus, AppNotification, AppleIcon, type ApplyCallEventOptions, ArbiBotHeadIcon, ArbiBotIcon, type ArbiChatCitation, type ArbiChatDocument, type ArbiChatHost, type ArbiChatMessage, type ArbiChatMessageStatus, type ArbiChatPassage, type ArbiChatRole, type ArbiChatThread, type ArbiConversation, type ArbiConversationDocument, type ArbiConversationGeneration, type ArbiDmTab, type ArbiDocumentViewerState, type ArbiDraftStorage, type ArbiGridLayoutState, ArbiHost, type ArbiHostConfig, ArbiHostConnection, ArbiHostProps, type ArbiKeyValueStorage, type ArbiLayoutActions, type ArbiLayoutState, type ArbiLayoutStore, type ArbiLayoutStoreOptions, type ArbiMessageTimer, type ArbiPanelMode, type ArbiPanelsState, type ArbiSavedLayout, type ArbiSessionPersist, type ArbiSessionState, type ArbiSessionStatus, type ArbiSessionStore, type ArbiSessionStoreOptions, type ArbiShellState, type ArbiSidebarState, type ArbiSignedInSession, type ArbiTabsState, type ArbiThreadTab, type ArbiThreadView, type ArbiViewerTab, type ArbiViewingDocument, type ArbiViewingDocumentInput, type ArbiViewsState, ArbiWebSocketProvider, type ArbiWebSocketProviderProps, type ArbiWorkspaceStatus, type ArbiWsState, type ArbiWsStatus, ArtifactCanvas, type AskAgain, type AspectOption, type AssignDocTagsInput, type AssistantMode, AudIcon, type AudioPiece, type AvatarCrop, type AvatarFileProblem, BOX_SEAT_REFUSED, BOX_SEAT_REFUSED_ACTION, BOX_SEAT_REFUSED_TITLE, type BranchNavigation, type BranchPoint, type BuildArchiveInput, type BuiltArchive, CALL_MODERATION_TOPIC, CONVERSATION_SWITCH_MEASURE, type CalendarConnectorSupport, type CalendarNotificationMeta, type CalendarOfflineSupport, type CalendarPendingWrite, type CalendarSupport, type CalendarWriteOp, type CallInviteContact, type CallMutedNotice, type CallRoomEvents, type CallSlotMode, type CallUserPillProps, type CallsHost, type ChatArrival, ChatBubble, type ChatBubbleProps, ChatMemberKey, type ChatPost, ChatResponse, type ChatSummary, ChatThreadMessage, type Chunk, type ChunkActivation, type ChunkedRecorder, type ChunkedRecorderOptions, CitationRenderer, type CitationRendererProps, type CitationState, ClaudeIcon, CommandPalette, type CommandPaletteClassNames, type CommandPaletteProps, CommandPaletteProvider, type CommandPaletteProviderProps, type CommandPaletteValue, type ConfigUpdate, type ConversationActionsInput, type ConversationEvent, ConversationList, type ConversationListProps, ConversationScope, type ConversationScopeProps, type CreateProjectVars, type CreateTagInput, type CreateWorkspaceVars, type CreatedProject, type CropArea, type CropOutput, type CropResult, DATABASE_RELATION_PICK_LIMIT, DATABASE_ROWS_PAGE, DEFAULT_ASPECT_OPTIONS, DEFAULT_DOCUMENT_VIEWER_STATE, DEFAULT_PASSWORD_CHANGE_FORM_MESSAGES, DISMISSED_TASK_TTL_MS, DOCUMENTS_FIRST_PAGE_MEASURE, DOCUMENTS_FIRST_PAGE_SIZE, DOCUMENTS_PAGE_SIZE, DateSeparator, type DateSeparatorProps, type DebouncedWriter, type DebouncedWriterOptions, type DeleteAccountBlocker, type DeleteAccountFlow, type DeletedDocument, type DeletedDocumentsPage, type DescribeCalendarNotificationOptions, type DescribeServerNotificationOptions, DictateContextValue, DmAvatar, type DmAvatarProps, type DmClassNames, DmComposer, type DmComposerProps, type DmConversation, type DmMessage, type DmUser, DocIcon, DocQaPanel, DocSearch, DocumentCardMenu, type DocumentCardMenuProps, type DocumentHostActions, type DocumentPerson, DocumentReview, type DocumentReviewProps, type DocumentRowChange, type DocumentStartItem, type DocumentsSupport, type DraftKeyValueStore, DraftTitleControls, type DraftTitleControlsProps, EMPTY_SESSION_STATE, EXPORT_SAMPLE_RATE, type EmailChange, type EmailPreferences, EmlIcon, type EnableDriveSyncVars, type EnableMailboxSyncVars, type EntitledFeature, EntityIconComponent, EntityVocabulary, type ExportDownloadRequest, type ExportFileKind, type ExtractedZip, FILE_TYPE_COLORS, FINISHED_DOCUMENT_STATUSES, FIRST_TOKEN_MEASURE, type FactListFilter, type FeatureEntitlements, type FeatureRefusal, FileIcon, FireworksIcon, type FollowSaveCallbacks, GeminiIcon, type GenerateDocTagsInput, GitHubIcon, GoogleIcon, type GrantAgentAccessVars, HostConfigRecord, HtmlIcon, IN_FLIGHT_DOCUMENT_STATUSES, IdentityPurchase, IdentityStatus, IdentityStep, type IdentityVerificationApi, IdentityVerificationFlow, ImageCropModal, type ImageCropModalProps, ImageCropper, type ImageCropperProps, ImgIcon, IncomingCall, InlineMicButton, type InlineMicButtonProps, JoinChoices, LIVE_UPDATE_TYPES, LinkedInIcon, type LiveTask, MAIL_DRAFT_REPLACED_EVENT, MAX_AVATAR_FILE_BYTES, MAX_THREAD_TABS, MIN_NARRATION_DWELL_MS, MIN_QUEUED_MESSAGE_VISIBILITY_MS, MUTED_DEDUPE_MS, type MailAccount, type MailAddress, type MailAttachment, type MailClient, type MailClientContextValue, type MailCompose, type MailDeliveryRecipient, type MailDeliveryStatus, type MailDeviceFallback, type MailDraftEditorRequest, type MailDraftEditorSession, type MailFetch, type MailFolder, type MailHost, type MailMessage, type MailMessageUpdate, MailOfflineUnavailableError, type MailPage, type MailPolicy, type MailProject, MeetingChatRef, MeetingChatTarget, MentionCandidate, type MessageArtifact, MessageArtifactCard, type MessageTimerResult, MicRecordingOverlay, type MicRecordingOverlayProps, MicWaveformIndicator, type MicWaveformIndicatorProps, type ModeratedTrack, type MountDiditOptions, type NameEditor, type NotificationPreferencesModel, type NotificationTarget, type NotificationTypeMeta, NotifyVariant, type OfflineDocumentRecord, OpenAIIcon, type OpenedRecording, type OptimisticDocumentEdit, type OrderResolver, PENDING_SYNC_PREDICATE, PLAYBACK_LOOKAHEAD_MS, POLL_EVERY_MS, PROJECT_CREATION_DENIED_REASON, type PaletteNavItem, type ParsedChunk, type ParsedChunkMetadata, type ParsedDocument, type ParsedDocumentMetadata, type PassageResolvers, type PasswordChangeForm, type PasswordChangeFormMessages, type PasswordChangeVars, PdfIcon, type PendingSyncItem, type PeopleDirectory, type Person, PhotoCapture, type PhotoCaptureProps, type ProcessingTask, type ProfileView, type ProjectsUsageAggregate, type QueuedCalendarWrite, type QueuedMessage, type QueuedMessages, type QuoteResolver, RECORDING_SEGMENTER, RUN_WINDOW_MS, type RawPending, type RecordedChunk, type RecordingWindow, type RefusedUploadFile, type RelatedDocs, type RelatedDocsMap, type RelevancePatch, type RemoveDocTagsInput, type RenderMarkdown, type RequestAccessOptions, SEGMENT_FRAME_MS, SEGMENT_PRE_ROLL_MS, SHORT_PIECE_MERGE_GAP_MS, SIGNATURE_NOTIFICATION_TYPES, SIMILARITY_THRESHOLD, SLOW_AFTER_MS, STILL_WORKING, type SaveAgentConfigVars, type SealedDraftStorageOptions, type SearchMode, SearchSession, SearchStatus, SegmenterConfig, type SemanticSearch, type SemanticSearchOptions, type SendMessageOptions, type SequencedRow, type SequencedTask, type ServerNotificationBellOptions, type ServerNotificationDescription, type ShellRecentWorkspaceItem, type ShellWorkspaceItem, type ShellWorkspaceKind, type ShellWorkspaceMember, type ShellWorkspaceSeed, type ShellWorkspaceSource, type SignatureNotificationType, type StartTaskQuery, StorageActionError, type StorageActions, type StorageDeploymentUsage, type StorageItem, type StorageItemKind, type StorageItemState, type StorageItemsQuery, type StorageKindUsage, type StoragePersistOptions, type StorageProjectUsage, type StorageScope, type StorageSnapshot, type StreamHandlerContext, type StreamHandlerParams, type StreamHandlers, type StreamState, type SwitchWorkspaceTarget, TRANSFER_POLL_MS, TaskThreadPendingError, type ThreadAccessors, ThreadBinding, type ThreadItem, type TimelinePart, type ToolResponses, type TrackCutter, type TrackPiece, type TranscriptExportLine, type TranscriptLineRef, type TranscriptSegmentMarker, type TransferConflictPolicy, type TransferKind, type TransferMode, type TransferPlan, type TransferScope, type TransferStatus, type TurnTools, TxtIcon, TypingIndicator, UPLOAD_ACCEPT, UPLOAD_MAX_FILE_SIZE, type UnarchiveEstimate, type UpdateDocTagInput, type UpdateDocumentsInput, type UpdateProfileVars, type UploadDocumentsInput, type UploadFilesInput, type UploadFilesProgress, type UploadFilesResult, type UploadFromUrlsInput, type UploadFromUrlsResult, type UploadRefusal, type UploadUrlsInput, type UsageTotals, type UseArbiShellWorkspacesOptions, type UseAskAgainOptions, type UseAvatarCropOptions, type UseCameraStreamResult, type UseConversationOptions, type UseDeleteAccountFlowOptions, type UseDownloadDocumentsOptions, type UseEmailChangeOptions, type UseIdentityVerificationFlowOptions, type UseMessageTimerOptions, type UseNameEditorOptions, type UsePasswordChangeFormOptions, type UseShellWorkspacesOptions, type UseShellWorkspacesResult, type UseSwitchWorkspaceResult, type UseVideoRecorderResult, type UserResponse, type UserSettingsPatch, VIDEO_MIME_PREFERENCE, VidIcon, VideoCapture, type VideoCaptureProps, type VideoRecorderState, VoiceNoteRecorder, type VoiceNoteRecorderProps, WORK_NOTIFICATION_LABELS, type WorkspaceArchive, type WorkspaceArchiveState, type WorkspaceDocument, type WorkspaceExport, type WorkspaceMember, type WorkspaceNotificationLevel, type WorkspaceProcessing, type WorkspaceRole, type WorkspaceSwitchContext, type WorkspaceUpdate, XlsIcon, type ZipExtractor, __resetPendingFinalCommitsForTests, __resetStreamingTokenBufferForTests, acceptRing, accountPath, addAssistantMessageToCache, addConversationToList, addUserMessageToCache, adjustTagCounts, adoptNewChatDocument, agentControl, aliasTakenMessage, allConversationThreads, annotateThread, announceMailDraftReplaced, appendTokenToMessage, applyCallEvent, applyConversationEvent, applyFinalContextToMessage, applyLiveUpdate, applyNotificationRow, applyOptimisticDocumentEdit, applyOutputItemToMessage, applyTaskEvent, arbiAccountClient, arbiMailClient, archiveName, archivedWorkspaceMessage, bindThreadDocument, boundDocumentOf, buildDocumentMetadataRows, buildMentionCandidates, buildPendingFirstTurn, buildPendingSyncItem, buildWorkspaceArchive, cacheThreadBinding, cachedAssistantMode, cachedMentionCandidates, cachedQuotaUsedUp, calendarNotificationMeta, callLink, callNotificationMeta, captureFrameAsBlob, chatTranscriptRef, classifyMediaError, clearLoadingState, clearSealedDrafts, clearUserInputRequest, clockTime, closePanelIn, commitFinalMessage, completeQueuedUserMessageByContent, compositeFiles, compositeTrack, connectOAuthCalendarAccount, connectorErrorStatus, connectorReturnTo, conversationKey, createArbiLayoutStore, createArbiSessionStore, createChunkedRecorder, createDebouncedWriter, createMailClient, createMutedNotifier, createSealedDraftStorage, createStoragePersist, createStreamHandlers, createTrackCutter, createWorkspaceSwitch, cropImage, cutAtPauses, dayKey, declineRing, decodeMono16k, defaultLayoutState, defaultMailAlias, deploymentUserMeta, describeActivity, describeCalendarNotification, describeServerNotification, discardStreamingTokensForMessage, disconnectAttachedRun, dmTabId, documentActivityMeta, documentActivityPhrase, documentDisplayName, docxMentionMeta, downloadRecoveryFile, dropTagFromCachedDocuments, encodeWav, ensureAssistantMessageLoading, entitlementRefusal, extensionFor, extractZipFile, fallbackFileName, fetchPart, fileAttachment, fileSafe, filesFromDrop, findConversation, finishEntityExtraction, floatToWav, flushOnPageExit, flushStreamingTokens, forgetDocuments, forgetUploadedDocumentFolder, formatConfigValidationError, formatElapsed, formatIdentityPrice, formatTranscriptMarkdown, getCachedDocuments, getInterjectionText, getNotificationTypeMeta, getOfflineDocument, getOrphanedLastMessage, getRelatedLabels, getRelatedTotal, getRunStartedAt, getThreadsQueryKey, getWorkspaceActionText, getWorkspaceKind, getWorkspaceSentPhrase, hasPendingFinalCommit, hasRecordingTranscript, hasVideoTrack, identityStepFor, inputRequestTitle, invalidateCalendarEvents, invalidateCalendars, invalidateCall, invalidateConversationActivity, invalidateConversationDetails, invalidateConversationLists, invalidateRelatedRows, invalidateTagData, invalidateTagTables, isActivityKey, isAliasTakenError, isArchiveMoving, isCommentToPeople, isConversationListKey, isConversationShared, isDeploymentAdmin, isDeploymentUserNotification, isDocumentsLoading, isFullConfig, isKnownSoloConversation, isMessageRunning, isNotificationRow, isOfflineReadableArbiQuery, isOrphanedUserMessage, isPanelOpen, isQueuedCalendarWrite, isRecordingSegmentId, isReplayableArbiMutation, isRestorableArbiQueryOnline, isRowNewer, isSignatureNotificationType, isStaleTaskUpdate, isTransferFinished, isTransferResumable, isUsageMetered, isWorkspaceArchivedError, isWorkspaceGuestOf, isWorkspaceNotificationType, isZipFile, joinFromPreJoin, layoutActionsOf, loadOfflineDocument, mailDraftIdFromContent, mailJson, markMessageAsFailed, markNarrationSettled, mergeHostConfig, migrateLegacyThreadDocuments, mountDiditVerification, mutedNoticeFromEvent, mutedNoticeFromPacket, mutedNoticeText, nextAliasSuggestion, nextViewingDocument, notificationUserName, onCallEvent, openAccessRequest, openCall, openPanelIn, openRecording, panelPlace, parseActivityContent, parseDeleteAccountBlockers, parseSavedLayout, partKey, partsDue, patchCachedDocument, patchConversation, patchConversationList, patchDocuments, patchWorkspaceTags, pendingChatModelSave, peopleDirectory, personOfUser, pickRecentWorkspaces, pickRecorderMimeType, playheadAt, postRecordingDocsToThread, postTranscriptToThread, prepareUploadFiles, queuedMessages, recordingFiles, recordingWindowsOf, redlineStats, refreshDocuments, refuseChatWhenOffline, registerArbiMutationDefaults, registerAttachedRun, removeConversationFromLists, removeSettledNarration, requestPersistentStorage, resetCalendarAccountSyncState, resetMessageContent, resolveActiveWorkspace, resolveConfigModel, resolveDocumentStatus, resolveReplyTarget, restoreLayout, rollbackOptimisticDocumentEdit, safePortalUrl, saveRecordingFilesToThread, savedLayoutOf, schedulePart, selectDraft, selectIsGenerating, selectViewingDocumentId, serverCallsExperimental, serverNotificationBellEntry, setCachedDocument, setMessageContent, setUserInputRequest, settledByRows, signatureNotificationPhrase, signatureRequestMeta, sortTranscriptMessages, sortedParts, speakerTracks, speakerWav, splitIntoFiles, standalone, startChatCall, startContactsCall, startDmCall, startEntityExtraction, startThreadCall, startsMediaFile, stopDocumentsLoading, stripSpeakerPrefix, subscribeDocumentReads, subscribeDocumentRows, supersedeLiveTranscript, supersededTranscriptLines, supportsHouseTemplates, textToArtifact, threadBinding, threadEndingAtContains, threadTabId, threadTranscriptLines, threadTranscriptRef, timelineDurationMs, timelineOf, titleFromQuestion, toChatCitations, toNotificationPreferences, toProfileView, toRedlineMarkdown, toShellWorkspace, transcribeRecording, transcriptSegmentOf, updateMessageWithMetadata, updateUserMessageInCache, updateUserMessageStateInCache, uploadFolderOf, uploadedDocumentFolder, upsertDocuments, useAccountClient, useActOnStep, useActivity, useAddChatMembers, useAddDatabaseRows, useAddHolidayCalendar, useAddProjectAddonBlock, useAddWorkspaceMembers, useAddonQuote, useAgentChats, useAgentConfig, useAgentDmStatus, useAgentModels, useAgentRunControl, useAgentSession, useAgentWorkspaces, useAgents, useAiTask, useAnswerAgentQuestion, useApplyChatModel, useArbi, useArbiConnected, useArbiHost, useArbiSession, useArbiSessionState, useArbiSessionStore, useArbiShellWorkspaces, useArbiWebSocket, useArbiWsContext, useArbiWsMessage, useArbiWsStatus, useArbiWsStore, useArchiveProgressPolling, useArchiveWorkspace, useAskAgain, useAssignDocTags, useAssistantQuery, useAuthorizeLimits, useAutoSendDraft, useAvailableModels, useAvatarCrop, useBookingPages, useBoxRole, useBranchNavigation, useBuiltinCommands, useCalDavProfiles, useCalendarAccounts, useCalendarEvent, useCalendarEventByUid, useCalendarEvents, useCalendarInvitations, useCalendarOutbox, useCalendarOverlays, useCalendarSettings, useCalendarShares, useCalendarSupport, useCalendars, useCall, useCallInviteLinks, useCallRecording, useCallRecordings, useCallTranscriptionAvailable, useCallsConfig, useCallsEnabled, useCameraStream, useCanCreateProjects, useCanEditShared, useCanHostCalls, useCancelDriveSync, useCancelMailboxSync, useCancelManyPendingSync, useCancelProjectSubscription, useCancelWorkspaceTransfer, useChangeProjectPlan, useChargeWatch, useChatArrivals, useChatPost, useChatSummaries, useChatThread, useChatUnreadTotal, useChats, useClaimNativeAlias, useCloseAgentSession, useCommandPalette, useConfig, useConfigSchema, useConfigs, useConfirmEmailChange, useConnectCalDavAccount, useConnectMailAccount, useConnectOAuthAccount, useConnectRunStream, useConnectorAutoSync, useConnectorCatalog, useConnectorVendorVisibility, useContacts, useConversation, useConversationActions, useConversationActivity, useConversationData, useConversationDocuments, useConversationIsShared, useConversationItems, useConversationPendingAuth, useConversationSearch, useConversationThreads, useConversationTurn, useConversationUsage, useConversations, useCreateAgent, useCreateCalendar, useCreateContact, useCreateDatabase, useCreateEvent, useCreateFact, useCreateFacts, useCreateGroupChat, useCreateProject, useCreateProjectCheckout, useCreateRoom, useCreateTag, useCreateWork, useCreateWorkflow, useCreateWorkspace, useCurrentSessionId, useCurrentUser, useDatabase, useDatabaseRows, useDatabases, useDecideCounter, useDeleteAccount, useDeleteAccountFlow, useDeleteAgents, useDeleteBookingPage, useDeleteCalendar, useDeleteChatMessage, useDeleteConfig, useDeleteContact, useDeleteConversation, useDeleteDatabase, useDeleteDatabaseRows, useDeleteDocuments, useDeleteEvent, useDeleteFact, useDeleteMessage, useDeleteNotifications, useDeleteProject, useDeleteSkill, useDeleteTag, useDeleteWorkflow, useDeleteWorkspaces, useDeploymentDomain, useDisconnectCalendarAccount, useDisconnectConnector, useDisconnectMailAccount, useDisconnectSlack, useDismissedTips, useDocument, useDocumentAutoAdd, useDocumentHostActions, useDocumentPendingSync, useDocumentThumbnails, useDocumentVersionList, useDocuments, useDocumentsById, useDocumentsLoading, useDocumentsSupport, useDownloadDocuments, useDriveFolderChildren, useDriveFolderDocCount, useDriveFolders, useDriveSyncEstimate, useDriveSyncProgress, useEmailChange, useEnableDriveSync, useEnableMailboxSync, useEntitlements, useEntityExtractionDocIds, useExportDatabase, useExtractEntities, useFacts, useFetchCalendarEvent, useFilteredProjects, useFinaliseTranslation, useFindTime, useFirmPool, useFollowThread, useFreeBusy, useGenerateAgentAvatar, useGenerateDocTags, useGrantAgentAccess, useHealth, useHolidayCountries, useHouseTemplateCandidates, useIdentityVerification, useIdentityVerificationFlow, useImportCalendar, useImportContacts, useImportDatabase, useImportDatabaseRows, useInvalidateAfterTransfer, useInvalidateProjects, useInvalidateStorage, useInvalidateTagData, useInviteContacts, useIsCreatingTag, useIsEntitled, useIsSlow, useIsWorkspaceOwner, useKeepDocumentsOffline, useLinkContact, useMailAccounts, useMailAttachmentText, useMailCache, useMailClient, useMailDraftCompose, useMailDraftEditor, useMailDraftReplaced, useMailFolders, useMailMessage, useMailMessages, useMailOnline, useMailPolicy, useMailProjects, useMailUnlock, useMailboxFolders, useMailboxSyncProgress, useMarkChatRead, useMarkNotificationsRead, useMcpTools, useMeetingReadOnly, useMentionCandidates, useMessageDetails, useMessageTimer, useMoveEvent, useMoveWorkspaceToProject, useMyConnectors, useNameEditor, useNotificationPreferences, useNotifications, useNotifyConversation, useOfflineDocumentIds, useOpenCallMeetingChat, useOpenSelectedWorkspace, useOpenViewerDocumentId, useParsedDocument, usePassageQuotes, usePasswordChange, usePasswordChangeForm, usePendingContacts, usePendingSyncCounts, usePendingSyncItems, usePeople, usePeopleSearch, usePlanQuote, usePlanWork, usePlanWorkspaceTransfer, usePreviewProjectPlanChange, useProcessingTask, useProcessingTasks, useProducts, useProfile, useProjectBillingPortal, useProjectConversationUsage, useProjectEvents, useProjectInvoices, useProjectUsage, useProjects, useProjectsUsage, usePublishCalendar, useRecordingActions, useRecordingWindows, useRefreshCalendar, useRefreshConnectorsOnRunEnd, useRefreshDocuments, useRefreshProject, useRelatedDocuments, useRemoveChatMember, useRemoveDocTags, useRemoveDocumentsOffline, useRemoveWorkspaceMembers, useRenameChat, useRenameFolder, useRequestEmailChange, useRequestWorkspaceAccess, useRespondToEvent, useResumeCalendarAccountConnect, useResumeWorkspaceTransfer, useRevokeAgentAccess, useRevokeCallInviteLink, useRooms, useRunConversation, useRunWorkflow, useSaveAgentConfig, useSaveBookingPage, useSaveCalendarSettings, useSaveConfig, useSaveConfigField, useSaveMailDraft, useSaveSkill, useSaveToThread, useSearchContacts, useSearchDatabaseRows, useSearchFacts, useSemanticSearch, useSendBackStep, useSendMail, useServerCallsEnabled, useServerCallsExperimental, useSessionView, useSessions, useSetSkillVisibility, useSetTagValues, useSetWorkspaceHouseTemplate, useSetWorkspaceMemberRoles, useShareCalendar, useShellWorkspaces, useSignOut, useSignedInSession, useSimilarDocuments, useSkillSource, useSkills, useSlackConnection, useStartAgentSession, useStartCalendarAccountOAuth, useStartTaskQuery, useStartWorkspaceTransfer, useStorageActions, useStorageItemNames, useStorageItems, useStorageProjects, useStorageSnapshots, useStreamHandlers, useSubscribeCalendar, useSwitchWorkspace, useSyncAccountsOnOpen, useSyncCalendarAccount, useTagKindSchema, useTags, useTerminateSession, useThinkingContent, useThreadDocument, useThumbnails, useTopUpFirmPool, useTransientView, useTriggerDriveSync, useTriggerMailboxSync, useUnarchiveWorkspace, useUnreadByPeer, useUnshareCalendar, useUpdateCalendar, useUpdateCalendarAccount, useUpdateContact, useUpdateConversation, useUpdateDatabase, useUpdateDatabaseRow, useUpdateDocTag, useUpdateDocuments, useUpdateEvent, useUpdateFact, useUpdateMailMessage, useUpdateProfile, useUpdateProjectAddonSettings, useUpdateProjectFields, useUpdateProjectNextPeriodAddons, useUpdateTag, useUpdateTagKindSchema, useUpdateUserSettings, useUpdateWorkflow, useUpdateWorkspace, useUploadDocuments, useUploadFiles, useUploadFromUrls, useUploadSkillFiles, useUploadUrls, useUserSettings, useUserUsageToday, useVideoRecorder, useWorkItems, useWorkNotifications, useWorkflowRuns, useWorkflows, useWorkspaceActivity, useWorkspaceArchive, useWorkspaceDocs, useWorkspaceExportDownload, useWorkspaceNotificationLevel, useWorkspaceProcessing, useWorkspaceRole, useWorkspaceTransfer, useWorkspaceTransfers, useWorkspaceTrash, useWorkspaceUsers, useWorkspaces, userDisplayName, userInitials, waitForResponseId, wipeOfflineDocuments, withRelativePath, workflowStepOf, workspaceHouseTemplateId, writeSamples };
|