@arbidocs/react 0.5.110 → 0.5.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/dist/PdfViewerImpl-QUSDLNNM.cjs +380 -0
  2. package/dist/PdfViewerImpl-QUSDLNNM.cjs.map +1 -0
  3. package/dist/{PdfViewer.d-bQH9yxFg.d.cts → PdfViewerImpl.d-B28hLEuj.d.ts} +8 -1
  4. package/dist/account/client.js +96 -0
  5. package/dist/account/client.js.map +7 -0
  6. package/dist/account/delete.js +70 -0
  7. package/dist/account/delete.js.map +7 -0
  8. package/dist/account/didit.js +34 -0
  9. package/dist/account/didit.js.map +7 -0
  10. package/dist/account/dismissed-tips.js +33 -0
  11. package/dist/account/dismissed-tips.js.map +7 -0
  12. package/dist/account/email.js +84 -0
  13. package/dist/account/email.js.map +7 -0
  14. package/dist/account/entitlements.js +47 -0
  15. package/dist/account/entitlements.js.map +7 -0
  16. package/dist/account/identity.js +270 -0
  17. package/dist/account/identity.js.map +7 -0
  18. package/dist/account/index.js +93 -0
  19. package/dist/account/index.js.map +7 -0
  20. package/dist/account/notifications.js +59 -0
  21. package/dist/account/notifications.js.map +7 -0
  22. package/dist/account/password.js +103 -0
  23. package/dist/account/password.js.map +7 -0
  24. package/dist/account/profile.js +116 -0
  25. package/dist/account/profile.js.map +7 -0
  26. package/dist/account/recovery.js +13 -0
  27. package/dist/account/recovery.js.map +7 -0
  28. package/dist/account/relevance.js +82 -0
  29. package/dist/account/relevance.js.map +7 -0
  30. package/dist/account/sessions.js +37 -0
  31. package/dist/account/sessions.js.map +7 -0
  32. package/dist/account/settings.js +39 -0
  33. package/dist/account/settings.js.map +7 -0
  34. package/dist/account/table-views.js +16 -0
  35. package/dist/account/table-views.js.map +7 -0
  36. package/dist/ai/AiAnswer.js +83 -0
  37. package/dist/ai/AiAnswer.js.map +7 -0
  38. package/dist/ai/AiMarkdown.js +40 -0
  39. package/dist/ai/AiMarkdown.js.map +7 -0
  40. package/dist/ai/ArtifactCanvas.js +193 -0
  41. package/dist/ai/ArtifactCanvas.js.map +7 -0
  42. package/dist/ai/CitationRenderer.js +413 -0
  43. package/dist/ai/CitationRenderer.js.map +7 -0
  44. package/dist/{chunk-WL2Y2T47.js → ai/MarkdownRenderer.js} +35 -101
  45. package/dist/ai/MarkdownRenderer.js.map +7 -0
  46. package/dist/ai/MessageArtifactCard.js +75 -0
  47. package/dist/ai/MessageArtifactCard.js.map +7 -0
  48. package/dist/ai/PassageCard.js +79 -0
  49. package/dist/ai/PassageCard.js.map +7 -0
  50. package/dist/ai/engine.js +110 -0
  51. package/dist/ai/engine.js.map +7 -0
  52. package/dist/ai/index.js +63 -0
  53. package/dist/ai/index.js.map +7 -0
  54. package/dist/ai/markdown-base-components.js +37 -0
  55. package/dist/ai/markdown-base-components.js.map +7 -0
  56. package/dist/ai/markdown-streaming-context.js +6 -0
  57. package/dist/ai/markdown-streaming-context.js.map +7 -0
  58. package/dist/{chunk-VSCU7K4V.js → ai/normalize-citations.js} +12 -19
  59. package/dist/ai/normalize-citations.js.map +7 -0
  60. package/dist/ai/redline.js +41 -0
  61. package/dist/ai/redline.js.map +7 -0
  62. package/dist/ai/split-markdown-blocks.js +40 -0
  63. package/dist/ai/split-markdown-blocks.js.map +7 -0
  64. package/dist/{chunk-UW2SGTI5.js → ai/stored-markdown.js} +41 -93
  65. package/dist/ai/stored-markdown.js.map +7 -0
  66. package/dist/annotations/AnnotationPageOverlay.js +807 -0
  67. package/dist/annotations/AnnotationPageOverlay.js.map +7 -0
  68. package/dist/annotations/AnnotationToolbar.js +398 -0
  69. package/dist/annotations/AnnotationToolbar.js.map +7 -0
  70. package/dist/annotations/FreezeDialog.js +170 -0
  71. package/dist/annotations/FreezeDialog.js.map +7 -0
  72. package/dist/annotations/ProductionDialog.js +354 -0
  73. package/dist/annotations/ProductionDialog.js.map +7 -0
  74. package/dist/annotations/controller.js +49 -0
  75. package/dist/annotations/controller.js.map +7 -0
  76. package/dist/annotations/freeze/browser.js +21 -0
  77. package/dist/annotations/freeze/browser.js.map +7 -0
  78. package/dist/annotations/freeze/bundle.js +201 -0
  79. package/dist/annotations/freeze/bundle.js.map +7 -0
  80. package/dist/annotations/freeze/coords.js +37 -0
  81. package/dist/annotations/freeze/coords.js.map +7 -0
  82. package/dist/annotations/freeze/freeze.js +261 -0
  83. package/dist/annotations/freeze/freeze.js.map +7 -0
  84. package/dist/annotations/freeze/hash.js +28 -0
  85. package/dist/annotations/freeze/hash.js.map +7 -0
  86. package/dist/annotations/freeze/index-page.js +78 -0
  87. package/dist/annotations/freeze/index-page.js.map +7 -0
  88. package/dist/annotations/freeze/index.d.ts +1 -1
  89. package/dist/annotations/freeze/index.js +28 -22
  90. package/dist/annotations/freeze/index.js.map +7 -1
  91. package/dist/annotations/freeze/raster.js +208 -0
  92. package/dist/annotations/freeze/raster.js.map +7 -0
  93. package/dist/annotations/freeze/stamp.js +117 -0
  94. package/dist/annotations/freeze/stamp.js.map +7 -0
  95. package/dist/annotations/freeze/types.js +14 -0
  96. package/dist/annotations/freeze/types.js.map +7 -0
  97. package/dist/annotations/freeze/vector.js +283 -0
  98. package/dist/annotations/freeze/vector.js.map +7 -0
  99. package/dist/annotations/geometry.js +81 -0
  100. package/dist/annotations/geometry.js.map +7 -0
  101. package/dist/annotations/index.js +125 -6
  102. package/dist/annotations/index.js.map +7 -1
  103. package/dist/annotations/merge.js +53 -0
  104. package/dist/annotations/merge.js.map +7 -0
  105. package/dist/{chunk-T3USOSVN.js → annotations/model.js} +23 -16
  106. package/dist/annotations/model.js.map +7 -0
  107. package/dist/annotations/overlay-geometry.js +41 -0
  108. package/dist/annotations/overlay-geometry.js.map +7 -0
  109. package/dist/annotations/redaction-log.js +33 -0
  110. package/dist/annotations/redaction-log.js.map +7 -0
  111. package/dist/annotations/selection-marks.js +122 -0
  112. package/dist/annotations/selection-marks.js.map +7 -0
  113. package/dist/annotations/state.js +140 -0
  114. package/dist/annotations/state.js.map +7 -0
  115. package/dist/annotations/store.js +49 -0
  116. package/dist/annotations/store.js.map +7 -0
  117. package/dist/annotations/useAnnotationLayer.js +306 -0
  118. package/dist/annotations/useAnnotationLayer.js.map +7 -0
  119. package/dist/annotations/useAnnotationShortcuts.js +31 -0
  120. package/dist/annotations/useAnnotationShortcuts.js.map +7 -0
  121. package/dist/annotations/useTextSelectionMarks.js +100 -0
  122. package/dist/annotations/useTextSelectionMarks.js.map +7 -0
  123. package/dist/artifacts/artifact-kind.js +19 -0
  124. package/dist/artifacts/artifact-kind.js.map +7 -0
  125. package/dist/artifacts/index.cjs +13 -13
  126. package/dist/artifacts/index.js +89 -571
  127. package/dist/artifacts/index.js.map +7 -1
  128. package/dist/{chunk-WUTL62MC.js → artifacts/normalize-markdown.js} +12 -14
  129. package/dist/artifacts/normalize-markdown.js.map +7 -0
  130. package/dist/artifacts/redline-core.js +12 -3
  131. package/dist/artifacts/redline-core.js.map +7 -1
  132. package/dist/{chunk-74N436VK.js → artifacts/redline-diff.js} +10 -9
  133. package/dist/artifacts/redline-diff.js.map +7 -0
  134. package/dist/artifacts/redline-engine.js +14 -0
  135. package/dist/artifacts/redline-engine.js.map +7 -0
  136. package/dist/artifacts/renderArtifactMarkdown.js +9 -0
  137. package/dist/artifacts/renderArtifactMarkdown.js.map +7 -0
  138. package/dist/artifacts/useArtifactEditSession.js +183 -0
  139. package/dist/artifacts/useArtifactEditSession.js.map +7 -0
  140. package/dist/artifacts/useArtifactSession.js +173 -0
  141. package/dist/artifacts/useArtifactSession.js.map +7 -0
  142. package/dist/artifacts/useArtifactSource.js +16 -0
  143. package/dist/artifacts/useArtifactSource.js.map +7 -0
  144. package/dist/artifacts/useArtifactText.js +78 -0
  145. package/dist/artifacts/useArtifactText.js.map +7 -0
  146. package/dist/artifacts/useRedline.js +65 -0
  147. package/dist/artifacts/useRedline.js.map +7 -0
  148. package/dist/artifacts/useStreamedArtifact.js +74 -0
  149. package/dist/artifacts/useStreamedArtifact.js.map +7 -0
  150. package/dist/artifacts/versions.js +68 -0
  151. package/dist/artifacts/versions.js.map +7 -0
  152. package/dist/billing.js +200 -0
  153. package/dist/billing.js.map +7 -0
  154. package/dist/boot-timeout.js +19 -0
  155. package/dist/boot-timeout.js.map +7 -0
  156. package/dist/calendar/accounts.js +213 -0
  157. package/dist/calendar/accounts.js.map +7 -0
  158. package/dist/calendar/hooks.js +409 -0
  159. package/dist/calendar/hooks.js.map +7 -0
  160. package/dist/calendar/index.js +31 -0
  161. package/dist/calendar/index.js.map +7 -0
  162. package/dist/calendar/keys.js +5 -0
  163. package/dist/calendar/keys.js.map +7 -0
  164. package/dist/calendar/offline/outbox.js +231 -0
  165. package/dist/calendar/offline/outbox.js.map +7 -0
  166. package/dist/calendar/offline/runtime.js +109 -0
  167. package/dist/calendar/offline/runtime.js.map +7 -0
  168. package/dist/calendar/offline/support.js +41 -0
  169. package/dist/calendar/offline/support.js.map +7 -0
  170. package/dist/calendar/support.js +34 -0
  171. package/dist/calendar/support.js.map +7 -0
  172. package/dist/calls/actions.js +226 -0
  173. package/dist/calls/actions.js.map +7 -0
  174. package/dist/calls/events.js +138 -0
  175. package/dist/calls/events.js.map +7 -0
  176. package/dist/calls/gate.js +19 -0
  177. package/dist/calls/gate.js.map +7 -0
  178. package/dist/calls/hooks.js +115 -0
  179. package/dist/calls/hooks.js.map +7 -0
  180. package/dist/calls/in-call-chat.js +132 -0
  181. package/dist/calls/in-call-chat.js.map +7 -0
  182. package/dist/calls/index.js +24 -0
  183. package/dist/calls/index.js.map +7 -0
  184. package/dist/calls/keys.js +17 -0
  185. package/dist/calls/keys.js.map +7 -0
  186. package/dist/calls/livekit/index.cjs +48 -48
  187. package/dist/calls/livekit/index.js +6 -958
  188. package/dist/calls/livekit/index.js.map +7 -1
  189. package/dist/calls/livekit/room.js +98 -0
  190. package/dist/calls/livekit/room.js.map +7 -0
  191. package/dist/calls/livekit/useCallRecorder.js +219 -0
  192. package/dist/calls/livekit/useCallRecorder.js.map +7 -0
  193. package/dist/calls/livekit/useCallTranscriber.js +309 -0
  194. package/dist/calls/livekit/useCallTranscriber.js.map +7 -0
  195. package/dist/calls/livekit/useHostMuteNotice.js +29 -0
  196. package/dist/calls/livekit/useHostMuteNotice.js.map +7 -0
  197. package/dist/calls/livekit/useInCallChat.js +161 -0
  198. package/dist/calls/livekit/useInCallChat.js.map +7 -0
  199. package/dist/calls/livekit/useWebinar.js +239 -0
  200. package/dist/calls/livekit/useWebinar.js.map +7 -0
  201. package/dist/calls/meeting-chat.js +149 -0
  202. package/dist/calls/meeting-chat.js.map +7 -0
  203. package/dist/calls/moderation.js +50 -0
  204. package/dist/calls/moderation.js.map +7 -0
  205. package/dist/calls/open-meeting-chat.js +29 -0
  206. package/dist/calls/open-meeting-chat.js.map +7 -0
  207. package/dist/calls/read-only.js +24 -0
  208. package/dist/calls/read-only.js.map +7 -0
  209. package/dist/calls/recording-media.js +218 -0
  210. package/dist/calls/recording-media.js.map +7 -0
  211. package/dist/calls/recording-playback.js +260 -0
  212. package/dist/calls/recording-playback.js.map +7 -0
  213. package/dist/calls/recording.js +268 -0
  214. package/dist/calls/recording.js.map +7 -0
  215. package/dist/calls/save-to-thread.js +80 -0
  216. package/dist/calls/save-to-thread.js.map +7 -0
  217. package/dist/calls/session.js +134 -0
  218. package/dist/calls/session.js.map +7 -0
  219. package/dist/calls/transcript-format.js +147 -0
  220. package/dist/calls/transcript-format.js.map +7 -0
  221. package/dist/calls/transcription.js +101 -0
  222. package/dist/calls/transcription.js.map +7 -0
  223. package/dist/calls/webinar.js +71 -0
  224. package/dist/calls/webinar.js.map +7 -0
  225. package/dist/charge-watch.js +71 -0
  226. package/dist/charge-watch.js.map +7 -0
  227. package/dist/chat/ChatBubble.js +146 -0
  228. package/dist/chat/ChatBubble.js.map +7 -0
  229. package/dist/chat/ConversationScope.js +30 -0
  230. package/dist/chat/ConversationScope.js.map +7 -0
  231. package/dist/chat/active-config.js +20 -0
  232. package/dist/chat/active-config.js.map +7 -0
  233. package/dist/chat/agent-chat-owner.js +25 -0
  234. package/dist/chat/agent-chat-owner.js.map +7 -0
  235. package/dist/chat/chat-artifacts.js +64 -0
  236. package/dist/chat/chat-artifacts.js.map +7 -0
  237. package/dist/chat/citations.js +32 -0
  238. package/dist/chat/citations.js.map +7 -0
  239. package/dist/chat/config-model.js +10 -0
  240. package/dist/chat/config-model.js.map +7 -0
  241. package/dist/chat/conversation-cache.js +676 -0
  242. package/dist/chat/conversation-cache.js.map +7 -0
  243. package/dist/chat/conversation-events.js +57 -0
  244. package/dist/chat/conversation-events.js.map +7 -0
  245. package/dist/chat/conversation-mentions.js +58 -0
  246. package/dist/chat/conversation-mentions.js.map +7 -0
  247. package/dist/chat/conversation-workspace.js +58 -0
  248. package/dist/chat/conversation-workspace.js.map +7 -0
  249. package/dist/chat/mentions.js +116 -0
  250. package/dist/chat/mentions.js.map +7 -0
  251. package/dist/chat/open-document.js +106 -0
  252. package/dist/chat/open-document.js.map +7 -0
  253. package/dist/chat/orphaned.js +44 -0
  254. package/dist/chat/orphaned.js.map +7 -0
  255. package/dist/chat/pendingFirstTurn.js +30 -0
  256. package/dist/chat/pendingFirstTurn.js.map +7 -0
  257. package/dist/chat/reply-target.js +12 -0
  258. package/dist/chat/reply-target.js.map +7 -0
  259. package/dist/chat/run-finished.js +28 -0
  260. package/dist/chat/run-finished.js.map +7 -0
  261. package/dist/chat/run-state.js +91 -0
  262. package/dist/chat/run-state.js.map +7 -0
  263. package/dist/chat/stream-handlers.js +419 -0
  264. package/dist/chat/stream-handlers.js.map +7 -0
  265. package/dist/chat/thread-binding.js +76 -0
  266. package/dist/chat/thread-binding.js.map +7 -0
  267. package/dist/chat/thread-document.js +53 -0
  268. package/dist/chat/thread-document.js.map +7 -0
  269. package/dist/chat/turn-control.js +79 -0
  270. package/dist/chat/turn-control.js.map +7 -0
  271. package/dist/chat/useAgentRunControl.js +36 -0
  272. package/dist/chat/useAgentRunControl.js.map +7 -0
  273. package/dist/chat/useAnswerAgentQuestion.js +19 -0
  274. package/dist/chat/useAnswerAgentQuestion.js.map +7 -0
  275. package/dist/chat/useAskAgain.js +32 -0
  276. package/dist/chat/useAskAgain.js.map +7 -0
  277. package/dist/chat/useAutoSendDraft.js +17 -0
  278. package/dist/chat/useAutoSendDraft.js.map +7 -0
  279. package/dist/chat/useBranchNavigation.js +97 -0
  280. package/dist/chat/useBranchNavigation.js.map +7 -0
  281. package/dist/chat/useConnectRunStream.js +169 -0
  282. package/dist/chat/useConnectRunStream.js.map +7 -0
  283. package/dist/chat/useConversation.js +431 -0
  284. package/dist/chat/useConversation.js.map +7 -0
  285. package/dist/chat/useConversationActions.js +662 -0
  286. package/dist/chat/useConversationActions.js.map +7 -0
  287. package/dist/chat/useConversationData.js +143 -0
  288. package/dist/chat/useConversationData.js.map +7 -0
  289. package/dist/chat/useConversationDocuments.js +41 -0
  290. package/dist/chat/useConversationDocuments.js.map +7 -0
  291. package/dist/chat/useConversationSettings.js +78 -0
  292. package/dist/chat/useConversationSettings.js.map +7 -0
  293. package/dist/chat/useConversationTurn.js +31 -0
  294. package/dist/chat/useConversationTurn.js.map +7 -0
  295. package/dist/chat/useConversationWorkspace.js +12 -0
  296. package/dist/chat/useConversationWorkspace.js.map +7 -0
  297. package/dist/chat/useDeleteMessage.js +15 -0
  298. package/dist/chat/useDeleteMessage.js.map +7 -0
  299. package/dist/chat/useDocumentAutoAdd.js +73 -0
  300. package/dist/chat/useDocumentAutoAdd.js.map +7 -0
  301. package/dist/chat/useMessageTimer.js +39 -0
  302. package/dist/chat/useMessageTimer.js.map +7 -0
  303. package/dist/chat/useThinkingContent.js +67 -0
  304. package/dist/chat/useThinkingContent.js.map +7 -0
  305. package/dist/chat/useThreadDocument.js +61 -0
  306. package/dist/chat/useThreadDocument.js.map +7 -0
  307. package/dist/chat/workflow-run-titles.js +50 -0
  308. package/dist/chat/workflow-run-titles.js.map +7 -0
  309. package/dist/{chunk-W2FATOTX.cjs → chunk-3JAEX57E.cjs} +4 -4
  310. package/dist/{chunk-W2FATOTX.cjs.map → chunk-3JAEX57E.cjs.map} +1 -1
  311. package/dist/{chunk-HD5H2PPP.cjs → chunk-5TRUFWKT.cjs} +66 -66
  312. package/dist/{chunk-HD5H2PPP.cjs.map → chunk-5TRUFWKT.cjs.map} +1 -1
  313. package/dist/{chunk-Z3W4XFWB.cjs → chunk-C72FSQUE.cjs} +3 -3
  314. package/dist/{chunk-Z3W4XFWB.cjs.map → chunk-C72FSQUE.cjs.map} +1 -1
  315. package/dist/{chunk-LBAG7KL7.cjs → chunk-FQVNZCTD.cjs} +3 -3
  316. package/dist/{chunk-LBAG7KL7.cjs.map → chunk-FQVNZCTD.cjs.map} +1 -1
  317. package/dist/{chunk-RVUGSM65.cjs → chunk-GKGAPU6T.cjs} +44 -44
  318. package/dist/{chunk-RVUGSM65.cjs.map → chunk-GKGAPU6T.cjs.map} +1 -1
  319. package/dist/{chunk-7LIMHY56.cjs → chunk-O32T7XRD.cjs} +3 -3
  320. package/dist/{chunk-7LIMHY56.cjs.map → chunk-O32T7XRD.cjs.map} +1 -1
  321. package/dist/chunk-PWGSIM3F.cjs +291 -0
  322. package/dist/chunk-PWGSIM3F.cjs.map +1 -0
  323. package/dist/chunk-QP3WQSAA.cjs +23 -0
  324. package/dist/chunk-QP3WQSAA.cjs.map +1 -0
  325. package/dist/chunk-T5FZICXN.cjs +50 -0
  326. package/dist/chunk-T5FZICXN.cjs.map +1 -0
  327. package/dist/{chunk-QF2BW6HZ.cjs → chunk-UDDJIUHJ.cjs} +38 -38
  328. package/dist/{chunk-QF2BW6HZ.cjs.map → chunk-UDDJIUHJ.cjs.map} +1 -1
  329. package/dist/{chunk-5HDKL6XB.cjs → chunk-YMB6XUR2.cjs} +57 -57
  330. package/dist/{chunk-5HDKL6XB.cjs.map → chunk-YMB6XUR2.cjs.map} +1 -1
  331. package/dist/config/config-hooks.js +209 -0
  332. package/dist/config/config-hooks.js.map +7 -0
  333. package/dist/connectivity.js +72 -0
  334. package/dist/connectivity.js.map +7 -0
  335. package/dist/connectors/hooks.js +263 -0
  336. package/dist/connectors/hooks.js.map +7 -0
  337. package/dist/connectors/index.js +28 -0
  338. package/dist/connectors/index.js.map +7 -0
  339. package/dist/contacts.js +100 -0
  340. package/dist/contacts.js.map +7 -0
  341. package/dist/conversation-list.js +65 -0
  342. package/dist/conversation-list.js.map +7 -0
  343. package/dist/databases.js +195 -0
  344. package/dist/databases.js.map +7 -0
  345. package/dist/datasets/aggregate.js +281 -0
  346. package/dist/datasets/aggregate.js.map +7 -0
  347. package/dist/datasets/index.js +122 -0
  348. package/dist/datasets/index.js.map +7 -0
  349. package/dist/datasets/members.js +27 -0
  350. package/dist/datasets/members.js.map +7 -0
  351. package/dist/datasets/panel.js +44 -0
  352. package/dist/datasets/panel.js.map +7 -0
  353. package/dist/datasets/registry.js +47 -0
  354. package/dist/datasets/registry.js.map +7 -0
  355. package/dist/datasets/rows-source.js +44 -0
  356. package/dist/datasets/rows-source.js.map +7 -0
  357. package/dist/datasets/sources/activity.js +83 -0
  358. package/dist/datasets/sources/activity.js.map +7 -0
  359. package/dist/datasets/sources/conversations.js +74 -0
  360. package/dist/datasets/sources/conversations.js.map +7 -0
  361. package/dist/datasets/sources/database.js +209 -0
  362. package/dist/datasets/sources/database.js.map +7 -0
  363. package/dist/datasets/sources/documents.js +93 -0
  364. package/dist/datasets/sources/documents.js.map +7 -0
  365. package/dist/datasets/sources/facts.js +56 -0
  366. package/dist/datasets/sources/facts.js.map +7 -0
  367. package/dist/datasets/sources/projects.js +117 -0
  368. package/dist/datasets/sources/projects.js.map +7 -0
  369. package/dist/datasets/sources/tags.js +67 -0
  370. package/dist/datasets/sources/tags.js.map +7 -0
  371. package/dist/datasets/sources/usage.js +268 -0
  372. package/dist/datasets/sources/usage.js.map +7 -0
  373. package/dist/datasets/sources/workflows.js +91 -0
  374. package/dist/datasets/sources/workflows.js.map +7 -0
  375. package/dist/datasets/sources/workspaces.js +67 -0
  376. package/dist/datasets/sources/workspaces.js.map +7 -0
  377. package/dist/datasets/store.js +194 -0
  378. package/dist/datasets/store.js.map +7 -0
  379. package/dist/datasets/types.js +14 -0
  380. package/dist/datasets/types.js.map +7 -0
  381. package/dist/directmessages/ConversationList.js +148 -0
  382. package/dist/directmessages/ConversationList.js.map +7 -0
  383. package/dist/directmessages/DateSeparator.js +8 -0
  384. package/dist/directmessages/DateSeparator.js.map +7 -0
  385. package/dist/directmessages/DmAvatar.js +29 -0
  386. package/dist/directmessages/DmAvatar.js.map +7 -0
  387. package/dist/directmessages/DmComposer.js +201 -0
  388. package/dist/directmessages/DmComposer.js.map +7 -0
  389. package/dist/directmessages/arrivals.js +29 -0
  390. package/dist/directmessages/arrivals.js.map +7 -0
  391. package/dist/directmessages/chat-cache.js +192 -0
  392. package/dist/directmessages/chat-cache.js.map +7 -0
  393. package/dist/directmessages/grouping.js +26 -0
  394. package/dist/directmessages/grouping.js.map +7 -0
  395. package/dist/directmessages/index.js +81 -0
  396. package/dist/directmessages/index.js.map +7 -0
  397. package/dist/directmessages/useChats.js +266 -0
  398. package/dist/directmessages/useChats.js.map +7 -0
  399. package/dist/directmessages/utils.js +23 -0
  400. package/dist/directmessages/utils.js.map +7 -0
  401. package/dist/document-tools/can-annotate.js +7 -0
  402. package/dist/document-tools/can-annotate.js.map +7 -0
  403. package/dist/document-tools/core.cjs +99 -99
  404. package/dist/document-tools/core.d.ts +2 -2
  405. package/dist/document-tools/core.js +218 -12
  406. package/dist/document-tools/core.js.map +7 -1
  407. package/dist/document-tools/document-pdf.js +76 -0
  408. package/dist/document-tools/document-pdf.js.map +7 -0
  409. package/dist/document-tools/environment.js +136 -0
  410. package/dist/document-tools/environment.js.map +7 -0
  411. package/dist/document-tools/file-shares.js +112 -0
  412. package/dist/document-tools/file-shares.js.map +7 -0
  413. package/dist/document-tools/frozen-copy.js +27 -0
  414. package/dist/document-tools/frozen-copy.js.map +7 -0
  415. package/dist/document-tools/index.cjs +101 -101
  416. package/dist/document-tools/index.d.ts +1 -1
  417. package/dist/document-tools/index.js +26 -148
  418. package/dist/document-tools/index.js.map +7 -1
  419. package/dist/document-tools/markup-download.js +51 -0
  420. package/dist/document-tools/markup-download.js.map +7 -0
  421. package/dist/document-tools/markup-store.js +138 -0
  422. package/dist/document-tools/markup-store.js.map +7 -0
  423. package/dist/document-tools/markup-transfer.js +88 -0
  424. package/dist/document-tools/markup-transfer.js.map +7 -0
  425. package/dist/document-tools/production.js +147 -0
  426. package/dist/document-tools/production.js.map +7 -0
  427. package/dist/document-tools/saved-signature.js +90 -0
  428. package/dist/document-tools/saved-signature.js.map +7 -0
  429. package/dist/document-tools/signature-requests.js +310 -0
  430. package/dist/document-tools/signature-requests.js.map +7 -0
  431. package/dist/document-tools/signing.js +127 -0
  432. package/dist/document-tools/signing.js.map +7 -0
  433. package/dist/document-tools/useDocumentBytes.js +38 -0
  434. package/dist/document-tools/useDocumentBytes.js.map +7 -0
  435. package/dist/document-tools/useDocumentMarkup.js +154 -0
  436. package/dist/document-tools/useDocumentMarkup.js.map +7 -0
  437. package/dist/document-tools/useIsOnline.js +13 -0
  438. package/dist/document-tools/useIsOnline.js.map +7 -0
  439. package/dist/document-tools/verification.js +60 -0
  440. package/dist/document-tools/verification.js.map +7 -0
  441. package/dist/documents/DocumentReview.js +220 -0
  442. package/dist/documents/DocumentReview.js.map +7 -0
  443. package/dist/documents/DraftTitleControls.js +41 -0
  444. package/dist/documents/DraftTitleControls.js.map +7 -0
  445. package/dist/documents/InlineMicButton.js +90 -0
  446. package/dist/documents/InlineMicButton.js.map +7 -0
  447. package/dist/documents/MicRecordingOverlay.js +29 -0
  448. package/dist/documents/MicRecordingOverlay.js.map +7 -0
  449. package/dist/documents/MicWaveformIndicator.js +68 -0
  450. package/dist/documents/MicWaveformIndicator.js.map +7 -0
  451. package/dist/documents/PhotoCapture.js +120 -0
  452. package/dist/documents/PhotoCapture.js.map +7 -0
  453. package/dist/documents/VideoCapture.js +129 -0
  454. package/dist/documents/VideoCapture.js.map +7 -0
  455. package/dist/documents/VoiceNoteRecorder.js +166 -0
  456. package/dist/documents/VoiceNoteRecorder.js.map +7 -0
  457. package/dist/documents/audio-segmenter.js +63 -0
  458. package/dist/documents/audio-segmenter.js.map +7 -0
  459. package/dist/documents/capture-frame.js +21 -0
  460. package/dist/documents/capture-frame.js.map +7 -0
  461. package/dist/documents/chunked-recorder.js +190 -0
  462. package/dist/documents/chunked-recorder.js.map +7 -0
  463. package/dist/documents/document-download.js +53 -0
  464. package/dist/documents/document-download.js.map +7 -0
  465. package/dist/documents/document-fields.js +109 -0
  466. package/dist/documents/document-fields.js.map +7 -0
  467. package/dist/documents/documents-cache.js +110 -0
  468. package/dist/documents/documents-cache.js.map +7 -0
  469. package/dist/documents/documents-data.js +128 -0
  470. package/dist/documents/documents-data.js.map +7 -0
  471. package/dist/documents/documents-loader.js +113 -0
  472. package/dist/documents/documents-loader.js.map +7 -0
  473. package/dist/documents/documents-writes.js +448 -0
  474. package/dist/documents/documents-writes.js.map +7 -0
  475. package/dist/documents/format-elapsed.js +10 -0
  476. package/dist/documents/format-elapsed.js.map +7 -0
  477. package/dist/documents/has-video-track.js +26 -0
  478. package/dist/documents/has-video-track.js.map +7 -0
  479. package/dist/documents/index.js +266 -0
  480. package/dist/documents/index.js.map +7 -0
  481. package/dist/documents/media-error.js +18 -0
  482. package/dist/documents/media-error.js.map +7 -0
  483. package/dist/documents/offline-documents.js +160 -0
  484. package/dist/documents/offline-documents.js.map +7 -0
  485. package/dist/documents/pending-sync.js +210 -0
  486. package/dist/documents/pending-sync.js.map +7 -0
  487. package/dist/documents/processing-live.js +122 -0
  488. package/dist/documents/processing-live.js.map +7 -0
  489. package/dist/documents/processing-order.js +59 -0
  490. package/dist/documents/processing-order.js.map +7 -0
  491. package/dist/documents/processing-settle.js +21 -0
  492. package/dist/documents/processing-settle.js.map +7 -0
  493. package/dist/documents/related-documents.js +133 -0
  494. package/dist/documents/related-documents.js.map +7 -0
  495. package/dist/documents/support.js +29 -0
  496. package/dist/documents/support.js.map +7 -0
  497. package/dist/documents/upload-files.js +169 -0
  498. package/dist/documents/upload-files.js.map +7 -0
  499. package/dist/documents/useAudioRecorder.js +315 -0
  500. package/dist/documents/useAudioRecorder.js.map +7 -0
  501. package/dist/documents/useCameraStream.js +35 -0
  502. package/dist/documents/useCameraStream.js.map +7 -0
  503. package/dist/documents/useDocumentThumbnails.js +71 -0
  504. package/dist/documents/useDocumentThumbnails.js.map +7 -0
  505. package/dist/documents/useDownloadDocuments.js +90 -0
  506. package/dist/documents/useDownloadDocuments.js.map +7 -0
  507. package/dist/documents/usePassageQuotes.js +37 -0
  508. package/dist/documents/usePassageQuotes.js.map +7 -0
  509. package/dist/documents/useUploadFiles.js +165 -0
  510. package/dist/documents/useUploadFiles.js.map +7 -0
  511. package/dist/documents/useUploadFromUrls.js +63 -0
  512. package/dist/documents/useUploadFromUrls.js.map +7 -0
  513. package/dist/documents/useVideoRecorder.js +62 -0
  514. package/dist/documents/useVideoRecorder.js.map +7 -0
  515. package/dist/entities/AgentMarkers.js +61 -0
  516. package/dist/entities/AgentMarkers.js.map +7 -0
  517. package/dist/entities/DocumentEntity.js +125 -0
  518. package/dist/entities/DocumentEntity.js.map +7 -0
  519. package/dist/entities/EntityPill.js +250 -0
  520. package/dist/entities/EntityPill.js.map +7 -0
  521. package/dist/entities/ProjectEntity.js +61 -0
  522. package/dist/entities/ProjectEntity.js.map +7 -0
  523. package/dist/entities/ShieldIcon.js +49 -0
  524. package/dist/entities/ShieldIcon.js.map +7 -0
  525. package/dist/entities/TagEntity.js +79 -0
  526. package/dist/entities/TagEntity.js.map +7 -0
  527. package/dist/entities/ThreadVisibilityIcon.js +15 -0
  528. package/dist/entities/ThreadVisibilityIcon.js.map +7 -0
  529. package/dist/entities/UserEntity.js +211 -0
  530. package/dist/entities/UserEntity.js.map +7 -0
  531. package/dist/entities/VerifiedBadge.js +19 -0
  532. package/dist/entities/VerifiedBadge.js.map +7 -0
  533. package/dist/entities/agent-avatar-colors.js +26 -0
  534. package/dist/entities/agent-avatar-colors.js.map +7 -0
  535. package/dist/entities/colors.js +64 -0
  536. package/dist/entities/colors.js.map +7 -0
  537. package/dist/entities/file-type.js +151 -0
  538. package/dist/entities/file-type.js.map +7 -0
  539. package/dist/entities/index.js +100 -0
  540. package/dist/entities/index.js.map +7 -0
  541. package/dist/entities/media-type.js +61 -0
  542. package/dist/entities/media-type.js.map +7 -0
  543. package/dist/entities/registry.js +385 -0
  544. package/dist/entities/registry.js.map +7 -0
  545. package/dist/entities/status.js +43 -0
  546. package/dist/entities/status.js.map +7 -0
  547. package/dist/entities/tag-kinds.js +23 -0
  548. package/dist/entities/tag-kinds.js.map +7 -0
  549. package/dist/entities/tag-types.js +44 -0
  550. package/dist/entities/tag-types.js.map +7 -0
  551. package/dist/entities/vocabulary.js +12 -0
  552. package/dist/entities/vocabulary.js.map +7 -0
  553. package/dist/entity-extraction.js +25 -0
  554. package/dist/entity-extraction.js.map +7 -0
  555. package/dist/facts-search.js +57 -0
  556. package/dist/facts-search.js.map +7 -0
  557. package/dist/facts.js +69 -0
  558. package/dist/facts.js.map +7 -0
  559. package/dist/hooks.js +320 -0
  560. package/dist/hooks.js.map +7 -0
  561. package/dist/host/ArbiHost.js +24 -0
  562. package/dist/host/ArbiHost.js.map +7 -0
  563. package/dist/host/assistant-copy.js +54 -0
  564. package/dist/host/assistant-copy.js.map +7 -0
  565. package/dist/host/config.js +9 -0
  566. package/dist/host/config.js.map +7 -0
  567. package/dist/host/context.js +10 -0
  568. package/dist/host/context.js.map +7 -0
  569. package/dist/host/features.js +144 -0
  570. package/dist/host/features.js.map +7 -0
  571. package/dist/host/index.js +12 -0
  572. package/dist/host/index.js.map +7 -0
  573. package/dist/{chunk-DPYBZDJB.js → host/merge.js} +7 -7
  574. package/dist/host/merge.js.map +7 -0
  575. package/dist/house-template.js +40 -0
  576. package/dist/house-template.js.map +7 -0
  577. package/dist/icons/AppleIcon.js +25 -0
  578. package/dist/icons/AppleIcon.js.map +7 -0
  579. package/dist/icons/ArbiBotHeadIcon.js +46 -0
  580. package/dist/icons/ArbiBotHeadIcon.js.map +7 -0
  581. package/dist/icons/ArbiIcon.js +24 -0
  582. package/dist/icons/ArbiIcon.js.map +7 -0
  583. package/dist/icons/AudIcon.js +56 -0
  584. package/dist/icons/AudIcon.js.map +7 -0
  585. package/dist/icons/ClaudeIcon.js +28 -0
  586. package/dist/icons/ClaudeIcon.js.map +7 -0
  587. package/dist/icons/DocIcon.js +56 -0
  588. package/dist/icons/DocIcon.js.map +7 -0
  589. package/dist/icons/EmlIcon.js +57 -0
  590. package/dist/icons/EmlIcon.js.map +7 -0
  591. package/dist/icons/FireworksIcon.js +47 -0
  592. package/dist/icons/FireworksIcon.js.map +7 -0
  593. package/dist/icons/GeminiIcon.js +37 -0
  594. package/dist/icons/GeminiIcon.js.map +7 -0
  595. package/dist/icons/GitHubIcon.js +32 -0
  596. package/dist/icons/GitHubIcon.js.map +7 -0
  597. package/dist/icons/GoogleIcon.js +53 -0
  598. package/dist/icons/GoogleIcon.js.map +7 -0
  599. package/dist/icons/HtmlIcon.js +56 -0
  600. package/dist/icons/HtmlIcon.js.map +7 -0
  601. package/dist/icons/ImgIcon.js +56 -0
  602. package/dist/icons/ImgIcon.js.map +7 -0
  603. package/dist/icons/LinkedInIcon.js +25 -0
  604. package/dist/icons/LinkedInIcon.js.map +7 -0
  605. package/dist/icons/OpenAIIcon.js +28 -0
  606. package/dist/icons/OpenAIIcon.js.map +7 -0
  607. package/dist/icons/PdfIcon.js +56 -0
  608. package/dist/icons/PdfIcon.js.map +7 -0
  609. package/dist/icons/ProviderIcon.js +42 -0
  610. package/dist/icons/ProviderIcon.js.map +7 -0
  611. package/dist/icons/TxtIcon.js +56 -0
  612. package/dist/icons/TxtIcon.js.map +7 -0
  613. package/dist/icons/VidIcon.js +56 -0
  614. package/dist/icons/VidIcon.js.map +7 -0
  615. package/dist/icons/XlsIcon.js +56 -0
  616. package/dist/icons/XlsIcon.js.map +7 -0
  617. package/dist/icons/arbi-mark.js +5 -0
  618. package/dist/icons/arbi-mark.js.map +7 -0
  619. package/dist/icons/colors.js +31 -0
  620. package/dist/icons/colors.js.map +7 -0
  621. package/dist/icons/file-type.js +105 -0
  622. package/dist/icons/file-type.js.map +7 -0
  623. package/dist/icons/index.js +55 -0
  624. package/dist/icons/index.js.map +7 -0
  625. package/dist/imagecrop/ImageCropModal.js +56 -0
  626. package/dist/imagecrop/ImageCropModal.js.map +7 -0
  627. package/dist/imagecrop/ImageCropper.js +100 -0
  628. package/dist/imagecrop/ImageCropper.js.map +7 -0
  629. package/dist/imagecrop/cropImage.js +43 -0
  630. package/dist/imagecrop/cropImage.js.map +7 -0
  631. package/dist/imagecrop/index.js +13 -0
  632. package/dist/imagecrop/index.js.map +7 -0
  633. package/dist/index.cjs +1689 -1619
  634. package/dist/index.cjs.map +1 -1
  635. package/dist/{index.d-BMhTH98a.d.ts → index.d-CYXcTKYt.d.ts} +1 -0
  636. package/dist/index.d.ts +38 -8
  637. package/dist/index.js +702 -17060
  638. package/dist/index.js.map +7 -1
  639. package/dist/lazy-chunk.d-B6YDLMKI.d.ts +31 -0
  640. package/dist/lazy-chunk.js +46 -0
  641. package/dist/lazy-chunk.js.map +7 -0
  642. package/dist/lib/collision-padding.js +13 -0
  643. package/dist/lib/collision-padding.js.map +7 -0
  644. package/dist/lib/format-friendly-date.js +55 -0
  645. package/dist/lib/format-friendly-date.js.map +7 -0
  646. package/dist/lib/format-relative-time.js +52 -0
  647. package/dist/lib/format-relative-time.js.map +7 -0
  648. package/dist/lib/markdown-to-text.js +35 -0
  649. package/dist/lib/markdown-to-text.js.map +7 -0
  650. package/dist/lib/toast-interaction.js +9 -0
  651. package/dist/lib/toast-interaction.js.map +7 -0
  652. package/dist/lib/utils.js +9 -0
  653. package/dist/lib/utils.js.map +7 -0
  654. package/dist/mail/client.js +103 -0
  655. package/dist/mail/client.js.map +7 -0
  656. package/dist/mail/document-attachment.js +38 -0
  657. package/dist/mail/document-attachment.js.map +7 -0
  658. package/dist/mail/filing.js +132 -0
  659. package/dist/mail/filing.js.map +7 -0
  660. package/dist/mail/hooks.js +393 -0
  661. package/dist/mail/hooks.js.map +7 -0
  662. package/dist/mail/index.js +120 -0
  663. package/dist/mail/index.js.map +7 -0
  664. package/dist/mail/offline/changes.js +258 -0
  665. package/dist/mail/offline/changes.js.map +7 -0
  666. package/dist/mail/offline/confirm-sign-out.js +37 -0
  667. package/dist/mail/offline/confirm-sign-out.js.map +7 -0
  668. package/dist/mail/offline/crypto.js +26 -0
  669. package/dist/mail/offline/crypto.js.map +7 -0
  670. package/dist/mail/offline/drafts.js +69 -0
  671. package/dist/mail/offline/drafts.js.map +7 -0
  672. package/dist/mail/offline/hooks.js +104 -0
  673. package/dist/mail/offline/hooks.js.map +7 -0
  674. package/dist/mail/offline/index.js +48 -0
  675. package/dist/mail/offline/index.js.map +7 -0
  676. package/dist/mail/offline/live.js +233 -0
  677. package/dist/mail/offline/live.js.map +7 -0
  678. package/dist/mail/offline/mailbox.js +191 -0
  679. package/dist/mail/offline/mailbox.js.map +7 -0
  680. package/dist/mail/offline/outbox.js +167 -0
  681. package/dist/mail/offline/outbox.js.map +7 -0
  682. package/dist/mail/offline/reads.js +159 -0
  683. package/dist/mail/offline/reads.js.map +7 -0
  684. package/dist/mail/offline/runtime.js +100 -0
  685. package/dist/mail/offline/runtime.js.map +7 -0
  686. package/dist/mail/offline/settings.js +84 -0
  687. package/dist/mail/offline/settings.js.map +7 -0
  688. package/dist/mail/offline/store.js +29 -0
  689. package/dist/mail/offline/store.js.map +7 -0
  690. package/dist/mail/offline/sync.js +251 -0
  691. package/dist/mail/offline/sync.js.map +7 -0
  692. package/dist/mail/offline/wipe.js +19 -0
  693. package/dist/mail/offline/wipe.js.map +7 -0
  694. package/dist/mail/thread-keys.js +53 -0
  695. package/dist/mail/thread-keys.js.map +7 -0
  696. package/dist/mail/threads.js +71 -0
  697. package/dist/mail/threads.js.map +7 -0
  698. package/dist/mail/useMailClient.js +42 -0
  699. package/dist/mail/useMailClient.js.map +7 -0
  700. package/dist/model-connections.js +58 -0
  701. package/dist/model-connections.js.map +7 -0
  702. package/dist/notifications/ActivityFeed.js +70 -0
  703. package/dist/notifications/ActivityFeed.js.map +7 -0
  704. package/dist/notifications/NotificationBell.js +200 -0
  705. package/dist/notifications/NotificationBell.js.map +7 -0
  706. package/dist/notifications/Toaster.js +24 -0
  707. package/dist/notifications/Toaster.js.map +7 -0
  708. package/dist/notifications/activity-types.js +65 -0
  709. package/dist/notifications/activity-types.js.map +7 -0
  710. package/dist/notifications/bell.js +24 -0
  711. package/dist/notifications/bell.js.map +7 -0
  712. package/dist/notifications/calendar-notifications.js +79 -0
  713. package/dist/notifications/calendar-notifications.js.map +7 -0
  714. package/dist/notifications/index.js +108 -0
  715. package/dist/notifications/index.js.map +7 -0
  716. package/dist/notifications/live.js +28 -0
  717. package/dist/notifications/live.js.map +7 -0
  718. package/dist/notifications/notification-types.js +127 -0
  719. package/dist/notifications/notification-types.js.map +7 -0
  720. package/dist/{chunk-BF5KW5ZI.js → notifications/notify-store.js} +24 -74
  721. package/dist/notifications/notify-store.js.map +7 -0
  722. package/dist/notifications/server-notifications.js +452 -0
  723. package/dist/notifications/server-notifications.js.map +7 -0
  724. package/dist/notifications/useNotifications.js +34 -0
  725. package/dist/notifications/useNotifications.js.map +7 -0
  726. package/dist/offline-store/network.js +11 -0
  727. package/dist/offline-store/network.js.map +7 -0
  728. package/dist/offline-store/store.js +136 -0
  729. package/dist/offline-store/store.js.map +7 -0
  730. package/dist/offline-store/wipe.js +8 -0
  731. package/dist/offline-store/wipe.js.map +7 -0
  732. package/dist/offline.js +58 -0
  733. package/dist/offline.js.map +7 -0
  734. package/dist/people.js +122 -0
  735. package/dist/people.js.map +7 -0
  736. package/dist/projects.js +30 -0
  737. package/dist/projects.js.map +7 -0
  738. package/dist/query-client.js +63 -0
  739. package/dist/query-client.js.map +7 -0
  740. package/dist/{query-keys.d-ChgpJLPF.d.ts → query-keys.d-B1Am9tIF.d.ts} +1 -1
  741. package/dist/{chunk-6H3O63TQ.js → query-keys.js} +19 -32
  742. package/dist/query-keys.js.map +7 -0
  743. package/dist/query-persist.js +66 -0
  744. package/dist/query-persist.js.map +7 -0
  745. package/dist/queued-writes.js +59 -0
  746. package/dist/queued-writes.js.map +7 -0
  747. package/dist/remote-control.js +67 -0
  748. package/dist/remote-control.js.map +7 -0
  749. package/dist/search/index.js +23 -0
  750. package/dist/search/index.js.map +7 -0
  751. package/dist/search/session.js +58 -0
  752. package/dist/search/session.js.map +7 -0
  753. package/dist/search/useSemanticSearch.js +82 -0
  754. package/dist/search/useSemanticSearch.js.map +7 -0
  755. package/dist/session/chat.js +512 -0
  756. package/dist/session/chat.js.map +7 -0
  757. package/dist/session/documents.js +196 -0
  758. package/dist/session/documents.js.map +7 -0
  759. package/dist/session/drafts.js +103 -0
  760. package/dist/session/drafts.js.map +7 -0
  761. package/dist/session/index.js +123 -0
  762. package/dist/session/index.js.map +7 -0
  763. package/dist/session/layout.js +339 -0
  764. package/dist/session/layout.js.map +7 -0
  765. package/dist/session/persist.js +106 -0
  766. package/dist/session/persist.js.map +7 -0
  767. package/dist/session/session-hooks.js +53 -0
  768. package/dist/session/session-hooks.js.map +7 -0
  769. package/dist/session/signed-in.js +36 -0
  770. package/dist/session/signed-in.js.map +7 -0
  771. package/dist/session/store.js +166 -0
  772. package/dist/session/store.js.map +7 -0
  773. package/dist/session/thread-tabs.js +121 -0
  774. package/dist/session/thread-tabs.js.map +7 -0
  775. package/dist/session/ui-state-storage.js +76 -0
  776. package/dist/session/ui-state-storage.js.map +7 -0
  777. package/dist/session/workspace.js +77 -0
  778. package/dist/session/workspace.js.map +7 -0
  779. package/dist/shell/index.cjs +37 -37
  780. package/dist/shell/index.js +43 -10
  781. package/dist/shell/index.js.map +7 -1
  782. package/dist/skill-pack.js +111 -0
  783. package/dist/skill-pack.js.map +7 -0
  784. package/dist/storage.js +186 -0
  785. package/dist/storage.js.map +7 -0
  786. package/dist/support/index.js +35 -0
  787. package/dist/support/index.js.map +7 -0
  788. package/dist/tags.js +204 -0
  789. package/dist/tags.js.map +7 -0
  790. package/dist/ui/DebouncedInput.js +109 -0
  791. package/dist/ui/DebouncedInput.js.map +7 -0
  792. package/dist/ui/DictateContext.js +8 -0
  793. package/dist/ui/DictateContext.js.map +7 -0
  794. package/dist/ui/IconToggle.js +79 -0
  795. package/dist/ui/IconToggle.js.map +7 -0
  796. package/dist/ui/VerifiedToggle.js +38 -0
  797. package/dist/ui/VerifiedToggle.js.map +7 -0
  798. package/dist/ui/VisibilityToggle.js +103 -0
  799. package/dist/ui/VisibilityToggle.js.map +7 -0
  800. package/dist/ui/avatar.js +40 -0
  801. package/dist/ui/avatar.js.map +7 -0
  802. package/dist/ui/badge.js +28 -0
  803. package/dist/ui/badge.js.map +7 -0
  804. package/dist/ui/button.js +48 -0
  805. package/dist/ui/button.js.map +7 -0
  806. package/dist/ui/card.js +90 -0
  807. package/dist/ui/card.js.map +7 -0
  808. package/dist/ui/checkbox.js +22 -0
  809. package/dist/ui/checkbox.js.map +7 -0
  810. package/dist/ui/collapsible.js +10 -0
  811. package/dist/ui/collapsible.js.map +7 -0
  812. package/dist/ui/command.js +103 -0
  813. package/dist/ui/command.js.map +7 -0
  814. package/dist/{chunk-YNNAJJ5Z.js → ui/dialog.js} +30 -68
  815. package/dist/ui/dialog.js.map +7 -0
  816. package/dist/{chunk-47CCGUWR.js → ui/dropdown-menu.js} +40 -45
  817. package/dist/ui/dropdown-menu.js.map +7 -0
  818. package/dist/ui/hover-card.js +36 -0
  819. package/dist/ui/hover-card.js.map +7 -0
  820. package/dist/ui/index.cjs +167 -154
  821. package/dist/ui/index.d.ts +2 -1
  822. package/dist/ui/index.js +290 -9
  823. package/dist/ui/index.js.map +7 -1
  824. package/dist/ui/input.js +65 -0
  825. package/dist/ui/input.js.map +7 -0
  826. package/dist/ui/label.js +16 -0
  827. package/dist/ui/label.js.map +7 -0
  828. package/dist/ui/mark-menu.js +300 -0
  829. package/dist/ui/mark-menu.js.map +7 -0
  830. package/dist/ui/popover.js +40 -0
  831. package/dist/ui/popover.js.map +7 -0
  832. package/dist/ui/portal-container.js +17 -0
  833. package/dist/ui/portal-container.js.map +7 -0
  834. package/dist/ui/progress.js +24 -0
  835. package/dist/ui/progress.js.map +7 -0
  836. package/dist/ui/radio-group.js +29 -0
  837. package/dist/ui/radio-group.js.map +7 -0
  838. package/dist/ui/scroll-area.js +39 -0
  839. package/dist/ui/scroll-area.js.map +7 -0
  840. package/dist/ui/select.js +130 -0
  841. package/dist/ui/select.js.map +7 -0
  842. package/dist/ui/separator.js +23 -0
  843. package/dist/ui/separator.js.map +7 -0
  844. package/dist/ui/slider.js +23 -0
  845. package/dist/ui/slider.js.map +7 -0
  846. package/dist/ui/switch.js +28 -0
  847. package/dist/ui/switch.js.map +7 -0
  848. package/dist/ui/table.js +75 -0
  849. package/dist/ui/table.js.map +7 -0
  850. package/dist/ui/tabs.js +48 -0
  851. package/dist/ui/tabs.js.map +7 -0
  852. package/dist/ui/textarea.js +63 -0
  853. package/dist/ui/textarea.js.map +7 -0
  854. package/dist/ui/toggle-group.js +43 -0
  855. package/dist/ui/toggle-group.js.map +7 -0
  856. package/dist/ui/toggle.js +40 -0
  857. package/dist/ui/toggle.js.map +7 -0
  858. package/dist/ui/tooltip.js +215 -0
  859. package/dist/ui/tooltip.js.map +7 -0
  860. package/dist/usage-metered.js +8 -0
  861. package/dist/usage-metered.js.map +7 -0
  862. package/dist/useArbi.js +16 -0
  863. package/dist/useArbi.js.map +7 -0
  864. package/dist/useInstallSkillPack.js +81 -0
  865. package/dist/useInstallSkillPack.js.map +7 -0
  866. package/dist/usermenu/UserMenu.js +188 -0
  867. package/dist/usermenu/UserMenu.js.map +7 -0
  868. package/dist/usermenu/index.js +5 -0
  869. package/dist/usermenu/index.js.map +7 -0
  870. package/dist/users/index.js +15 -0
  871. package/dist/users/index.js.map +7 -0
  872. package/dist/users/user-display.js +60 -0
  873. package/dist/users/user-display.js.map +7 -0
  874. package/dist/viewers/AudioViewer.js +23 -0
  875. package/dist/viewers/AudioViewer.js.map +7 -0
  876. package/dist/viewers/DocxViewer.js +81 -0
  877. package/dist/viewers/DocxViewer.js.map +7 -0
  878. package/dist/viewers/ImageViewer.js +31 -0
  879. package/dist/viewers/ImageViewer.js.map +7 -0
  880. package/dist/viewers/PdfViewer.cjs +17 -0
  881. package/dist/viewers/PdfViewer.cjs.map +1 -0
  882. package/dist/viewers/PdfViewer.d.ts +9 -0
  883. package/dist/viewers/PdfViewer.js +20 -0
  884. package/dist/viewers/PdfViewer.js.map +7 -0
  885. package/dist/viewers/PdfViewerImpl.js +384 -0
  886. package/dist/viewers/PdfViewerImpl.js.map +7 -0
  887. package/dist/viewers/VideoViewer.js +31 -0
  888. package/dist/viewers/VideoViewer.js.map +7 -0
  889. package/dist/viewers/XlsxViewer.js +102 -0
  890. package/dist/viewers/XlsxViewer.js.map +7 -0
  891. package/dist/viewers/index.cjs +79 -653
  892. package/dist/viewers/index.cjs.map +1 -1
  893. package/dist/viewers/index.d.ts +3 -1
  894. package/dist/viewers/index.js +60 -903
  895. package/dist/viewers/index.js.map +7 -1
  896. package/dist/viewers/page-scroll.js +59 -0
  897. package/dist/viewers/page-scroll.js.map +7 -0
  898. package/dist/viewers/pdf-viewer-constants.js +9 -0
  899. package/dist/viewers/pdf-viewer-constants.js.map +7 -0
  900. package/dist/{chunk-PTOP7OHG.js → viewers/pdfjs-polyfills.js} +5 -6
  901. package/dist/viewers/pdfjs-polyfills.js.map +7 -0
  902. package/dist/viewers/selection-runs.js +38 -0
  903. package/dist/viewers/selection-runs.js.map +7 -0
  904. package/dist/viewers/usePageIntersectionObserver.js +68 -0
  905. package/dist/viewers/usePageIntersectionObserver.js.map +7 -0
  906. package/dist/viewers/useProcessedChunks.js +58 -0
  907. package/dist/viewers/useProcessedChunks.js.map +7 -0
  908. package/dist/viewers/viewer-zoom.js +163 -0
  909. package/dist/viewers/viewer-zoom.js.map +7 -0
  910. package/dist/websocket/ArbiWebSocketProvider.js +207 -0
  911. package/dist/websocket/ArbiWebSocketProvider.js.map +7 -0
  912. package/dist/websocket/context.js +14 -0
  913. package/dist/websocket/context.js.map +7 -0
  914. package/dist/websocket/hooks.js +30 -0
  915. package/dist/websocket/hooks.js.map +7 -0
  916. package/dist/websocket/index.js +22 -0
  917. package/dist/websocket/index.js.map +7 -0
  918. package/dist/websocket/live-updates.js +38 -0
  919. package/dist/websocket/live-updates.js.map +7 -0
  920. package/dist/websocket/reconnect.js +13 -0
  921. package/dist/websocket/reconnect.js.map +7 -0
  922. package/dist/websocket/store.js +58 -0
  923. package/dist/websocket/store.js.map +7 -0
  924. package/dist/workforce.js +607 -0
  925. package/dist/workforce.js.map +7 -0
  926. package/dist/workspaces/access-request.js +35 -0
  927. package/dist/workspaces/access-request.js.map +7 -0
  928. package/dist/workspaces/archive.js +59 -0
  929. package/dist/workspaces/archive.js.map +7 -0
  930. package/dist/workspaces/current.js +20 -0
  931. package/dist/workspaces/current.js.map +7 -0
  932. package/dist/workspaces/delete-workspaces.js +15 -0
  933. package/dist/workspaces/delete-workspaces.js.map +7 -0
  934. package/dist/workspaces/export-archive.js +40 -0
  935. package/dist/workspaces/export-archive.js.map +7 -0
  936. package/dist/workspaces/index.js +99 -0
  937. package/dist/workspaces/index.js.map +7 -0
  938. package/dist/workspaces/settings.js +45 -0
  939. package/dist/workspaces/settings.js.map +7 -0
  940. package/dist/workspaces/shell-workspaces.js +49 -0
  941. package/dist/workspaces/shell-workspaces.js.map +7 -0
  942. package/dist/workspaces/switch.js +234 -0
  943. package/dist/workspaces/switch.js.map +7 -0
  944. package/dist/workspaces/transfer.js +170 -0
  945. package/dist/workspaces/transfer.js.map +7 -0
  946. package/dist/workspaces/useShellWorkspaces.js +86 -0
  947. package/dist/workspaces/useShellWorkspaces.js.map +7 -0
  948. package/dist/workspaces/workspace-users.js +65 -0
  949. package/dist/workspaces/workspace-users.js.map +7 -0
  950. package/package.json +12 -4
  951. package/dist/PdfViewer.d-bQH9yxFg.d.ts +0 -55
  952. package/dist/ProductionDialog.d-CpzslFn0.d.cts +0 -51
  953. package/dist/annotations/freeze/index.d.cts +0 -205
  954. package/dist/annotations/index.d.cts +0 -360
  955. package/dist/artifacts/index.d.cts +0 -476
  956. package/dist/artifacts/redline-core.d.cts +0 -39
  957. package/dist/bundle-YNOX7VIL.js +0 -5
  958. package/dist/bundle-YNOX7VIL.js.map +0 -1
  959. package/dist/bundle.d-BnCSbHy2.d.cts +0 -85
  960. package/dist/calls/livekit/index.d.cts +0 -280
  961. package/dist/chunk-47CCGUWR.js.map +0 -1
  962. package/dist/chunk-6H3O63TQ.js.map +0 -1
  963. package/dist/chunk-74N436VK.js.map +0 -1
  964. package/dist/chunk-APZZQZ6P.js +0 -147
  965. package/dist/chunk-APZZQZ6P.js.map +0 -1
  966. package/dist/chunk-BF5KW5ZI.js.map +0 -1
  967. package/dist/chunk-CPQ3CU4B.js +0 -246
  968. package/dist/chunk-CPQ3CU4B.js.map +0 -1
  969. package/dist/chunk-DPYBZDJB.js.map +0 -1
  970. package/dist/chunk-DQALOQPI.js +0 -2766
  971. package/dist/chunk-DQALOQPI.js.map +0 -1
  972. package/dist/chunk-FZJMA32S.js +0 -1011
  973. package/dist/chunk-FZJMA32S.js.map +0 -1
  974. package/dist/chunk-H5M7FXLB.js +0 -2057
  975. package/dist/chunk-H5M7FXLB.js.map +0 -1
  976. package/dist/chunk-HDCRPPBW.js +0 -75
  977. package/dist/chunk-HDCRPPBW.js.map +0 -1
  978. package/dist/chunk-NIKPG4PW.js +0 -1128
  979. package/dist/chunk-NIKPG4PW.js.map +0 -1
  980. package/dist/chunk-NNAJLY6B.js +0 -4974
  981. package/dist/chunk-NNAJLY6B.js.map +0 -1
  982. package/dist/chunk-OYPKKHXY.js +0 -559
  983. package/dist/chunk-OYPKKHXY.js.map +0 -1
  984. package/dist/chunk-P6WLV5UY.js +0 -644
  985. package/dist/chunk-P6WLV5UY.js.map +0 -1
  986. package/dist/chunk-PTOP7OHG.js.map +0 -1
  987. package/dist/chunk-SN5YV6FF.js +0 -11
  988. package/dist/chunk-SN5YV6FF.js.map +0 -1
  989. package/dist/chunk-T3USOSVN.js.map +0 -1
  990. package/dist/chunk-T4CLW3DN.js +0 -2560
  991. package/dist/chunk-T4CLW3DN.js.map +0 -1
  992. package/dist/chunk-UW2SGTI5.js.map +0 -1
  993. package/dist/chunk-VSCU7K4V.js.map +0 -1
  994. package/dist/chunk-WL2Y2T47.js.map +0 -1
  995. package/dist/chunk-WUTL62MC.js.map +0 -1
  996. package/dist/chunk-Y3MTRA7D.js +0 -97
  997. package/dist/chunk-Y3MTRA7D.js.map +0 -1
  998. package/dist/chunk-YNNAJJ5Z.js.map +0 -1
  999. package/dist/document-tools/core.d.cts +0 -883
  1000. package/dist/document-tools/index.d.cts +0 -90
  1001. package/dist/index.d-BMhTH98a.d.cts +0 -2035
  1002. package/dist/index.d-oR5FKZpJ.d.cts +0 -579
  1003. package/dist/index.d.cts +0 -15893
  1004. package/dist/model.d-CNtRWKVK.d.cts +0 -110
  1005. package/dist/query-keys.d-ChgpJLPF.d.cts +0 -337
  1006. package/dist/shell/index.d.cts +0 -6
  1007. package/dist/store.d-GADDvC7w.d.cts +0 -35
  1008. package/dist/stored-markdown.d-Bp18vrbr.d.cts +0 -125
  1009. package/dist/ui/index.d.cts +0 -25
  1010. package/dist/useAudioRecorder.d-B9rlMI_E.d.cts +0 -778
  1011. package/dist/viewers/index.d.cts +0 -260
@@ -1,156 +1,156 @@
1
1
  'use strict';
2
2
 
3
- var chunkZ3W4XFWB_cjs = require('../chunk-Z3W4XFWB.cjs');
3
+ var chunkC72FSQUE_cjs = require('../chunk-C72FSQUE.cjs');
4
4
  var chunkRLSBRZ6Z_cjs = require('../chunk-RLSBRZ6Z.cjs');
5
5
  require('../chunk-N73IMVFF.cjs');
6
6
  require('../chunk-NDIKMOBJ.cjs');
7
7
  require('../chunk-VOFNX4P6.cjs');
8
8
  require('../chunk-KC474WVG.cjs');
9
- require('../chunk-HJDR5HEO.cjs');
10
9
  var chunk5NOZDH3F_cjs = require('../chunk-5NOZDH3F.cjs');
10
+ require('../chunk-HJDR5HEO.cjs');
11
11
  require('../chunk-S6A6FSG7.cjs');
12
12
 
13
13
 
14
14
 
15
15
  Object.defineProperty(exports, "ArbiHost", {
16
16
  enumerable: true,
17
- get: function () { return chunkZ3W4XFWB_cjs.ArbiHost; }
17
+ get: function () { return chunkC72FSQUE_cjs.ArbiHost; }
18
18
  });
19
19
  Object.defineProperty(exports, "DEFAULT_ASSISTANT_NAME", {
20
20
  enumerable: true,
21
- get: function () { return chunkZ3W4XFWB_cjs.DEFAULT_ASSISTANT_NAME; }
21
+ get: function () { return chunkC72FSQUE_cjs.DEFAULT_ASSISTANT_NAME; }
22
22
  });
23
23
  Object.defineProperty(exports, "LEGACY_THREAD_DOCUMENTS_KEY", {
24
24
  enumerable: true,
25
- get: function () { return chunkZ3W4XFWB_cjs.LEGACY_THREAD_DOCUMENTS_KEY; }
25
+ get: function () { return chunkC72FSQUE_cjs.LEGACY_THREAD_DOCUMENTS_KEY; }
26
26
  });
27
27
  Object.defineProperty(exports, "MENTION_HREF_PREFIX", {
28
28
  enumerable: true,
29
- get: function () { return chunkZ3W4XFWB_cjs.MENTION_HREF_PREFIX; }
29
+ get: function () { return chunkC72FSQUE_cjs.MENTION_HREF_PREFIX; }
30
30
  });
31
31
  Object.defineProperty(exports, "NotificationBell", {
32
32
  enumerable: true,
33
- get: function () { return chunkZ3W4XFWB_cjs.NotificationBell; }
33
+ get: function () { return chunkC72FSQUE_cjs.NotificationBell; }
34
34
  });
35
35
  Object.defineProperty(exports, "Toaster", {
36
36
  enumerable: true,
37
- get: function () { return chunkZ3W4XFWB_cjs.Toaster; }
37
+ get: function () { return chunkC72FSQUE_cjs.Toaster; }
38
38
  });
39
39
  Object.defineProperty(exports, "UNBOUND", {
40
40
  enumerable: true,
41
- get: function () { return chunkZ3W4XFWB_cjs.UNBOUND; }
41
+ get: function () { return chunkC72FSQUE_cjs.UNBOUND; }
42
42
  });
43
43
  Object.defineProperty(exports, "assistantCopy", {
44
44
  enumerable: true,
45
- get: function () { return chunkZ3W4XFWB_cjs.assistantCopy; }
45
+ get: function () { return chunkC72FSQUE_cjs.assistantCopy; }
46
46
  });
47
47
  Object.defineProperty(exports, "bindingOfRow", {
48
48
  enumerable: true,
49
- get: function () { return chunkZ3W4XFWB_cjs.bindingOfRow; }
49
+ get: function () { return chunkC72FSQUE_cjs.bindingOfRow; }
50
50
  });
51
51
  Object.defineProperty(exports, "clearSearchSession", {
52
52
  enumerable: true,
53
- get: function () { return chunkZ3W4XFWB_cjs.clearSearchSession; }
53
+ get: function () { return chunkC72FSQUE_cjs.clearSearchSession; }
54
54
  });
55
55
  Object.defineProperty(exports, "createSearchSession", {
56
56
  enumerable: true,
57
- get: function () { return chunkZ3W4XFWB_cjs.createSearchSession; }
57
+ get: function () { return chunkC72FSQUE_cjs.createSearchSession; }
58
58
  });
59
59
  Object.defineProperty(exports, "extractMentions", {
60
60
  enumerable: true,
61
- get: function () { return chunkZ3W4XFWB_cjs.extractMentions; }
61
+ get: function () { return chunkC72FSQUE_cjs.extractMentions; }
62
62
  });
63
63
  Object.defineProperty(exports, "filterMentionCandidates", {
64
64
  enumerable: true,
65
- get: function () { return chunkZ3W4XFWB_cjs.filterMentionCandidates; }
65
+ get: function () { return chunkC72FSQUE_cjs.filterMentionCandidates; }
66
66
  });
67
67
  Object.defineProperty(exports, "findMentionQuery", {
68
68
  enumerable: true,
69
- get: function () { return chunkZ3W4XFWB_cjs.findMentionQuery; }
69
+ get: function () { return chunkC72FSQUE_cjs.findMentionQuery; }
70
70
  });
71
71
  Object.defineProperty(exports, "forgetLegacyThreadDocuments", {
72
72
  enumerable: true,
73
- get: function () { return chunkZ3W4XFWB_cjs.forgetLegacyThreadDocuments; }
73
+ get: function () { return chunkC72FSQUE_cjs.forgetLegacyThreadDocuments; }
74
74
  });
75
75
  Object.defineProperty(exports, "hasMessageBody", {
76
76
  enumerable: true,
77
- get: function () { return chunkZ3W4XFWB_cjs.hasMessageBody; }
77
+ get: function () { return chunkC72FSQUE_cjs.hasMessageBody; }
78
78
  });
79
79
  Object.defineProperty(exports, "insertMention", {
80
80
  enumerable: true,
81
- get: function () { return chunkZ3W4XFWB_cjs.insertMention; }
81
+ get: function () { return chunkC72FSQUE_cjs.insertMention; }
82
82
  });
83
83
  Object.defineProperty(exports, "latestThreadOfDocument", {
84
84
  enumerable: true,
85
- get: function () { return chunkZ3W4XFWB_cjs.latestThreadOfDocument; }
85
+ get: function () { return chunkC72FSQUE_cjs.latestThreadOfDocument; }
86
86
  });
87
87
  Object.defineProperty(exports, "linkMentions", {
88
88
  enumerable: true,
89
- get: function () { return chunkZ3W4XFWB_cjs.linkMentions; }
89
+ get: function () { return chunkC72FSQUE_cjs.linkMentions; }
90
90
  });
91
91
  Object.defineProperty(exports, "mentionFromHref", {
92
92
  enumerable: true,
93
- get: function () { return chunkZ3W4XFWB_cjs.mentionFromHref; }
93
+ get: function () { return chunkC72FSQUE_cjs.mentionFromHref; }
94
94
  });
95
95
  Object.defineProperty(exports, "openDocumentId", {
96
96
  enumerable: true,
97
- get: function () { return chunkZ3W4XFWB_cjs.openDocumentId; }
97
+ get: function () { return chunkC72FSQUE_cjs.openDocumentId; }
98
98
  });
99
99
  Object.defineProperty(exports, "opensInWord", {
100
100
  enumerable: true,
101
- get: function () { return chunkZ3W4XFWB_cjs.opensInWord; }
101
+ get: function () { return chunkC72FSQUE_cjs.opensInWord; }
102
102
  });
103
103
  Object.defineProperty(exports, "persistSearchSession", {
104
104
  enumerable: true,
105
- get: function () { return chunkZ3W4XFWB_cjs.persistSearchSession; }
105
+ get: function () { return chunkC72FSQUE_cjs.persistSearchSession; }
106
106
  });
107
107
  Object.defineProperty(exports, "readLegacyThreadDocuments", {
108
108
  enumerable: true,
109
- get: function () { return chunkZ3W4XFWB_cjs.readLegacyThreadDocuments; }
109
+ get: function () { return chunkC72FSQUE_cjs.readLegacyThreadDocuments; }
110
110
  });
111
111
  Object.defineProperty(exports, "requestSearch", {
112
112
  enumerable: true,
113
- get: function () { return chunkZ3W4XFWB_cjs.requestSearch; }
113
+ get: function () { return chunkC72FSQUE_cjs.requestSearch; }
114
114
  });
115
115
  Object.defineProperty(exports, "savedDocumentIdFor", {
116
116
  enumerable: true,
117
- get: function () { return chunkZ3W4XFWB_cjs.savedDocumentIdFor; }
117
+ get: function () { return chunkC72FSQUE_cjs.savedDocumentIdFor; }
118
118
  });
119
119
  Object.defineProperty(exports, "sharedSearchSession", {
120
120
  enumerable: true,
121
- get: function () { return chunkZ3W4XFWB_cjs.sharedSearchSession; }
121
+ get: function () { return chunkC72FSQUE_cjs.sharedSearchSession; }
122
122
  });
123
123
  Object.defineProperty(exports, "takeDocumentForTurn", {
124
124
  enumerable: true,
125
- get: function () { return chunkZ3W4XFWB_cjs.takeDocumentForTurn; }
125
+ get: function () { return chunkC72FSQUE_cjs.takeDocumentForTurn; }
126
126
  });
127
127
  Object.defineProperty(exports, "takePendingSearch", {
128
128
  enumerable: true,
129
- get: function () { return chunkZ3W4XFWB_cjs.takePendingSearch; }
129
+ get: function () { return chunkC72FSQUE_cjs.takePendingSearch; }
130
130
  });
131
131
  Object.defineProperty(exports, "toMessageMentions", {
132
132
  enumerable: true,
133
- get: function () { return chunkZ3W4XFWB_cjs.toMessageMentions; }
133
+ get: function () { return chunkC72FSQUE_cjs.toMessageMentions; }
134
134
  });
135
135
  Object.defineProperty(exports, "useAssistantCopy", {
136
136
  enumerable: true,
137
- get: function () { return chunkZ3W4XFWB_cjs.useAssistantCopy; }
137
+ get: function () { return chunkC72FSQUE_cjs.useAssistantCopy; }
138
138
  });
139
139
  Object.defineProperty(exports, "useAssistantName", {
140
140
  enumerable: true,
141
- get: function () { return chunkZ3W4XFWB_cjs.useAssistantName; }
141
+ get: function () { return chunkC72FSQUE_cjs.useAssistantName; }
142
142
  });
143
143
  Object.defineProperty(exports, "useOpenDocumentId", {
144
144
  enumerable: true,
145
- get: function () { return chunkZ3W4XFWB_cjs.useOpenDocumentId; }
145
+ get: function () { return chunkC72FSQUE_cjs.useOpenDocumentId; }
146
146
  });
147
147
  Object.defineProperty(exports, "useRegisterOpenDocument", {
148
148
  enumerable: true,
149
- get: function () { return chunkZ3W4XFWB_cjs.useRegisterOpenDocument; }
149
+ get: function () { return chunkC72FSQUE_cjs.useRegisterOpenDocument; }
150
150
  });
151
151
  Object.defineProperty(exports, "useTurnDocumentId", {
152
152
  enumerable: true,
153
- get: function () { return chunkZ3W4XFWB_cjs.useTurnDocumentId; }
153
+ get: function () { return chunkC72FSQUE_cjs.useTurnDocumentId; }
154
154
  });
155
155
  Object.defineProperty(exports, "clearChatArtifacts", {
156
156
  enumerable: true,
@@ -1,11 +1,44 @@
1
- export { ArbiHost, DEFAULT_ASSISTANT_NAME, LEGACY_THREAD_DOCUMENTS_KEY, MENTION_HREF_PREFIX, NotificationBell, Toaster, UNBOUND, assistantCopy, bindingOfRow, clearSearchSession, createSearchSession, extractMentions, filterMentionCandidates, findMentionQuery, forgetLegacyThreadDocuments, hasMessageBody, insertMention, latestThreadOfDocument, linkMentions, mentionFromHref, openDocumentId, opensInWord, persistSearchSession, readLegacyThreadDocuments, requestSearch, savedDocumentIdFor, sharedSearchSession, takeDocumentForTurn, takePendingSearch, toMessageMentions, useAssistantCopy, useAssistantName, useOpenDocumentId, useRegisterOpenDocument, useTurnDocumentId } from '../chunk-OYPKKHXY.js';
2
- export { clearChatArtifacts, configureNotify, getChatArtifact, getChatArtifacts, notify, persistNotifyHistory, recordChatArtifact, selectUnread, toast, useChatArtifact, useMessageChatArtifact, useNotify } from '../chunk-BF5KW5ZI.js';
3
- import '../chunk-DPYBZDJB.js';
4
- import '../chunk-UW2SGTI5.js';
5
- import '../chunk-WUTL62MC.js';
6
- import '../chunk-Y3MTRA7D.js';
7
- import '../chunk-47CCGUWR.js';
8
- export { useHostConfigRecord } from '../chunk-VSCU7K4V.js';
9
- import '../chunk-SN5YV6FF.js';
1
+ import {
2
+ toast,
3
+ notify,
4
+ useNotify,
5
+ selectUnread,
6
+ configureNotify,
7
+ persistNotifyHistory
8
+ } from "../notifications/notify-store.js";
9
+ import {
10
+ sharedSearchSession,
11
+ createSearchSession,
12
+ clearSearchSession,
13
+ requestSearch,
14
+ takePendingSearch,
15
+ persistSearchSession
16
+ } from "../search/session.js";
17
+ import { Toaster } from "../notifications/Toaster.js";
18
+ import { NotificationBell } from "../notifications/NotificationBell.js";
19
+ import { ArbiHost } from "../host/ArbiHost.js";
20
+ import { useHostConfigRecord } from "../host/context.js";
21
+ export * from "../host/assistant-copy.js";
22
+ export * from "../chat/mentions.js";
23
+ export * from "../chat/open-document.js";
24
+ export * from "../chat/chat-artifacts.js";
25
+ export * from "../chat/thread-document.js";
26
+ export {
27
+ ArbiHost,
28
+ NotificationBell,
29
+ Toaster,
30
+ clearSearchSession,
31
+ configureNotify,
32
+ createSearchSession,
33
+ notify,
34
+ persistNotifyHistory,
35
+ persistSearchSession,
36
+ requestSearch,
37
+ selectUnread,
38
+ sharedSearchSession,
39
+ takePendingSearch,
40
+ toast,
41
+ useHostConfigRecord,
42
+ useNotify
43
+ };
10
44
  //# sourceMappingURL=index.js.map
11
- //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shell/index.ts"],
4
+ "sourcesContent": ["/**\n * `@arbidocs/react/shell` \u2014 the few things an authenticated app's *shell* needs\n * at first paint, without the rest of the root entry.\n *\n * The toast engine (sonner + the notification-centre store) is imported by the\n * app's entry module, so it lands on every cold load including the login page.\n * It cannot live in `/ui`, which is guarded to stay free of `zustand` and `sonner`\n * for marketing sites, and importing it from the root entry drags AG Grid, the SDK\n * and react-pdf into that first load (neither kit package declares `sideEffects`,\n * so a bundler must keep every import it sees). This entry is the narrow third\n * option. Like `/ui` it shares module instances with the root entry \u2014 one sonner,\n * one notification store \u2014 which `index.test.ts` enforces.\n */\nexport {\n toast,\n notify,\n useNotify,\n selectUnread,\n configureNotify,\n persistNotifyHistory,\n type AppNotification,\n type NotifyConfig,\n type NotifyOptions,\n type NotifyVariant,\n} from '../notifications/notify-store'\n// The search session: the app's store clears it and its ask bar hands queries to it at first\n// paint, so it is here as well as behind the root entry's search hook.\nexport {\n sharedSearchSession,\n createSearchSession,\n clearSearchSession,\n requestSearch,\n takePendingSearch,\n persistSearchSession,\n type SearchSession,\n type SearchSessionState,\n type SearchStatus,\n} from '../search/session'\nexport { Toaster, type ToasterProps } from '../notifications/Toaster'\n// The notification bell reads the same store as the Toaster, so it lives here, not in `/ui`.\nexport { NotificationBell, type NotificationBellProps } from '../notifications/NotificationBell'\n// The host configuration's provider is SDK-free, so a site that only sets the blocks environment\n// mounts it without the SDK.\n// (Untyped here: each package types it with its own domains, `ArbiHostConfig`.)\nexport { ArbiHost, type ArbiHostConnection, type ArbiHostProps } from '../host/ArbiHost'\nexport { useHostConfigRecord, type HostConfigRecord } from '../host/context'\n// What the kits call the assistant (the host's `assistantName`, else \"ARBI\").\nexport * from '../host/assistant-copy'\n// Pure chat helpers the blocks' composer and viewer need without the SDK: @mentions, and the\n// document open beside the chat (drafting).\nexport * from '../chat/mentions'\nexport * from '../chat/open-document'\nexport * from '../chat/chat-artifacts'\nexport * from '../chat/thread-document'\n"],
5
+ "mappings": "AAaA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAKK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AACP,SAAS,eAAkC;AAE3C,SAAS,wBAAoD;AAI7D,SAAS,gBAA6D;AACtE,SAAS,2BAAkD;AAE3D,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,111 @@
1
+ import { createSkillPack } from "./useInstallSkillPack.js";
2
+ const FRONTMATTER = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/;
3
+ const SLUG = /^[a-z0-9][a-z0-9-]*$/;
4
+ function readFrontmatter(block) {
5
+ const meta = {};
6
+ for (const line of block.split(/\r?\n/)) {
7
+ const i = line.indexOf(":");
8
+ if (i > 0) meta[line.slice(0, i).trim().toLowerCase()] = line.slice(i + 1).trim();
9
+ }
10
+ return meta;
11
+ }
12
+ function withPreamble(preamble, body) {
13
+ return [preamble?.trim(), body.trim()].filter(Boolean).join("\n\n");
14
+ }
15
+ function checkSlug(slug, where) {
16
+ if (!SLUG.test(slug)) throw new Error(`${where}: "${slug}" is not a skill slug`);
17
+ }
18
+ function fromFile(path, text, preamble) {
19
+ const match = FRONTMATTER.exec(text);
20
+ if (!match) throw new Error(`${path}: a skill needs frontmatter`);
21
+ const meta = readFrontmatter(match[1]);
22
+ const slug = meta.name ?? "";
23
+ checkSlug(slug, path);
24
+ if (path.includes("/") && !path.includes(`/${slug}/`))
25
+ throw new Error(`${path}: name must be the folder's slug`);
26
+ let inputs = [];
27
+ if (meta.inputs) {
28
+ try {
29
+ inputs = JSON.parse(meta.inputs);
30
+ } catch {
31
+ throw new Error(`${path}: inputs must be one line of JSON`);
32
+ }
33
+ }
34
+ const instructions = withPreamble(preamble, match[2]);
35
+ return {
36
+ slug,
37
+ title: meta.title || slug,
38
+ description: meta.description ?? "",
39
+ icon: meta.icon || void 0,
40
+ category: meta.category || void 0,
41
+ inputs,
42
+ instructions,
43
+ markdown: `---
44
+ ${match[1]}
45
+ ---
46
+
47
+ ${instructions}
48
+ `
49
+ };
50
+ }
51
+ const oneLine = (text) => text.replace(/\s*\n\s*/g, " ").trim();
52
+ function fromDefinition(skill, preamble) {
53
+ checkSlug(skill.name, "defineSkillPack");
54
+ const inputs = skill.inputs ?? [];
55
+ const instructions = withPreamble(preamble, skill.prompt);
56
+ const meta = [
57
+ `name: ${skill.name}`,
58
+ `description: ${oneLine(skill.description)}`,
59
+ skill.title && `title: ${oneLine(skill.title)}`,
60
+ skill.icon && `icon: ${skill.icon}`,
61
+ skill.category && `category: ${oneLine(skill.category)}`,
62
+ inputs.length > 0 && `inputs: ${JSON.stringify(inputs)}`
63
+ ].filter(Boolean);
64
+ return {
65
+ slug: skill.name,
66
+ title: skill.title || skill.name,
67
+ description: skill.description,
68
+ icon: skill.icon,
69
+ category: skill.category,
70
+ inputs,
71
+ instructions,
72
+ markdown: `---
73
+ ${meta.join("\n")}
74
+ ---
75
+
76
+ ${instructions}
77
+ `
78
+ };
79
+ }
80
+ function defineSkillPack({
81
+ id,
82
+ label,
83
+ preamble,
84
+ files = {},
85
+ skills = [],
86
+ marker
87
+ }) {
88
+ const all = [
89
+ ...Object.entries(files).map(([path, text]) => fromFile(path, text, preamble)),
90
+ ...skills.map((skill) => fromDefinition(skill, preamble))
91
+ ].sort((a, b) => a.slug.localeCompare(b.slug));
92
+ const seen = /* @__PURE__ */ new Set();
93
+ for (const skill of all) {
94
+ if (seen.has(skill.slug)) throw new Error(`defineSkillPack: two skills are "${skill.slug}"`);
95
+ seen.add(skill.slug);
96
+ }
97
+ return { ...createSkillPack({ id, skills: all, marker }), label, skills: all };
98
+ }
99
+ function skillPackPrompt(pack, slug, request = "") {
100
+ const skill = pack.skills.find((s) => s.slug === slug);
101
+ if (!skill) throw new Error(`No skill "${slug}" in the ${pack.id} pack`);
102
+ return request.trim() ? `${skill.instructions}
103
+
104
+ ## Request
105
+ ${request.trim()}` : skill.instructions;
106
+ }
107
+ export {
108
+ defineSkillPack,
109
+ skillPackPrompt
110
+ };
111
+ //# sourceMappingURL=skill-pack.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/skill-pack.ts"],
4
+ "sourcesContent": ["/**\n * A host's skill pack, declared once: its skills as SKILL.md files (with one shared preamble) or\n * inline, in the host's configuration. The same object installs (`useInstallSkillPack`: one hidden\n * marker carries the version) and lists: `@arbidocs/blocks` shows the skills in every `/` menu from\n * `host.workflows.skillPacks`, run through the kit's own skill form and the chat's own send.\n *\n * const FIRM_SKILLS = defineSkillPack({\n * id: 'firm-skills',\n * label: 'Firm skills',\n * preamble: houseRules,\n * files: import.meta.glob('./skills/* /SKILL.md', {\n * query: '?raw',\n * import: 'default',\n * eager: true,\n * }),\n * })\n *\n * A SKILL.md is the line-based frontmatter the backend reads (`name` is the slug and must be its\n * folder's name), plus `title`, `icon`, `category` and `inputs` (one line of JSON) for the menu\n * and the form. The wording stays in the files: nothing here composes prose.\n */\nimport { createSkillPack, type CreateSkillPackOptions, type SkillPack } from './useInstallSkillPack'\n\n/** One form field of a pack skill (the shape of `inputs` in a SKILL.md frontmatter). */\nexport interface SkillPackField {\n /** Key in the inputs; also the `{{name}}` placeholder in the instructions. */\n name: string\n type: 'text' | 'longtext' | 'boolean' | 'select' | 'number' | 'date' | 'scope' | 'documents'\n label: string\n description?: string\n placeholder?: string\n required?: boolean\n default?: string | number | boolean\n /** `select` only. */\n options?: ReadonlyArray<{ value: string; label: string; description?: string }>\n min?: number\n max?: number\n advanced?: boolean\n}\n\n/** A skill declared inline (no file). */\nexport interface SkillPackSkillDefinition {\n /** The slug (`/name` in the menu): lowercase letters, digits and hyphens. */\n name: string\n /** Shown in the skill's form. Default: the slug. */\n title?: string\n description: string\n /** The instructions; the pack's preamble goes before them. */\n prompt: string\n inputs?: ReadonlyArray<SkillPackField>\n /** Its group within the pack (the menu sorts by it, then by title). */\n category?: string\n icon?: string\n}\n\n/** A skill of a defined pack: what the menu lists and what installs. */\nexport interface SkillPackSkill {\n slug: string\n title: string\n description: string\n icon?: string\n category?: string\n inputs: ReadonlyArray<SkillPackField>\n /** The preamble, then the skill's own instructions. */\n instructions: string\n /** The SKILL.md as installed: its frontmatter, then `instructions`. */\n markdown: string\n}\n\n/** A skill pack with what the kit lists: installable as is (`useInstallSkillPack(pack)`). */\nexport interface DefinedSkillPack extends SkillPack {\n /** The heading of its group in the `/` menu. */\n label?: string\n skills: readonly SkillPackSkill[]\n}\n\nexport interface DefineSkillPackOptions {\n /** Stable identity (also the default marker slug, `<id>-version`). */\n id: string\n /** The heading of its group in the `/` menu. Absent: the kit's built-in heading. */\n label?: string\n /** Text every skill's instructions start with (house rules). */\n preamble?: string\n /**\n * SKILL.md texts by path, as an eager raw glob:\n * `import.meta.glob(\u2026, { query: '?raw', import: 'default', eager: true })`.\n */\n files?: Readonly<Record<string, string>>\n /** Skills declared inline. */\n skills?: ReadonlyArray<SkillPackSkillDefinition>\n marker?: CreateSkillPackOptions['marker']\n}\n\nconst FRONTMATTER = /^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n?([\\s\\S]*)$/\nconst SLUG = /^[a-z0-9][a-z0-9-]*$/\n\nfunction readFrontmatter(block: string): Record<string, string> {\n const meta: Record<string, string> = {}\n for (const line of block.split(/\\r?\\n/)) {\n const i = line.indexOf(':')\n if (i > 0) meta[line.slice(0, i).trim().toLowerCase()] = line.slice(i + 1).trim()\n }\n return meta\n}\n\nfunction withPreamble(preamble: string | undefined, body: string): string {\n return [preamble?.trim(), body.trim()].filter(Boolean).join('\\n\\n')\n}\n\nfunction checkSlug(slug: string, where: string): void {\n if (!SLUG.test(slug)) throw new Error(`${where}: \"${slug}\" is not a skill slug`)\n}\n\nfunction fromFile(path: string, text: string, preamble: string | undefined): SkillPackSkill {\n const match = FRONTMATTER.exec(text)\n if (!match) throw new Error(`${path}: a skill needs frontmatter`)\n const meta = readFrontmatter(match[1])\n const slug = meta.name ?? ''\n checkSlug(slug, path)\n if (path.includes('/') && !path.includes(`/${slug}/`))\n throw new Error(`${path}: name must be the folder's slug`)\n let inputs: SkillPackField[] = []\n if (meta.inputs) {\n try {\n inputs = JSON.parse(meta.inputs) as SkillPackField[]\n } catch {\n throw new Error(`${path}: inputs must be one line of JSON`)\n }\n }\n const instructions = withPreamble(preamble, match[2])\n return {\n slug,\n title: meta.title || slug,\n description: meta.description ?? '',\n icon: meta.icon || undefined,\n category: meta.category || undefined,\n inputs,\n instructions,\n markdown: `---\\n${match[1]}\\n---\\n\\n${instructions}\\n`,\n }\n}\n\nconst oneLine = (text: string): string => text.replace(/\\s*\\n\\s*/g, ' ').trim()\n\nfunction fromDefinition(\n skill: SkillPackSkillDefinition,\n preamble: string | undefined\n): SkillPackSkill {\n checkSlug(skill.name, 'defineSkillPack')\n const inputs = skill.inputs ?? []\n const instructions = withPreamble(preamble, skill.prompt)\n const meta = [\n `name: ${skill.name}`,\n `description: ${oneLine(skill.description)}`,\n skill.title && `title: ${oneLine(skill.title)}`,\n skill.icon && `icon: ${skill.icon}`,\n skill.category && `category: ${oneLine(skill.category)}`,\n inputs.length > 0 && `inputs: ${JSON.stringify(inputs)}`,\n ].filter(Boolean)\n return {\n slug: skill.name,\n title: skill.title || skill.name,\n description: skill.description,\n icon: skill.icon,\n category: skill.category,\n inputs,\n instructions,\n markdown: `---\\n${meta.join('\\n')}\\n---\\n\\n${instructions}\\n`,\n }\n}\n\n/** Define a host's skill pack from SKILL.md files and/or inline skills (see the module comment). */\nexport function defineSkillPack({\n id,\n label,\n preamble,\n files = {},\n skills = [],\n marker,\n}: DefineSkillPackOptions): DefinedSkillPack {\n const all = [\n ...Object.entries(files).map(([path, text]) => fromFile(path, text, preamble)),\n ...skills.map((skill) => fromDefinition(skill, preamble)),\n ].sort((a, b) => a.slug.localeCompare(b.slug))\n const seen = new Set<string>()\n for (const skill of all) {\n if (seen.has(skill.slug)) throw new Error(`defineSkillPack: two skills are \"${skill.slug}\"`)\n seen.add(skill.slug)\n }\n return { ...createSkillPack({ id, skills: all, marker }), label, skills: all }\n}\n\n/** A request that follows one of the pack's skills: its instructions, then the request. */\nexport function skillPackPrompt(pack: DefinedSkillPack, slug: string, request = ''): string {\n const skill = pack.skills.find((s) => s.slug === slug)\n if (!skill) throw new Error(`No skill \"${slug}\" in the ${pack.id} pack`)\n return request.trim()\n ? `${skill.instructions}\\n\\n## Request\\n${request.trim()}`\n : skill.instructions\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,186 @@
1
+ import { useMemo } from "react";
2
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
3
+ import { useArbi } from "./useArbi.js";
4
+ import { arbiQueryKeys } from "./query-keys.js";
5
+ function dataOrThrow({ data, error }) {
6
+ if (error !== void 0) throw error;
7
+ return data;
8
+ }
9
+ function useStorageProjects(scope = "mine", project) {
10
+ const arbi = useArbi();
11
+ const query = { scope, include: ["workspaces"], ...project ? { project } : {} };
12
+ return useQuery({
13
+ queryKey: arbiQueryKeys.storageProjects(query),
14
+ queryFn: async () => dataOrThrow(await arbi.getClient().fetch.GET("/v1/storage/projects", { params: { query } })),
15
+ enabled: arbi.isLoggedIn,
16
+ retry: false,
17
+ staleTime: 3e4
18
+ });
19
+ }
20
+ function useStorageItems(query, enabled = true) {
21
+ const arbi = useArbi();
22
+ const params = { limit: 50, ...query };
23
+ return useQuery({
24
+ queryKey: arbiQueryKeys.storageItems(params),
25
+ queryFn: async () => dataOrThrow(
26
+ await arbi.getClient().fetch.GET("/v1/storage/items", { params: { query: params } })
27
+ ),
28
+ enabled: arbi.isLoggedIn && enabled,
29
+ retry: false,
30
+ staleTime: 3e4
31
+ });
32
+ }
33
+ function useStorageItemNames(items, query) {
34
+ const arbi = useArbi();
35
+ const workspaces = [
36
+ ...new Set(
37
+ (items ?? []).filter((i) => i.kind === "document" && i.workspace_ext_id).map((i) => i.workspace_ext_id)
38
+ )
39
+ ].sort();
40
+ return useQuery({
41
+ queryKey: arbiQueryKeys.storageItemNames({ workspaces, query }),
42
+ enabled: arbi.isLoggedIn && workspaces.length > 0,
43
+ staleTime: 6e4,
44
+ retry: false,
45
+ queryFn: async () => {
46
+ const names = {};
47
+ for (const workspace of workspaces) {
48
+ const { data } = await arbi.getClient().fetch.GET("/v1/storage/items", {
49
+ params: {
50
+ query: {
51
+ ...query,
52
+ workspace,
53
+ kind: "document",
54
+ include: ["names"],
55
+ limit: 200
56
+ }
57
+ }
58
+ });
59
+ for (const item of data?.items ?? []) {
60
+ if (item.ref && item.name) names[item.ref] = item.name;
61
+ }
62
+ }
63
+ return names;
64
+ }
65
+ });
66
+ }
67
+ function useStorageSnapshots(enabled) {
68
+ const arbi = useArbi();
69
+ const query = { limit: 90 };
70
+ return useQuery({
71
+ queryKey: arbiQueryKeys.storageSnapshots(query),
72
+ queryFn: async () => dataOrThrow(await arbi.getClient().fetch.GET("/v1/storage/snapshots", { params: { query } })),
73
+ enabled: arbi.isLoggedIn && enabled,
74
+ retry: false,
75
+ staleTime: 5 * 6e4
76
+ });
77
+ }
78
+ function useInvalidateStorage() {
79
+ const queryClient = useQueryClient();
80
+ return () => Promise.all([
81
+ queryClient.invalidateQueries({ queryKey: arbiQueryKeys.storage() }),
82
+ queryClient.invalidateQueries({ queryKey: arbiQueryKeys.projects() })
83
+ ]);
84
+ }
85
+ class StorageActionError extends Error {
86
+ }
87
+ const RESTORE_POLL_MS = 3e3;
88
+ function fail(fallback, error) {
89
+ const detail = error?.detail;
90
+ const message = typeof detail === "string" ? detail : typeof detail?.message === "string" ? detail.message : fallback;
91
+ throw new StorageActionError(message);
92
+ }
93
+ function useWorkspaceTrash(workspace, enabled = true) {
94
+ const arbi = useArbi();
95
+ return useQuery({
96
+ queryKey: arbiQueryKeys.workspaceTrash(workspace ?? ""),
97
+ enabled: arbi.isLoggedIn && Boolean(workspace) && enabled,
98
+ retry: false,
99
+ // Other members delete and restore too, and deleting from the documents list doesn't touch this cache:
100
+ // refetch whenever Recently deleted is opened instead of trusting a long staleTime.
101
+ staleTime: 0,
102
+ // A restore copies files back from archive storage first: follow it until the documents leave the list.
103
+ refetchInterval: (query) => query.state.data?.items.some((d) => d.restoring) ? RESTORE_POLL_MS : false,
104
+ queryFn: async () => {
105
+ const { data, error, response } = await arbi.getClient().fetch.GET("/v1/document/deleted", {
106
+ params: { query: { workspace_ext_id: workspace } }
107
+ });
108
+ if (!response.ok || !data) fail("Could not load Recently deleted", error);
109
+ return data;
110
+ }
111
+ });
112
+ }
113
+ function useStorageActions() {
114
+ const arbi = useArbi();
115
+ return useMemo(() => {
116
+ const client = () => arbi.getClient().fetch;
117
+ return {
118
+ async purgeDeletedDocuments(workspace, options = {}) {
119
+ const { data, error, response } = await client().DELETE("/v1/document/deleted", {
120
+ params: { query: { workspace_ext_id: workspace } },
121
+ body: {
122
+ ...options.externalIds ? { external_ids: options.externalIds } : {},
123
+ include_others_private: Boolean(options.includeOthersPrivate)
124
+ }
125
+ });
126
+ if (!response.ok || !data) fail("Could not delete permanently", error);
127
+ return data.external_ids;
128
+ },
129
+ async purgeStorageItems(project, refs) {
130
+ const { data, error, response } = await client().DELETE("/v1/storage/items", {
131
+ params: { query: { project, ...refs?.length ? { refs } : {} } }
132
+ });
133
+ if (!response.ok || !data) fail("Could not delete permanently", error);
134
+ return data.bytes;
135
+ },
136
+ async restoreDocuments(workspace, externalIds) {
137
+ const { error, response } = await client().POST("/v1/document/restore", {
138
+ params: { query: { workspace_ext_id: workspace } },
139
+ body: { external_ids: externalIds }
140
+ });
141
+ if (!response.ok) fail("Could not restore", error);
142
+ },
143
+ async restoreWorkspaces(externalIds) {
144
+ const { error, response } = await client().POST("/v1/workspace/restore", {
145
+ body: { external_ids: externalIds }
146
+ });
147
+ if (!response.ok) fail("Could not restore the workspace", error);
148
+ },
149
+ async deleteDocuments(externalIds) {
150
+ const { error, response } = await client().DELETE("/v1/document/", {
151
+ body: { external_ids: externalIds }
152
+ });
153
+ if (!response.ok) fail("Could not delete", error);
154
+ },
155
+ async updateNativeMail(messageId, action) {
156
+ const { error, response } = await client().PATCH(
157
+ "/v1/mail/accounts/{account_id}/messages/{message_id}",
158
+ {
159
+ params: { path: { account_id: "native", message_id: messageId } },
160
+ body: { action }
161
+ }
162
+ );
163
+ if (!response.ok) fail(action === "trash" ? "Could not delete" : "Could not restore", error);
164
+ },
165
+ async emptyMailTrash() {
166
+ const { data, error, response } = await client().DELETE(
167
+ "/v1/mail/accounts/{account_id}/messages",
168
+ { params: { path: { account_id: "native" }, query: { folder: "trash" } } }
169
+ );
170
+ if (!response.ok || !data) fail("Could not empty the Trash", error);
171
+ return data.deleted;
172
+ }
173
+ };
174
+ }, [arbi]);
175
+ }
176
+ export {
177
+ StorageActionError,
178
+ useInvalidateStorage,
179
+ useStorageActions,
180
+ useStorageItemNames,
181
+ useStorageItems,
182
+ useStorageProjects,
183
+ useStorageSnapshots,
184
+ useWorkspaceTrash
185
+ };
186
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage.ts"],
4
+ "sourcesContent": ["/**\n * Storage: what each project stores (by kind, workspace, live and trash), its largest items, the\n * deployment's view for Box admins / billing managers, a workspace's Recently deleted, and the trash\n * actions (restore, delete permanently, empty trash). The server counts every stored byte against\n * one project (ARBI `src/core/storage_ledger.py`).\n *\n * Requires an `ArbiHost` (with an `arbi`) and a React Query client above it.\n */\n\nimport { useMemo } from 'react'\nimport { useQuery, useQueryClient } from '@tanstack/react-query'\nimport type { components } from '@arbidocs/client'\nimport { useArbi } from './useArbi'\nimport { arbiQueryKeys } from './query-keys'\n\nexport type StorageProjectUsage = components['schemas']['StorageProjectUsage']\nexport type StorageItem = components['schemas']['StorageItem']\nexport type StorageKindUsage = components['schemas']['StorageKindUsage']\nexport type StorageDeploymentUsage = components['schemas']['StorageDeploymentUsage']\nexport type StorageSnapshot = components['schemas']['StorageSnapshotRead']\nexport type DeletedDocument = components['schemas']['DeletedDocument']\nexport type DeletedDocumentsPage = components['schemas']['DeletedDocumentsPage']\n\nexport type StorageScope = 'mine' | 'deployment'\nexport type StorageItemState = 'live' | 'trash' | 'all'\nexport type StorageItemKind = NonNullable<StorageItem['kind']>\n\nexport interface StorageItemsQuery {\n scope?: StorageScope\n project?: string\n workspace?: string\n kind?: 'document' | 'mail' | 'mail_draft' | 'recording' | 'chat_attachment' | 'other'\n state?: StorageItemState\n limit?: number\n}\n\n/** A read's data, or its error response thrown. */\nfunction dataOrThrow<T>({ data, error }: { data?: T; error?: unknown }): T {\n if (error !== undefined) throw error\n return data as T\n}\n\n/** My projects' storage (`mine`), or the deployment's (`deployment`: 403 for anyone but admins, not retried). */\nexport function useStorageProjects(scope: StorageScope = 'mine', project?: string) {\n const arbi = useArbi()\n const query = { scope, include: ['workspaces' as const], ...(project ? { project } : {}) }\n return useQuery({\n queryKey: arbiQueryKeys.storageProjects(query),\n queryFn: async () =>\n dataOrThrow(await arbi.getClient().fetch.GET('/v1/storage/projects', { params: { query } })),\n enabled: arbi.isLoggedIn,\n retry: false,\n staleTime: 30_000,\n })\n}\n\n/** The largest items stored, largest first (`state: 'trash'` is Recently deleted). */\nexport function useStorageItems(query: StorageItemsQuery, enabled = true) {\n const arbi = useArbi()\n const params = { limit: 50, ...query }\n return useQuery({\n queryKey: arbiQueryKeys.storageItems(params),\n queryFn: async () =>\n dataOrThrow(\n await arbi.getClient().fetch.GET('/v1/storage/items', { params: { query: params } })\n ),\n enabled: arbi.isLoggedIn && enabled,\n retry: false,\n staleTime: 30_000,\n })\n}\n\n/**\n * Names of the documents among `items`, one request per workspace (its key is primed on the session\n * when needed, without switching workspace). Names are encrypted; the server decrypts them with the key.\n */\nexport function useStorageItemNames(items: StorageItem[] | undefined, query: StorageItemsQuery) {\n const arbi = useArbi()\n const workspaces = [\n ...new Set(\n (items ?? [])\n .filter((i) => i.kind === 'document' && i.workspace_ext_id)\n .map((i) => i.workspace_ext_id as string)\n ),\n ].sort()\n return useQuery({\n queryKey: arbiQueryKeys.storageItemNames({ workspaces, query }),\n enabled: arbi.isLoggedIn && workspaces.length > 0,\n staleTime: 60_000,\n retry: false,\n queryFn: async () => {\n const names: Record<string, string> = {}\n for (const workspace of workspaces) {\n const { data } = await arbi.getClient().fetch.GET('/v1/storage/items', {\n params: {\n query: {\n ...query,\n workspace,\n kind: 'document',\n include: ['names'],\n limit: 200,\n },\n },\n })\n for (const item of data?.items ?? []) {\n if (item.ref && item.name) names[item.ref] = item.name\n }\n }\n return names\n },\n })\n}\n\n/** The deployment's storage day by day (admins). */\nexport function useStorageSnapshots(enabled: boolean) {\n const arbi = useArbi()\n const query = { limit: 90 }\n return useQuery({\n queryKey: arbiQueryKeys.storageSnapshots(query),\n queryFn: async () =>\n dataOrThrow(await arbi.getClient().fetch.GET('/v1/storage/snapshots', { params: { query } })),\n enabled: arbi.isLoggedIn && enabled,\n retry: false,\n staleTime: 5 * 60_000,\n })\n}\n\n/** After anything that changes what is stored: storage views, and the projects' quota meters. */\nexport function useInvalidateStorage() {\n const queryClient = useQueryClient()\n return () =>\n Promise.all([\n queryClient.invalidateQueries({ queryKey: arbiQueryKeys.storage() }),\n queryClient.invalidateQueries({ queryKey: arbiQueryKeys.projects() }),\n ])\n}\n\n/** A refused storage action, with the server's message. */\nexport class StorageActionError extends Error {}\n\n/** How often a Recently deleted list with documents being restored is checked. */\nconst RESTORE_POLL_MS = 3_000\n\nfunction fail(fallback: string, error: unknown): never {\n const detail = (error as { detail?: unknown } | undefined)?.detail\n const message =\n typeof detail === 'string'\n ? detail\n : typeof (detail as { message?: unknown } | undefined)?.message === 'string'\n ? (detail as { message: string }).message\n : fallback\n throw new StorageActionError(message)\n}\n\n/**\n * A workspace's Recently deleted documents \u2014 only those the caller could see live (shared, or theirs) \u2014\n * with what they may do; for a workspace manager (project or workspace owner), how much other members keep\n * private in the trash. The workspace's key is primed on the session when needed.\n */\nexport function useWorkspaceTrash(workspace: string | undefined, enabled = true) {\n const arbi = useArbi()\n return useQuery({\n queryKey: arbiQueryKeys.workspaceTrash(workspace ?? ''),\n enabled: arbi.isLoggedIn && Boolean(workspace) && enabled,\n retry: false,\n // Other members delete and restore too, and deleting from the documents list doesn't touch this cache:\n // refetch whenever Recently deleted is opened instead of trusting a long staleTime.\n staleTime: 0,\n // A restore copies files back from archive storage first: follow it until the documents leave the list.\n refetchInterval: (query) =>\n query.state.data?.items.some((d) => d.restoring) ? RESTORE_POLL_MS : false,\n queryFn: async (): Promise<DeletedDocumentsPage> => {\n const { data, error, response } = await arbi.getClient().fetch.GET('/v1/document/deleted', {\n params: { query: { workspace_ext_id: workspace as string } },\n })\n if (!response.ok || !data) fail('Could not load Recently deleted', error)\n return data\n },\n })\n}\n\n/** The trash actions on the signed-in session. Each throws a {@link StorageActionError} when refused. */\nexport interface StorageActions {\n /**\n * Delete a workspace's deleted documents for good: these `externalIds`, or (omitted) Empty trash \u2014 a\n * manager's everything-they-can-see, plus other members' private items only with `includeOthersPrivate`;\n * anyone else their own. Returns the documents removed.\n */\n purgeDeletedDocuments(\n workspace: string,\n options?: { externalIds?: string[]; includeOthersPrivate?: boolean }\n ): Promise<string[]>\n /** Delete permanently what is in a project's trash (or only `refs`). Returns the bytes freed. */\n purgeStorageItems(project: string, refs?: string[]): Promise<number>\n /**\n * Restore deleted documents of one workspace: their files come back from archive storage first (they are\n * listed as `restoring` meanwhile), then they reappear and are re-indexed in the background.\n */\n restoreDocuments(workspace: string, externalIds: string[]): Promise<void>\n /** Restore deleted workspaces (their owner). */\n restoreWorkspaces(externalIds: string[]): Promise<void>\n /** Move live documents to Recently deleted (the documents' usual delete). */\n deleteDocuments(externalIds: string[]): Promise<void>\n /** ARBI mail: to the Trash, or back from it. */\n updateNativeMail(messageId: string, action: 'trash' | 'restore'): Promise<void>\n /** ARBI mail: empty the Trash. Returns the messages deleted. */\n emptyMailTrash(): Promise<number>\n}\n\nexport function useStorageActions(): StorageActions {\n const arbi = useArbi()\n return useMemo(() => {\n const client = () => arbi.getClient().fetch\n return {\n async purgeDeletedDocuments(workspace, options = {}) {\n const { data, error, response } = await client().DELETE('/v1/document/deleted', {\n params: { query: { workspace_ext_id: workspace } },\n body: {\n ...(options.externalIds ? { external_ids: options.externalIds } : {}),\n include_others_private: Boolean(options.includeOthersPrivate),\n },\n })\n if (!response.ok || !data) fail('Could not delete permanently', error)\n return data.external_ids\n },\n async purgeStorageItems(project, refs) {\n const { data, error, response } = await client().DELETE('/v1/storage/items', {\n params: { query: { project, ...(refs?.length ? { refs } : {}) } },\n })\n if (!response.ok || !data) fail('Could not delete permanently', error)\n return data.bytes\n },\n async restoreDocuments(workspace, externalIds) {\n const { error, response } = await client().POST('/v1/document/restore', {\n params: { query: { workspace_ext_id: workspace } },\n body: { external_ids: externalIds },\n })\n if (!response.ok) fail('Could not restore', error)\n },\n async restoreWorkspaces(externalIds) {\n const { error, response } = await client().POST('/v1/workspace/restore', {\n body: { external_ids: externalIds },\n })\n if (!response.ok) fail('Could not restore the workspace', error)\n },\n async deleteDocuments(externalIds) {\n const { error, response } = await client().DELETE('/v1/document/', {\n body: { external_ids: externalIds },\n })\n if (!response.ok) fail('Could not delete', error)\n },\n async updateNativeMail(messageId, action) {\n const { error, response } = await client().PATCH(\n '/v1/mail/accounts/{account_id}/messages/{message_id}',\n {\n params: { path: { account_id: 'native', message_id: messageId } },\n body: { action },\n }\n )\n if (!response.ok) fail(action === 'trash' ? 'Could not delete' : 'Could not restore', error)\n },\n async emptyMailTrash() {\n const { data, error, response } = await client().DELETE(\n '/v1/mail/accounts/{account_id}/messages',\n { params: { path: { account_id: 'native' }, query: { folder: 'trash' } } }\n )\n if (!response.ok || !data) fail('Could not empty the Trash', error)\n return data.deleted\n },\n }\n }, [arbi])\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }