@arbidocs/react 0.5.88 → 0.5.89
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 +13 -13
- package/dist/artifacts/index.js +3 -3
- package/dist/calls/livekit/index.cjs +48 -48
- package/dist/calls/livekit/index.js +3 -3
- package/dist/{chunk-DS7NTSKH.cjs → chunk-6BXRZYL2.cjs} +38 -38
- package/dist/{chunk-DS7NTSKH.cjs.map → chunk-6BXRZYL2.cjs.map} +1 -1
- package/dist/{chunk-BFNY3RZG.js → chunk-7PMNITKA.js} +2 -2
- package/dist/chunk-7PMNITKA.js.map +1 -0
- package/dist/{chunk-AOPGD23L.cjs → chunk-7RUVJZZG.cjs} +57 -57
- package/dist/{chunk-AOPGD23L.cjs.map → chunk-7RUVJZZG.cjs.map} +1 -1
- package/dist/{chunk-73ENECAT.js → chunk-AORG37H6.js} +4 -4
- package/dist/{chunk-73ENECAT.js.map → chunk-AORG37H6.js.map} +1 -1
- package/dist/{chunk-C4WODQGO.cjs → chunk-BRFRQWAY.cjs} +2 -2
- package/dist/chunk-BRFRQWAY.cjs.map +1 -0
- package/dist/{chunk-QLRDHLWR.cjs → chunk-EOKCXEYN.cjs} +65 -65
- package/dist/{chunk-QLRDHLWR.cjs.map → chunk-EOKCXEYN.cjs.map} +1 -1
- package/dist/{chunk-YQBDEOVE.js → chunk-HGLS3IC6.js} +3 -3
- package/dist/{chunk-YQBDEOVE.js.map → chunk-HGLS3IC6.js.map} +1 -1
- package/dist/{chunk-DU2P354H.js → chunk-IIOOXKOB.js} +4 -4
- package/dist/{chunk-DU2P354H.js.map → chunk-IIOOXKOB.js.map} +1 -1
- package/dist/{chunk-S3OGDLDC.js → chunk-KZBYWXPS.js} +3 -3
- package/dist/{chunk-S3OGDLDC.js.map → chunk-KZBYWXPS.js.map} +1 -1
- package/dist/{chunk-KTXZ222T.js → chunk-N3SFVZ7H.js} +3 -3
- package/dist/{chunk-KTXZ222T.js.map → chunk-N3SFVZ7H.js.map} +1 -1
- package/dist/{chunk-GKWMT64A.cjs → chunk-NJDVQIJR.cjs} +4 -4
- package/dist/{chunk-GKWMT64A.cjs.map → chunk-NJDVQIJR.cjs.map} +1 -1
- package/dist/{chunk-ZHXYFJIA.cjs → chunk-NR6PUE5O.cjs} +44 -44
- package/dist/{chunk-ZHXYFJIA.cjs.map → chunk-NR6PUE5O.cjs.map} +1 -1
- package/dist/document-tools/core.cjs +98 -98
- package/dist/document-tools/core.js +3 -3
- package/dist/document-tools/index.cjs +100 -100
- package/dist/document-tools/index.js +4 -4
- package/dist/index.cjs +1259 -1195
- package/dist/index.cjs.map +1 -1
- package/dist/{index.d-1_bJB-Yl.d.ts → index.d-BMhTH98a.d.cts} +65 -65
- package/dist/{index.d-1_bJB-Yl.d.cts → index.d-BMhTH98a.d.ts} +65 -65
- package/dist/index.d.cts +23 -24
- package/dist/index.d.ts +23 -24
- package/dist/index.js +95 -31
- package/dist/index.js.map +1 -1
- package/dist/ui/index.d.cts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +3 -3
- package/dist/chunk-BFNY3RZG.js.map +0 -1
- package/dist/chunk-C4WODQGO.cjs.map +0 -1
|
@@ -339,5 +339,5 @@ exports.mailQueryKeys = mailQueryKeys;
|
|
|
339
339
|
exports.useArbi = useArbi;
|
|
340
340
|
exports.useArbiHost = useArbiHost;
|
|
341
341
|
exports.useDeploymentDomain = useDeploymentDomain;
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
343
|
-
//# sourceMappingURL=chunk-
|
|
342
|
+
//# sourceMappingURL=chunk-BRFRQWAY.cjs.map
|
|
343
|
+
//# sourceMappingURL=chunk-BRFRQWAY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/host/config.ts","../src/useArbi.ts","../src/query-keys.ts"],"names":["useContext","ArbiHostContext"],"mappings":"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","file":"chunk-BRFRQWAY.cjs","sourcesContent":["/**\n * What a host hands the `@arbidocs/react` hooks, as one configuration (`<ArbiHost config>`). Every\n * field is optional: without one the hooks use their own default. `@arbidocs/blocks` extends it\n * with the blocks domains (environment, billing, viewer, …).\n *\n * A field whose value lives in the host's state is a hook (`use…`), called by the hooks and kits\n * that need it, so the configuration itself stays one stable object for the host's life.\n */\n\nimport { useContext } from 'react'\nimport type { Arbi } from '@arbidocs/sdk/browser'\nimport type { AccountClient } from '../account/client'\nimport type { CalendarSupport } from '../calendar/support'\nimport type { MeetingChatRef } from '../calls/meeting-chat'\nimport type { ActiveCall } from '../calls/session'\nimport type { ArbiChatHost } from '../chat/host'\nimport type { DocumentsSupport } from '../documents/support'\nimport type { MailClient } from '../mail/client'\nimport type { ArbiSessionStore } from '../session/store'\nimport type { DictateContextValue } from '../ui/DictateContext'\nimport type { EntityVocabulary } from '../entities/vocabulary'\nimport type { ArbiHostConnection } from './ArbiHost'\nimport type { ArbiFeatures } from './features'\nimport { ArbiHostContext } from './context'\nimport type { DashboardsHost } from '../datasets/registry'\n\n/** The mail client, and whether mail is on for the signed-in user. */\nexport interface MailHost {\n client: MailClient\n /**\n * Whether mail reads run (signed in and entitled), and the server session the mailbox is\n * unlocked for: unlocking runs again when it changes (`null`: none yet, nothing is unlocked).\n * Absent: on, for one session.\n */\n useStatus?: () => { enabled: boolean; sessionKey: string | null }\n /**\n * The mail waiting in this device's Outbox (written offline), by status, while `enabled` (Mail\n * switched on); the offline status counts it as waiting work. Absent: no Outbox.\n */\n useOutbox?: (enabled: boolean) => ReadonlyArray<{ status: string }>\n /** The Outbox's folder, opened through `openMail({ folder })`. */\n outboxFolder?: string\n}\n\n/** The account client of the settings kits, and whether account reads run (signed in). */\nexport interface AccountHost {\n client: AccountClient\n /** Absent: always. */\n useEnabled?: () => boolean\n}\n\n/** Where the call panel goes in the host's layout. */\nexport type CallSlotMode = 'docked' | 'main'\n\n/** What the calls need from the host: navigation and layout are the host's. */\nexport interface CallsHost {\n /**\n * Show a call's meeting chat: an end-to-end chat, or a workspace meeting thread. Absent: the\n * in-call \"Open meeting chat\" does nothing.\n */\n openMeetingChat?: (ref: MeetingChatRef) => void\n /**\n * Once connected, show the call's conversation (its chat and live transcript) beside the call.\n * Absent: nothing is shown.\n */\n showConversation?: (call: ActiveCall) => void | Promise<void>\n /**\n * The element whose box the shown call fills: the right-hand dock, or (a webinar's audience) the\n * main area. The host claims its slot while `shown` and calls `onLost` when another panel takes\n * it (the call then minimises). Absent: the call floats at the right edge.\n */\n useSlot?: (mode: CallSlotMode, shown: boolean, onLost: () => void) => HTMLElement | null\n}\n\nexport interface ArbiHostConfig {\n /**\n * The SDK on the signed-in session. A host with its own login passes one on its session\n * (`new Arbi({ url, session })`); a blocks-only site gets one from `defaultHost`. A new instance (a\n * new session, a newly opened workspace) re-renders every hook.\n */\n arbi?: Arbi\n /** The session state the kits share. Absent: an in-memory one per top-level host. */\n session?: ArbiSessionStore\n /** Live processing, uploads and the host's document actions. Absent: the package's own. */\n documents?: DocumentsSupport\n /** The calendar kept on this device and account OAuth. Absent: online only, the user's connectors. */\n calendar?: CalendarSupport\n /** Absent: mail on the `arbi` session. */\n mail?: MailHost\n /** Absent: the account on the `arbi` session. */\n account?: AccountHost\n /** Absent: calls open no meeting chat from the room. */\n calls?: CallsHost\n /**\n * The parts of the product the user switches on or off, and where each switch is kept (the user's\n * settings, or this device), read with `useFeature(name)`. The call UI also follows the `calls`\n * feature, on top of the server's calls config. Absent, or a feature not listed: on.\n */\n features?: ArbiFeatures\n /** Dictation for every `dictate` field. Absent: no mic button. */\n dictate?: DictateContextValue\n /** The sign-in layer of a blocks-only site (`defaultHost` in `@arbidocs/blocks/connect`). */\n connection?: ArbiHostConnection\n /** Where the chat engine's side effects go (documents shown, mail drafts, used-up quota). */\n chat?: ArbiChatHost\n /**\n * The site's words for the entities (`{ PROJECT: 'Matter' }`), read by every kit through\n * `getEntityLabel`. Absent: the registry's (\"Project\", \"Workspace\", \"Thread\", …).\n */\n vocabulary?: EntityVocabulary\n /**\n * What the site calls its assistant where people address it: the `@<name>` offered in a chat's\n * mention menu, the draft a shared thread starts with, and the name a message is routed to the\n * assistant on. Absent: \"ARBI\".\n */\n assistantName?: string\n /**\n * Charts and dashboards: more data sources (an external feed, a source relabelled in the site's\n * words) and where saved dashboards are kept. Absent: the built-in sources, saved in a database.\n */\n dashboards?: DashboardsHost\n}\n\n/** The host configuration in scope (`{}` outside an `<ArbiHost>`). */\nexport function useArbiHost(): ArbiHostConfig {\n return useContext(ArbiHostContext) as ArbiHostConfig\n}\n","/**\n * The `Arbi` of the host configuration (`<ArbiHost config={{ arbi }}>`).\n */\n\nimport type { Arbi } from '@arbidocs/sdk/browser'\nimport { useArbiHost } from './host/config'\n\nexport function useArbi(): Arbi {\n const { arbi } = useArbiHost()\n if (!arbi) {\n throw new Error('useArbi() needs an <ArbiHost> whose config has an `arbi`')\n }\n return arbi\n}\n\n/**\n * The deployment domain the user's keys are derived for, as the host's `Arbi` computes it\n * (`deploymentDomain`, else the API URL's hostname). `undefined` without one. The document tools\n * default their `deploymentDomain` (needed for e-signing) to it.\n */\nexport function useDeploymentDomain(): string | undefined {\n return useArbiHost().arbi?.getDeploymentDomain()\n}\n","/**\n * The one query-key factory of the ARBI front end: every React Query key and mutation key the\n * packages and the app use is built here, under `['arbi', …]`. Literal key arrays anywhere else\n * fail the `arbi/query-keys-from-factory` lint rule and `query-keys.guard.test.ts`, so a key can't\n * drift from the queries it names (a stale literal reads or invalidates nothing, silently).\n *\n * Dependency-free on purpose (types only): e2e helpers import it and pass keys into the page.\n */\n\nimport type {\n CalendarWindow,\n ListEventsParams,\n OverlayLayerName,\n RoomQuery,\n} from '@arbidocs/sdk/browser'\n\nexport const arbiQueryKeys = {\n fileShares: () => ['arbi', 'fileShares'] as const,\n fileShare: (id: string) => ['arbi', 'fileShare', id] as const,\n fileSharePdf: (id: string, status?: string) => ['arbi', 'fileSharePdf', id, status] as const,\n workspaces: () => ['arbi', 'workspaces'] as const,\n /** Every workspace's member list: what a workspace switch drops. */\n allWorkspaceUsers: () => ['arbi', 'workspaceUsers'] as const,\n workspaceUsers: (workspaceId: string) => ['arbi', 'workspaceUsers', workspaceId] as const,\n /** Every workspace's documents list: the prefix a write patches when it does not know the workspace. */\n allDocuments: () => ['arbi', 'documents'] as const,\n documents: (workspaceId: string) => ['arbi', 'documents', workspaceId] as const,\n /** One document (a viewer's); writes keep it current next to the list. */\n document: (docId: string) => ['arbi', 'document', docId] as const,\n documentsById: (docIds: string[]) =>\n ['arbi', 'documentsById', [...docIds].sort().join(',')] as const,\n /** Every workspace's near-duplicate pairs. */\n allSimilarDocuments: () => ['arbi', 'similarDocuments'] as const,\n similarDocuments: (workspaceId: string, threshold: number) =>\n ['arbi', 'similarDocuments', workspaceId, threshold] as const,\n /** Every version list: the prefix a new version invalidates. */\n allDocumentVersions: () => ['arbi', 'documentVersions'] as const,\n documentVersions: (docId: string) => ['arbi', 'documentVersions', docId] as const,\n conversations: (workspaceId: string) => ['arbi', 'conversations', workspaceId] as const,\n /** Every workspace's conversation list (and threads): the prefix a conversation write invalidates. */\n allConversations: () => ['arbi', 'conversations'] as const,\n /** A conversation's threads, under the conversations prefix (ids are unique across workspaces). */\n conversationThreads: (conversationId: string) =>\n ['arbi', 'conversations', conversationId, 'threads'] as const,\n /** One stored message with everything the server keeps on it (its trace and metadata). */\n messageDetails: (messageId: string) => ['arbi', 'messageDetails', messageId] as const,\n /** The backend's built-in slash commands. */\n assistantCommands: () => ['arbi', 'assistantCommands'] as const,\n /** Every workspace's tags (lists, tables and kinds): what a cross-workspace change refreshes. */\n allTags: () => ['arbi', 'tags'] as const,\n tags: (workspaceId: string) => ['arbi', 'tags', workspaceId] as const,\n /** Under the workspace's tags: the kinds' fields (refreshed with the tags). */\n tagKinds: (workspaceId: string) => ['arbi', 'tags', workspaceId, 'kinds'] as const,\n /** Every filtered list (a table of tags): what a tag write refreshes, the whole list aside. */\n tagLists: (workspaceId: string) => ['arbi', 'tags', workspaceId, 'list'] as const,\n /** Under the workspace's tags: a tag, doctag or fact write that invalidates `tags` refreshes it. */\n tagList: (workspaceId: string, query: string) =>\n ['arbi', 'tags', workspaceId, 'list', query] as const,\n /** A kind's fields, under the workspace's tags. */\n tagKind: (workspaceId: string, kind: string) =>\n ['arbi', 'tags', workspaceId, 'kind', kind] as const,\n /** A task's history, under the conversations prefix: every conversation write refreshes it. */\n conversationActivity: (conversationId: string) =>\n ['arbi', 'conversations', conversationId, 'activity'] as const,\n thumbnails: (docIds: string[]) => ['arbi', 'thumbnails', [...docIds].sort().join(',')] as const,\n /** Every stage of a document's parsed content. */\n parsedDocument: (docId: string) => ['arbi', 'parsedDoc', docId] as const,\n parsedDoc: (docId: string, stage: string) => ['arbi', 'parsedDoc', docId, stage] as const,\n agents: () => ['arbi', 'agents'] as const,\n sessions: () => ['arbi', 'sessions'] as const,\n health: () => ['arbi', 'health'] as const,\n workflows: () => ['arbi', 'workflows'] as const,\n /** Under `workflows()`: a workflow write or run refreshes its runs too. */\n workflowRuns: (workflowId: string) => ['arbi', 'workflows', workflowId, 'runs'] as const,\n /** Every workspace's facts: the prefix a fact write invalidates. */\n allFacts: () => ['arbi', 'facts'] as const,\n facts: (workspaceId: string) => ['arbi', 'facts', workspaceId] as const,\n configs: () => ['arbi', 'configs'] as const,\n activity: () => ['arbi', 'activity'] as const,\n /** Every transfer query (jobs, lists, plans): what a finished job refreshes. */\n allWorkspaceTransfers: () => ['arbi', 'workspaceTransfers'] as const,\n /** The caller's recent transfer jobs out of a workspace. */\n workspaceTransfers: (workspaceId: string) =>\n ['arbi', 'workspaceTransfers', 'list', workspaceId] as const,\n /** One transfer job's progress. */\n workspaceTransfer: (transferId: string) =>\n ['arbi', 'workspaceTransfers', 'job', transferId] as const,\n /** What a scope (serialised) would take in a workspace, for a mode. */\n workspaceTransferPlan: (workspaceId: string, scope: string, mode: string) =>\n ['arbi', 'workspaceTransfers', 'plan', workspaceId, scope, mode] as const,\n /** A workspace's activity feed (all its pages). */\n workspaceActivity: (workspaceId: string) => ['arbi', 'workspaceActivity', workspaceId] as const,\n projects: () => ['arbi', 'projects'] as const,\n projectUsage: (projectExtId: string, monthsBack: number) =>\n ['arbi', 'projectUsage', projectExtId, monthsBack] as const,\n projectConversationUsage: (projectExtId: string, monthsBack: number) =>\n ['arbi', 'projectUsage', projectExtId, 'byConversation', monthsBack] as const,\n projectInvoices: (projectExtId: string) => ['arbi', 'projectInvoices', projectExtId] as const,\n /** The plans and add-ons on sale. */\n products: () => ['arbi', 'products'] as const,\n /** Prices of a purchase or a change (quotes, previews); nothing is bought. */\n billingQuotes: () => ['arbi', 'billingQuote'] as const,\n userUsageToday: () => ['arbi', 'userUsageToday'] as const,\n currentUser: () => ['arbi', 'currentUser'] as const,\n firmPool: () => ['arbi', 'firmPool'] as const,\n contacts: () => ['arbi', 'contacts'] as const,\n /** Every chat query (the list and each open thread). */\n chats: () => ['arbi', 'chats'] as const,\n /** My chats, raw (titles and last messages are ciphertext), most recently active first. */\n chatList: () => ['arbi', 'chats', 'list'] as const,\n /** One thread's loaded messages, decrypted, oldest first (`ChatThreadData`). */\n chatThread: (chatExtId: string) => ['arbi', 'chats', 'thread', chatExtId] as const,\n /** My own agent's progress on my last message to it (`agent_dm_status`), per agent. */\n agentDmStatus: (agentExtId: string) => ['arbi', 'chats', 'agentStatus', agentExtId] as const,\n /** The paid features this person may use (`/v1/user/entitlements`). */\n entitlements: () => ['arbi', 'entitlements'] as const,\n skills: () => ['arbi', 'skills'] as const,\n /** A skill's main file (SKILL.md), as text. */\n skillSource: (docExtId: string) => ['arbi', 'skills', 'source', docExtId] as const,\n /** An agent's pinned config; `undefined` = the library default config. */\n agentConfig: (agentExtId?: string) => ['arbi', 'agentConfig', agentExtId ?? 'default'] as const,\n agentWorkspaces: (agentExtId: string) => ['arbi', 'agentWorkspaces', agentExtId] as const,\n /** An agent's own login, polled while its controls are open. */\n agentSession: (agentExtId: string) => ['arbi', 'agentSession', agentExtId] as const,\n agentChats: (agentExtId: string) => ['arbi', 'agentChats', agentExtId] as const,\n authorizeLimits: () => ['arbi', 'authorizeLimits'] as const,\n mcpTools: () => ['arbi', 'mcpTools'] as const,\n models: () => ['arbi', 'models'] as const,\n availableModels: () => ['arbi', 'availableModels'] as const,\n modelConnections: (userId?: string) => ['arbi', 'modelConnections', userId] as const,\n directModelUsage: (userId?: string) => ['arbi', 'directModelUsage', userId] as const,\n /** The signed-in user's own profile (name, picture, email). */\n profile: () => ['arbi', 'profile'] as const,\n identity: () => ['arbi', 'identity'] as const,\n /** The signed-in user's settings record (notification preferences, flags). */\n userSettings: () => ['arbi', 'userSettings'] as const,\n /** Every notification list: the prefix a delete, a read receipt or an arrival invalidates. */\n allSupportTickets: () => ['arbi', 'support'] as const,\n supportTickets: () => ['arbi', 'support', 'tickets'] as const,\n supportTicket: (id: number) => ['arbi', 'support', 'tickets', id] as const,\n allNotifications: () => ['arbi', 'notifications'] as const,\n /** The newest `limit` notifications, received and sent. */\n notifications: (limit: number) => ['arbi', 'notifications', limit] as const,\n /** The documents a workspace may use as its Word house template. */\n houseTemplateCandidates: (workspaceId: string) =>\n ['arbi', 'houseTemplateCandidates', workspaceId] as const,\n // ── Storage, archive ────────────────────────────────────────────────────────────────────────\n /** Every storage view (projects, items, names, Recently deleted): what a restore or delete refreshes. */\n storage: () => ['arbi', 'storage'] as const,\n /** What each project stores; no params: every such list. */\n storageProjects: (params?: object) =>\n params === undefined\n ? (['arbi', 'storage', 'projects'] as const)\n : (['arbi', 'storage', 'projects', params] as const),\n /** The largest items stored; no params: every such list. */\n storageItems: (params?: object) =>\n params === undefined\n ? (['arbi', 'storage', 'items'] as const)\n : (['arbi', 'storage', 'items', params] as const),\n /** Decrypted document names of storage items. */\n storageItemNames: (params?: object) =>\n params === undefined\n ? (['arbi', 'storage', 'names'] as const)\n : (['arbi', 'storage', 'names', params] as const),\n /** The deployment's storage day by day. */\n storageSnapshots: (params?: object) =>\n params === undefined\n ? (['arbi', 'storage', 'snapshots'] as const)\n : (['arbi', 'storage', 'snapshots', params] as const),\n /** A workspace's Recently deleted documents; no id: every workspace's. */\n workspaceTrash: (workspaceId?: string) =>\n workspaceId === undefined\n ? (['arbi', 'storage', 'workspaceTrash'] as const)\n : (['arbi', 'storage', 'workspaceTrash', workspaceId] as const),\n /** A workspace's archive state; no id: every workspace's. */\n workspaceArchive: (workspaceId?: string) =>\n workspaceId === undefined\n ? (['arbi', 'workspaceArchive'] as const)\n : (['arbi', 'workspaceArchive', workspaceId] as const),\n // ── Databases ───────────────────────────────────────────────────────────────────────────────\n // Every key below names its workspace right after its kind: a list read in one workspace is never\n // served, or overwritten, in another (the list is the session's open workspace on the server).\n /** Every database query of every workspace (what a write or a switch refreshes). */\n databases: () => ['arbi', 'databases'] as const,\n /** A workspace's databases; no id: every workspace's. */\n databaseList: (workspaceId?: string) =>\n workspaceId === undefined\n ? (['arbi', 'databases', 'list'] as const)\n : (['arbi', 'databases', 'list', workspaceId] as const),\n /** One database of a workspace; no workspace: every one read. */\n database: (workspaceId?: string, databaseId?: string) =>\n workspaceId === undefined\n ? (['arbi', 'databases', 'one'] as const)\n : (['arbi', 'databases', 'one', workspaceId, databaseId ?? ''] as const),\n /**\n * A database's rows (a search); no workspace: every database's, no params: every search of one.\n * `['arbi', 'databases', 'rows', workspaceId, databaseId, params]`.\n */\n databaseRows: (workspaceId?: string, databaseId?: string, params?: object) =>\n workspaceId === undefined\n ? (['arbi', 'databases', 'rows'] as const)\n : params === undefined\n ? (['arbi', 'databases', 'rows', workspaceId, databaseId ?? ''] as const)\n : (['arbi', 'databases', 'rows', workspaceId, databaseId ?? '', params] as const),\n /** The saved dashboards of a store's scope (a workspace). */\n dashboards: (scope: string) => ['arbi', 'dashboards', scope] as const,\n /** A database's rows grouped and measured (a chart); no workspace: every database's. */\n databaseAggregate: (workspaceId?: string, databaseId?: string, request?: object) =>\n workspaceId === undefined\n ? (['arbi', 'databases', 'aggregate'] as const)\n : (['arbi', 'databases', 'aggregate', workspaceId, databaseId ?? '', request ?? {}] as const),\n // ── Configs, health ─────────────────────────────────────────────────────────────────────────\n /** Under `configs()`: the saved configuration versions. */\n configVersions: () => ['arbi', 'configs', 'versions'] as const,\n /** Under `configs()`: the JSON schema of every config model. */\n configSchema: () => ['arbi', 'configs', 'schema'] as const,\n /** Under `configs()`: one configuration. */\n config: (configId: string) => ['arbi', 'configs', 'one', configId] as const,\n /** The remote model providers' health. */\n remoteModels: () => ['arbi', 'remoteModels'] as const,\n // ── Conversations ───────────────────────────────────────────────────────────────────────────\n /** Under the conversations prefix: what a parked run waits for the owner to allow. */\n conversationPendingAuth: (conversationId: string) =>\n ['arbi', 'conversations', conversationId, 'pending-auth'] as const,\n // ── Document tools ──────────────────────────────────────────────────────────────────────────\n /** Signatures on a document (a version); no id: every document's. */\n documentSignatures: (docId?: string, version?: number | null) =>\n docId === undefined\n ? (['arbi', 'documentSignatures'] as const)\n : (['arbi', 'documentSignatures', docId, version ?? null] as const),\n /** The certificate of a signature reference. */\n signatureVerification: (reference: string) =>\n ['arbi', 'signatureVerification', reference] as const,\n /** Every signature request list: what a request write refreshes. */\n signatureRequests: () => ['arbi', 'signatureRequests'] as const,\n signatureRequestsForDocument: (docId: string) =>\n ['arbi', 'signatureRequests', 'document', docId] as const,\n /** Who may sign in a workspace; no id: every workspace's. */\n signatureCandidates: (workspaceId?: string) =>\n workspaceId === undefined\n ? (['arbi', 'signatureRequests', 'candidates'] as const)\n : (['arbi', 'signatureRequests', 'candidates', workspaceId] as const),\n /** The user's saved (informal) signature. */\n savedSignature: () => ['arbi', 'savedSignature'] as const,\n /** An html/react artifact's source. */\n artifactSource: (docId: string) => ['arbi', 'artifactSource', docId] as const,\n /** An artifact's text, under its parsed content (refreshed with it). */\n artifactText: (docId: string) => ['arbi', 'parsedDoc', docId, 'marker', 'artifact-text'] as const,\n /** An image document's bytes as an object URL. */\n assetImage: (docId: string) => ['arbi', 'assetImage', docId] as const,\n // ── Misc ────────────────────────────────────────────────────────────────────────────────────\n /** An agent config's model tier (the builder's badge). */\n agentConfigModel: (configId: string) => ['arbi', 'agentConfigModel', configId] as const,\n /** Under `billingQuotes()`: the price of a plan change. */\n billingPreview: (projectExtId: string, change: unknown) =>\n ['arbi', 'billingQuote', 'preview', projectExtId, change] as const,\n billingPlanQuote: (projectExtId: string | null, body: unknown) =>\n ['arbi', 'billingQuote', 'plan', projectExtId, body] as const,\n billingAddonQuote: (projectExtId: string, kind: string) =>\n ['arbi', 'billingQuote', 'addon', projectExtId, kind] as const,\n /** Under `contacts()`: a search of the people one can reach. */\n contactSearch: (term: string) => ['arbi', 'contacts', 'search', term] as const,\n /** Under the workspace's facts: a filtered list. */\n factList: (workspaceId: string, filter: unknown) =>\n ['arbi', 'facts', workspaceId, filter] as const,\n /**\n * Under `skills()`: a workspace's list, hidden ones included or not. Without a marketplace the\n * server lists the open workspace's skills, so the list is kept per workspace.\n */\n skillList: (workspaceId: string, includeHidden: boolean) =>\n ['arbi', 'skills', 'list', workspaceId, includeHidden] as const,\n /** Under the project's events: one kind, one page size. */\n projectEventList: (projectExtId: string, kind: string, limit: number | 'default') =>\n ['arbi', 'projects', projectExtId, 'events', kind, limit] as const,\n /** The documents pinned for offline reading on this device. */\n offlineDocuments: () => ['arbi', 'offlineDocuments'] as const,\n /** Notifications of one kind for a deployment's user (polled). */\n typedNotifications: (kind: string, apiUrl: string, userId: string | undefined) =>\n ['arbi', 'typedNotifications', kind, apiUrl, userId ?? ''] as const,\n}\n\n/**\n * Keys of the mutations a host may need to follow (its own caches outside these hooks), e.g. with\n * a `MutationCache` subscription: a workflow run creates a task in the host's own task list.\n */\nexport const arbiMutationKeys = {\n /** A member's role changed. */\n setWorkspaceMemberRoles: () => ['arbi', 'workspaces', 'roles'] as const,\n runWorkflow: () => ['arbi', 'workflows', 'run'] as const,\n updateTagKindSchema: () => ['arbi', 'tags', 'kinds', 'update'] as const,\n createTag: () => ['arbi', 'tags', 'create'] as const,\n updateTag: () => ['arbi', 'tags', 'update'] as const,\n deleteTag: () => ['arbi', 'tags', 'delete'] as const,\n extractEntities: () => ['arbi', 'tags', 'entities', 'extract'] as const,\n updateDocuments: () => ['arbi', 'documents', 'update'] as const,\n deleteDocuments: () => ['arbi', 'documents', 'delete'] as const,\n uploadDocuments: () => ['arbi', 'documents', 'upload'] as const,\n uploadUrls: () => ['arbi', 'documents', 'uploadUrls'] as const,\n assignDocTags: () => ['arbi', 'doctags', 'assign'] as const,\n removeDocTags: () => ['arbi', 'doctags', 'remove'] as const,\n updateDocTag: () => ['arbi', 'doctags', 'update'] as const,\n generateDocTags: () => ['arbi', 'doctags', 'generate'] as const,\n /** Members added to or removed from a workspace (leaving included). */\n workspaceMembership: () => ['arbi', 'workspaces', 'members'] as const,\n /** A chat turn being sent (the app's send pipeline). */\n sendMessage: () => ['arbi', 'conversations', 'send'] as const,\n}\n\n/**\n * Query keys of the calendar hooks, all under `['arbi', 'calendar']`. The calendar is the user's,\n * not a workspace's; only the overlays carry the open workspace.\n */\nexport const calendarQueryKeys = {\n all: () => ['arbi', 'calendar'] as const,\n settings: () => ['arbi', 'calendar', 'settings'] as const,\n calendars: () => ['arbi', 'calendar', 'calendars'] as const,\n /** Every event list: the prefix an event write invalidates. */\n events: () => ['arbi', 'calendar', 'events'] as const,\n eventList: (p: ListEventsParams) =>\n [\n 'arbi',\n 'calendar',\n 'events',\n { start: p.start, end: p.end, calendars: p.calendars?.join(',') ?? null },\n ] as const,\n /** Every single event read. */\n eventDetails: () => ['arbi', 'calendar', 'event'] as const,\n event: (id: string, recurrenceId?: string | null) =>\n ['arbi', 'calendar', 'event', id, recurrenceId ?? null] as const,\n shares: (calId: string) => ['arbi', 'calendar', 'shares', calId] as const,\n invitations: () => ['arbi', 'calendar', 'invitations'] as const,\n holidayCountries: () => ['arbi', 'calendar', 'holiday-countries'] as const,\n allRooms: () => ['arbi', 'calendar', 'rooms'] as const,\n rooms: (q: RoomQuery) => ['arbi', 'calendar', 'rooms', q] as const,\n freebusy: (attendees: string[], start: string, end: string) =>\n ['arbi', 'calendar', 'freebusy', attendees.join(','), start, end] as const,\n allLookups: () => ['arbi', 'calendar', 'lookup'] as const,\n lookup: (uid: string) => ['arbi', 'calendar', 'lookup', uid] as const,\n overlays: (workspaceId: string | null, w?: CalendarWindow, layers?: OverlayLayerName[]) =>\n [\n 'arbi',\n 'calendar',\n 'overlays',\n workspaceId,\n w ? { start: w.start, end: w.end, layers: layers?.join(',') } : null,\n ] as const,\n accounts: () => ['arbi', 'calendar', 'accounts'] as const,\n caldavProfiles: () => ['arbi', 'calendar', 'caldav-profiles'] as const,\n bookingPages: () => ['arbi', 'calendar', 'booking-pages'] as const,\n /** The offline outbox (writes made offline, not yet sent). */\n outbox: () => ['arbi', 'calendar', 'outbox'] as const,\n}\n\n/** Query keys of the call hooks, all under `['arbi', 'calls']`. Calls are the user's, not a workspace's. */\nexport const callQueryKeys = {\n all: () => ['arbi', 'calls'] as const,\n config: () => ['arbi', 'calls', 'config'] as const,\n call: (callExtId: string) => ['arbi', 'calls', 'call', callExtId] as const,\n /** Everything about a call's recordings: the prefix a recording event invalidates. */\n recordingsOf: (callExtId: string) => ['arbi', 'calls', 'recordings', callExtId] as const,\n recordings: (callExtId: string) => ['arbi', 'calls', 'recordings', callExtId, 'list'] as const,\n recording: (callExtId: string, recordingExtId: string) =>\n ['arbi', 'calls', 'recordings', callExtId, 'one', recordingExtId] as const,\n inviteLinks: (callExtId: string) => ['arbi', 'calls', 'invite-links', callExtId] as const,\n}\n\nexport const connectorQueryKeys = {\n all: () => ['arbi', 'connectors'] as const,\n catalog: () => ['arbi', 'connectors', 'catalog'] as const,\n mine: () => ['arbi', 'connectors', 'mine'] as const,\n mailboxFolders: (vendor: string) => ['arbi', 'connectors', 'folders', vendor] as const,\n mailboxSyncProgress: (vendor: string, workspaceExtId: string) =>\n ['arbi', 'connectors', 'sync-progress', vendor, workspaceExtId] as const,\n allMailboxSyncProgress: () => ['arbi', 'connectors', 'sync-progress'] as const,\n driveFolders: (vendor: string) => ['arbi', 'connectors', 'drive-folders', vendor] as const,\n driveFolderChildren: (vendor: string, itemId: string) =>\n ['arbi', 'connectors', 'drive-folder-children', vendor, itemId] as const,\n driveFolderDocCount: (vendor: string, itemId: string) =>\n ['arbi', 'connectors', 'drive-folder-doc-count', vendor, itemId] as const,\n driveSyncEstimate: (vendor: string) =>\n ['arbi', 'connectors', 'drive-sync-estimate', vendor] as const,\n driveSyncProgress: (vendor: string) =>\n ['arbi', 'connectors', 'drive-sync-progress', vendor] as const,\n allDriveSyncProgress: () => ['arbi', 'connectors', 'drive-sync-progress'] as const,\n slack: () => ['arbi', 'connectors', 'slack'] as const,\n}\n\nexport const mailQueryKeys = {\n all: () => ['arbi', 'mail'] as const,\n policy: () => ['arbi', 'mail', 'policy'] as const,\n accounts: () => ['arbi', 'mail', 'accounts'] as const,\n unlock: (accountId: string | undefined, sessionKey: string | null) =>\n ['arbi', 'mail', 'unlock', accountId, sessionKey ?? ''] as const,\n allFolders: () => ['arbi', 'mail', 'folders'] as const,\n folders: (accountId: string | undefined) => ['arbi', 'mail', 'folders', accountId] as const,\n allMessages: () => ['arbi', 'mail', 'messages'] as const,\n messages: (\n accountId: string | undefined,\n folderId: string | undefined,\n query: string,\n cursor: string | null\n ) => ['arbi', 'mail', 'messages', accountId, folderId, query, cursor] as const,\n message: (accountId: string | undefined, messageId: string | null | undefined) =>\n ['arbi', 'mail', 'message', accountId, messageId] as const,\n /** The projects an email's AI work can be billed to. */\n projects: () => ['arbi', 'mail', 'projects'] as const,\n /** A saved draft prepared for editing. */\n draftCompose: (accountId: string | undefined, draftId: string | undefined) =>\n ['arbi', 'mail', 'draft-compose', accountId, draftId] as const,\n attachmentText: (accountId: string, messageId: string, attachmentId: string) =>\n ['arbi', 'mail', 'attachment-text', accountId, messageId, attachmentId] as const,\n}\n\n/** `pdf`: the document as a PDF; `original`: the stored file (an image, a recording, a sheet). */\nexport type DocumentBytesKind = 'pdf' | 'original'\n\n/** Every version and kind of a document's bytes: the prefix a new version invalidates. */\nexport const documentBytesKey = (\n documentRef: string,\n version?: number | null,\n kind?: DocumentBytesKind\n) =>\n version === undefined\n ? (['arbi', 'documentBytes', documentRef] as const)\n : (['arbi', 'documentBytes', documentRef, version, kind ?? 'pdf'] as const)\n\n/** Whether `queryKey` lies under `prefix` (a factory key): React Query's own prefix match. */\nexport function isUnderQueryKey(queryKey: readonly unknown[], prefix: readonly unknown[]): boolean {\n return prefix.every((part, i) => queryKey[i] === part)\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunk7RUVJZZG_cjs = require('./chunk-7RUVJZZG.cjs');
|
|
4
|
+
var chunkBRFRQWAY_cjs = require('./chunk-BRFRQWAY.cjs');
|
|
5
5
|
var chunkRLSBRZ6Z_cjs = require('./chunk-RLSBRZ6Z.cjs');
|
|
6
6
|
var chunkEEIYXVM4_cjs = require('./chunk-EEIYXVM4.cjs');
|
|
7
7
|
var reactQuery = require('@tanstack/react-query');
|
|
@@ -10,9 +10,9 @@ var browser = require('@arbidocs/sdk/browser');
|
|
|
10
10
|
var client = require('@arbidocs/client');
|
|
11
11
|
|
|
12
12
|
function useUserSettings(options) {
|
|
13
|
-
const arbi =
|
|
13
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
14
14
|
return reactQuery.useQuery({
|
|
15
|
-
queryKey:
|
|
15
|
+
queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings(),
|
|
16
16
|
queryFn: () => arbi.settings.get(),
|
|
17
17
|
// Edited about once a month, and every write here patches the cache: no refetch on each mount.
|
|
18
18
|
staleTime: 30 * 60 * 1e3,
|
|
@@ -20,23 +20,23 @@ function useUserSettings(options) {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
function useUpdateUserSettings() {
|
|
23
|
-
const arbi =
|
|
23
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
24
24
|
const qc = reactQuery.useQueryClient();
|
|
25
25
|
return reactQuery.useMutation({
|
|
26
26
|
mutationFn: (patch) => arbi.settings.update(patch),
|
|
27
27
|
onMutate: async (patch) => {
|
|
28
|
-
await qc.cancelQueries({ queryKey:
|
|
29
|
-
const previous = qc.getQueryData(
|
|
28
|
+
await qc.cancelQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings() });
|
|
29
|
+
const previous = qc.getQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings());
|
|
30
30
|
qc.setQueryData(
|
|
31
|
-
|
|
31
|
+
chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings(),
|
|
32
32
|
(old) => old ? { ...old, ...patch } : old
|
|
33
33
|
);
|
|
34
34
|
return { previous };
|
|
35
35
|
},
|
|
36
36
|
onError: (_err, _patch, context) => {
|
|
37
|
-
qc.setQueryData(
|
|
37
|
+
qc.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings(), context?.previous);
|
|
38
38
|
},
|
|
39
|
-
onSettled: () => qc.invalidateQueries({ queryKey:
|
|
39
|
+
onSettled: () => qc.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.userSettings() })
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
var ALWAYS_ON = { on: true, set: () => {
|
|
@@ -59,7 +59,7 @@ function useLocalSwitch(source, feature) {
|
|
|
59
59
|
return { on: saved ?? fallback, set };
|
|
60
60
|
}
|
|
61
61
|
function useFeatureSwitch(feature) {
|
|
62
|
-
const source =
|
|
62
|
+
const source = chunkBRFRQWAY_cjs.useArbiHost().features?.[feature];
|
|
63
63
|
const useSource = !source ? useUnlisted : "userSetting" in source ? useUserSettingSwitch : useLocalSwitch;
|
|
64
64
|
return useSource(source, feature);
|
|
65
65
|
}
|
|
@@ -149,7 +149,7 @@ var LISTS = {
|
|
|
149
149
|
};
|
|
150
150
|
function patchConversationList(queryClient, workspaceId, reducer) {
|
|
151
151
|
if (!workspaceId) return;
|
|
152
|
-
const key =
|
|
152
|
+
const key = chunkBRFRQWAY_cjs.arbiQueryKeys.conversations(workspaceId);
|
|
153
153
|
const current = queryClient.getQueryData(key) ?? [];
|
|
154
154
|
const next = reducer(current);
|
|
155
155
|
if (next !== current) queryClient.setQueryData(key, next);
|
|
@@ -213,13 +213,13 @@ function byActivity(a, b) {
|
|
|
213
213
|
return bt - at;
|
|
214
214
|
}
|
|
215
215
|
function cachedChats(queryClient) {
|
|
216
|
-
return queryClient.getQueryData(
|
|
216
|
+
return queryClient.getQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatList()) ?? [];
|
|
217
217
|
}
|
|
218
218
|
function cachedChat(queryClient, chatExtId) {
|
|
219
219
|
return cachedChats(queryClient).find((c) => c.external_id === chatExtId);
|
|
220
220
|
}
|
|
221
221
|
function upsertChat(queryClient, chat) {
|
|
222
|
-
queryClient.setQueryData(
|
|
222
|
+
queryClient.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatList(), (old) => {
|
|
223
223
|
if (!old) return old;
|
|
224
224
|
const rest = old.filter((c) => c.external_id !== chat.external_id);
|
|
225
225
|
return [chat, ...rest].sort(byActivity);
|
|
@@ -227,13 +227,13 @@ function upsertChat(queryClient, chat) {
|
|
|
227
227
|
}
|
|
228
228
|
function removeChat(queryClient, chatExtId) {
|
|
229
229
|
queryClient.setQueryData(
|
|
230
|
-
|
|
230
|
+
chunkBRFRQWAY_cjs.arbiQueryKeys.chatList(),
|
|
231
231
|
(old) => old?.filter((c) => c.external_id !== chatExtId)
|
|
232
232
|
);
|
|
233
|
-
queryClient.removeQueries({ queryKey:
|
|
233
|
+
queryClient.removeQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId) });
|
|
234
234
|
}
|
|
235
235
|
function appendToThread(queryClient, chatExtId, message, replaceOptimisticId) {
|
|
236
|
-
queryClient.setQueryData(
|
|
236
|
+
queryClient.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId), (old) => {
|
|
237
237
|
if (!old) return old;
|
|
238
238
|
const without = old.messages.filter(
|
|
239
239
|
(m) => m.external_id !== message.external_id && m.external_id !== replaceOptimisticId
|
|
@@ -243,12 +243,12 @@ function appendToThread(queryClient, chatExtId, message, replaceOptimisticId) {
|
|
|
243
243
|
}
|
|
244
244
|
function dropFromThread(queryClient, chatExtId, messageExtId) {
|
|
245
245
|
queryClient.setQueryData(
|
|
246
|
-
|
|
246
|
+
chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId),
|
|
247
247
|
(old) => old ? { ...old, messages: old.messages.filter((m) => m.external_id !== messageExtId) } : old
|
|
248
248
|
);
|
|
249
249
|
}
|
|
250
250
|
function replaceInThread(queryClient, chatExtId, message) {
|
|
251
|
-
queryClient.setQueryData(
|
|
251
|
+
queryClient.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId), (old) => {
|
|
252
252
|
if (!old || !old.messages.some((m) => m.external_id === message.external_id)) return old;
|
|
253
253
|
return {
|
|
254
254
|
...old,
|
|
@@ -258,14 +258,14 @@ function replaceInThread(queryClient, chatExtId, message) {
|
|
|
258
258
|
}
|
|
259
259
|
function patchLastMessage(queryClient, chatExtId, message) {
|
|
260
260
|
queryClient.setQueryData(
|
|
261
|
-
|
|
261
|
+
chunkBRFRQWAY_cjs.arbiQueryKeys.chatList(),
|
|
262
262
|
(old) => old?.map(
|
|
263
263
|
(c) => c.external_id === chatExtId && c.last_message?.external_id === message.external_id ? { ...c, last_message: message } : c
|
|
264
264
|
)
|
|
265
265
|
);
|
|
266
266
|
}
|
|
267
267
|
async function deleteChatMessage(arbi, queryClient, chatExtId, messageExtId) {
|
|
268
|
-
const thread = queryClient.getQueryData(
|
|
268
|
+
const thread = queryClient.getQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId));
|
|
269
269
|
const before = thread?.messages.find((m) => m.external_id === messageExtId);
|
|
270
270
|
const listed = cachedChat(queryClient, chatExtId);
|
|
271
271
|
const wasLast = listed?.last_message?.external_id === messageExtId ? listed.last_message : null;
|
|
@@ -286,7 +286,7 @@ async function applyChangedMessage(arbi, queryClient, chatExtId, message) {
|
|
|
286
286
|
return;
|
|
287
287
|
}
|
|
288
288
|
const chat = cachedChat(queryClient, chatExtId);
|
|
289
|
-
if (!chat || !queryClient.getQueryData(
|
|
289
|
+
if (!chat || !queryClient.getQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId))) return;
|
|
290
290
|
try {
|
|
291
291
|
replaceInThread(queryClient, chatExtId, await arbi.chats.decrypt(chat, message));
|
|
292
292
|
} catch (err) {
|
|
@@ -298,7 +298,7 @@ async function applyChatMessage(arbi, queryClient, chatExtId, message) {
|
|
|
298
298
|
const me = myChatId(arbi);
|
|
299
299
|
const chat = cachedChat(queryClient, chatExtId);
|
|
300
300
|
if (!chat) {
|
|
301
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
301
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.chatList() });
|
|
302
302
|
return;
|
|
303
303
|
}
|
|
304
304
|
const mine = message.sender_ext_id === me;
|
|
@@ -312,7 +312,7 @@ async function applyChatMessage(arbi, queryClient, chatExtId, message) {
|
|
|
312
312
|
(m) => m.user.external_id === me ? { ...m, last_read_at: message.created_at } : m
|
|
313
313
|
) : chat.members
|
|
314
314
|
});
|
|
315
|
-
if (queryClient.getQueryData(
|
|
315
|
+
if (queryClient.getQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId))) {
|
|
316
316
|
try {
|
|
317
317
|
appendToThread(queryClient, chatExtId, await arbi.chats.decrypt(chat, message));
|
|
318
318
|
} catch (err) {
|
|
@@ -323,7 +323,7 @@ async function applyChatMessage(arbi, queryClient, chatExtId, message) {
|
|
|
323
323
|
function applyChatRead(arbi, queryClient, chatExtId, userExtId, lastReadAt) {
|
|
324
324
|
const me = myChatId(arbi);
|
|
325
325
|
queryClient.setQueryData(
|
|
326
|
-
|
|
326
|
+
chunkBRFRQWAY_cjs.arbiQueryKeys.chatList(),
|
|
327
327
|
(old) => old?.map(
|
|
328
328
|
(c) => c.external_id !== chatExtId ? c : {
|
|
329
329
|
...c,
|
|
@@ -349,11 +349,11 @@ async function applyChatUpdated(arbi, queryClient, chatExtId, message) {
|
|
|
349
349
|
}
|
|
350
350
|
upsertChat(queryClient, chat);
|
|
351
351
|
if (!message)
|
|
352
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
352
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.chatThread(chatExtId) });
|
|
353
353
|
}
|
|
354
354
|
function applyAgentDmStatus(queryClient, status) {
|
|
355
355
|
if (!["queued", "working", "done", "failed"].includes(status.status)) return;
|
|
356
|
-
queryClient.setQueryData(
|
|
356
|
+
queryClient.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.agentDmStatus(status.agent_ext_id), status);
|
|
357
357
|
}
|
|
358
358
|
async function applyChatEvent(arbi, queryClient, event) {
|
|
359
359
|
const e = event;
|
|
@@ -368,13 +368,13 @@ async function applyChatEvent(arbi, queryClient, event) {
|
|
|
368
368
|
|
|
369
369
|
// src/calls/keys.ts
|
|
370
370
|
function serverCallsExperimental(queryClient) {
|
|
371
|
-
return queryClient.getQueryData(
|
|
371
|
+
return queryClient.getQueryData(chunkBRFRQWAY_cjs.callQueryKeys.config())?.experimental !== false;
|
|
372
372
|
}
|
|
373
373
|
function invalidateCall(queryClient, message) {
|
|
374
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
374
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.callQueryKeys.call(message.call_ext_id) });
|
|
375
375
|
const thread = message.log_conversation_ext_id;
|
|
376
376
|
if (thread) {
|
|
377
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
377
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.conversationActivity(thread) });
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
380
|
|
|
@@ -625,19 +625,19 @@ function applyCallEvent(queryClient, event, options = {}) {
|
|
|
625
625
|
}
|
|
626
626
|
case "call.recording": {
|
|
627
627
|
if (callExtId)
|
|
628
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
628
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recordingsOf(callExtId) });
|
|
629
629
|
const state2 = browser.calls.recordingStateFrom(m);
|
|
630
630
|
relay("call.recording", callExtId && state2 ? { ...state2, call_ext_id: callExtId } : null);
|
|
631
631
|
return true;
|
|
632
632
|
}
|
|
633
633
|
case "call.recording_updated": {
|
|
634
634
|
if (callExtId)
|
|
635
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
635
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recordingsOf(callExtId) });
|
|
636
636
|
return true;
|
|
637
637
|
}
|
|
638
638
|
case "call.recording_deleted": {
|
|
639
639
|
if (callExtId)
|
|
640
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
640
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recordingsOf(callExtId) });
|
|
641
641
|
const recordingExtId = str(m.recording_ext_id);
|
|
642
642
|
relay(
|
|
643
643
|
"call.recording_deleted",
|
|
@@ -678,11 +678,11 @@ function useProfile(options) {
|
|
|
678
678
|
const { client, enabled } = useAccountClient();
|
|
679
679
|
const qc = reactQuery.useQueryClient();
|
|
680
680
|
react.useEffect(
|
|
681
|
-
() => client.onProfileChange(() => qc.setQueryData(
|
|
681
|
+
() => client.onProfileChange(() => qc.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.profile(), client.profile())),
|
|
682
682
|
[client, qc]
|
|
683
683
|
);
|
|
684
684
|
return reactQuery.useQuery({
|
|
685
|
-
queryKey:
|
|
685
|
+
queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.profile(),
|
|
686
686
|
queryFn: () => client.profile(),
|
|
687
687
|
enabled: (options?.enabled ?? true) && enabled,
|
|
688
688
|
staleTime: Infinity
|
|
@@ -697,9 +697,9 @@ function useUpdateProfile() {
|
|
|
697
697
|
return client.profile();
|
|
698
698
|
},
|
|
699
699
|
onSuccess: (profile) => {
|
|
700
|
-
qc.setQueryData(
|
|
701
|
-
void qc.invalidateQueries({ queryKey:
|
|
702
|
-
return qc.invalidateQueries({ queryKey:
|
|
700
|
+
qc.setQueryData(chunkBRFRQWAY_cjs.arbiQueryKeys.profile(), profile);
|
|
701
|
+
void qc.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.identity() });
|
|
702
|
+
return qc.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.workspaces() });
|
|
703
703
|
}
|
|
704
704
|
});
|
|
705
705
|
}
|
|
@@ -801,7 +801,7 @@ function arbiAccountClient(arbi, overrides = {}) {
|
|
|
801
801
|
if (everywhere) await arbi.sessions.logoutAll();
|
|
802
802
|
else await arbi.logout();
|
|
803
803
|
} finally {
|
|
804
|
-
|
|
804
|
+
chunk7RUVJZZG_cjs.clearSealedDrafts();
|
|
805
805
|
chunkRLSBRZ6Z_cjs.clearChatArtifacts();
|
|
806
806
|
}
|
|
807
807
|
},
|
|
@@ -846,7 +846,7 @@ var NO_ACCOUNT = {
|
|
|
846
846
|
};
|
|
847
847
|
var ALWAYS = () => true;
|
|
848
848
|
function useAccountClient() {
|
|
849
|
-
const { account, arbi } =
|
|
849
|
+
const { account, arbi } = chunkBRFRQWAY_cjs.useArbiHost();
|
|
850
850
|
const fallback = react.useMemo(() => arbi ? arbiAccountClient(arbi) : null, [arbi]);
|
|
851
851
|
const useEnabled = account?.useEnabled ?? ALWAYS;
|
|
852
852
|
const enabled = useEnabled();
|
|
@@ -857,9 +857,9 @@ function useAccountClient() {
|
|
|
857
857
|
return { client: fallback, enabled: arbi.isLoggedIn };
|
|
858
858
|
}
|
|
859
859
|
function useEntitlements() {
|
|
860
|
-
const arbi =
|
|
860
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
861
861
|
return reactQuery.useQuery({
|
|
862
|
-
queryKey:
|
|
862
|
+
queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.entitlements(),
|
|
863
863
|
queryFn: () => arbi.account.entitlements(),
|
|
864
864
|
enabled: arbi.isLoggedIn,
|
|
865
865
|
// A plan change shows on the next read; the API enforces it at once either way.
|
|
@@ -868,7 +868,7 @@ function useEntitlements() {
|
|
|
868
868
|
}
|
|
869
869
|
function useInvalidateEntitlements() {
|
|
870
870
|
const qc = reactQuery.useQueryClient();
|
|
871
|
-
return () => qc.invalidateQueries({ queryKey:
|
|
871
|
+
return () => qc.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.entitlements() });
|
|
872
872
|
}
|
|
873
873
|
function useIsEntitled(feature) {
|
|
874
874
|
const { data } = useEntitlements();
|
|
@@ -992,7 +992,7 @@ function ensureMeetingChat(arbi, queryClient, callExtId, callKey) {
|
|
|
992
992
|
});
|
|
993
993
|
if (!ref) throw new Error("The server did not return a meeting chat");
|
|
994
994
|
if (ref.kind === "chat")
|
|
995
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
995
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.arbiQueryKeys.chatList() });
|
|
996
996
|
else void invalidateConversationLists(queryClient);
|
|
997
997
|
return ref;
|
|
998
998
|
})();
|
|
@@ -1998,9 +1998,9 @@ async function transcribeRecording(params) {
|
|
|
1998
1998
|
return { stored, failed };
|
|
1999
1999
|
}
|
|
2000
2000
|
function useCallsConfig() {
|
|
2001
|
-
const arbi =
|
|
2001
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2002
2002
|
const { data } = reactQuery.useQuery({
|
|
2003
|
-
queryKey:
|
|
2003
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.config(),
|
|
2004
2004
|
queryFn: () => arbi.calls.config(),
|
|
2005
2005
|
enabled: arbi.isLoggedIn,
|
|
2006
2006
|
staleTime: 5 * 6e4,
|
|
@@ -2018,9 +2018,9 @@ function useCallTranscriptionAvailable() {
|
|
|
2018
2018
|
return useCallsConfig()?.transcription_available === true;
|
|
2019
2019
|
}
|
|
2020
2020
|
function useCall(callExtId) {
|
|
2021
|
-
const arbi =
|
|
2021
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2022
2022
|
return reactQuery.useQuery({
|
|
2023
|
-
queryKey:
|
|
2023
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.call(callExtId ?? ""),
|
|
2024
2024
|
queryFn: () => arbi.calls.get(callExtId),
|
|
2025
2025
|
enabled: !!callExtId && arbi.isLoggedIn,
|
|
2026
2026
|
staleTime: 6e4,
|
|
@@ -2028,18 +2028,18 @@ function useCall(callExtId) {
|
|
|
2028
2028
|
});
|
|
2029
2029
|
}
|
|
2030
2030
|
function useCallRecordings(callExtId, enabled = true) {
|
|
2031
|
-
const arbi =
|
|
2031
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2032
2032
|
return reactQuery.useQuery({
|
|
2033
|
-
queryKey:
|
|
2033
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recordings(callExtId ?? ""),
|
|
2034
2034
|
queryFn: () => arbi.calls.recording.list(callExtId),
|
|
2035
2035
|
enabled: !!callExtId && enabled && arbi.isLoggedIn,
|
|
2036
2036
|
retry: false
|
|
2037
2037
|
});
|
|
2038
2038
|
}
|
|
2039
2039
|
function useCallRecording(callExtId, recordingExtId) {
|
|
2040
|
-
const arbi =
|
|
2040
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2041
2041
|
return reactQuery.useQuery({
|
|
2042
|
-
queryKey:
|
|
2042
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recording(callExtId ?? "", recordingExtId ?? ""),
|
|
2043
2043
|
queryFn: () => arbi.calls.recording.get(callExtId, recordingExtId),
|
|
2044
2044
|
enabled: !!callExtId && !!recordingExtId && arbi.isLoggedIn,
|
|
2045
2045
|
retry: false
|
|
@@ -2051,21 +2051,21 @@ function useRecordingWindows(callExtId, enabled) {
|
|
|
2051
2051
|
return react.useMemo(() => data ? recordingWindowsOf(data) : NO_WINDOWS, [data]);
|
|
2052
2052
|
}
|
|
2053
2053
|
function useCallInviteLinks(callExtId) {
|
|
2054
|
-
const arbi =
|
|
2054
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2055
2055
|
return reactQuery.useQuery({
|
|
2056
|
-
queryKey:
|
|
2056
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.inviteLinks(callExtId ?? ""),
|
|
2057
2057
|
queryFn: () => arbi.calls.inviteLinks.list(callExtId),
|
|
2058
2058
|
enabled: !!callExtId && arbi.isLoggedIn,
|
|
2059
2059
|
retry: false
|
|
2060
2060
|
});
|
|
2061
2061
|
}
|
|
2062
2062
|
function useRecordingActions(call) {
|
|
2063
|
-
const arbi =
|
|
2063
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2064
2064
|
const queryClient = reactQuery.useQueryClient();
|
|
2065
2065
|
return react.useMemo(
|
|
2066
2066
|
() => ({
|
|
2067
2067
|
refresh: () => void queryClient.invalidateQueries({
|
|
2068
|
-
queryKey:
|
|
2068
|
+
queryKey: chunkBRFRQWAY_cjs.callQueryKeys.recordingsOf(call.external_id)
|
|
2069
2069
|
}),
|
|
2070
2070
|
open: (recording) => openRecording(arbi, queryClient, call, recording.external_id, recording),
|
|
2071
2071
|
transcribe: async (opened, onProgress) => transcribeRecording({
|
|
@@ -2081,12 +2081,12 @@ function useRecordingActions(call) {
|
|
|
2081
2081
|
);
|
|
2082
2082
|
}
|
|
2083
2083
|
function useRevokeCallInviteLink(callExtId) {
|
|
2084
|
-
const arbi =
|
|
2084
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2085
2085
|
const queryClient = reactQuery.useQueryClient();
|
|
2086
2086
|
return react.useCallback(
|
|
2087
2087
|
async (inviteExtId) => {
|
|
2088
2088
|
await arbi.calls.inviteLinks.revoke(callExtId, inviteExtId);
|
|
2089
|
-
void queryClient.invalidateQueries({ queryKey:
|
|
2089
|
+
void queryClient.invalidateQueries({ queryKey: chunkBRFRQWAY_cjs.callQueryKeys.inviteLinks(callExtId) });
|
|
2090
2090
|
},
|
|
2091
2091
|
[arbi, queryClient, callExtId]
|
|
2092
2092
|
);
|
|
@@ -2144,7 +2144,7 @@ async function saveRecordingFilesToThread(arbi, params) {
|
|
|
2144
2144
|
});
|
|
2145
2145
|
}
|
|
2146
2146
|
function useSaveToThread() {
|
|
2147
|
-
const arbi =
|
|
2147
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2148
2148
|
const queryClient = reactQuery.useQueryClient();
|
|
2149
2149
|
return react.useMemo(() => {
|
|
2150
2150
|
const thenRefresh = async (run) => {
|
|
@@ -2431,9 +2431,9 @@ function isWorkspaceGuestOf(workspaces, workspaceExtId, me) {
|
|
|
2431
2431
|
return workspace?.users?.find((wu) => wu.user.external_id === me)?.role === "guest";
|
|
2432
2432
|
}
|
|
2433
2433
|
function useMeetingReadOnly(lockedWorkspaceExtId) {
|
|
2434
|
-
const arbi =
|
|
2434
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2435
2435
|
const me = arbi.isLoggedIn ? arbi.user.identity()?.externalId ?? null : null;
|
|
2436
|
-
const { data: workspaces } =
|
|
2436
|
+
const { data: workspaces } = chunk7RUVJZZG_cjs.useWorkspaces({
|
|
2437
2437
|
enabled: !!lockedWorkspaceExtId && arbi.isLoggedIn
|
|
2438
2438
|
});
|
|
2439
2439
|
return isWorkspaceGuestOf(
|
|
@@ -2456,9 +2456,9 @@ function useCanHostCalls() {
|
|
|
2456
2456
|
return callsEnabled && entitled;
|
|
2457
2457
|
}
|
|
2458
2458
|
function useOpenCallMeetingChat() {
|
|
2459
|
-
const arbi =
|
|
2459
|
+
const arbi = chunkBRFRQWAY_cjs.useArbi();
|
|
2460
2460
|
const queryClient = reactQuery.useQueryClient();
|
|
2461
|
-
const open =
|
|
2461
|
+
const open = chunkBRFRQWAY_cjs.useArbiHost().calls?.openMeetingChat;
|
|
2462
2462
|
return react.useCallback(
|
|
2463
2463
|
async (target) => {
|
|
2464
2464
|
try {
|
|
@@ -2668,5 +2668,5 @@ exports.useUpdateUserSettings = useUpdateUserSettings;
|
|
|
2668
2668
|
exports.useUserSettings = useUserSettings;
|
|
2669
2669
|
exports.wrapTrackKey = wrapTrackKey;
|
|
2670
2670
|
exports.writeSamples = writeSamples;
|
|
2671
|
-
//# sourceMappingURL=chunk-
|
|
2672
|
-
//# sourceMappingURL=chunk-
|
|
2671
|
+
//# sourceMappingURL=chunk-EOKCXEYN.cjs.map
|
|
2672
|
+
//# sourceMappingURL=chunk-EOKCXEYN.cjs.map
|