@dxos/plugin-thread 0.8.4-main.70d3990 → 0.8.4-main.74a063c4e0

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 (459) hide show
  1. package/dist/lib/browser/add-message-MJDIN4K4.mjs +97 -0
  2. package/dist/lib/browser/add-message-MJDIN4K4.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +37 -0
  4. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-2QNKWX4H.mjs +259 -0
  6. package/dist/lib/browser/chunk-2QNKWX4H.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-7T7J6ZR6.mjs +61 -0
  8. package/dist/lib/browser/chunk-7T7J6ZR6.mjs.map +7 -0
  9. package/dist/lib/browser/create-N2ZVTONJ.mjs +55 -0
  10. package/dist/lib/browser/create-N2ZVTONJ.mjs.map +7 -0
  11. package/dist/lib/browser/create-channel-Y4H3535D.mjs +21 -0
  12. package/dist/lib/browser/create-channel-Y4H3535D.mjs.map +7 -0
  13. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs +28 -0
  14. package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs.map +7 -0
  15. package/dist/lib/browser/create-proposals-VTOSWUOX.mjs +57 -0
  16. package/dist/lib/browser/create-proposals-VTOSWUOX.mjs.map +7 -0
  17. package/dist/lib/browser/delete-QZZE655Y.mjs +59 -0
  18. package/dist/lib/browser/delete-QZZE655Y.mjs.map +7 -0
  19. package/dist/lib/browser/delete-message-JTBPACDE.mjs +64 -0
  20. package/dist/lib/browser/delete-message-JTBPACDE.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +2245 -221
  22. package/dist/lib/browser/index.mjs.map +4 -4
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/on-create-space-2UGS234J.mjs +25 -0
  25. package/dist/lib/browser/on-create-space-2UGS234J.mjs.map +7 -0
  26. package/dist/lib/browser/operations/index.mjs +14 -0
  27. package/dist/lib/browser/operations/index.mjs.map +7 -0
  28. package/dist/lib/browser/restore-KKQHFLYO.mjs +33 -0
  29. package/dist/lib/browser/restore-KKQHFLYO.mjs.map +7 -0
  30. package/dist/lib/browser/restore-message-YN4BJQIZ.mjs +42 -0
  31. package/dist/lib/browser/restore-message-YN4BJQIZ.mjs.map +7 -0
  32. package/dist/lib/browser/select-VBJ3MBLN.mjs +26 -0
  33. package/dist/lib/browser/select-VBJ3MBLN.mjs.map +7 -0
  34. package/dist/lib/browser/toggle-resolved-OX7UEZG5.mjs +45 -0
  35. package/dist/lib/browser/toggle-resolved-OX7UEZG5.mjs.map +7 -0
  36. package/dist/lib/browser/types/index.mjs +5 -6
  37. package/dist/lib/node-esm/add-message-X6IRTANN.mjs +98 -0
  38. package/dist/lib/node-esm/add-message-X6IRTANN.mjs.map +7 -0
  39. package/dist/lib/node-esm/blueprints/index.mjs +38 -0
  40. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  41. package/dist/lib/node-esm/chunk-I6LAZYVU.mjs +260 -0
  42. package/dist/lib/node-esm/chunk-I6LAZYVU.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs +62 -0
  44. package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs.map +7 -0
  45. package/dist/lib/node-esm/create-A6XQZR7M.mjs +56 -0
  46. package/dist/lib/node-esm/create-A6XQZR7M.mjs.map +7 -0
  47. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs +22 -0
  48. package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs.map +7 -0
  49. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs +29 -0
  50. package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs +58 -0
  52. package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs.map +7 -0
  53. package/dist/lib/node-esm/delete-3RAWD5GG.mjs +60 -0
  54. package/dist/lib/node-esm/delete-3RAWD5GG.mjs.map +7 -0
  55. package/dist/lib/node-esm/delete-message-QQHNJBHY.mjs +65 -0
  56. package/dist/lib/node-esm/delete-message-QQHNJBHY.mjs.map +7 -0
  57. package/dist/lib/node-esm/index.mjs +2245 -221
  58. package/dist/lib/node-esm/index.mjs.map +4 -4
  59. package/dist/lib/node-esm/meta.json +1 -1
  60. package/dist/lib/node-esm/on-create-space-ZURB6UKR.mjs +26 -0
  61. package/dist/lib/node-esm/on-create-space-ZURB6UKR.mjs.map +7 -0
  62. package/dist/lib/node-esm/operations/index.mjs +15 -0
  63. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  64. package/dist/lib/node-esm/restore-PDYEKDE3.mjs +34 -0
  65. package/dist/lib/node-esm/restore-PDYEKDE3.mjs.map +7 -0
  66. package/dist/lib/node-esm/restore-message-OB32YYKF.mjs +43 -0
  67. package/dist/lib/node-esm/restore-message-OB32YYKF.mjs.map +7 -0
  68. package/dist/lib/node-esm/select-6KETLVWY.mjs +27 -0
  69. package/dist/lib/node-esm/select-6KETLVWY.mjs.map +7 -0
  70. package/dist/lib/node-esm/toggle-resolved-V74EBRQZ.mjs +46 -0
  71. package/dist/lib/node-esm/toggle-resolved-V74EBRQZ.mjs.map +7 -0
  72. package/dist/lib/node-esm/types/index.mjs +5 -6
  73. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  74. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  75. package/dist/types/src/blueprints/index.d.ts +2 -0
  76. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  77. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  78. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  79. package/dist/types/src/calls/call-manager.d.ts +40 -30
  80. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  81. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  82. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  83. package/dist/types/src/calls/media-manager.d.ts +1 -1
  84. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  85. package/dist/types/src/calls/util/calls-service.d.ts +1 -1
  86. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  87. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  88. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  89. package/dist/types/src/calls-service.stories.d.ts +2 -2
  90. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  94. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/call-manager.d.ts +3 -2
  96. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/index.d.ts +13 -15
  98. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  100. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  102. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  104. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  106. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/settings.d.ts +4 -2
  108. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/state.d.ts +5 -5
  110. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  112. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  113. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  114. package/dist/types/src/components/Call/Toolbar.d.ts +1 -1
  115. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  116. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  117. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  118. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  119. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  120. package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
  121. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  122. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  123. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  124. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  125. package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
  126. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  127. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  129. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  130. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  131. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  132. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  133. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  134. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  135. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +142 -144
  136. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  138. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  139. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  140. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  141. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  142. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  143. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  144. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  145. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  146. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  147. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  148. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  149. package/dist/types/src/components/index.d.ts +4 -9
  150. package/dist/types/src/components/index.d.ts.map +1 -1
  151. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  152. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  153. package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -0
  154. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  155. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  156. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  157. package/dist/types/src/containers/CallSidebar/index.d.ts +2 -0
  158. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  159. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  160. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  161. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  162. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  163. package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
  164. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  165. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +8 -6
  166. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  167. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  168. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  169. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  170. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  171. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  172. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  173. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  174. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  175. package/dist/types/src/containers/index.d.ts +7 -0
  176. package/dist/types/src/containers/index.d.ts.map +1 -0
  177. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  178. package/dist/types/src/extensions/command.d.ts.map +1 -0
  179. package/dist/types/src/extensions/index.d.ts +1 -0
  180. package/dist/types/src/extensions/index.d.ts.map +1 -1
  181. package/dist/types/src/extensions/threads.d.ts +8 -3
  182. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  183. package/dist/types/src/hooks/analytics.d.ts +1 -2
  184. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  185. package/dist/types/src/index.d.ts +1 -1
  186. package/dist/types/src/index.d.ts.map +1 -1
  187. package/dist/types/src/meta.d.ts +2 -2
  188. package/dist/types/src/meta.d.ts.map +1 -1
  189. package/dist/types/src/operations/add-message.d.ts +5 -0
  190. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  191. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  192. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  193. package/dist/types/src/operations/create-channel.d.ts +5 -0
  194. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  195. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  196. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  197. package/dist/types/src/operations/create.d.ts +5 -0
  198. package/dist/types/src/operations/create.d.ts.map +1 -0
  199. package/dist/types/src/operations/definitions.d.ts +2789 -0
  200. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  201. package/dist/types/src/operations/delete-message.d.ts +5 -0
  202. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  203. package/dist/types/src/operations/delete.d.ts +5 -0
  204. package/dist/types/src/operations/delete.d.ts.map +1 -0
  205. package/dist/types/src/operations/index.d.ts +4 -0
  206. package/dist/types/src/operations/index.d.ts.map +1 -0
  207. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  208. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  209. package/dist/types/src/operations/restore-message.d.ts +5 -0
  210. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  211. package/dist/types/src/operations/restore.d.ts +5 -0
  212. package/dist/types/src/operations/restore.d.ts.map +1 -0
  213. package/dist/types/src/operations/select.d.ts +5 -0
  214. package/dist/types/src/operations/select.d.ts.map +1 -0
  215. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  216. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  217. package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
  218. package/dist/types/src/testing/data.d.ts.map +1 -0
  219. package/dist/types/src/testing/stories.d.ts +2 -1
  220. package/dist/types/src/testing/stories.d.ts.map +1 -1
  221. package/dist/types/src/translations.d.ts +140 -142
  222. package/dist/types/src/translations.d.ts.map +1 -1
  223. package/dist/types/src/types/Channel.d.ts +707 -12
  224. package/dist/types/src/types/Channel.d.ts.map +1 -1
  225. package/dist/types/src/types/Settings.d.ts +4 -0
  226. package/dist/types/src/types/Settings.d.ts.map +1 -0
  227. package/dist/types/src/types/capabilities.d.ts +23 -0
  228. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  229. package/dist/types/src/types/index.d.ts +1 -0
  230. package/dist/types/src/types/index.d.ts.map +1 -1
  231. package/dist/types/src/types/types.d.ts +1 -340
  232. package/dist/types/src/types/types.d.ts.map +1 -1
  233. package/dist/types/src/util.d.ts.map +1 -1
  234. package/dist/types/tsconfig.tsbuildinfo +1 -1
  235. package/package.json +108 -69
  236. package/src/ThreadPlugin.tsx +77 -109
  237. package/src/blueprints/index.ts +5 -0
  238. package/src/blueprints/thread-blueprint.ts +37 -0
  239. package/src/calls/call-manager.ts +76 -52
  240. package/src/calls/call-swarm-synchronizer.ts +2 -2
  241. package/src/calls/media-manager.ts +1 -1
  242. package/src/calls/util/calls-service.ts +1 -2
  243. package/src/calls/util/task-scheduling.ts +4 -4
  244. package/src/calls-service.stories.tsx +10 -9
  245. package/src/capabilities/app-graph-builder.ts +171 -172
  246. package/src/capabilities/blueprint-definition.ts +9 -30
  247. package/src/capabilities/call-manager.ts +19 -12
  248. package/src/capabilities/index.ts +15 -13
  249. package/src/capabilities/markdown.ts +50 -39
  250. package/src/capabilities/operation-handler.ts +16 -0
  251. package/src/capabilities/react-root.tsx +12 -9
  252. package/src/capabilities/react-surface.tsx +78 -79
  253. package/src/capabilities/settings.ts +28 -12
  254. package/src/capabilities/state.ts +14 -18
  255. package/src/capabilities/undo-mappings.ts +46 -0
  256. package/src/components/Call/Call.tsx +11 -7
  257. package/src/components/Call/Toolbar.tsx +55 -38
  258. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +93 -0
  259. package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +15 -14
  260. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +28 -29
  261. package/src/components/CommentsPanel/index.ts +6 -0
  262. package/src/components/Lobby/Lobby.tsx +15 -12
  263. package/src/components/Media/AudioStream.tsx +2 -2
  264. package/src/components/Media/VideoObject.stories.tsx +6 -7
  265. package/src/components/Media/VideoObject.tsx +2 -2
  266. package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +74 -39
  267. package/src/components/MessagePanel/index.ts +5 -0
  268. package/src/components/Participant/Participant.tsx +33 -19
  269. package/src/components/Participant/ParticipantGrid.tsx +0 -1
  270. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +10 -11
  271. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +9 -9
  272. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +10 -10
  273. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +7 -8
  274. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +6 -6
  275. package/src/components/ResponsiveGrid/index.ts +1 -1
  276. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +31 -0
  277. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  278. package/src/components/ThreadSettings/index.ts +5 -0
  279. package/src/components/index.ts +4 -11
  280. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +8 -7
  281. package/src/containers/CallDebugPanel/index.ts +5 -0
  282. package/src/containers/CallSidebar/CallSidebar.tsx +18 -0
  283. package/src/containers/CallSidebar/index.ts +5 -0
  284. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +61 -0
  285. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +90 -72
  286. package/src/containers/ChannelContainer/index.ts +5 -0
  287. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +22 -20
  288. package/src/containers/ChatContainer/ChatContainer.tsx +131 -0
  289. package/src/containers/ChatContainer/index.ts +8 -0
  290. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +217 -0
  291. package/src/containers/ThreadCompanion/index.ts +5 -0
  292. package/src/containers/index.ts +11 -0
  293. package/src/{components/command-extension.ts → extensions/command.ts} +3 -3
  294. package/src/extensions/index.ts +1 -0
  295. package/src/extensions/threads.ts +76 -41
  296. package/src/hooks/analytics.ts +24 -20
  297. package/src/index.ts +1 -1
  298. package/src/meta.ts +4 -4
  299. package/src/operations/add-message.ts +81 -0
  300. package/src/operations/create-channel-thread.ts +26 -0
  301. package/src/operations/create-channel.ts +20 -0
  302. package/src/operations/create-proposals.ts +49 -0
  303. package/src/operations/create.ts +48 -0
  304. package/src/operations/definitions.ts +177 -0
  305. package/src/operations/delete-message.ts +53 -0
  306. package/src/operations/delete.ts +63 -0
  307. package/src/operations/index.ts +22 -0
  308. package/src/operations/on-create-space.ts +27 -0
  309. package/src/operations/restore-message.ts +38 -0
  310. package/src/operations/restore.ts +38 -0
  311. package/src/operations/select.ts +24 -0
  312. package/src/operations/toggle-resolved.ts +41 -0
  313. package/src/{components/testing.ts → testing/data.ts} +7 -7
  314. package/src/testing/stories.ts +17 -17
  315. package/src/translations.ts +72 -76
  316. package/src/types/Channel.ts +19 -8
  317. package/src/types/Settings.ts +10 -0
  318. package/src/types/capabilities.ts +36 -0
  319. package/src/types/index.ts +1 -0
  320. package/src/types/types.ts +3 -98
  321. package/src/util.ts +1 -1
  322. package/dist/lib/browser/ChannelContainer-L7MKV7DS.mjs +0 -17
  323. package/dist/lib/browser/ChannelContainer-L7MKV7DS.mjs.map +0 -7
  324. package/dist/lib/browser/ChatContainer-KPY4BAUE.mjs +0 -16
  325. package/dist/lib/browser/ChatContainer-KPY4BAUE.mjs.map +0 -7
  326. package/dist/lib/browser/app-graph-builder-TWJ2UCOZ.mjs +0 -171
  327. package/dist/lib/browser/app-graph-builder-TWJ2UCOZ.mjs.map +0 -7
  328. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +0 -101
  329. package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +0 -7
  330. package/dist/lib/browser/call-manager-4YFT4XA6.mjs +0 -25
  331. package/dist/lib/browser/call-manager-4YFT4XA6.mjs.map +0 -7
  332. package/dist/lib/browser/chunk-ALZKJOZK.mjs +0 -989
  333. package/dist/lib/browser/chunk-ALZKJOZK.mjs.map +0 -7
  334. package/dist/lib/browser/chunk-ANTFU4JB.mjs +0 -25
  335. package/dist/lib/browser/chunk-ANTFU4JB.mjs.map +0 -7
  336. package/dist/lib/browser/chunk-CFC7LEPD.mjs +0 -18
  337. package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +0 -7
  338. package/dist/lib/browser/chunk-CP7E2HRE.mjs +0 -31
  339. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  340. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  341. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  342. package/dist/lib/browser/chunk-JDJPMI7V.mjs +0 -143
  343. package/dist/lib/browser/chunk-JDJPMI7V.mjs.map +0 -7
  344. package/dist/lib/browser/chunk-KOBXMDCI.mjs +0 -182
  345. package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +0 -7
  346. package/dist/lib/browser/chunk-NPT5S6N4.mjs +0 -611
  347. package/dist/lib/browser/chunk-NPT5S6N4.mjs.map +0 -7
  348. package/dist/lib/browser/chunk-QM34EZQK.mjs +0 -20
  349. package/dist/lib/browser/chunk-QM34EZQK.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-TLOOZTRD.mjs +0 -377
  351. package/dist/lib/browser/chunk-TLOOZTRD.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs +0 -1793
  353. package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +0 -7
  354. package/dist/lib/browser/intent-resolver-G33FT3NO.mjs +0 -355
  355. package/dist/lib/browser/intent-resolver-G33FT3NO.mjs.map +0 -7
  356. package/dist/lib/browser/markdown-WFZFYJBQ.mjs +0 -172
  357. package/dist/lib/browser/markdown-WFZFYJBQ.mjs.map +0 -7
  358. package/dist/lib/browser/react-root-ED7PHA44.mjs +0 -29
  359. package/dist/lib/browser/react-root-ED7PHA44.mjs.map +0 -7
  360. package/dist/lib/browser/react-surface-AUQQSQQC.mjs +0 -111
  361. package/dist/lib/browser/react-surface-AUQQSQQC.mjs.map +0 -7
  362. package/dist/lib/browser/repair-JFJLEM2O.mjs +0 -35
  363. package/dist/lib/browser/repair-JFJLEM2O.mjs.map +0 -7
  364. package/dist/lib/browser/settings-E6IOLK46.mjs +0 -23
  365. package/dist/lib/browser/settings-E6IOLK46.mjs.map +0 -7
  366. package/dist/lib/browser/state-UYPLBGZJ.mjs +0 -35
  367. package/dist/lib/browser/state-UYPLBGZJ.mjs.map +0 -7
  368. package/dist/lib/node-esm/ChannelContainer-FYONOOZ6.mjs +0 -18
  369. package/dist/lib/node-esm/ChannelContainer-FYONOOZ6.mjs.map +0 -7
  370. package/dist/lib/node-esm/ChatContainer-TLQG23K7.mjs +0 -17
  371. package/dist/lib/node-esm/ChatContainer-TLQG23K7.mjs.map +0 -7
  372. package/dist/lib/node-esm/app-graph-builder-VD6I2V5H.mjs +0 -172
  373. package/dist/lib/node-esm/app-graph-builder-VD6I2V5H.mjs.map +0 -7
  374. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +0 -102
  375. package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +0 -7
  376. package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs +0 -26
  377. package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +0 -22
  379. package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs +0 -1794
  381. package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-AB42KYF3.mjs +0 -990
  383. package/dist/lib/node-esm/chunk-AB42KYF3.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  385. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-ATNY37UV.mjs +0 -27
  387. package/dist/lib/node-esm/chunk-ATNY37UV.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-E5HNHFYH.mjs +0 -378
  389. package/dist/lib/node-esm/chunk-E5HNHFYH.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-FF3QVPY4.mjs +0 -612
  391. package/dist/lib/node-esm/chunk-FF3QVPY4.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-P2M364TO.mjs +0 -144
  393. package/dist/lib/node-esm/chunk-P2M364TO.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs +0 -183
  395. package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +0 -19
  397. package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +0 -7
  398. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  399. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  400. package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs +0 -356
  401. package/dist/lib/node-esm/intent-resolver-4PX3WXQG.mjs.map +0 -7
  402. package/dist/lib/node-esm/markdown-CSR5MAPZ.mjs +0 -173
  403. package/dist/lib/node-esm/markdown-CSR5MAPZ.mjs.map +0 -7
  404. package/dist/lib/node-esm/react-root-DZN324JA.mjs +0 -30
  405. package/dist/lib/node-esm/react-root-DZN324JA.mjs.map +0 -7
  406. package/dist/lib/node-esm/react-surface-AMVESEF4.mjs +0 -112
  407. package/dist/lib/node-esm/react-surface-AMVESEF4.mjs.map +0 -7
  408. package/dist/lib/node-esm/repair-RMLR24YR.mjs +0 -36
  409. package/dist/lib/node-esm/repair-RMLR24YR.mjs.map +0 -7
  410. package/dist/lib/node-esm/settings-RGZHWDSO.mjs +0 -24
  411. package/dist/lib/node-esm/settings-RGZHWDSO.mjs.map +0 -7
  412. package/dist/lib/node-esm/state-XNWOLBNE.mjs +0 -36
  413. package/dist/lib/node-esm/state-XNWOLBNE.mjs.map +0 -7
  414. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  415. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  416. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  417. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  418. package/dist/types/src/capabilities/repair.d.ts +0 -4
  419. package/dist/types/src/capabilities/repair.d.ts.map +0 -1
  420. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  421. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  422. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  423. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  424. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -164
  425. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  426. package/dist/types/src/components/Chat.stories.d.ts +0 -164
  427. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  428. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  429. package/dist/types/src/components/Comments.stories.d.ts +0 -162
  430. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  431. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  432. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  433. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  434. package/dist/types/src/components/MessageContainer.d.ts +0 -16
  435. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  436. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  437. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -166
  438. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  439. package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
  440. package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
  441. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  442. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  443. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  444. package/dist/types/src/components/testing.d.ts.map +0 -1
  445. package/dist/types/src/functions/create-proposals.d.ts +0 -6
  446. package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
  447. package/dist/types/src/functions/index.d.ts +0 -2
  448. package/dist/types/src/functions/index.d.ts.map +0 -1
  449. package/src/capabilities/capabilities.ts +0 -33
  450. package/src/capabilities/intent-resolver.ts +0 -311
  451. package/src/capabilities/repair.ts +0 -40
  452. package/src/components/CallSidebar.tsx +0 -18
  453. package/src/components/ChannelContainer.stories.tsx +0 -59
  454. package/src/components/ChatContainer.tsx +0 -153
  455. package/src/components/Comments.stories.tsx +0 -90
  456. package/src/components/ThreadCompanion.tsx +0 -188
  457. package/src/components/ThreadSettings.tsx +0 -16
  458. package/src/functions/create-proposals.ts +0 -56
  459. package/src/functions/index.ts +0 -5
@@ -2,13 +2,12 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { computed } from '@preact/signals-core';
5
+ import { Atom, type Registry } from '@effect-atom/atom-react';
6
6
 
7
7
  import { Event, synchronized } from '@dxos/async';
8
8
  import { type Client } from '@dxos/client';
9
9
  import { Resource } from '@dxos/context';
10
10
  import { invariant } from '@dxos/invariant';
11
- import { live } from '@dxos/live-object';
12
11
  import { type Tracks } from '@dxos/protocols/proto/dxos/edge/calls';
13
12
  import { isNonNullable } from '@dxos/util';
14
13
 
@@ -31,84 +30,103 @@ export class CallManager extends Resource {
31
30
  public readonly left = new Event<string>();
32
31
 
33
32
  /**
34
- * Live object state. Is changed on internal events.
33
+ * Atom-based state. Updated via `_updateState()`.
35
34
  * CAUTION: Do not change directly.
36
35
  */
37
- private readonly _state = live<GlobalState>({
36
+ private readonly _stateAtom = Atom.make<GlobalState>({
38
37
  call: {},
39
38
  media: { pulledAudioTracks: {}, pulledVideoStreams: {} },
40
39
  });
41
40
 
42
- // TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
43
- private readonly _raisedHandSignal = computed(() => this._state.call.raisedHand ?? false);
44
- private readonly _speakingSignal = computed(() => this._state.call.speaking ?? false);
45
- private readonly _joinedSignal = computed(() => this._state.call.joined ?? false);
41
+ // Derived atoms for reactive subscriptions.
42
+ private readonly _roomIdAtom = Atom.make((get) => get(this._stateAtom).call.roomId);
43
+ private readonly _raisedHandAtom = Atom.make((get) => get(this._stateAtom).call.raisedHand ?? false);
44
+ private readonly _speakingAtom = Atom.make((get) => get(this._stateAtom).call.speaking ?? false);
45
+ private readonly _joinedAtom = Atom.make((get) => get(this._stateAtom).call.joined ?? false);
46
+ private readonly _selfAtom = Atom.make((get) => get(this._stateAtom).call.self ?? {});
47
+ private readonly _tracksAtom = Atom.make((get) => get(this._stateAtom).call.tracks ?? {});
48
+ private readonly _usersAtom = Atom.make((get) => get(this._stateAtom).call.users ?? []);
49
+ private readonly _mediaAtom = Atom.make((get) => get(this._stateAtom).media);
50
+ private readonly _audioTracksToPlayAtom = Atom.make((get) => {
51
+ const state = get(this._stateAtom);
52
+ return (state.call.users ?? [])
53
+ .map((user: UserState) => (user.tracks?.audioEnabled ? user.tracks?.audio : undefined))
54
+ .filter(isNonNullable)
55
+ .map((track: string) => state.media.pulledAudioTracks[track as EncodedTrackName]?.track)
56
+ .filter(isNonNullable);
57
+ });
58
+ private readonly _videoStreamAtomFamily = Atom.family<EncodedTrackName, Atom.Atom<MediaStream | undefined>>((name) =>
59
+ Atom.make((get) => get(this._stateAtom).media.pulledVideoStreams[name]?.stream),
60
+ );
61
+ private readonly _activityAtomFamily = Atom.family<string, Atom.Atom<ActivityState | undefined>>((key) =>
62
+ Atom.make((get) => get(this._stateAtom).call.activities?.[key]),
63
+ );
46
64
 
47
65
  private readonly _swarmSynchronizer: CallSwarmSynchronizer;
48
66
  private readonly _mediaManager: MediaManager;
49
67
 
50
- /** @reactive */
51
- get roomId(): string | undefined {
52
- return this._state.call.roomId;
68
+ //
69
+ // Derived atoms for reactive UI subscriptions.
70
+ //
71
+
72
+ /** Derived atom for roomId. */
73
+ get roomIdAtom(): Atom.Atom<string | undefined> {
74
+ return this._roomIdAtom;
53
75
  }
54
76
 
55
- /** @reactive */
56
- get raisedHand(): boolean {
57
- return this._raisedHandSignal.value;
77
+ /** Derived atom for raisedHand. */
78
+ get raisedHandAtom(): Atom.Atom<boolean> {
79
+ return this._raisedHandAtom;
58
80
  }
59
81
 
60
- /** @reactive */
61
- get speaking(): boolean {
62
- return this._speakingSignal.value;
82
+ /** Derived atom for speaking. */
83
+ get speakingAtom(): Atom.Atom<boolean> {
84
+ return this._speakingAtom;
63
85
  }
64
86
 
65
- /** @reactive */
66
- get joined(): boolean {
67
- return this._joinedSignal.value;
87
+ /** Derived atom for joined. */
88
+ get joinedAtom(): Atom.Atom<boolean> {
89
+ return this._joinedAtom;
68
90
  }
69
91
 
70
- /** @reactive */
71
- get self(): UserState {
72
- return this._state.call.self ?? {};
92
+ /** Derived atom for self. */
93
+ get selfAtom(): Atom.Atom<UserState> {
94
+ return this._selfAtom;
73
95
  }
74
96
 
75
- /** @reactive */
76
- get tracks(): Tracks {
77
- return this._state.call.tracks ?? {};
97
+ /** Derived atom for tracks. */
98
+ get tracksAtom(): Atom.Atom<Tracks> {
99
+ return this._tracksAtom;
78
100
  }
79
101
 
80
- /** @reactive */
81
- get users(): UserState[] {
82
- return this._state.call.users ?? [];
102
+ /** Derived atom for users. */
103
+ get usersAtom(): Atom.Atom<UserState[]> {
104
+ return this._usersAtom;
83
105
  }
84
106
 
85
- /** @reactive */
86
- get media() {
87
- return this._state.media;
107
+ /** Derived atom for media. */
108
+ get mediaAtom(): Atom.Atom<MediaState> {
109
+ return this._mediaAtom;
88
110
  }
89
111
 
90
- /** @reactive */
91
- get audioTracksToPlay(): MediaStreamTrack[] {
92
- return (this._state.call.users ?? [])
93
- .map((user) => (user.tracks?.audioEnabled ? user.tracks?.audio : undefined))
94
- .filter(isNonNullable)
95
- .map((track) => this._state.media.pulledAudioTracks[track as EncodedTrackName]?.track)
96
- .filter(isNonNullable);
112
+ /** Derived atom for audioTracksToPlay. */
113
+ get audioTracksToPlayAtom(): Atom.Atom<MediaStreamTrack[]> {
114
+ return this._audioTracksToPlayAtom;
97
115
  }
98
116
 
99
- /** @reactive */
100
- get state() {
101
- return this._state;
117
+ /** Returns the full state atom for reactive subscriptions. */
118
+ get stateAtom(): Atom.Atom<GlobalState> {
119
+ return this._stateAtom;
102
120
  }
103
121
 
104
- /** @reactive */
105
- getVideoStream(name?: EncodedTrackName): MediaStream | undefined {
106
- return name ? this._state.media.pulledVideoStreams[name]?.stream : undefined;
122
+ /** Returns a derived atom for a video stream by name. */
123
+ videoStreamAtom(name: EncodedTrackName): Atom.Atom<MediaStream | undefined> {
124
+ return this._videoStreamAtomFamily(name);
107
125
  }
108
126
 
109
- /** @reactive */
110
- getActivity(key: string): ActivityState | undefined {
111
- return this._state.call.activities?.[key];
127
+ /** Returns a derived atom for an activity by key. */
128
+ activityAtom(key: string): Atom.Atom<ActivityState | undefined> {
129
+ return this._activityAtomFamily(key);
112
130
  }
113
131
 
114
132
  setRoomId(roomId: string): void {
@@ -152,7 +170,10 @@ export class CallManager extends Resource {
152
170
  }
153
171
 
154
172
  // TODO(burdon): Can this be mocked?
155
- constructor(private readonly _client: Client) {
173
+ constructor(
174
+ private readonly _client: Client,
175
+ private readonly _registry: Registry.Registry,
176
+ ) {
156
177
  super();
157
178
  this._client.config.getOrThrow('runtime.services.edge.url');
158
179
  const networkService = this._client.services.services.NetworkService;
@@ -205,7 +226,8 @@ export class CallManager extends Resource {
205
226
  this._swarmSynchronizer.setJoined(false);
206
227
  await this._swarmSynchronizer.leave();
207
228
  await this._mediaManager.leave();
208
- this.roomId && this.left.emit(this.roomId);
229
+ const roomId = this._registry.get(this._roomIdAtom);
230
+ roomId && this.left.emit(roomId);
209
231
  }
210
232
 
211
233
  private _onCallStateUpdated(state: CallState): void {
@@ -240,7 +262,9 @@ export class CallManager extends Resource {
240
262
  * Only this method is allowed to change state.
241
263
  */
242
264
  private _updateState(): void {
243
- this._state.call = this._swarmSynchronizer._getState();
244
- this._state.media = this._mediaManager._getState();
265
+ this._registry.set(this._stateAtom, {
266
+ call: this._swarmSynchronizer._getState(),
267
+ media: this._mediaManager._getState(),
268
+ });
245
269
  }
246
270
  }
@@ -50,7 +50,7 @@ export type CallState = {
50
50
  tracks?: UserState['tracks'];
51
51
  };
52
52
 
53
- export type CallSwarmSynchronizerParams = { networkService: NetworkService };
53
+ export type CallSwarmSynchronizerProps = { networkService: NetworkService };
54
54
 
55
55
  /**
56
56
  * Period for peer to reconnect to the call swarm gracefully if connection was lost abruptly.
@@ -76,7 +76,7 @@ export class CallSwarmSynchronizer extends Resource {
76
76
 
77
77
  private _sendStateTask?: DeferredTask = undefined;
78
78
 
79
- constructor({ networkService }: CallSwarmSynchronizerParams) {
79
+ constructor({ networkService }: CallSwarmSynchronizerProps) {
80
80
  super();
81
81
  this._networkService = networkService;
82
82
  }
@@ -51,7 +51,7 @@ const MAX_WEB_CAM_FRAMERATE = 24;
51
51
  const MAX_WEB_CAM_BITRATE = 120_0000;
52
52
  const RETRY_INTERVAL = 100;
53
53
 
54
- export type MediaManagerParams = {
54
+ export type MediaManagerProps = {
55
55
  serviceConfig: CallsServiceConfig;
56
56
  };
57
57
 
@@ -14,7 +14,6 @@ import {
14
14
  type TrackObject,
15
15
  type TracksResponse,
16
16
  } from '../types';
17
-
18
17
  import { HistoryCache } from './history-cache';
19
18
  import { BulkRequestDispatcher, FIFOScheduler } from './task-scheduling';
20
19
 
@@ -27,7 +26,7 @@ export type Session = {
27
26
 
28
27
  export type CallsServiceConfig = {
29
28
  apiBase: string;
30
- apiExtraParams?: string;
29
+ apiExtraProps?: string;
31
30
  iceServers?: RTCIceServer[];
32
31
  };
33
32
 
@@ -27,8 +27,8 @@ export class FIFOScheduler {
27
27
  }
28
28
 
29
29
  // TODO(mykola): Reconcile with @dxos/async task scheduling.
30
- export class BulkRequestDispatcher<RequestEntryParams, BulkResponse> {
31
- #currentBatch: RequestEntryParams[];
30
+ export class BulkRequestDispatcher<RequestEntryProps, BulkResponse> {
31
+ #currentBatch: RequestEntryProps[];
32
32
  #currentBulkResponse: Promise<BulkResponse> | null;
33
33
  #batchSizeLimit: number;
34
34
 
@@ -43,8 +43,8 @@ export class BulkRequestDispatcher<RequestEntryParams, BulkResponse> {
43
43
  * At the event loop iteration end, the accumulated entries will be dispatched as a bulk request.
44
44
  */
45
45
  doBulkRequest(
46
- params: RequestEntryParams,
47
- bulkRequestFunc: (bulkCopy: RequestEntryParams[]) => Promise<BulkResponse>,
46
+ params: RequestEntryProps,
47
+ bulkRequestFunc: (bulkCopy: RequestEntryProps[]) => Promise<BulkResponse>,
48
48
  ): Promise<BulkResponse> {
49
49
  if (this.#currentBatch.length >= this.#batchSizeLimit) {
50
50
  // If it reaches the batch size limit, we make another bulk request.
@@ -12,13 +12,14 @@ import { log } from '@dxos/log';
12
12
  import { Config, useConfig } from '@dxos/react-client';
13
13
  import { withClientProvider } from '@dxos/react-client/testing';
14
14
  import { Button } from '@dxos/react-ui';
15
- import { withTheme } from '@dxos/react-ui/testing';
16
15
  import { Json } from '@dxos/react-ui-syntax-highlighter';
16
+ import { withTheme } from '@dxos/react-ui/testing';
17
17
 
18
18
  const testVideo = new URL('../testing/video.mp4', import.meta.url).href;
19
19
 
20
+ import { useBlackCanvasStreamTrack, useInaudibleAudioStreamTrack, useVideoStreamTrack } from '#hooks';
21
+
20
22
  import { CALLS_URL, CallsServicePeer, type TrackObject } from './calls';
21
- import { useBlackCanvasStreamTrack, useInaudibleAudioStreamTrack, useVideoStreamTrack } from './hooks';
22
23
 
23
24
  // TODO(burdon): THIS IS TOO COMPLEX FOR A TEST SETUP.
24
25
  const pushAndPullTrack = (mediaStreamTrack?: MediaStreamTrack) => {
@@ -130,9 +131,9 @@ const pushAndPullTrack = (mediaStreamTrack?: MediaStreamTrack) => {
130
131
  };
131
132
  };
132
133
 
133
- type StoryProps = { source: string };
134
+ type DefaultStoryProps = { source: string };
134
135
 
135
- const DefaultStory = ({ source }: StoryProps) => {
136
+ const DefaultStory = ({ source }: DefaultStoryProps) => {
136
137
  const pushVideoElement = useRef<HTMLVideoElement>(null);
137
138
  const pullVideoElement = useRef<HTMLVideoElement>(null);
138
139
  // Get video stream track.
@@ -166,16 +167,16 @@ const DefaultStory = ({ source }: StoryProps) => {
166
167
  Re-pull video
167
168
  </Button>
168
169
  </div>
169
- <Json data={metrics} />
170
+ <Json.Data data={metrics} />
170
171
  </div>
171
172
  );
172
173
  };
173
174
 
174
175
  const meta = {
175
- title: 'plugins/plugin-thread/calls-service',
176
+ title: 'plugins/plugin-thread/experimental/Calls',
176
177
  render: DefaultStory,
177
178
  decorators: [
178
- withTheme,
179
+ withTheme(),
179
180
  withClientProvider({
180
181
  config: new Config({
181
182
  runtime: {
@@ -208,7 +209,7 @@ export const InaudibleAudioStreamTrack = {
208
209
 
209
210
  return (
210
211
  <div className='flex flex-col gap-4 items-center'>
211
- <Json data={metrics} />
212
+ <Json.Data data={metrics} />
212
213
  <Button onClick={rePullTrack}>Re-pull audio</Button>
213
214
  </div>
214
215
  );
@@ -221,7 +222,7 @@ export const BlackVideoStreamTrack = {
221
222
  const { rePullTrack, metrics } = pushAndPullTrack(videoStreamTrack);
222
223
  return (
223
224
  <div className='flex flex-col gap-4 items-center'>
224
- <Json data={metrics} />
225
+ <Json.Data data={metrics} />
225
226
  <Button onClick={rePullTrack}>Re-pull audio</Button>
226
227
  </div>
227
228
  );