@dxos/plugin-thread 0.8.4-main.7996785055 → 0.8.4-main.8baae0fced

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 (656) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs +28 -0
  4. package/dist/lib/neutral/ChannelArticle-ACZD7YFT.mjs.map +7 -0
  5. package/dist/lib/neutral/ChannelChat-6YTD5HWL.mjs +10 -0
  6. package/dist/lib/{browser/ThreadCompanion-LHPNPABS.mjs → neutral/ThreadCompanion-NQWPS2H6.mjs} +22 -37
  7. package/dist/lib/neutral/ThreadCompanion-NQWPS2H6.mjs.map +7 -0
  8. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs +61 -0
  9. package/dist/lib/neutral/ThreadContainer-XYEPEOSD.mjs.map +7 -0
  10. package/dist/lib/neutral/ThreadPlugin.mjs +80 -0
  11. package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
  13. package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ThreadPlugin.workerd.mjs +24 -0
  15. package/dist/lib/neutral/ThreadPlugin.workerd.mjs.map +7 -0
  16. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
  17. package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
  18. package/dist/lib/{browser/add-message-O3INEWOI.mjs → neutral/add-message-FBIROBEZ.mjs} +15 -25
  19. package/dist/lib/neutral/add-message-FBIROBEZ.mjs.map +7 -0
  20. package/dist/lib/neutral/app-graph-builder-MJU3WYMY.mjs +120 -0
  21. package/dist/lib/neutral/app-graph-builder-MJU3WYMY.mjs.map +7 -0
  22. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs +40 -0
  23. package/dist/lib/neutral/append-channel-message-FTFAD3PK.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
  25. package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  27. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  28. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  29. package/dist/lib/{browser/chunk-L7RCZYUB.mjs → neutral/chunk-5T5LPLBN.mjs} +4 -7
  30. package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-D5LGFCUY.mjs +55 -0
  32. package/dist/lib/neutral/chunk-D5LGFCUY.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  34. package/dist/lib/{browser/chunk-CP7E2HRE.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -5
  35. package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
  36. package/dist/lib/{browser/chunk-MC6IA6YE.mjs → neutral/chunk-KRXHIW4P.mjs} +48 -19
  37. package/dist/lib/neutral/chunk-KRXHIW4P.mjs.map +7 -0
  38. package/dist/lib/{browser/chunk-T6FNJOLU.mjs → neutral/chunk-PE7IH7EL.mjs} +99 -87
  39. package/dist/lib/neutral/chunk-PE7IH7EL.mjs.map +7 -0
  40. package/dist/lib/{browser/chunk-SDMEBXOE.mjs → neutral/chunk-QDCG6XQI.mjs} +3 -9
  41. package/dist/lib/neutral/chunk-QDCG6XQI.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
  43. package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-QMLVLKE3.mjs +8 -0
  45. package/dist/lib/neutral/chunk-QMLVLKE3.mjs.map +7 -0
  46. package/dist/lib/neutral/components/index.mjs +539 -0
  47. package/dist/lib/neutral/components/index.mjs.map +7 -0
  48. package/dist/lib/neutral/containers/index.mjs +15 -0
  49. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  50. package/dist/lib/{browser/create-UP6DYIPF.mjs → neutral/create-OAQJ6LXN.mjs} +13 -16
  51. package/dist/lib/neutral/create-OAQJ6LXN.mjs.map +7 -0
  52. package/dist/lib/neutral/create-channel-3E4FJ662.mjs +19 -0
  53. package/dist/lib/neutral/create-channel-3E4FJ662.mjs.map +7 -0
  54. package/dist/lib/neutral/create-object-HIEWSBZB.mjs +27 -0
  55. package/dist/lib/neutral/create-object-HIEWSBZB.mjs.map +7 -0
  56. package/dist/lib/{browser/create-proposals-EQQXX7U7.mjs → neutral/create-proposals-GRYZXRMV.mjs} +6 -7
  57. package/dist/lib/neutral/create-proposals-GRYZXRMV.mjs.map +7 -0
  58. package/dist/lib/{browser/delete-UFRQJ5GV.mjs → neutral/delete-HCCG5RVR.mjs} +9 -11
  59. package/dist/lib/neutral/delete-HCCG5RVR.mjs.map +7 -0
  60. package/dist/lib/{browser/delete-message-TR4FW7HR.mjs → neutral/delete-message-DHFRACB4.mjs} +11 -21
  61. package/dist/lib/neutral/delete-message-DHFRACB4.mjs.map +7 -0
  62. package/dist/lib/neutral/hooks/index.mjs +10 -0
  63. package/dist/lib/neutral/index.mjs +28 -0
  64. package/dist/lib/{browser/markdown-ZS2LW3OL.mjs → neutral/markdown-BUORNCPG.mjs} +15 -16
  65. package/dist/lib/neutral/markdown-BUORNCPG.mjs.map +7 -0
  66. package/dist/lib/neutral/meta.json +1 -0
  67. package/dist/lib/neutral/meta.mjs +10 -0
  68. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs +23 -0
  69. package/dist/lib/neutral/on-create-space-OEBRKOAM.mjs.map +7 -0
  70. package/dist/lib/{browser/operation-handler-2PRAMPLT.mjs → neutral/operation-handler-RU6K2S4L.mjs} +4 -8
  71. package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
  72. package/dist/lib/neutral/operations/index.mjs +8 -0
  73. package/dist/lib/neutral/plugin.mjs +16 -0
  74. package/dist/lib/neutral/plugin.mjs.map +7 -0
  75. package/dist/lib/neutral/react-surface-XY23GVZH.mjs +76 -0
  76. package/dist/lib/neutral/react-surface-XY23GVZH.mjs.map +7 -0
  77. package/dist/lib/{browser/restore-GANFC4M4.mjs → neutral/restore-P4ZLXLF7.mjs} +7 -8
  78. package/dist/lib/neutral/restore-P4ZLXLF7.mjs.map +7 -0
  79. package/dist/lib/{browser/restore-message-FWGQ4FCN.mjs → neutral/restore-message-AUBOP2DF.mjs} +10 -19
  80. package/dist/lib/neutral/restore-message-AUBOP2DF.mjs.map +7 -0
  81. package/dist/lib/{browser/select-Y4XQX4BS.mjs → neutral/select-LIVAMBCE.mjs} +8 -10
  82. package/dist/lib/neutral/select-LIVAMBCE.mjs.map +7 -0
  83. package/dist/lib/{browser/settings-VOVRRXEK.mjs → neutral/settings-HK4EB6TF.mjs} +7 -11
  84. package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
  85. package/dist/lib/{browser/state-WNYOQCCT.mjs → neutral/state-UU7VEAKV.mjs} +4 -6
  86. package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
  87. package/dist/lib/neutral/testing/index.mjs +58 -0
  88. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  89. package/dist/lib/{browser/toggle-resolved-QVOZGID6.mjs → neutral/toggle-resolved-RQBDQZSV.mjs} +13 -22
  90. package/dist/lib/neutral/toggle-resolved-RQBDQZSV.mjs.map +7 -0
  91. package/dist/lib/neutral/translations.mjs +90 -0
  92. package/dist/lib/neutral/translations.mjs.map +7 -0
  93. package/dist/lib/neutral/types/index.mjs +12 -0
  94. package/dist/lib/{browser/undo-mappings-BTXCCPUL.mjs → neutral/undo-mappings-HOKL2L3M.mjs} +11 -16
  95. package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
  96. package/dist/types/src/ThreadPlugin.d.ts +1 -0
  97. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  98. package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
  99. package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
  100. package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
  101. package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
  102. package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
  103. package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/thread-blueprint.d.ts +2 -2
  105. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  108. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  110. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/index.d.ts +16 -10
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  114. package/dist/types/src/capabilities/{operation-handler/operation-handler.d.ts → operation-handler.d.ts} +1 -1
  115. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -1
  118. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +1 -1
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  122. package/dist/types/src/components/Chat/Chat.d.ts +51 -0
  123. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
  124. package/dist/types/src/components/Chat/index.d.ts +2 -0
  125. package/dist/types/src/components/Chat/index.d.ts.map +1 -0
  126. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -1
  127. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +140 -144
  128. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -1
  129. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -1
  130. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -1
  131. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  132. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  133. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  134. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  135. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  136. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  137. package/dist/types/src/components/index.d.ts +3 -1
  138. package/dist/types/src/components/index.d.ts.map +1 -1
  139. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
  140. package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
  141. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
  142. package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
  143. package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
  144. package/dist/types/src/containers/ChannelArticle/index.d.ts.map +1 -0
  145. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
  146. package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
  147. package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
  148. package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
  149. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +2 -2
  150. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -1
  151. package/dist/types/src/containers/ThreadCompanion/index.d.ts +1 -2
  152. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -1
  153. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
  154. package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
  155. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
  156. package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
  157. package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
  158. package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
  159. package/dist/types/src/containers/index.d.ts +3 -5
  160. package/dist/types/src/containers/index.d.ts.map +1 -1
  161. package/dist/types/src/extensions/threads.d.ts +4 -4
  162. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  163. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  164. package/dist/types/src/hooks/index.d.ts +0 -4
  165. package/dist/types/src/hooks/index.d.ts.map +1 -1
  166. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  167. package/dist/types/src/index.d.ts +2 -3
  168. package/dist/types/src/index.d.ts.map +1 -1
  169. package/dist/types/src/meta.d.ts.map +1 -1
  170. package/dist/types/src/operations/add-message.d.ts +3 -3
  171. package/dist/types/src/operations/add-message.d.ts.map +1 -1
  172. package/dist/types/src/operations/append-channel-message.d.ts +5 -0
  173. package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
  174. package/dist/types/src/operations/create-channel.d.ts +3 -3
  175. package/dist/types/src/operations/create-channel.d.ts.map +1 -1
  176. package/dist/types/src/operations/create-proposals.d.ts +3 -3
  177. package/dist/types/src/operations/create-proposals.d.ts.map +1 -1
  178. package/dist/types/src/operations/create.d.ts +3 -3
  179. package/dist/types/src/operations/create.d.ts.map +1 -1
  180. package/dist/types/src/operations/delete-message.d.ts +3 -3
  181. package/dist/types/src/operations/delete-message.d.ts.map +1 -1
  182. package/dist/types/src/operations/delete.d.ts +3 -3
  183. package/dist/types/src/operations/delete.d.ts.map +1 -1
  184. package/dist/types/src/operations/index.d.ts +1 -2
  185. package/dist/types/src/operations/index.d.ts.map +1 -1
  186. package/dist/types/src/operations/on-create-space.d.ts +3 -3
  187. package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
  188. package/dist/types/src/operations/restore-message.d.ts +3 -3
  189. package/dist/types/src/operations/restore-message.d.ts.map +1 -1
  190. package/dist/types/src/operations/restore.d.ts +3 -3
  191. package/dist/types/src/operations/restore.d.ts.map +1 -1
  192. package/dist/types/src/operations/select.d.ts +3 -3
  193. package/dist/types/src/operations/select.d.ts.map +1 -1
  194. package/dist/types/src/operations/toggle-resolved.d.ts +3 -3
  195. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -1
  196. package/dist/types/src/plugin.d.ts +4 -0
  197. package/dist/types/src/plugin.d.ts.map +1 -0
  198. package/dist/types/src/testing/data.d.ts.map +1 -1
  199. package/dist/types/src/testing/index.d.ts +1 -1
  200. package/dist/types/src/testing/index.d.ts.map +1 -1
  201. package/dist/types/src/translations.d.ts +140 -144
  202. package/dist/types/src/translations.d.ts.map +1 -1
  203. package/dist/types/src/types/Settings.d.ts +5 -0
  204. package/dist/types/src/types/Settings.d.ts.map +1 -0
  205. package/dist/types/src/types/ThreadCapabilities.d.ts +13 -0
  206. package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
  207. package/dist/types/src/{operations/definitions.d.ts → types/ThreadOperation.d.ts} +893 -1666
  208. package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
  209. package/dist/types/src/types/index.d.ts +3 -2
  210. package/dist/types/src/types/index.d.ts.map +1 -1
  211. package/dist/types/src/types/types.d.ts +0 -3
  212. package/dist/types/src/types/types.d.ts.map +1 -1
  213. package/dist/types/src/util.d.ts +6 -3
  214. package/dist/types/src/util.d.ts.map +1 -1
  215. package/dist/types/tsconfig.tsbuildinfo +1 -1
  216. package/package.json +130 -94
  217. package/src/ThreadPlugin.node.ts +39 -0
  218. package/src/ThreadPlugin.test.ts +37 -0
  219. package/src/ThreadPlugin.tsx +13 -65
  220. package/src/ThreadPlugin.workerd.ts +20 -0
  221. package/src/blueprints/thread-blueprint.ts +3 -4
  222. package/src/capabilities/app-graph-builder.ts +143 -0
  223. package/src/capabilities/{blueprint-definition/blueprint-definition.ts → blueprint-definition.ts} +3 -1
  224. package/src/capabilities/create-object.ts +29 -0
  225. package/src/capabilities/index.ts +16 -10
  226. package/src/capabilities/{markdown/markdown.ts → markdown.ts} +13 -8
  227. package/src/capabilities/{operation-handler/operation-handler.ts → operation-handler.ts} +2 -2
  228. package/src/capabilities/react-surface.tsx +75 -0
  229. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -5
  230. package/src/capabilities/{state/state.ts → state.ts} +1 -1
  231. package/src/capabilities/{undo-mappings/undo-mappings.ts → undo-mappings.ts} +4 -4
  232. package/src/components/Chat/Chat.tsx +258 -0
  233. package/src/components/Chat/index.ts +5 -0
  234. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +10 -10
  235. package/src/components/CommentsPanel/CommentsPanel.tsx +6 -6
  236. package/src/components/CommentsPanel/CommentsThread.tsx +12 -13
  237. package/src/components/MessagePanel/MessagePanel.tsx +20 -15
  238. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  239. package/src/components/ThreadSettings/ThreadSettings.tsx +19 -0
  240. package/src/components/ThreadSettings/index.ts +5 -0
  241. package/src/components/index.ts +5 -1
  242. package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
  243. package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
  244. package/src/containers/ChannelArticle/index.ts +5 -0
  245. package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
  246. package/src/containers/ChannelChat/index.ts +8 -0
  247. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +17 -19
  248. package/src/containers/ThreadCompanion/index.ts +1 -3
  249. package/src/containers/{ChatContainer/ChatContainer.stories.tsx → ThreadContainer/ThreadContainer.stories.tsx} +14 -15
  250. package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
  251. package/src/containers/ThreadContainer/index.ts +8 -0
  252. package/src/containers/index.ts +3 -5
  253. package/src/extensions/command.ts +1 -1
  254. package/src/extensions/threads.ts +16 -16
  255. package/src/hooks/analytics.ts +1 -1
  256. package/src/hooks/index.ts +0 -5
  257. package/src/index.ts +4 -4
  258. package/src/meta.ts +2 -2
  259. package/src/operations/add-message.ts +9 -10
  260. package/src/operations/append-channel-message.ts +37 -0
  261. package/src/operations/create-channel.ts +4 -5
  262. package/src/operations/create-proposals.ts +3 -3
  263. package/src/operations/create.ts +8 -9
  264. package/src/operations/delete-message.ts +7 -7
  265. package/src/operations/delete.ts +4 -5
  266. package/src/operations/index.ts +2 -4
  267. package/src/operations/on-create-space.ts +4 -4
  268. package/src/operations/restore-message.ts +6 -6
  269. package/src/operations/restore.ts +4 -4
  270. package/src/operations/select.ts +3 -4
  271. package/src/operations/toggle-resolved.ts +9 -9
  272. package/src/plugin.ts +11 -0
  273. package/src/testing/data.ts +7 -7
  274. package/src/testing/index.ts +1 -1
  275. package/src/translations.ts +74 -79
  276. package/src/types/Settings.ts +10 -0
  277. package/src/types/ThreadCapabilities.ts +26 -0
  278. package/src/{operations/definitions.ts → types/ThreadOperation.ts} +15 -14
  279. package/src/types/index.ts +4 -2
  280. package/src/types/types.ts +0 -5
  281. package/src/util.ts +37 -5
  282. package/dist/lib/browser/CallDebugPanel-RY6FXDN7.mjs +0 -181
  283. package/dist/lib/browser/CallDebugPanel-RY6FXDN7.mjs.map +0 -7
  284. package/dist/lib/browser/CallSidebar-U3YOKNG6.mjs +0 -37
  285. package/dist/lib/browser/CallSidebar-U3YOKNG6.mjs.map +0 -7
  286. package/dist/lib/browser/ChannelContainer-C25SJD67.mjs +0 -18
  287. package/dist/lib/browser/ChatContainer-VG6JXVMR.mjs +0 -19
  288. package/dist/lib/browser/ThreadCompanion-LHPNPABS.mjs.map +0 -7
  289. package/dist/lib/browser/ThreadSettings-7WRTSUPH.mjs +0 -19
  290. package/dist/lib/browser/ThreadSettings-7WRTSUPH.mjs.map +0 -7
  291. package/dist/lib/browser/add-message-O3INEWOI.mjs.map +0 -7
  292. package/dist/lib/browser/app-graph-builder-NQASP6LK.mjs +0 -191
  293. package/dist/lib/browser/app-graph-builder-NQASP6LK.mjs.map +0 -7
  294. package/dist/lib/browser/blueprint-definition-BVS7F5KD.mjs +0 -20
  295. package/dist/lib/browser/blueprint-definition-BVS7F5KD.mjs.map +0 -7
  296. package/dist/lib/browser/blueprints/index.mjs +0 -11
  297. package/dist/lib/browser/call-manager-HRJSB3NQ.mjs +0 -26
  298. package/dist/lib/browser/call-manager-HRJSB3NQ.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-2M2HV5K4.mjs +0 -35
  300. package/dist/lib/browser/chunk-2M2HV5K4.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-4PJ6SUNH.mjs +0 -8
  302. package/dist/lib/browser/chunk-4PJ6SUNH.mjs.map +0 -7
  303. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
  304. package/dist/lib/browser/chunk-ERK254BS.mjs +0 -1810
  305. package/dist/lib/browser/chunk-ERK254BS.mjs.map +0 -7
  306. package/dist/lib/browser/chunk-GB4CYKEA.mjs +0 -223
  307. package/dist/lib/browser/chunk-GB4CYKEA.mjs.map +0 -7
  308. package/dist/lib/browser/chunk-GYRGZNEC.mjs +0 -184
  309. package/dist/lib/browser/chunk-GYRGZNEC.mjs.map +0 -7
  310. package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
  311. package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
  312. package/dist/lib/browser/chunk-L7RCZYUB.mjs.map +0 -7
  313. package/dist/lib/browser/chunk-MC6IA6YE.mjs.map +0 -7
  314. package/dist/lib/browser/chunk-NU7YGDHW.mjs +0 -126
  315. package/dist/lib/browser/chunk-NU7YGDHW.mjs.map +0 -7
  316. package/dist/lib/browser/chunk-SDMEBXOE.mjs.map +0 -7
  317. package/dist/lib/browser/chunk-T6FNJOLU.mjs.map +0 -7
  318. package/dist/lib/browser/chunk-TAEJJ3CF.mjs +0 -57
  319. package/dist/lib/browser/chunk-TAEJJ3CF.mjs.map +0 -7
  320. package/dist/lib/browser/chunk-WR6V7S4Q.mjs +0 -1093
  321. package/dist/lib/browser/chunk-WR6V7S4Q.mjs.map +0 -7
  322. package/dist/lib/browser/create-UP6DYIPF.mjs.map +0 -7
  323. package/dist/lib/browser/create-channel-NHQ3BKJC.mjs +0 -21
  324. package/dist/lib/browser/create-channel-NHQ3BKJC.mjs.map +0 -7
  325. package/dist/lib/browser/create-channel-thread-JJ7ZST67.mjs +0 -28
  326. package/dist/lib/browser/create-channel-thread-JJ7ZST67.mjs.map +0 -7
  327. package/dist/lib/browser/create-proposals-EQQXX7U7.mjs.map +0 -7
  328. package/dist/lib/browser/delete-UFRQJ5GV.mjs.map +0 -7
  329. package/dist/lib/browser/delete-message-TR4FW7HR.mjs.map +0 -7
  330. package/dist/lib/browser/index.mjs +0 -320
  331. package/dist/lib/browser/index.mjs.map +0 -7
  332. package/dist/lib/browser/markdown-ZS2LW3OL.mjs.map +0 -7
  333. package/dist/lib/browser/meta.json +0 -1
  334. package/dist/lib/browser/on-create-space-KLARW25R.mjs +0 -25
  335. package/dist/lib/browser/on-create-space-KLARW25R.mjs.map +0 -7
  336. package/dist/lib/browser/operation-handler-2PRAMPLT.mjs.map +0 -7
  337. package/dist/lib/browser/operations/index.mjs +0 -13
  338. package/dist/lib/browser/react-root-EGOEX44B.mjs +0 -26
  339. package/dist/lib/browser/react-root-EGOEX44B.mjs.map +0 -7
  340. package/dist/lib/browser/react-surface-UFSXNECJ.mjs +0 -114
  341. package/dist/lib/browser/react-surface-UFSXNECJ.mjs.map +0 -7
  342. package/dist/lib/browser/restore-GANFC4M4.mjs.map +0 -7
  343. package/dist/lib/browser/restore-message-FWGQ4FCN.mjs.map +0 -7
  344. package/dist/lib/browser/select-Y4XQX4BS.mjs.map +0 -7
  345. package/dist/lib/browser/settings-VOVRRXEK.mjs.map +0 -7
  346. package/dist/lib/browser/state-WNYOQCCT.mjs.map +0 -7
  347. package/dist/lib/browser/toggle-resolved-QVOZGID6.mjs.map +0 -7
  348. package/dist/lib/browser/types/index.mjs +0 -12
  349. package/dist/lib/browser/undo-mappings-BTXCCPUL.mjs.map +0 -7
  350. package/dist/lib/node-esm/CallDebugPanel-CKGXAWG5.mjs +0 -182
  351. package/dist/lib/node-esm/CallDebugPanel-CKGXAWG5.mjs.map +0 -7
  352. package/dist/lib/node-esm/CallSidebar-MSAQRWCO.mjs +0 -38
  353. package/dist/lib/node-esm/CallSidebar-MSAQRWCO.mjs.map +0 -7
  354. package/dist/lib/node-esm/ChannelContainer-R23E4D3N.mjs +0 -19
  355. package/dist/lib/node-esm/ChatContainer-VS2NX3S7.mjs +0 -20
  356. package/dist/lib/node-esm/ChatContainer-VS2NX3S7.mjs.map +0 -7
  357. package/dist/lib/node-esm/ThreadCompanion-DIKUNH3P.mjs +0 -224
  358. package/dist/lib/node-esm/ThreadCompanion-DIKUNH3P.mjs.map +0 -7
  359. package/dist/lib/node-esm/ThreadSettings-UJBAAD4J.mjs +0 -20
  360. package/dist/lib/node-esm/ThreadSettings-UJBAAD4J.mjs.map +0 -7
  361. package/dist/lib/node-esm/add-message-GQO7ETY3.mjs +0 -98
  362. package/dist/lib/node-esm/add-message-GQO7ETY3.mjs.map +0 -7
  363. package/dist/lib/node-esm/app-graph-builder-WIYQ3COQ.mjs +0 -192
  364. package/dist/lib/node-esm/app-graph-builder-WIYQ3COQ.mjs.map +0 -7
  365. package/dist/lib/node-esm/blueprint-definition-NXHQAJT7.mjs +0 -21
  366. package/dist/lib/node-esm/blueprint-definition-NXHQAJT7.mjs.map +0 -7
  367. package/dist/lib/node-esm/blueprints/index.mjs +0 -12
  368. package/dist/lib/node-esm/call-manager-LOWS24PO.mjs +0 -27
  369. package/dist/lib/node-esm/call-manager-LOWS24PO.mjs.map +0 -7
  370. package/dist/lib/node-esm/chunk-6ZJGXE4F.mjs +0 -58
  371. package/dist/lib/node-esm/chunk-6ZJGXE4F.mjs.map +0 -7
  372. package/dist/lib/node-esm/chunk-A3SWGVF3.mjs +0 -37
  373. package/dist/lib/node-esm/chunk-A3SWGVF3.mjs.map +0 -7
  374. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
  375. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
  376. package/dist/lib/node-esm/chunk-EYWLIDLC.mjs +0 -185
  377. package/dist/lib/node-esm/chunk-EYWLIDLC.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-GRA2YL5N.mjs +0 -1094
  379. package/dist/lib/node-esm/chunk-GRA2YL5N.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-JOAZKE2A.mjs +0 -260
  381. package/dist/lib/node-esm/chunk-JOAZKE2A.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-JOIEIY5R.mjs +0 -224
  383. package/dist/lib/node-esm/chunk-JOIEIY5R.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-JZI7AFD6.mjs +0 -28
  385. package/dist/lib/node-esm/chunk-JZI7AFD6.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-KCWDGW5M.mjs +0 -127
  387. package/dist/lib/node-esm/chunk-KCWDGW5M.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-QFVKK6S6.mjs +0 -10
  389. package/dist/lib/node-esm/chunk-QFVKK6S6.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs +0 -1811
  391. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
  393. package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-VRNCL65Y.mjs +0 -40
  395. package/dist/lib/node-esm/chunk-VRNCL65Y.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-YGHV23ZD.mjs +0 -136
  397. package/dist/lib/node-esm/chunk-YGHV23ZD.mjs.map +0 -7
  398. package/dist/lib/node-esm/create-DIAK4OFO.mjs +0 -56
  399. package/dist/lib/node-esm/create-DIAK4OFO.mjs.map +0 -7
  400. package/dist/lib/node-esm/create-channel-JHQN2RGK.mjs +0 -22
  401. package/dist/lib/node-esm/create-channel-JHQN2RGK.mjs.map +0 -7
  402. package/dist/lib/node-esm/create-channel-thread-PQKG5VFZ.mjs +0 -29
  403. package/dist/lib/node-esm/create-channel-thread-PQKG5VFZ.mjs.map +0 -7
  404. package/dist/lib/node-esm/create-proposals-JBZLGBSF.mjs +0 -58
  405. package/dist/lib/node-esm/create-proposals-JBZLGBSF.mjs.map +0 -7
  406. package/dist/lib/node-esm/delete-F4NFPLKJ.mjs +0 -60
  407. package/dist/lib/node-esm/delete-F4NFPLKJ.mjs.map +0 -7
  408. package/dist/lib/node-esm/delete-message-QSTGJOL6.mjs +0 -65
  409. package/dist/lib/node-esm/delete-message-QSTGJOL6.mjs.map +0 -7
  410. package/dist/lib/node-esm/index.mjs +0 -321
  411. package/dist/lib/node-esm/index.mjs.map +0 -7
  412. package/dist/lib/node-esm/markdown-YP22U47Q.mjs +0 -85
  413. package/dist/lib/node-esm/markdown-YP22U47Q.mjs.map +0 -7
  414. package/dist/lib/node-esm/meta.json +0 -1
  415. package/dist/lib/node-esm/on-create-space-N7SEMK4L.mjs +0 -26
  416. package/dist/lib/node-esm/on-create-space-N7SEMK4L.mjs.map +0 -7
  417. package/dist/lib/node-esm/operation-handler-S6I62YNM.mjs +0 -18
  418. package/dist/lib/node-esm/operation-handler-S6I62YNM.mjs.map +0 -7
  419. package/dist/lib/node-esm/operations/index.mjs +0 -14
  420. package/dist/lib/node-esm/react-root-DBJS3JVF.mjs +0 -27
  421. package/dist/lib/node-esm/react-root-DBJS3JVF.mjs.map +0 -7
  422. package/dist/lib/node-esm/react-surface-NOV4MWBJ.mjs +0 -115
  423. package/dist/lib/node-esm/react-surface-NOV4MWBJ.mjs.map +0 -7
  424. package/dist/lib/node-esm/restore-N7MEXVMG.mjs +0 -34
  425. package/dist/lib/node-esm/restore-N7MEXVMG.mjs.map +0 -7
  426. package/dist/lib/node-esm/restore-message-ECWGBHBC.mjs +0 -43
  427. package/dist/lib/node-esm/restore-message-ECWGBHBC.mjs.map +0 -7
  428. package/dist/lib/node-esm/select-GPWM36LA.mjs +0 -27
  429. package/dist/lib/node-esm/select-GPWM36LA.mjs.map +0 -7
  430. package/dist/lib/node-esm/settings-LIZBH7EW.mjs +0 -35
  431. package/dist/lib/node-esm/settings-LIZBH7EW.mjs.map +0 -7
  432. package/dist/lib/node-esm/state-ELJSYGJK.mjs +0 -25
  433. package/dist/lib/node-esm/state-ELJSYGJK.mjs.map +0 -7
  434. package/dist/lib/node-esm/toggle-resolved-EBEJUS66.mjs +0 -46
  435. package/dist/lib/node-esm/toggle-resolved-EBEJUS66.mjs.map +0 -7
  436. package/dist/lib/node-esm/types/index.mjs +0 -13
  437. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  438. package/dist/lib/node-esm/undo-mappings-IYTSBZWN.mjs +0 -60
  439. package/dist/lib/node-esm/undo-mappings-IYTSBZWN.mjs.map +0 -7
  440. package/dist/types/src/calls/call-manager.d.ts +0 -87
  441. package/dist/types/src/calls/call-manager.d.ts.map +0 -1
  442. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
  443. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
  444. package/dist/types/src/calls/index.d.ts +0 -7
  445. package/dist/types/src/calls/index.d.ts.map +0 -1
  446. package/dist/types/src/calls/media-manager.d.ts +0 -60
  447. package/dist/types/src/calls/media-manager.d.ts.map +0 -1
  448. package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
  449. package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
  450. package/dist/types/src/calls/types.d.ts +0 -45
  451. package/dist/types/src/calls/types.d.ts.map +0 -1
  452. package/dist/types/src/calls/util/audio.d.ts +0 -6
  453. package/dist/types/src/calls/util/audio.d.ts.map +0 -1
  454. package/dist/types/src/calls/util/calls-service.d.ts +0 -77
  455. package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
  456. package/dist/types/src/calls/util/history-cache.d.ts +0 -11
  457. package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
  458. package/dist/types/src/calls/util/index.d.ts +0 -5
  459. package/dist/types/src/calls/util/index.d.ts.map +0 -1
  460. package/dist/types/src/calls/util/media.d.ts +0 -6
  461. package/dist/types/src/calls/util/media.d.ts.map +0 -1
  462. package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
  463. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
  464. package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
  465. package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
  466. package/dist/types/src/calls-service.stories.d.ts +0 -23
  467. package/dist/types/src/calls-service.stories.d.ts.map +0 -1
  468. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  469. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  470. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  471. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -6
  472. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  473. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  474. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  475. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +0 -6
  476. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +0 -1
  477. package/dist/types/src/capabilities/call-manager/index.d.ts +0 -3
  478. package/dist/types/src/capabilities/call-manager/index.d.ts.map +0 -1
  479. package/dist/types/src/capabilities/markdown/index.d.ts +0 -3
  480. package/dist/types/src/capabilities/markdown/index.d.ts.map +0 -1
  481. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +0 -1
  482. package/dist/types/src/capabilities/operation-handler/index.d.ts +0 -4
  483. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +0 -1
  484. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +0 -1
  485. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  486. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  487. package/dist/types/src/capabilities/react-root/react-root.d.ts +0 -9
  488. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  489. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  490. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  491. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  492. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  493. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  494. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  495. package/dist/types/src/capabilities/state/index.d.ts +0 -3
  496. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  497. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  498. package/dist/types/src/capabilities/undo-mappings/index.d.ts +0 -3
  499. package/dist/types/src/capabilities/undo-mappings/index.d.ts.map +0 -1
  500. package/dist/types/src/capabilities/undo-mappings/undo-mappings.d.ts.map +0 -1
  501. package/dist/types/src/components/Call/Call.d.ts +0 -17
  502. package/dist/types/src/components/Call/Call.d.ts.map +0 -1
  503. package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
  504. package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
  505. package/dist/types/src/components/Call/index.d.ts +0 -3
  506. package/dist/types/src/components/Call/index.d.ts.map +0 -1
  507. package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
  508. package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
  509. package/dist/types/src/components/Lobby/index.d.ts +0 -2
  510. package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
  511. package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
  512. package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
  513. package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
  514. package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
  515. package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
  516. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
  517. package/dist/types/src/components/Media/index.d.ts +0 -3
  518. package/dist/types/src/components/Media/index.d.ts.map +0 -1
  519. package/dist/types/src/components/Participant/Participant.d.ts +0 -6
  520. package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
  521. package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
  522. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
  523. package/dist/types/src/components/Participant/index.d.ts +0 -3
  524. package/dist/types/src/components/Participant/index.d.ts.map +0 -1
  525. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
  526. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
  527. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -182
  528. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
  529. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
  530. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
  531. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts +0 -12
  532. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +0 -1
  533. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +0 -168
  534. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +0 -1
  535. package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
  536. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
  537. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +0 -15
  538. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +0 -1
  539. package/dist/types/src/containers/CallDebugPanel/index.d.ts +0 -3
  540. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +0 -1
  541. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts +0 -3
  542. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +0 -1
  543. package/dist/types/src/containers/CallSidebar/index.d.ts +0 -3
  544. package/dist/types/src/containers/CallSidebar/index.d.ts.map +0 -1
  545. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +0 -12
  546. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +0 -1
  547. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +0 -166
  548. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +0 -1
  549. package/dist/types/src/containers/ChannelContainer/index.d.ts +0 -3
  550. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +0 -1
  551. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +0 -20
  552. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +0 -1
  553. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +0 -166
  554. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +0 -1
  555. package/dist/types/src/containers/ChatContainer/index.d.ts +0 -4
  556. package/dist/types/src/containers/ChatContainer/index.d.ts.map +0 -1
  557. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +0 -8
  558. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +0 -1
  559. package/dist/types/src/containers/ThreadSettings/index.d.ts +0 -3
  560. package/dist/types/src/containers/ThreadSettings/index.d.ts.map +0 -1
  561. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
  562. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
  563. package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
  564. package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
  565. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
  566. package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
  567. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
  568. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
  569. package/dist/types/src/operations/create-channel-thread.d.ts +0 -5
  570. package/dist/types/src/operations/create-channel-thread.d.ts.map +0 -1
  571. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  572. package/dist/types/src/testing/stories.d.ts +0 -3
  573. package/dist/types/src/testing/stories.d.ts.map +0 -1
  574. package/dist/types/src/types/Channel.d.ts +0 -711
  575. package/dist/types/src/types/Channel.d.ts.map +0 -1
  576. package/dist/types/src/types/capabilities.d.ts +0 -23
  577. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  578. package/src/calls/call-manager.ts +0 -270
  579. package/src/calls/call-swarm-synchronizer.ts +0 -350
  580. package/src/calls/index.ts +0 -10
  581. package/src/calls/media-manager.ts +0 -378
  582. package/src/calls/speaking-monitor.ts +0 -85
  583. package/src/calls/types.ts +0 -74
  584. package/src/calls/util/audio.ts +0 -58
  585. package/src/calls/util/calls-service.ts +0 -581
  586. package/src/calls/util/history-cache.ts +0 -27
  587. package/src/calls/util/index.ts +0 -8
  588. package/src/calls/util/media.ts +0 -52
  589. package/src/calls/util/stub-media-streams.ts +0 -127
  590. package/src/calls/util/task-scheduling.ts +0 -92
  591. package/src/calls-service.stories.tsx +0 -229
  592. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -204
  593. package/src/capabilities/app-graph-builder/index.ts +0 -7
  594. package/src/capabilities/blueprint-definition/index.ts +0 -7
  595. package/src/capabilities/call-manager/call-manager.ts +0 -26
  596. package/src/capabilities/call-manager/index.ts +0 -7
  597. package/src/capabilities/markdown/index.ts +0 -7
  598. package/src/capabilities/operation-handler/index.ts +0 -11
  599. package/src/capabilities/react-root/index.ts +0 -7
  600. package/src/capabilities/react-root/react-root.tsx +0 -20
  601. package/src/capabilities/react-surface/index.ts +0 -7
  602. package/src/capabilities/react-surface/react-surface.tsx +0 -101
  603. package/src/capabilities/settings/index.ts +0 -7
  604. package/src/capabilities/state/index.ts +0 -7
  605. package/src/capabilities/undo-mappings/index.ts +0 -7
  606. package/src/components/Call/Call.tsx +0 -93
  607. package/src/components/Call/Toolbar.tsx +0 -189
  608. package/src/components/Call/index.ts +0 -6
  609. package/src/components/Lobby/Lobby.tsx +0 -121
  610. package/src/components/Lobby/index.ts +0 -5
  611. package/src/components/Media/AudioStream.tsx +0 -67
  612. package/src/components/Media/VideoObject.stories.tsx +0 -60
  613. package/src/components/Media/VideoObject.tsx +0 -58
  614. package/src/components/Media/index.ts +0 -6
  615. package/src/components/Participant/Participant.tsx +0 -76
  616. package/src/components/Participant/ParticipantGrid.tsx +0 -89
  617. package/src/components/Participant/index.ts +0 -6
  618. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
  619. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
  620. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -134
  621. package/src/components/ResponsiveGrid/ResponsivePanel.stories.tsx +0 -54
  622. package/src/components/ResponsiveGrid/ResponsivePanel.tsx +0 -31
  623. package/src/components/ResponsiveGrid/index.ts +0 -7
  624. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +0 -172
  625. package/src/containers/CallDebugPanel/index.ts +0 -7
  626. package/src/containers/CallSidebar/CallSidebar.tsx +0 -17
  627. package/src/containers/CallSidebar/index.ts +0 -7
  628. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +0 -59
  629. package/src/containers/ChannelContainer/ChannelContainer.tsx +0 -222
  630. package/src/containers/ChannelContainer/index.ts +0 -7
  631. package/src/containers/ChatContainer/ChatContainer.tsx +0 -130
  632. package/src/containers/ChatContainer/index.ts +0 -8
  633. package/src/containers/ThreadSettings/ThreadSettings.tsx +0 -22
  634. package/src/containers/ThreadSettings/index.ts +0 -7
  635. package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
  636. package/src/hooks/useDebugMode.ts +0 -25
  637. package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
  638. package/src/hooks/useVideoStreamTrack.tsx +0 -36
  639. package/src/operations/create-channel-thread.ts +0 -26
  640. package/src/testing/stories.ts +0 -50
  641. package/src/types/Channel.ts +0 -36
  642. package/src/types/capabilities.ts +0 -34
  643. package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
  644. package/src/typings.d.ts +0 -8
  645. /package/dist/lib/{browser/ChannelContainer-C25SJD67.mjs.map → neutral/ChannelChat-6YTD5HWL.mjs.map} +0 -0
  646. /package/dist/lib/{browser → neutral}/blueprints/index.mjs.map +0 -0
  647. /package/dist/lib/{browser/ChatContainer-VG6JXVMR.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  648. /package/dist/lib/{browser/operations → neutral/hooks}/index.mjs.map +0 -0
  649. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  650. /package/dist/lib/{node-esm/ChannelContainer-R23E4D3N.mjs.map → neutral/meta.mjs.map} +0 -0
  651. /package/dist/lib/{node-esm/blueprints → neutral/operations}/index.mjs.map +0 -0
  652. /package/dist/lib/{node-esm/operations → neutral/types}/index.mjs.map +0 -0
  653. /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
  654. /package/dist/types/src/capabilities/{markdown/markdown.d.ts → markdown.d.ts} +0 -0
  655. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
  656. /package/dist/types/src/capabilities/{undo-mappings/undo-mappings.d.ts → undo-mappings.d.ts} +0 -0
@@ -1,127 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
- //
5
-
6
- import { scheduleTaskInterval, waitForCondition } from '@dxos/async';
7
- import { type Context, cancelWithContext } from '@dxos/context';
8
- import { invariant } from '@dxos/invariant';
9
-
10
- /**
11
- * Creates a black canvas stream track.
12
- * We need this to to have black rectangle video that is live (have frames) when video feed is disabled.
13
- */
14
- export const createBlackCanvasStreamTrack = async ({
15
- ctx,
16
- width,
17
- height,
18
- }: {
19
- ctx: Context;
20
- width: number;
21
- height: number;
22
- }): Promise<MediaStreamTrack> => {
23
- const canvas = document.createElement('canvas');
24
- canvas.width = width;
25
- canvas.height = height;
26
-
27
- const canvasCtx = canvas.getContext('2d');
28
- invariant(canvasCtx);
29
- const drawFrame = () => {
30
- canvasCtx.fillStyle = 'black';
31
- canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
32
- };
33
- scheduleTaskInterval(ctx, async () => drawFrame(), 200);
34
-
35
- const track = canvas.captureStream().getVideoTracks()[0];
36
- drawFrame();
37
-
38
- await cancelWithContext(ctx, waitForCondition({ condition: () => track.readyState === 'live', timeout: 1_000 }));
39
-
40
- return track;
41
- };
42
-
43
- let audioContextStartedPreviously = false;
44
- const userGestureEvents = [
45
- 'click',
46
- 'contextmenu',
47
- 'auxclick',
48
- 'dblclick',
49
- 'mousedown',
50
- 'mouseup',
51
- 'pointerup',
52
- 'touchend',
53
- 'keydown',
54
- 'keyup',
55
- ];
56
-
57
- /**
58
- * Creates an inaudible audio stream track.
59
- * We need this to have audio track available when audio is disabled.
60
- */
61
- export const createInaudibleAudioStreamTrack = async ({ ctx }: { ctx: Context }): Promise<MediaStreamTrack> => {
62
- const audioContext = new window.AudioContext();
63
-
64
- const oscillator = audioContext.createOscillator();
65
- oscillator.type = 'triangle';
66
- oscillator.frequency.setValueAtTime(20, audioContext.currentTime);
67
-
68
- const gainNode = audioContext.createGain();
69
- gainNode.gain.setValueAtTime(0, audioContext.currentTime);
70
- oscillator.connect(gainNode);
71
-
72
- const destination = audioContext.createMediaStreamDestination();
73
- gainNode.connect(destination);
74
-
75
- let oscillatorStarted = false;
76
- const ensureOscillatorStarted = () => {
77
- if (oscillatorStarted) return;
78
- oscillator.start();
79
- oscillatorStarted = true;
80
- };
81
-
82
- const stateChangeHandler = () => {
83
- if (audioContext.state === 'running') {
84
- audioContextStartedPreviously = true;
85
- ensureOscillatorStarted();
86
- }
87
-
88
- if (audioContext.state === 'suspended' || (audioContext.state as string) === 'interrupted') {
89
- resumeAudioContext();
90
- }
91
- };
92
-
93
- audioContext.addEventListener('statechange', stateChangeHandler);
94
-
95
- const resumeAudioContext = () => {
96
- void audioContext.resume().then(() => {
97
- cleanUpUserGestureListeners();
98
- });
99
- };
100
-
101
- const cleanUpUserGestureListeners = () => {
102
- userGestureEvents.forEach((gesture) => {
103
- document.removeEventListener(gesture, resumeAudioContext, {
104
- capture: true,
105
- });
106
- });
107
- };
108
-
109
- if (audioContextStartedPreviously) {
110
- resumeAudioContext();
111
- } else {
112
- userGestureEvents.forEach((gesture) => {
113
- document.addEventListener(gesture, resumeAudioContext, {
114
- capture: true,
115
- });
116
- });
117
- }
118
-
119
- ctx.onDispose(async () => {
120
- cleanUpUserGestureListeners();
121
- oscillator.disconnect();
122
- oscillator.stop();
123
- await audioContext.close();
124
- });
125
-
126
- return destination.stream.getAudioTracks()[0];
127
- };
@@ -1,92 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- const DefaultBatchSizeLimit = 64;
6
-
7
- type Task<Value = unknown> = () => Promise<Value>;
8
-
9
- export class FIFOScheduler {
10
- #schedulerChain: Promise<void>;
11
-
12
- constructor() {
13
- this.#schedulerChain = Promise.resolve();
14
- }
15
-
16
- schedule<T>(task: Task<T>): Promise<T> {
17
- return new Promise((resolve, reject) => {
18
- this.#schedulerChain = this.#schedulerChain.then(async () => {
19
- try {
20
- resolve(await task());
21
- } catch (error: any) {
22
- reject(error);
23
- }
24
- });
25
- });
26
- }
27
- }
28
-
29
- // TODO(mykola): Reconcile with @dxos/async task scheduling.
30
- export class BulkRequestDispatcher<RequestEntryProps, BulkResponse> {
31
- #currentBatch: RequestEntryProps[];
32
- #currentBulkResponse: Promise<BulkResponse> | null;
33
- #batchSizeLimit: number;
34
-
35
- constructor(batchSizeLimit: number = DefaultBatchSizeLimit) {
36
- this.#currentBatch = [];
37
- this.#currentBulkResponse = null;
38
- this.#batchSizeLimit = batchSizeLimit;
39
- }
40
-
41
- /**
42
- * Returns a bulk response promise.
43
- * At the event loop iteration end, the accumulated entries will be dispatched as a bulk request.
44
- */
45
- doBulkRequest(
46
- params: RequestEntryProps,
47
- bulkRequestFunc: (bulkCopy: RequestEntryProps[]) => Promise<BulkResponse>,
48
- ): Promise<BulkResponse> {
49
- if (this.#currentBatch.length >= this.#batchSizeLimit) {
50
- // If it reaches the batch size limit, we make another bulk request.
51
- this.#currentBatch = [];
52
- this.#currentBulkResponse = null;
53
- }
54
- this.#currentBatch.push(params);
55
- if (this.#currentBulkResponse != null) {
56
- return this.#currentBulkResponse;
57
- }
58
-
59
- // Save the current batch list reference in the function scope because this.#currentBatch could be reset
60
- // if the batch limit is reached.
61
- const batch = this.#currentBatch;
62
- this.#currentBulkResponse = new Promise((resolve, reject) => {
63
- // script
64
- // |
65
- // V
66
- // microtasks (Promise)
67
- // |
68
- // V
69
- // macrotasks (setTimeout)
70
- //
71
- // macrotasks are run in the event loop iteration end, so we use that moment to make the bulkRequestFunc call.
72
- setTimeout(() => {
73
- // When the bulk request happens, the batch list and the response is reset to start another batch.
74
- // Coming callers will wait for a new response promise.
75
- this.#currentBulkResponse = null;
76
-
77
- // We cut here to make the bulk request.
78
- const batchCopy = batch.splice(0, batch.length);
79
- bulkRequestFunc(batchCopy)
80
- .then((result) => {
81
- resolve(result);
82
- })
83
- .catch((err) => {
84
- reject(err);
85
- });
86
- }, 0);
87
- });
88
-
89
- // This bulk response needs to be processed to extract the the result for the entry.
90
- return this.#currentBulkResponse;
91
- }
92
- }
@@ -1,229 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { type Meta, type StoryObj } from '@storybook/react-vite';
6
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
-
8
- import { scheduleTask, sleep } from '@dxos/async';
9
- import { Context } from '@dxos/context';
10
- import { invariant } from '@dxos/invariant';
11
- import { log } from '@dxos/log';
12
- import { Config, useConfig } from '@dxos/react-client';
13
- import { withClientProvider } from '@dxos/react-client/testing';
14
- import { Button } from '@dxos/react-ui';
15
- import { withTheme } from '@dxos/react-ui/testing';
16
- import { Json } from '@dxos/react-ui-syntax-highlighter';
17
-
18
- const testVideo = new URL('../testing/video.mp4', import.meta.url).href;
19
-
20
- import { CALLS_URL, CallsServicePeer, type TrackObject } from './calls';
21
- import { useBlackCanvasStreamTrack, useInaudibleAudioStreamTrack, useVideoStreamTrack } from './hooks';
22
-
23
- // TODO(burdon): THIS IS TOO COMPLEX FOR A TEST SETUP.
24
- const pushAndPullTrack = (mediaStreamTrack?: MediaStreamTrack) => {
25
- const config = useConfig();
26
- const callsConfig = {
27
- iceServers: config.get('runtime.services.ice'),
28
- apiBase: `${CALLS_URL}/api/calls`,
29
- };
30
- const peerPush = useMemo(() => new CallsServicePeer(callsConfig), []);
31
- const peerPull = useMemo(() => new CallsServicePeer(callsConfig), []);
32
- const [metrics, setMetrics] = useState<Record<string, any>>({});
33
- const trackInfo = useRef<TrackObject | undefined>(undefined);
34
- const pullCtx = useRef<Context | undefined>(undefined);
35
- const [pulledTrack, setPulledTrack] = useState<MediaStreamTrack | undefined>(undefined);
36
- const hadRun = useRef(false);
37
-
38
- const deps: any[] = [];
39
- // Push/pull video stream track to cloudflare.
40
- useEffect(() => {
41
- if (hadRun.current || !mediaStreamTrack || !peerPush || !peerPull) {
42
- return;
43
- }
44
- hadRun.current = true;
45
- const ctx = Context.default();
46
- log.info('setting up ctx', { ctx, mediaStreamTrack, peerPush, peerPull });
47
- deps.push([ctx, mediaStreamTrack, peerPush, peerPull]);
48
- ctx.onDispose(() => {
49
- log.info('disposing ctx', {});
50
- });
51
- scheduleTask(
52
- ctx,
53
- async () => {
54
- log.info('starting push/pull', { mediaStreamTrack });
55
- await peerPush.open();
56
- await peerPull.open();
57
- ctx.onDispose(() => {
58
- void peerPush.close();
59
- void peerPull.close();
60
- });
61
-
62
- // Push track to cloudflare.
63
- performance.mark('push:begin');
64
- log.info('pushing track', { track: mediaStreamTrack });
65
- trackInfo.current = await peerPush.pushTrack({ track: mediaStreamTrack, ctx: Context.default() });
66
- performance.mark('push:end');
67
- const pushTime = performance.measure('push', 'push:begin', 'push:end').duration;
68
- log.info('successfully pushed track', { pushTime, trackInfo: trackInfo.current });
69
- setMetrics((prev) => ({ ...prev, 'time to push track [ms]': Math.round(pushTime) }));
70
-
71
- // Pull track from cloudflare.
72
- performance.mark('pullTrack:begin');
73
- pullCtx.current = Context.default();
74
- let retries = 0;
75
- let pulledTrack: MediaStreamTrack | undefined;
76
- while (!pulledTrack && retries < 3) {
77
- retries++;
78
- log.info('pulling track', {
79
- trackData: { ...trackInfo.current!, mid: undefined },
80
- retries,
81
- pulledTrack,
82
- });
83
- pulledTrack = await peerPull.pullTrack({
84
- trackData: { ...trackInfo.current!, mid: undefined },
85
- ctx: pullCtx.current,
86
- });
87
- await sleep(200);
88
- }
89
- invariant(pulledTrack);
90
- setPulledTrack(pulledTrack);
91
- performance.mark('pullTrack:end');
92
- const pullTime = performance.measure('pullTrack', 'pullTrack:begin', 'pullTrack:end').duration;
93
- setMetrics((prev) => ({ ...prev, 'time to pull track [ms]': Math.round(pullTime) }));
94
- log.info('successfully pulled track', { pullTime, pulledTrack });
95
- },
96
- 1000,
97
- );
98
-
99
- return () => {
100
- void ctx.dispose();
101
- };
102
- }, [mediaStreamTrack, peerPush, peerPull]);
103
-
104
- const rePullTrack = useCallback(async () => {
105
- performance.mark('rePullVideo:begin');
106
- if (!pulledTrack) {
107
- log.info('no pulled track, skipping re-pull', { pulledTrack });
108
- return;
109
- }
110
- pulledTrack.stop();
111
- await pullCtx.current!.dispose();
112
- pullCtx.current = Context.default();
113
- const newPulledTrack = await peerPull.pullTrack({
114
- trackData: { ...trackInfo.current!, mid: undefined },
115
- ctx: pullCtx.current,
116
- });
117
- invariant(newPulledTrack);
118
- setPulledTrack(newPulledTrack);
119
- performance.mark('rePullVideo:end');
120
- const rePullTime = performance.measure('rePullVideo', 'rePullVideo:begin', 'rePullVideo:end').duration;
121
- setMetrics((prev) => ({ ...prev, 'time to re-pull video [ms]': Math.round(rePullTime) }));
122
- }, [peerPull, trackInfo.current, pullCtx.current, pulledTrack]);
123
-
124
- return {
125
- pulledTrack,
126
- rePullTrack,
127
- metrics,
128
- pushService: peerPush,
129
- pullService: peerPull,
130
- };
131
- };
132
-
133
- type DefaultStoryProps = { source: string };
134
-
135
- const DefaultStory = ({ source }: DefaultStoryProps) => {
136
- const pushVideoElement = useRef<HTMLVideoElement>(null);
137
- const pullVideoElement = useRef<HTMLVideoElement>(null);
138
- // Get video stream track.
139
- const videoStreamTrack = useVideoStreamTrack(pushVideoElement, source);
140
- const { pulledTrack, rePullTrack, metrics } = pushAndPullTrack(videoStreamTrack);
141
- const hadRun = useRef(false);
142
-
143
- // Push/pull video stream track to cloudflare.
144
- useEffect(() => {
145
- if (!pulledTrack || hadRun.current) {
146
- return;
147
- }
148
- hadRun.current = true;
149
- const ctx = Context.default();
150
- scheduleTask(ctx, async () => {
151
- pullVideoElement.current!.srcObject = new MediaStream([pulledTrack]);
152
- await pullVideoElement.current!.play();
153
- });
154
-
155
- return () => {
156
- void ctx.dispose();
157
- };
158
- }, [pulledTrack]);
159
-
160
- return (
161
- <div className='grid grid-rows-3 gap-4 items-center'>
162
- <video ref={pushVideoElement} muted autoPlay loop />
163
- <div className='flex flex-col gap-4'>
164
- <video ref={pullVideoElement} muted />
165
- <Button disabled={!pulledTrack} onClick={rePullTrack}>
166
- Re-pull video
167
- </Button>
168
- </div>
169
- <Json data={metrics} />
170
- </div>
171
- );
172
- };
173
-
174
- const meta = {
175
- title: 'plugins/plugin-thread/experimental/Calls',
176
- render: DefaultStory,
177
- decorators: [
178
- withTheme(),
179
- withClientProvider({
180
- config: new Config({
181
- runtime: {
182
- services: {
183
- iceProviders: [{ urls: 'https://edge.dxos.workers.dev/ice' }],
184
- },
185
- },
186
- }),
187
- }),
188
- ],
189
- parameters: {
190
- layout: 'centered',
191
- },
192
- } satisfies Meta<typeof DefaultStory>;
193
-
194
- export default meta;
195
-
196
- type Story = StoryObj<typeof meta>;
197
-
198
- export const Default: Story = {
199
- args: {
200
- source: testVideo,
201
- },
202
- };
203
-
204
- export const InaudibleAudioStreamTrack = {
205
- render: () => {
206
- const audioStreamTrack = useInaudibleAudioStreamTrack();
207
- const { rePullTrack, metrics } = pushAndPullTrack(audioStreamTrack);
208
-
209
- return (
210
- <div className='flex flex-col gap-4 items-center'>
211
- <Json data={metrics} />
212
- <Button onClick={rePullTrack}>Re-pull audio</Button>
213
- </div>
214
- );
215
- },
216
- };
217
-
218
- export const BlackVideoStreamTrack = {
219
- render: () => {
220
- const videoStreamTrack = useBlackCanvasStreamTrack();
221
- const { rePullTrack, metrics } = pushAndPullTrack(videoStreamTrack);
222
- return (
223
- <div className='flex flex-col gap-4 items-center'>
224
- <Json data={metrics} />
225
- <Button onClick={rePullTrack}>Re-pull audio</Button>
226
- </div>
227
- );
228
- },
229
- };
@@ -1,204 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Atom } from '@effect-atom/atom-react';
6
- import * as Effect from 'effect/Effect';
7
- import * as Option from 'effect/Option';
8
-
9
- import { Capability } from '@dxos/app-framework';
10
- import { AppCapabilities, companionSegment } from '@dxos/app-toolkit';
11
- import { Obj } from '@dxos/echo';
12
- import { Operation } from '@dxos/operation';
13
- import { AttentionCapabilities } from '@dxos/plugin-attention';
14
- import { DECK_COMPANION_TYPE, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';
15
- import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
16
- import { type SelectionManager, type SelectionMode, defaultSelection } from '@dxos/react-ui-attention';
17
-
18
- import { meta } from '../../meta';
19
- import { Channel, ThreadCapabilities, type ThreadState } from '../../types';
20
- import { ThreadOperation } from '../../operations';
21
- import { getAnchor } from '../../util';
22
-
23
- type CommentDisabledParams = {
24
- stateAtom: Atom.Atom<Atom.Writable<ThreadState>[]>;
25
- selectionManager: SelectionManager;
26
- objectId: string;
27
- commentsType: string;
28
- selectionMode: SelectionMode | undefined;
29
- };
30
-
31
- /**
32
- * Atom family to derive whether the comment button should be disabled.
33
- * Uses a composite key to ensure proper caching.
34
- */
35
- const commentDisabledFamily = Atom.family(
36
- ({ stateAtom, selectionManager, objectId, commentsType, selectionMode }: CommentDisabledParams) =>
37
- Atom.make((get) => {
38
- const stateAtoms = get(stateAtom);
39
- const state = stateAtoms[0] ? get(stateAtoms[0]) : undefined;
40
- const toolbar = state?.toolbar ?? {};
41
- const selectionState = get(selectionManager.state);
42
- const selection =
43
- selectionState.selections[objectId] ?? (selectionMode ? defaultSelection(selectionMode) : undefined);
44
- const anchor = getAnchor(selection);
45
- const invalidSelection = !anchor;
46
- const overlappingComment = toolbar[objectId];
47
- return (commentsType === 'anchored' && invalidSelection) || overlappingComment;
48
- }),
49
- );
50
-
51
- /** Match ECHO objects that are NOT Channels (i.e. objects that can have comments). */
52
- const whenCommentableObject = NodeMatcher.whenAll(
53
- NodeMatcher.whenEchoObjectMatches,
54
- NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Channel.Channel)),
55
- );
56
-
57
- // TODO(wittjosiah): Highlight active calls in L1.
58
- // Track active meetings by subscribing to meetings query and polling the swarms of recent meetings in the space.
59
- export default Capability.makeModule(
60
- Effect.fnUntraced(function* () {
61
- const capabilities = yield* Capability.Service;
62
-
63
- const resolve = (typename: string) =>
64
- capabilities.getAll(AppCapabilities.Metadata).find(({ id }: { id: string }) => id === typename)?.metadata ?? {};
65
-
66
- const extensions = yield* Effect.all([
67
- GraphBuilder.createExtension({
68
- id: `${meta.id}.active-call`,
69
- match: NodeMatcher.whenRoot,
70
- connector: (node, get) => {
71
- const callManagerAtom = capabilities.atom(ThreadCapabilities.CallManager);
72
- const [call] = get(callManagerAtom);
73
- if (!call) {
74
- return Effect.succeed([]);
75
- }
76
- // Use derived joinedAtom for efficient subscription.
77
- const joined = get(call.joinedAtom);
78
- return Effect.succeed(
79
- joined
80
- ? [
81
- {
82
- id: 'active-call',
83
- type: DECK_COMPANION_TYPE,
84
- data: null,
85
- properties: {
86
- label: ['call panel label', { ns: meta.id }],
87
- icon: 'ph--video-conference--regular',
88
- position: 'hoist',
89
- disposition: 'hidden',
90
- },
91
- },
92
- ]
93
- : [],
94
- );
95
- },
96
- }),
97
- GraphBuilder.createTypeExtension({
98
- id: `${meta.id}.channel-chat-companion`,
99
- type: Channel.Channel,
100
- connector: (channel, get) => {
101
- const callManager = capabilities.get(ThreadCapabilities.CallManager);
102
- // Use derived atoms for efficient subscription.
103
- const joined = get(callManager.joinedAtom);
104
- const roomId = get(callManager.roomIdAtom);
105
- const isActive = joined && roomId === Obj.getDXN(channel).toString();
106
- if (!isActive) {
107
- return Effect.succeed([]);
108
- }
109
-
110
- return Effect.succeed([
111
- {
112
- id: 'chat',
113
- type: PLANK_COMPANION_TYPE,
114
- data: 'chat',
115
- properties: {
116
- label: ['channel companion label', { ns: meta.id }],
117
- icon: 'ph--hash--regular',
118
- position: 'hoist',
119
- disposition: 'hidden',
120
- },
121
- },
122
- ]);
123
- },
124
- }),
125
- GraphBuilder.createExtension({
126
- id: `${meta.id}.comments-companion`,
127
- match: (node) => {
128
- if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {
129
- return Option.none();
130
- }
131
- const metadata = resolve(Obj.getTypename(node.data)!);
132
- return typeof metadata.comments === 'string' ? Option.some(node) : Option.none();
133
- },
134
- connector: () =>
135
- Effect.succeed([
136
- {
137
- id: companionSegment('comments'),
138
- type: PLANK_COMPANION_TYPE,
139
- data: 'comments',
140
- properties: {
141
- label: ['comments label', { ns: meta.id }],
142
- icon: 'ph--chat-text--regular',
143
- disposition: 'hidden',
144
- position: 'hoist',
145
- },
146
- },
147
- ]),
148
- }),
149
- GraphBuilder.createExtension({
150
- id: `${meta.id}.comment-toolbar`,
151
- match: (node) => {
152
- if (!Obj.isObject(node.data) || Option.isNone(whenCommentableObject(node))) {
153
- return Option.none();
154
- }
155
- const metadata = resolve(Obj.getTypename(node.data)!);
156
- return typeof metadata.comments === 'string' ? Option.some(node) : Option.none();
157
- },
158
- actions: (matched, get) => {
159
- const object = matched.data;
160
- const objectDxn = Obj.getDXN(object).toString();
161
- const stateAtom = capabilities.atom(ThreadCapabilities.State);
162
- const selectionManager = capabilities.get(AttentionCapabilities.Selection);
163
- const metadata = resolve(Obj.getTypename(object)!);
164
-
165
- const disabled = get(
166
- commentDisabledFamily({
167
- stateAtom,
168
- selectionManager,
169
- objectId: objectDxn,
170
- commentsType: metadata.comments as string,
171
- selectionMode: metadata.selectionMode,
172
- }),
173
- );
174
-
175
- return Effect.succeed([
176
- {
177
- id: 'comment',
178
- data: Effect.fnUntraced(function* () {
179
- const metadata = resolve(Obj.getTypename(object)!);
180
- const selection = selectionManager.getSelection(objectDxn);
181
- const anchor = metadata.comments === 'anchored' ? getAnchor(selection) : Date.now().toString();
182
- const name = metadata.getAnchorLabel?.(object, anchor);
183
- yield* Operation.invoke(ThreadOperation.Create, {
184
- anchor,
185
- name,
186
- subject: object,
187
- });
188
- }),
189
- properties: {
190
- label: ['add comment label', { ns: meta.id }],
191
- icon: 'ph--chat-text--regular',
192
- disposition: 'toolbar',
193
- disabled,
194
- testId: 'thread.comment.add',
195
- },
196
- },
197
- ]);
198
- },
199
- }),
200
- ]);
201
-
202
- return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
203
- }),
204
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));
@@ -1,26 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capabilities, Capability } from '@dxos/app-framework';
8
- import { ClientCapabilities } from '@dxos/plugin-client';
9
-
10
- import { CallManager } from '../../calls';
11
- import { ThreadCapabilities } from '../../types';
12
-
13
- export default Capability.makeModule(
14
- Effect.fnUntraced(function* () {
15
- const client = yield* Capability.get(ClientCapabilities.Client);
16
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
17
- const callManager = new CallManager(client, registry);
18
- yield* Effect.tryPromise(() => callManager.open());
19
-
20
- return Capability.contributes(ThreadCapabilities.CallManager, callManager, () =>
21
- Effect.sync(() => {
22
- void callManager.close();
23
- }),
24
- );
25
- }),
26
- );