@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
@@ -0,0 +1,132 @@
1
+ import { decryptWithChatKey, encryptWithChatKey } from "@arbidocs/client";
2
+ import { ArbiApiError } from "@arbidocs/sdk/browser";
3
+ import { cachedChat } from "../directmessages/chat-cache.js";
4
+ import { getUserDisplayName } from "../users/user-display.js";
5
+ import { ensureMeetingChat, meetingChatRefFrom } from "./meeting-chat.js";
6
+ import { transcriptSegmentOf } from "./transcript-format.js";
7
+ const CALL_CHAT_TOPIC = "arbi.chat";
8
+ const READ_ONLY_MEETING_TEXT = "Read only: you can\u2019t post in this meeting chat";
9
+ const CALL_CHAT_MAX_CHARS = 4e3;
10
+ const encoder = new TextEncoder();
11
+ const decoder = new TextDecoder();
12
+ function newPacketId() {
13
+ const bytes = new Uint8Array(8);
14
+ globalThis.crypto.getRandomValues(bytes);
15
+ return Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
16
+ }
17
+ async function encodeCallChatPacket(packet, callKey) {
18
+ return encoder.encode(await encryptWithChatKey(JSON.stringify(packet), callKey));
19
+ }
20
+ async function decodeCallChatPacket(payload, callKey) {
21
+ try {
22
+ const parsed = JSON.parse(await decryptWithChatKey(decoder.decode(payload), callKey));
23
+ if (!parsed || typeof parsed !== "object") return null;
24
+ const p = parsed;
25
+ if (p.v !== 1 || typeof p.id !== "string" || typeof p.text !== "string") return null;
26
+ const text = p.text.slice(0, CALL_CHAT_MAX_CHARS);
27
+ if (!text.trim()) return null;
28
+ return { v: 1, id: p.id, text, at: typeof p.at === "number" ? p.at : Date.now() };
29
+ } catch {
30
+ return null;
31
+ }
32
+ }
33
+ async function chatByExtId(arbi, queryClient, chatExtId) {
34
+ return cachedChat(queryClient, chatExtId) ?? arbi.chats.get(chatExtId);
35
+ }
36
+ async function persistMeetingMessage(arbi, queryClient, callExtId, callKey, text) {
37
+ const ref = await ensureMeetingChat(arbi, queryClient, callExtId, callKey);
38
+ if (ref.kind === "chat") {
39
+ await arbi.chats.send(await chatByExtId(arbi, queryClient, ref.chatExtId), text);
40
+ } else {
41
+ try {
42
+ await arbi.conversations.postMessage({
43
+ content: text,
44
+ conversation_ext_id: ref.conversationExtId,
45
+ assistant_mode: "mentioned"
46
+ });
47
+ } catch (err) {
48
+ const status = err instanceof ArbiApiError ? err.status : void 0;
49
+ const detail = err instanceof ArbiApiError ? err.detail : void 0;
50
+ throw new Error(
51
+ `Could not save the message to the meeting thread (${status ?? "?"})${detail ? `: ${detail}` : ""}`
52
+ );
53
+ }
54
+ }
55
+ return ref;
56
+ }
57
+ const HISTORY_LIMIT = 50;
58
+ async function loadMeetingHistory(arbi, queryClient, callExtId) {
59
+ const ref = meetingChatRefFrom(await arbi.calls.get(callExtId));
60
+ if (!ref) return null;
61
+ if (ref.kind === "chat") {
62
+ const chat = await chatByExtId(arbi, queryClient, ref.chatExtId);
63
+ const page = await arbi.chats.page(chat);
64
+ const names = new Map(chat.members.map((m) => [m.user.external_id, getUserDisplayName(m.user)]));
65
+ return {
66
+ ref,
67
+ messages: page.messages.filter((m) => m.kind === "text" && !m.decryptFailed && m.content).slice(-HISTORY_LIMIT).map((m) => ({
68
+ id: m.external_id,
69
+ senderExtId: m.sender_ext_id ?? null,
70
+ senderName: m.sender_ext_id && names.get(m.sender_ext_id) || null,
71
+ text: m.content ?? "",
72
+ at: Date.parse(m.created_at)
73
+ }))
74
+ };
75
+ }
76
+ const data = await arbi.conversations.getThreads(ref.conversationExtId).catch(() => null);
77
+ if (!data) return { ref, messages: [] };
78
+ const seen = /* @__PURE__ */ new Map();
79
+ for (const thread of data.threads) {
80
+ for (const m of thread.history) {
81
+ if (seen.has(m.external_id) || m.role === "system" || !m.content) continue;
82
+ if (transcriptSegmentOf(m.tools)) continue;
83
+ seen.set(m.external_id, {
84
+ id: m.external_id,
85
+ senderExtId: m.role === "assistant" ? null : m.created_by_ext_id,
86
+ senderName: m.role === "assistant" ? "ARBI" : null,
87
+ text: m.content,
88
+ at: Date.parse(m.created_at)
89
+ });
90
+ }
91
+ }
92
+ return {
93
+ ref,
94
+ messages: [...seen.values()].sort((a, b) => a.at - b.at).slice(-HISTORY_LIMIT)
95
+ };
96
+ }
97
+ const SAME_MESSAGE_MS = 5 * 60 * 1e3;
98
+ function mergeChatLines(history, live, context) {
99
+ const historyLines = history.map((m) => ({
100
+ id: `h:${m.id}`,
101
+ senderIdentity: m.senderExtId ?? "arbi",
102
+ senderName: m.senderName ?? (m.senderExtId ? context.nameOf(m.senderExtId) : null) ?? "Someone",
103
+ text: m.text,
104
+ at: m.at,
105
+ mine: !!m.senderExtId && m.senderExtId === context.myIdentity,
106
+ status: "history"
107
+ }));
108
+ const used = /* @__PURE__ */ new Set();
109
+ const liveOnly = live.filter((line) => {
110
+ const match = history.findIndex(
111
+ (m, i) => !used.has(i) && m.senderExtId === line.senderIdentity && m.text === line.text && Math.abs(m.at - line.at) < SAME_MESSAGE_MS
112
+ );
113
+ if (match < 0) return true;
114
+ used.add(match);
115
+ return false;
116
+ });
117
+ return [...historyLines, ...liveOnly].sort((a, b) => a.at - b.at);
118
+ }
119
+ export {
120
+ CALL_CHAT_MAX_CHARS,
121
+ CALL_CHAT_TOPIC,
122
+ HISTORY_LIMIT,
123
+ READ_ONLY_MEETING_TEXT,
124
+ chatByExtId,
125
+ decodeCallChatPacket,
126
+ encodeCallChatPacket,
127
+ loadMeetingHistory,
128
+ mergeChatLines,
129
+ newPacketId,
130
+ persistMeetingMessage
131
+ };
132
+ //# sourceMappingURL=in-call-chat.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/calls/in-call-chat.ts"],
4
+ "sourcesContent": ["/**\n * In-call chat (ARBI `docs/meeting-chats-plan.md` \u00A74).\n *\n * Live: each message goes over the LiveKit data channel (reliable, topic {@link CALL_CHAT_TOPIC})\n * as `base64(nonce \u2016 secretbox(json, K))` \u2014 K is the call's frame key, so the SFU, which never\n * holds K, only forwards ciphertext (media E2EE does not cover data packets).\n *\n * Persisted: a signed-in member's message is also posted to the call's meeting chat\n * ({@link ensureMeetingChat}, made lazily on the first one): an E2E chat message under the chat\n * key, or a comment in the workspace meeting thread (encrypted by the server with the workspace\n * key). A workspace guest on a thread call can read the meeting chat but not post to it: the panel\n * is read-only for them.\n */\n\nimport { decryptWithChatKey, encryptWithChatKey } from '@arbidocs/client'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { ArbiApiError, type Arbi } from '@arbidocs/sdk/browser'\nimport { cachedChat, type ChatResponse } from '../directmessages/chat-cache'\nimport { getUserDisplayName } from '../users/user-display'\nimport { ensureMeetingChat, meetingChatRefFrom, type MeetingChatRef } from './meeting-chat'\nimport { transcriptSegmentOf } from './transcript-format'\n\nexport const CALL_CHAT_TOPIC = 'arbi.chat'\n/** What a workspace guest sees instead of a composer in a thread call's meeting chat. */\nexport const READ_ONLY_MEETING_TEXT = 'Read only: you can\u2019t post in this meeting chat'\n/** Longest message accepted over the data channel (well under LiveKit's reliable-packet limit). */\nexport const CALL_CHAT_MAX_CHARS = 4000\n\n/** What one data packet carries, encrypted under K. */\nexport interface CallChatPacket {\n v: 1\n /** Random id, so a sender's echo and a re-delivery deduplicate. */\n id: string\n text: string\n /** Sender clock, ms since epoch. */\n at: number\n}\n\n/** One line of the in-call chat panel. */\nexport interface CallChatLine {\n id: string\n senderIdentity: string\n senderName: string\n text: string\n at: number\n mine: boolean\n /**\n * `live`: data channel only (received from someone else, or not kept); `saving` / `saved` /\n * `unsaved`: my own message and its persistence; `history`: loaded from the meeting chat.\n */\n status: 'live' | 'saving' | 'saved' | 'unsaved' | 'history'\n}\n\nconst encoder = new TextEncoder()\nconst decoder = new TextDecoder()\n\nexport function newPacketId(): string {\n const bytes = new Uint8Array(8)\n globalThis.crypto.getRandomValues(bytes)\n return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('')\n}\n\n/** Encrypt a chat packet under K for `publishData`. */\nexport async function encodeCallChatPacket(\n packet: CallChatPacket,\n callKey: Uint8Array\n): Promise<Uint8Array<ArrayBuffer>> {\n return encoder.encode(await encryptWithChatKey(JSON.stringify(packet), callKey))\n}\n\n/** Open a received packet; null when it is not ours, not under K, or malformed. */\nexport async function decodeCallChatPacket(\n payload: Uint8Array,\n callKey: Uint8Array\n): Promise<CallChatPacket | null> {\n try {\n const parsed: unknown = JSON.parse(await decryptWithChatKey(decoder.decode(payload), callKey))\n if (!parsed || typeof parsed !== 'object') return null\n const p = parsed as Partial<CallChatPacket>\n if (p.v !== 1 || typeof p.id !== 'string' || typeof p.text !== 'string') return null\n const text = p.text.slice(0, CALL_CHAT_MAX_CHARS)\n if (!text.trim()) return null\n return { v: 1, id: p.id, text, at: typeof p.at === 'number' ? p.at : Date.now() }\n } catch {\n return null\n }\n}\n\n/** One of my chats: from the cache when the list has it, else fetched. */\nexport async function chatByExtId(\n arbi: Arbi,\n queryClient: QueryClient,\n chatExtId: string\n): Promise<ChatResponse> {\n return cachedChat(queryClient, chatExtId) ?? arbi.chats.get(chatExtId)\n}\n\n/**\n * Post my message to the meeting chat, making the chat first if the call has none. Throws when it\n * cannot be kept (not a host of the call, the thread's workspace not open, \u2026).\n */\nexport async function persistMeetingMessage(\n arbi: Arbi,\n queryClient: QueryClient,\n callExtId: string,\n callKey: Uint8Array,\n text: string\n): Promise<MeetingChatRef> {\n const ref = await ensureMeetingChat(arbi, queryClient, callExtId, callKey)\n if (ref.kind === 'chat') {\n await arbi.chats.send(await chatByExtId(arbi, queryClient, ref.chatExtId), text)\n } else {\n try {\n await arbi.conversations.postMessage({\n content: text,\n conversation_ext_id: ref.conversationExtId,\n assistant_mode: 'mentioned',\n })\n } catch (err) {\n const status = err instanceof ArbiApiError ? err.status : undefined\n const detail = err instanceof ArbiApiError ? err.detail : undefined\n throw new Error(\n `Could not save the message to the meeting thread (${status ?? '?'})${detail ? `: ${detail}` : ''}`\n )\n }\n }\n return ref\n}\n\n/** A persisted message, before it is matched against live lines. */\nexport interface HistoryMessage {\n id: string\n senderExtId: string | null\n /** Known name, or null to resolve from the room. */\n senderName: string | null\n text: string\n at: number\n}\n\nexport const HISTORY_LIMIT = 50\n\n/**\n * The meeting chat's recent messages (oldest first), decrypted, or null when the call has no\n * meeting chat yet. Never creates one.\n */\nexport async function loadMeetingHistory(\n arbi: Arbi,\n queryClient: QueryClient,\n callExtId: string\n): Promise<{ ref: MeetingChatRef; messages: HistoryMessage[] } | null> {\n const ref = meetingChatRefFrom(await arbi.calls.get(callExtId))\n if (!ref) return null\n if (ref.kind === 'chat') {\n const chat = await chatByExtId(arbi, queryClient, ref.chatExtId)\n const page = await arbi.chats.page(chat)\n const names = new Map(chat.members.map((m) => [m.user.external_id, getUserDisplayName(m.user)]))\n return {\n ref,\n messages: page.messages\n .filter((m) => m.kind === 'text' && !m.decryptFailed && m.content)\n .slice(-HISTORY_LIMIT)\n .map((m) => ({\n id: m.external_id,\n senderExtId: m.sender_ext_id ?? null,\n senderName: (m.sender_ext_id && names.get(m.sender_ext_id)) || null,\n text: m.content ?? '',\n at: Date.parse(m.created_at),\n })),\n }\n }\n // A thread with no messages yet answers 404: nothing to show.\n const data = await arbi.conversations.getThreads(ref.conversationExtId).catch(() => null)\n if (!data) return { ref, messages: [] }\n const seen = new Map<string, HistoryMessage>()\n for (const thread of data.threads) {\n for (const m of thread.history) {\n if (seen.has(m.external_id) || m.role === 'system' || !m.content) continue\n // Transcript lines are captions, not chat.\n if (transcriptSegmentOf(m.tools)) continue\n seen.set(m.external_id, {\n id: m.external_id,\n senderExtId: m.role === 'assistant' ? null : m.created_by_ext_id,\n senderName: m.role === 'assistant' ? 'ARBI' : null,\n text: m.content,\n at: Date.parse(m.created_at),\n })\n }\n }\n return {\n ref,\n messages: [...seen.values()].sort((a, b) => a.at - b.at).slice(-HISTORY_LIMIT),\n }\n}\n\n/** Live and persisted copies of one message within this window are the same message. */\nconst SAME_MESSAGE_MS = 5 * 60 * 1000\n\n/**\n * The panel's lines: history first, then live lines, minus the live lines that a member already\n * persisted (same sender, same text, close in time), ordered by time.\n */\nexport function mergeChatLines(\n history: HistoryMessage[],\n live: CallChatLine[],\n context: { myIdentity: string; nameOf(identity: string): string | null }\n): CallChatLine[] {\n const historyLines: CallChatLine[] = history.map((m) => ({\n id: `h:${m.id}`,\n senderIdentity: m.senderExtId ?? 'arbi',\n senderName: m.senderName ?? (m.senderExtId ? context.nameOf(m.senderExtId) : null) ?? 'Someone',\n text: m.text,\n at: m.at,\n mine: !!m.senderExtId && m.senderExtId === context.myIdentity,\n status: 'history',\n }))\n const used = new Set<number>()\n const liveOnly = live.filter((line) => {\n const match = history.findIndex(\n (m, i) =>\n !used.has(i) &&\n m.senderExtId === line.senderIdentity &&\n m.text === line.text &&\n Math.abs(m.at - line.at) < SAME_MESSAGE_MS\n )\n if (match < 0) return true\n used.add(match)\n return false\n })\n return [...historyLines, ...liveOnly].sort((a, b) => a.at - b.at)\n}\n"],
5
+ "mappings": "AAcA,SAAS,oBAAoB,0BAA0B;AAEvD,SAAS,oBAA+B;AACxC,SAAS,kBAAqC;AAC9C,SAAS,0BAA0B;AACnC,SAAS,mBAAmB,0BAA+C;AAC3E,SAAS,2BAA2B;AAE7B,MAAM,kBAAkB;AAExB,MAAM,yBAAyB;AAE/B,MAAM,sBAAsB;AA2BnC,MAAM,UAAU,IAAI,YAAY;AAChC,MAAM,UAAU,IAAI,YAAY;AAEzB,SAAS,cAAsB;AACpC,QAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,aAAW,OAAO,gBAAgB,KAAK;AACvC,SAAO,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAC1E;AAGA,eAAsB,qBACpB,QACA,SACkC;AAClC,SAAO,QAAQ,OAAO,MAAM,mBAAmB,KAAK,UAAU,MAAM,GAAG,OAAO,CAAC;AACjF;AAGA,eAAsB,qBACpB,SACA,SACgC;AAChC,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,MAAM,mBAAmB,QAAQ,OAAO,OAAO,GAAG,OAAO,CAAC;AAC7F,QAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO;AAClD,UAAM,IAAI;AACV,QAAI,EAAE,MAAM,KAAK,OAAO,EAAE,OAAO,YAAY,OAAO,EAAE,SAAS,SAAU,QAAO;AAChF,UAAM,OAAO,EAAE,KAAK,MAAM,GAAG,mBAAmB;AAChD,QAAI,CAAC,KAAK,KAAK,EAAG,QAAO;AACzB,WAAO,EAAE,GAAG,GAAG,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,EAAE,OAAO,WAAW,EAAE,KAAK,KAAK,IAAI,EAAE;AAAA,EAClF,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,eAAsB,YACpB,MACA,aACA,WACuB;AACvB,SAAO,WAAW,aAAa,SAAS,KAAK,KAAK,MAAM,IAAI,SAAS;AACvE;AAMA,eAAsB,sBACpB,MACA,aACA,WACA,SACA,MACyB;AACzB,QAAM,MAAM,MAAM,kBAAkB,MAAM,aAAa,WAAW,OAAO;AACzE,MAAI,IAAI,SAAS,QAAQ;AACvB,UAAM,KAAK,MAAM,KAAK,MAAM,YAAY,MAAM,aAAa,IAAI,SAAS,GAAG,IAAI;AAAA,EACjF,OAAO;AACL,QAAI;AACF,YAAM,KAAK,cAAc,YAAY;AAAA,QACnC,SAAS;AAAA,QACT,qBAAqB,IAAI;AAAA,QACzB,gBAAgB;AAAA,MAClB,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,YAAM,SAAS,eAAe,eAAe,IAAI,SAAS;AAC1D,YAAM,SAAS,eAAe,eAAe,IAAI,SAAS;AAC1D,YAAM,IAAI;AAAA,QACR,qDAAqD,UAAU,GAAG,IAAI,SAAS,KAAK,MAAM,KAAK,EAAE;AAAA,MACnG;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAYO,MAAM,gBAAgB;AAM7B,eAAsB,mBACpB,MACA,aACA,WACqE;AACrE,QAAM,MAAM,mBAAmB,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC;AAC9D,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI,IAAI,SAAS,QAAQ;AACvB,UAAM,OAAO,MAAM,YAAY,MAAM,aAAa,IAAI,SAAS;AAC/D,UAAM,OAAO,MAAM,KAAK,MAAM,KAAK,IAAI;AACvC,UAAM,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,aAAa,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/F,WAAO;AAAA,MACL;AAAA,MACA,UAAU,KAAK,SACZ,OAAO,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAChE,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,OAAO;AAAA,QACX,IAAI,EAAE;AAAA,QACN,aAAa,EAAE,iBAAiB;AAAA,QAChC,YAAa,EAAE,iBAAiB,MAAM,IAAI,EAAE,aAAa,KAAM;AAAA,QAC/D,MAAM,EAAE,WAAW;AAAA,QACnB,IAAI,KAAK,MAAM,EAAE,UAAU;AAAA,MAC7B,EAAE;AAAA,IACN;AAAA,EACF;AAEA,QAAM,OAAO,MAAM,KAAK,cAAc,WAAW,IAAI,iBAAiB,EAAE,MAAM,MAAM,IAAI;AACxF,MAAI,CAAC,KAAM,QAAO,EAAE,KAAK,UAAU,CAAC,EAAE;AACtC,QAAM,OAAO,oBAAI,IAA4B;AAC7C,aAAW,UAAU,KAAK,SAAS;AACjC,eAAW,KAAK,OAAO,SAAS;AAC9B,UAAI,KAAK,IAAI,EAAE,WAAW,KAAK,EAAE,SAAS,YAAY,CAAC,EAAE,QAAS;AAElE,UAAI,oBAAoB,EAAE,KAAK,EAAG;AAClC,WAAK,IAAI,EAAE,aAAa;AAAA,QACtB,IAAI,EAAE;AAAA,QACN,aAAa,EAAE,SAAS,cAAc,OAAO,EAAE;AAAA,QAC/C,YAAY,EAAE,SAAS,cAAc,SAAS;AAAA,QAC9C,MAAM,EAAE;AAAA,QACR,IAAI,KAAK,MAAM,EAAE,UAAU;AAAA,MAC7B,CAAC;AAAA,IACH;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA,UAAU,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa;AAAA,EAC/E;AACF;AAGA,MAAM,kBAAkB,IAAI,KAAK;AAM1B,SAAS,eACd,SACA,MACA,SACgB;AAChB,QAAM,eAA+B,QAAQ,IAAI,CAAC,OAAO;AAAA,IACvD,IAAI,KAAK,EAAE,EAAE;AAAA,IACb,gBAAgB,EAAE,eAAe;AAAA,IACjC,YAAY,EAAE,eAAe,EAAE,cAAc,QAAQ,OAAO,EAAE,WAAW,IAAI,SAAS;AAAA,IACtF,MAAM,EAAE;AAAA,IACR,IAAI,EAAE;AAAA,IACN,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,QAAQ;AAAA,IACnD,QAAQ;AAAA,EACV,EAAE;AACF,QAAM,OAAO,oBAAI,IAAY;AAC7B,QAAM,WAAW,KAAK,OAAO,CAAC,SAAS;AACrC,UAAM,QAAQ,QAAQ;AAAA,MACpB,CAAC,GAAG,MACF,CAAC,KAAK,IAAI,CAAC,KACX,EAAE,gBAAgB,KAAK,kBACvB,EAAE,SAAS,KAAK,QAChB,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,IAAI;AAAA,IAC/B;AACA,QAAI,QAAQ,EAAG,QAAO;AACtB,SAAK,IAAI,KAAK;AACd,WAAO;AAAA,EACT,CAAC;AACD,SAAO,CAAC,GAAG,cAAc,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AAClE;",
6
+ "names": []
7
+ }
@@ -0,0 +1,24 @@
1
+ import { callQueryKeys, invalidateCall, serverCallsExperimental } from "./keys.js";
2
+ export * from "./hooks.js";
3
+ export * from "./session.js";
4
+ export * from "./events.js";
5
+ export * from "./moderation.js";
6
+ export * from "./meeting-chat.js";
7
+ export * from "./in-call-chat.js";
8
+ export * from "./transcription.js";
9
+ export * from "./transcript-format.js";
10
+ export * from "./recording.js";
11
+ export * from "./recording-playback.js";
12
+ export * from "./recording-media.js";
13
+ export * from "./save-to-thread.js";
14
+ export * from "./actions.js";
15
+ export * from "./webinar.js";
16
+ export * from "./read-only.js";
17
+ export * from "./gate.js";
18
+ export * from "./open-meeting-chat.js";
19
+ export {
20
+ callQueryKeys,
21
+ invalidateCall,
22
+ serverCallsExperimental
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/calls/index.ts"],
4
+ "sourcesContent": ["/**\n * Calls without LiveKit (the room hooks are the `@arbidocs/react/calls` entry):\n *\n * - data: query keys and hooks over `arbi.calls` (config, a call, recordings, invite links);\n * - the call session (the active call, rings, knocks, live calls), `applyCallEvent`, and the\n * actions that start, open, answer and join calls;\n * - the meeting chat, in-call chat persistence, live transcript lines and their format;\n * - end-to-end encrypted recording: the uploader, playback, export and transcription.\n *\n * Types and the REST surface come from `@arbidocs/sdk` (`calls`, `Arbi.calls`).\n */\nexport { callQueryKeys, invalidateCall, serverCallsExperimental } from './keys'\nexport * from './hooks'\nexport * from './session'\nexport * from './events'\nexport * from './moderation'\nexport * from './meeting-chat'\nexport * from './in-call-chat'\nexport * from './transcription'\nexport * from './transcript-format'\nexport * from './recording'\nexport * from './recording-playback'\nexport * from './recording-media'\nexport * from './save-to-thread'\nexport * from './actions'\nexport * from './webinar'\nexport * from './read-only'\nexport * from './gate'\nexport * from './open-meeting-chat'\n"],
5
+ "mappings": "AAWA,SAAS,eAAe,gBAAgB,+BAA+B;AACvE,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,17 @@
1
+ import { arbiQueryKeys, callQueryKeys } from "../query-keys.js";
2
+ function serverCallsExperimental(queryClient) {
3
+ return queryClient.getQueryData(callQueryKeys.config())?.experimental !== false;
4
+ }
5
+ function invalidateCall(queryClient, message) {
6
+ void queryClient.invalidateQueries({ queryKey: callQueryKeys.call(message.call_ext_id) });
7
+ const thread = message.log_conversation_ext_id;
8
+ if (thread) {
9
+ void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.conversationActivity(thread) });
10
+ }
11
+ }
12
+ export {
13
+ callQueryKeys,
14
+ invalidateCall,
15
+ serverCallsExperimental
16
+ };
17
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/calls/keys.ts"],
4
+ "sourcesContent": ["import type { QueryClient } from '@tanstack/react-query'\nimport type { calls } from '@arbidocs/sdk/browser'\nimport { arbiQueryKeys, callQueryKeys } from '../query-keys'\n\nexport { callQueryKeys }\n\n/**\n * Calls are still experimental on this deployment (`useServerCallsExperimental` outside React,\n * from the cached config): unknown reads as experimental.\n */\nexport function serverCallsExperimental(queryClient: QueryClient): boolean {\n return queryClient.getQueryData<calls.CallsConfig>(callQueryKeys.config())?.experimental !== false\n}\n\n/**\n * A call started or ended (or changed): re-read it, and the activity of the thread that logs it\n * (its log card).\n */\nexport function invalidateCall(\n queryClient: QueryClient,\n message: { call_ext_id: string; log_conversation_ext_id?: string | null }\n): void {\n void queryClient.invalidateQueries({ queryKey: callQueryKeys.call(message.call_ext_id) })\n const thread = message.log_conversation_ext_id\n if (thread) {\n void queryClient.invalidateQueries({ queryKey: arbiQueryKeys.conversationActivity(thread) })\n }\n}\n"],
5
+ "mappings": "AAEA,SAAS,eAAe,qBAAqB;AAQtC,SAAS,wBAAwB,aAAmC;AACzE,SAAO,YAAY,aAAgC,cAAc,OAAO,CAAC,GAAG,iBAAiB;AAC/F;AAMO,SAAS,eACd,aACA,SACM;AACN,OAAK,YAAY,kBAAkB,EAAE,UAAU,cAAc,KAAK,QAAQ,WAAW,EAAE,CAAC;AACxF,QAAM,SAAS,QAAQ;AACvB,MAAI,QAAQ;AACV,SAAK,YAAY,kBAAkB,EAAE,UAAU,cAAc,qBAAqB,MAAM,EAAE,CAAC;AAAA,EAC7F;AACF;",
6
+ "names": []
7
+ }
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkHD5H2PPP_cjs = require('../../chunk-HD5H2PPP.cjs');
4
- require('../../chunk-5HDKL6XB.cjs');
5
- var chunk7LIMHY56_cjs = require('../../chunk-7LIMHY56.cjs');
3
+ var chunk5TRUFWKT_cjs = require('../../chunk-5TRUFWKT.cjs');
4
+ require('../../chunk-YMB6XUR2.cjs');
5
+ var chunkO32T7XRD_cjs = require('../../chunk-O32T7XRD.cjs');
6
6
  var chunkRLSBRZ6Z_cjs = require('../../chunk-RLSBRZ6Z.cjs');
7
7
  require('../../chunk-N73IMVFF.cjs');
8
8
  require('../../chunk-NDIKMOBJ.cjs');
@@ -120,11 +120,11 @@ function useCallTranscriber({
120
120
  const room = componentsReact.useRoomContext();
121
121
  const { localParticipant } = componentsReact.useLocalParticipant();
122
122
  const myIdentity = localParticipant.identity;
123
- const arbi = chunk7LIMHY56_cjs.useArbi();
123
+ const arbi = chunkO32T7XRD_cjs.useArbi();
124
124
  const queryClient = reactQuery.useQueryClient();
125
125
  const profile = arbi.isLoggedIn ? arbi.user.profile() : null;
126
- const myProfileName = profile && chunkHD5H2PPP_cjs.toProfileView(profile).fullName || null;
127
- const deploymentAvailable = chunkHD5H2PPP_cjs.useCallTranscriptionAvailable();
126
+ const myProfileName = profile && chunk5TRUFWKT_cjs.toProfileView(profile).fullName || null;
127
+ const deploymentAvailable = chunk5TRUFWKT_cjs.useCallTranscriptionAvailable();
128
128
  const available = deploymentAvailable && !!callKey;
129
129
  const [state, setState] = react.useState(null);
130
130
  const [creatorExtId, setCreatorExtId] = react.useState(null);
@@ -167,7 +167,7 @@ function useCallTranscriber({
167
167
  };
168
168
  }, [available, callExtId]);
169
169
  react.useEffect(
170
- () => chunkHD5H2PPP_cjs.onCallEvent("call.transcription", (message) => {
170
+ () => chunk5TRUFWKT_cjs.onCallEvent("call.transcription", (message) => {
171
171
  if (message.call_ext_id === callExtId) applyState(message);
172
172
  }),
173
173
  [callExtId, applyState]
@@ -183,7 +183,7 @@ function useCallTranscriber({
183
183
  const persist = react.useCallback(
184
184
  (segment, speakerNeedsProxy) => {
185
185
  if (!callKey || persisted.current.has(segment.segmentId)) return;
186
- const role = chunkHD5H2PPP_cjs.transcriptPersistRole({
186
+ const role = chunk5TRUFWKT_cjs.transcriptPersistRole({
187
187
  myIdentity,
188
188
  canPost: canPost && (segment.speakerIdentity !== myIdentity || selfPosts.current),
189
189
  hasCallKey: true,
@@ -192,7 +192,7 @@ function useCallTranscriber({
192
192
  });
193
193
  if (!role) return;
194
194
  persisted.current.add(segment.segmentId);
195
- chunkHD5H2PPP_cjs.persistTranscriptSegment(arbi, queryClient, callExtId, callKey, segment).catch(
195
+ chunk5TRUFWKT_cjs.persistTranscriptSegment(arbi, queryClient, callExtId, callKey, segment).catch(
196
196
  (err) => {
197
197
  persisted.current.delete(segment.segmentId);
198
198
  if (role === "own" && err?.status === 403) {
@@ -212,7 +212,7 @@ function useCallTranscriber({
212
212
  );
213
213
  react.useEffect(() => {
214
214
  const onData = (payload, participant, _kind, topic, _encryption, participantIdentity) => {
215
- if (topic === chunkHD5H2PPP_cjs.CALL_TRANSCRIPTION_TOPIC) {
215
+ if (topic === chunk5TRUFWKT_cjs.CALL_TRANSCRIPTION_TOPIC) {
216
216
  if (participant || participantIdentity) return;
217
217
  try {
218
218
  const next = browser.calls.transcriptionStateFrom(JSON.parse(new TextDecoder().decode(payload)));
@@ -221,10 +221,10 @@ function useCallTranscriber({
221
221
  }
222
222
  return;
223
223
  }
224
- if (topic !== chunkHD5H2PPP_cjs.CALL_CAPTION_TOPIC || !callKey) return;
224
+ if (topic !== chunk5TRUFWKT_cjs.CALL_CAPTION_TOPIC || !callKey) return;
225
225
  const identity = participant?.identity ?? participantIdentity;
226
226
  if (!identity || identity === myIdentity) return;
227
- void chunkHD5H2PPP_cjs.decodeCaptionPacket(payload, callKey).then((packet) => {
227
+ void chunk5TRUFWKT_cjs.decodeCaptionPacket(payload, callKey).then((packet) => {
228
228
  if (!packet || packet.identity !== identity) return;
229
229
  const name = participant?.name || packet.name || identity;
230
230
  const t = Math.min(packet.t, Date.now());
@@ -264,7 +264,7 @@ function useCallTranscriber({
264
264
  })) {
265
265
  return;
266
266
  }
267
- const segmentId = chunkHD5H2PPP_cjs.newSegmentId();
267
+ const segmentId = chunk5TRUFWKT_cjs.newSegmentId();
268
268
  const startedAt = new Date(segment.startedAt).toISOString();
269
269
  let text;
270
270
  try {
@@ -298,7 +298,7 @@ function useCallTranscriber({
298
298
  });
299
299
  try {
300
300
  await localParticipant.publishData(
301
- await chunkHD5H2PPP_cjs.encodeCaptionPacket(
301
+ await chunk5TRUFWKT_cjs.encodeCaptionPacket(
302
302
  {
303
303
  v: 1,
304
304
  segment_id: segmentId,
@@ -310,7 +310,7 @@ function useCallTranscriber({
310
310
  },
311
311
  callKey
312
312
  ),
313
- { reliable: true, topic: chunkHD5H2PPP_cjs.CALL_CAPTION_TOPIC }
313
+ { reliable: true, topic: chunk5TRUFWKT_cjs.CALL_CAPTION_TOPIC }
314
314
  );
315
315
  } catch (err) {
316
316
  console.warn("[calls] could not broadcast a caption", err);
@@ -391,7 +391,7 @@ function useCallRecorder({
391
391
  isCreator,
392
392
  linkVersion = null
393
393
  }) {
394
- const arbi = chunk7LIMHY56_cjs.useArbi();
394
+ const arbi = chunkO32T7XRD_cjs.useArbi();
395
395
  const queryClient = reactQuery.useQueryClient();
396
396
  const room = componentsReact.useRoomContext();
397
397
  const { localParticipant } = componentsReact.useLocalParticipant();
@@ -425,14 +425,14 @@ function useCallRecorder({
425
425
  };
426
426
  }, [callExtId]);
427
427
  react.useEffect(
428
- () => chunkHD5H2PPP_cjs.onCallEvent("call.recording", (message) => {
428
+ () => chunk5TRUFWKT_cjs.onCallEvent("call.recording", (message) => {
429
429
  if (message.call_ext_id === callExtId) applyState(message);
430
430
  }),
431
431
  [callExtId, applyState]
432
432
  );
433
433
  react.useEffect(() => {
434
434
  const onData = (payload, participant, _kind, topic, _encryption, participantIdentity) => {
435
- if (topic !== chunkHD5H2PPP_cjs.CALL_RECORDING_TOPIC) return;
435
+ if (topic !== chunk5TRUFWKT_cjs.CALL_RECORDING_TOPIC) return;
436
436
  if (participant || participantIdentity) return;
437
437
  try {
438
438
  const next = browser.calls.recordingStateFrom(JSON.parse(new TextDecoder().decode(payload)));
@@ -453,7 +453,7 @@ function useCallRecorder({
453
453
  try {
454
454
  const row = call ?? await arbi.calls.get(callExtId);
455
455
  if (!row.workspace_locked && !row.chat_ext_id && callKey) {
456
- const ref = await chunkHD5H2PPP_cjs.ensureMeetingChat(arbi, queryClient, callExtId, callKey);
456
+ const ref = await chunk5TRUFWKT_cjs.ensureMeetingChat(arbi, queryClient, callExtId, callKey);
457
457
  if (ref.kind === "chat") setCall({ ...row, chat_ext_id: ref.chatExtId });
458
458
  }
459
459
  const answer = await arbi.calls.recording.start(callExtId, mode);
@@ -551,11 +551,11 @@ function useCallRecorder({
551
551
  }
552
552
  function useTrackUploader(recording, callKey, kind, mimeType) {
553
553
  const { recordingExtId, call, startedAt, shouldCapture, markStopped, linkVersion } = recording;
554
- const arbi = chunk7LIMHY56_cjs.useArbi();
554
+ const arbi = chunkO32T7XRD_cjs.useArbi();
555
555
  const queryClient = reactQuery.useQueryClient();
556
556
  return react.useMemo(() => {
557
557
  if (!shouldCapture || !recordingExtId || !call) return null;
558
- return chunkHD5H2PPP_cjs.trackUploaderFor({
558
+ return chunk5TRUFWKT_cjs.trackUploaderFor({
559
559
  arbi,
560
560
  callExtId: call.external_id,
561
561
  recordingExtId,
@@ -563,7 +563,7 @@ function useTrackUploader(recording, callKey, kind, mimeType) {
563
563
  mimeType,
564
564
  recordingStartedAt: startedAt,
565
565
  linkVersion,
566
- conversationKey: () => chunkHD5H2PPP_cjs.conversationKeyForCall(arbi, queryClient, call, { callKey }),
566
+ conversationKey: () => chunk5TRUFWKT_cjs.conversationKeyForCall(arbi, queryClient, call, { callKey }),
567
567
  // The server stopped the recording at the quota (its state event says so too).
568
568
  onStopped: () => markStopped()
569
569
  });
@@ -591,9 +591,9 @@ function useInCallChat({
591
591
  const room = componentsReact.useRoomContext();
592
592
  const { localParticipant } = componentsReact.useLocalParticipant();
593
593
  const myIdentity = localParticipant.identity;
594
- const arbi = chunk7LIMHY56_cjs.useArbi();
594
+ const arbi = chunkO32T7XRD_cjs.useArbi();
595
595
  const queryClient = reactQuery.useQueryClient();
596
- const openMeetingChat = chunk7LIMHY56_cjs.useArbiHost().calls?.openMeetingChat;
596
+ const openMeetingChat = chunkO32T7XRD_cjs.useArbiHost().calls?.openMeetingChat;
597
597
  const signedIn = arbi.isLoggedIn;
598
598
  const persists = !!callKey && signedIn && !readOnly && persist;
599
599
  const [live, setLive] = react.useState([]);
@@ -612,10 +612,10 @@ function useInCallChat({
612
612
  react.useEffect(() => {
613
613
  if (!callKey) return;
614
614
  const onData = (payload, participant, _kind, topic, _encryption, participantIdentity) => {
615
- if (topic !== chunkHD5H2PPP_cjs.CALL_CHAT_TOPIC) return;
615
+ if (topic !== chunk5TRUFWKT_cjs.CALL_CHAT_TOPIC) return;
616
616
  const identity = participant?.identity ?? participantIdentity;
617
617
  if (!identity || identity === myIdentity) return;
618
- void chunkHD5H2PPP_cjs.decodeCallChatPacket(payload, callKey).then((packet) => {
618
+ void chunk5TRUFWKT_cjs.decodeCallChatPacket(payload, callKey).then((packet) => {
619
619
  if (!packet) return;
620
620
  const key = `${identity}:${packet.id}`;
621
621
  if (seen.current.has(key)) return;
@@ -645,7 +645,7 @@ function useInCallChat({
645
645
  if (!open || !canRead || historyRequested.current) return;
646
646
  historyRequested.current = true;
647
647
  setHistoryLoading(true);
648
- chunkHD5H2PPP_cjs.loadMeetingHistory(arbi, queryClient, callExtId).then((result) => {
648
+ chunk5TRUFWKT_cjs.loadMeetingHistory(arbi, queryClient, callExtId).then((result) => {
649
649
  if (!result) return;
650
650
  setMeetingChat(result.ref);
651
651
  setHistory(result.messages);
@@ -656,13 +656,13 @@ function useInCallChat({
656
656
  }, [open, canRead, callExtId]);
657
657
  const send = react.useCallback(
658
658
  async (raw) => {
659
- const text = raw.trim().slice(0, chunkHD5H2PPP_cjs.CALL_CHAT_MAX_CHARS);
659
+ const text = raw.trim().slice(0, chunk5TRUFWKT_cjs.CALL_CHAT_MAX_CHARS);
660
660
  if (!text || !callKey || readOnly) return;
661
- const id = chunkHD5H2PPP_cjs.newPacketId();
661
+ const id = chunk5TRUFWKT_cjs.newPacketId();
662
662
  const at = Date.now();
663
663
  await localParticipant.publishData(
664
- await chunkHD5H2PPP_cjs.encodeCallChatPacket({ v: 1, id, text, at }, callKey),
665
- { reliable: true, topic: chunkHD5H2PPP_cjs.CALL_CHAT_TOPIC }
664
+ await chunk5TRUFWKT_cjs.encodeCallChatPacket({ v: 1, id, text, at }, callKey),
665
+ { reliable: true, topic: chunk5TRUFWKT_cjs.CALL_CHAT_TOPIC }
666
666
  );
667
667
  setLive((prev) => [
668
668
  ...prev,
@@ -681,7 +681,7 @@ function useInCallChat({
681
681
  (prev) => prev.map((l) => l.id === id && l.senderIdentity === myIdentity ? { ...l, status } : l)
682
682
  );
683
683
  try {
684
- setMeetingChat(await chunkHD5H2PPP_cjs.persistMeetingMessage(arbi, queryClient, callExtId, callKey, text));
684
+ setMeetingChat(await chunk5TRUFWKT_cjs.persistMeetingMessage(arbi, queryClient, callExtId, callKey, text));
685
685
  mark("saved");
686
686
  } catch (err) {
687
687
  console.warn("[calls] could not keep the message in the meeting chat", err);
@@ -693,7 +693,7 @@ function useInCallChat({
693
693
  const openMeeting = react.useCallback(async () => {
694
694
  if (!callKey) return;
695
695
  try {
696
- const ref = meetingChat ?? await chunkHD5H2PPP_cjs.ensureMeetingChat(arbi, queryClient, callExtId, callKey);
696
+ const ref = meetingChat ?? await chunk5TRUFWKT_cjs.ensureMeetingChat(arbi, queryClient, callExtId, callKey);
697
697
  setMeetingChat(ref);
698
698
  openMeetingChat?.(ref);
699
699
  } catch (err) {
@@ -701,7 +701,7 @@ function useInCallChat({
701
701
  }
702
702
  }, [callExtId, callKey, meetingChat]);
703
703
  const lines = react.useMemo(
704
- () => chunkHD5H2PPP_cjs.mergeChatLines(history, live, {
704
+ () => chunk5TRUFWKT_cjs.mergeChatLines(history, live, {
705
705
  myIdentity,
706
706
  nameOf: (identity) => identity === myIdentity ? localParticipant.name || "You" : room.remoteParticipants.get(identity)?.name || null
707
707
  }),
@@ -733,7 +733,7 @@ function useWebinar({
733
733
  linkVersion = null,
734
734
  callKey
735
735
  }) {
736
- const arbi = chunk7LIMHY56_cjs.useArbi();
736
+ const arbi = chunkO32T7XRD_cjs.useArbi();
737
737
  const webinarApi = react.useCallback(() => arbi.calls.webinar, [arbi]);
738
738
  const enabled = !!roleHint;
739
739
  const room = componentsReact.useRoomContext();
@@ -760,7 +760,7 @@ function useWebinar({
760
760
  const n = ++questionsRead.current;
761
761
  try {
762
762
  const rows = await webinarApi().questions.list(callExtId, linkVersion);
763
- const opened = await Promise.all(rows.map((q) => chunkHD5H2PPP_cjs.openQuestion(q, callKey)));
763
+ const opened = await Promise.all(rows.map((q) => chunk5TRUFWKT_cjs.openQuestion(q, callKey)));
764
764
  if (n === questionsRead.current) setQuestions(opened);
765
765
  } catch (err) {
766
766
  console.warn("[calls] could not load the questions", err);
@@ -772,7 +772,7 @@ function useWebinar({
772
772
  }, [refresh, refreshQuestions]);
773
773
  react.useEffect(() => {
774
774
  if (!enabled) return;
775
- return chunkHD5H2PPP_cjs.onCallEvent("call.webinar", (m) => {
775
+ return chunk5TRUFWKT_cjs.onCallEvent("call.webinar", (m) => {
776
776
  if (m.call_ext_id !== callExtId) return;
777
777
  setState((s) => s ? { ...s, live: m.live, chat: m.chat } : s);
778
778
  });
@@ -781,8 +781,8 @@ function useWebinar({
781
781
  react.useEffect(() => {
782
782
  if (!enabled) return;
783
783
  const onData = (payload, participant, _kind, topic, _encryption, participantIdentity) => {
784
- if (topic !== chunkHD5H2PPP_cjs.CALL_WEBINAR_TOPIC) return;
785
- const packet = chunkHD5H2PPP_cjs.parseWebinarPacket(payload, !!(participant || participantIdentity));
784
+ if (topic !== chunk5TRUFWKT_cjs.CALL_WEBINAR_TOPIC) return;
785
+ const packet = chunk5TRUFWKT_cjs.parseWebinarPacket(payload, !!(participant || participantIdentity));
786
786
  if (!packet) return;
787
787
  switch (packet.type) {
788
788
  case "state":
@@ -803,7 +803,7 @@ function useWebinar({
803
803
  return;
804
804
  case "demoted":
805
805
  setStageCheck(false);
806
- chunkHD5H2PPP_cjs.markRejoining(callExtId);
806
+ chunk5TRUFWKT_cjs.markRejoining(callExtId);
807
807
  if (fallback.current) clearTimeout(fallback.current);
808
808
  fallback.current = setTimeout(() => void room.disconnect(), DEMOTE_REJOIN_FALLBACK_MS);
809
809
  return;
@@ -830,12 +830,12 @@ function useWebinar({
830
830
  [callExtId, linkVersion]
831
831
  );
832
832
  const stepDown = react.useCallback(async () => {
833
- chunkHD5H2PPP_cjs.markRejoining(callExtId);
833
+ chunk5TRUFWKT_cjs.markRejoining(callExtId);
834
834
  setStageCheck(false);
835
835
  try {
836
836
  await webinarApi().demote(callExtId, myIdentity, linkVersion);
837
837
  } catch (err) {
838
- chunkHD5H2PPP_cjs.markRejoining(callExtId, false);
838
+ chunk5TRUFWKT_cjs.markRejoining(callExtId, false);
839
839
  failed("leave the stage")(err);
840
840
  }
841
841
  }, [callExtId, myIdentity, linkVersion]);
@@ -895,7 +895,7 @@ function useWebinar({
895
895
  if (!callKey) throw new Error("This call has no key.");
896
896
  await webinarApi().questions.ask(
897
897
  callExtId,
898
- await chunkHD5H2PPP_cjs.sealQuestionText(text, callKey),
898
+ await chunk5TRUFWKT_cjs.sealQuestionText(text, callKey),
899
899
  linkVersion
900
900
  );
901
901
  }, "ask the question"),
@@ -909,7 +909,7 @@ function useWebinar({
909
909
  await webinarApi().questions.update(
910
910
  callExtId,
911
911
  id,
912
- { answer: await chunkHD5H2PPP_cjs.sealQuestionText(text, callKey) },
912
+ { answer: await chunk5TRUFWKT_cjs.sealQuestionText(text, callKey) },
913
913
  linkVersion
914
914
  );
915
915
  }, "answer the question"),
@@ -939,15 +939,15 @@ function useWebinar({
939
939
  function useHostMuteNotice(callExtId) {
940
940
  const room = componentsReact.useRoomContext();
941
941
  react.useEffect(() => {
942
- const notifyMuted = chunkHD5H2PPP_cjs.createMutedNotifier((text) => chunkRLSBRZ6Z_cjs.notify.info(text));
942
+ const notifyMuted = chunk5TRUFWKT_cjs.createMutedNotifier((text) => chunkRLSBRZ6Z_cjs.notify.info(text));
943
943
  const onData = (payload, participant, _kind, topic, _encryption, participantIdentity) => {
944
- if (topic !== chunkHD5H2PPP_cjs.CALL_MODERATION_TOPIC) return;
944
+ if (topic !== chunk5TRUFWKT_cjs.CALL_MODERATION_TOPIC) return;
945
945
  if (participant || participantIdentity) return;
946
- const notice = chunkHD5H2PPP_cjs.mutedNoticeFromPacket(payload);
946
+ const notice = chunk5TRUFWKT_cjs.mutedNoticeFromPacket(payload);
947
947
  if (notice) notifyMuted(notice);
948
948
  };
949
949
  room.on(livekitClient.RoomEvent.DataReceived, onData);
950
- const offWs = chunkHD5H2PPP_cjs.onCallEvent("call.muted", (message) => {
950
+ const offWs = chunk5TRUFWKT_cjs.onCallEvent("call.muted", (message) => {
951
951
  if (message.callExtId === callExtId) notifyMuted(message);
952
952
  });
953
953
  return () => {