@dxos/plugin-thread 0.8.4-main.f9ba587 → 0.8.4-main.fcc0d83b33

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 (491) hide show
  1. package/dist/lib/browser/add-message-OC4QB4I2.mjs +89 -0
  2. package/dist/lib/browser/add-message-OC4QB4I2.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-J5LGTIGS.mjs +10 -0
  6. package/dist/lib/browser/chunk-J67QAUIW.mjs +61 -0
  7. package/dist/lib/browser/chunk-J67QAUIW.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-KCMJ7H7F.mjs +259 -0
  9. package/dist/lib/browser/chunk-KCMJ7H7F.mjs.map +7 -0
  10. package/dist/lib/browser/create-IUWQEW74.mjs +55 -0
  11. package/dist/lib/browser/create-IUWQEW74.mjs.map +7 -0
  12. package/dist/lib/browser/create-channel-CBC5WEFG.mjs +21 -0
  13. package/dist/lib/browser/create-channel-CBC5WEFG.mjs.map +7 -0
  14. package/dist/lib/browser/create-channel-thread-JJ5LQ3OZ.mjs +28 -0
  15. package/dist/lib/browser/create-channel-thread-JJ5LQ3OZ.mjs.map +7 -0
  16. package/dist/lib/browser/create-proposals-RHLVRJZ4.mjs +57 -0
  17. package/dist/lib/browser/create-proposals-RHLVRJZ4.mjs.map +7 -0
  18. package/dist/lib/browser/delete-PVIEGTTY.mjs +59 -0
  19. package/dist/lib/browser/delete-PVIEGTTY.mjs.map +7 -0
  20. package/dist/lib/browser/delete-message-TLVRPLJF.mjs +56 -0
  21. package/dist/lib/browser/delete-message-TLVRPLJF.mjs.map +7 -0
  22. package/dist/lib/browser/index.mjs +1875 -241
  23. package/dist/lib/browser/index.mjs.map +4 -4
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/on-create-space-KRTKYRFU.mjs +25 -0
  26. package/dist/lib/browser/on-create-space-KRTKYRFU.mjs.map +7 -0
  27. package/dist/lib/browser/operations/index.mjs +14 -0
  28. package/dist/lib/browser/operations/index.mjs.map +7 -0
  29. package/dist/lib/browser/restore-AVE55SJF.mjs +33 -0
  30. package/dist/lib/browser/restore-AVE55SJF.mjs.map +7 -0
  31. package/dist/lib/browser/restore-message-F57RMGDJ.mjs +34 -0
  32. package/dist/lib/browser/restore-message-F57RMGDJ.mjs.map +7 -0
  33. package/dist/lib/browser/select-BJDZJI64.mjs +26 -0
  34. package/dist/lib/browser/select-BJDZJI64.mjs.map +7 -0
  35. package/dist/lib/browser/toggle-resolved-HQE5P7BV.mjs +37 -0
  36. package/dist/lib/browser/toggle-resolved-HQE5P7BV.mjs.map +7 -0
  37. package/dist/lib/browser/translations.mjs +90 -0
  38. package/dist/lib/browser/translations.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +8 -12
  40. package/dist/lib/node-esm/add-message-HJXNAILW.mjs +90 -0
  41. package/dist/lib/node-esm/add-message-HJXNAILW.mjs.map +7 -0
  42. package/dist/lib/node-esm/blueprints/index.mjs +38 -0
  43. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  44. package/dist/lib/node-esm/chunk-2Q6V7NGK.mjs +62 -0
  45. package/dist/lib/node-esm/chunk-2Q6V7NGK.mjs.map +7 -0
  46. package/dist/lib/node-esm/chunk-4KRVIOPC.mjs +260 -0
  47. package/dist/lib/node-esm/chunk-4KRVIOPC.mjs.map +7 -0
  48. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  49. package/dist/lib/node-esm/create-NALJT67D.mjs +56 -0
  50. package/dist/lib/node-esm/create-NALJT67D.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-channel-CS2EAYJF.mjs +22 -0
  52. package/dist/lib/node-esm/create-channel-CS2EAYJF.mjs.map +7 -0
  53. package/dist/lib/node-esm/create-channel-thread-KZZFZDTU.mjs +29 -0
  54. package/dist/lib/node-esm/create-channel-thread-KZZFZDTU.mjs.map +7 -0
  55. package/dist/lib/node-esm/create-proposals-AFAYZQBI.mjs +58 -0
  56. package/dist/lib/node-esm/create-proposals-AFAYZQBI.mjs.map +7 -0
  57. package/dist/lib/node-esm/delete-HQJVZY7Q.mjs +60 -0
  58. package/dist/lib/node-esm/delete-HQJVZY7Q.mjs.map +7 -0
  59. package/dist/lib/node-esm/delete-message-VVPEYLV4.mjs +57 -0
  60. package/dist/lib/node-esm/delete-message-VVPEYLV4.mjs.map +7 -0
  61. package/dist/lib/node-esm/index.mjs +1875 -241
  62. package/dist/lib/node-esm/index.mjs.map +4 -4
  63. package/dist/lib/node-esm/meta.json +1 -1
  64. package/dist/lib/node-esm/on-create-space-2UX7Z5EQ.mjs +26 -0
  65. package/dist/lib/node-esm/on-create-space-2UX7Z5EQ.mjs.map +7 -0
  66. package/dist/lib/node-esm/operations/index.mjs +15 -0
  67. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  68. package/dist/lib/node-esm/restore-FMIWJR5T.mjs +34 -0
  69. package/dist/lib/node-esm/restore-FMIWJR5T.mjs.map +7 -0
  70. package/dist/lib/node-esm/restore-message-3L7AMQMG.mjs +35 -0
  71. package/dist/lib/node-esm/restore-message-3L7AMQMG.mjs.map +7 -0
  72. package/dist/lib/node-esm/select-VCAFISBK.mjs +27 -0
  73. package/dist/lib/node-esm/select-VCAFISBK.mjs.map +7 -0
  74. package/dist/lib/node-esm/toggle-resolved-JDZZ257P.mjs +38 -0
  75. package/dist/lib/node-esm/toggle-resolved-JDZZ257P.mjs.map +7 -0
  76. package/dist/lib/node-esm/translations.mjs +91 -0
  77. package/dist/lib/node-esm/translations.mjs.map +7 -0
  78. package/dist/lib/node-esm/types/index.mjs +8 -12
  79. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  80. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  81. package/dist/types/src/blueprints/index.d.ts +2 -0
  82. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  83. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  84. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  85. package/dist/types/src/calls/call-manager.d.ts +40 -30
  86. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  87. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  88. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  89. package/dist/types/src/calls/media-manager.d.ts +2 -2
  90. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  91. package/dist/types/src/calls/speaking-monitor.d.ts +0 -3
  92. package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -1
  93. package/dist/types/src/calls/types.d.ts +1 -1
  94. package/dist/types/src/calls/types.d.ts.map +1 -1
  95. package/dist/types/src/calls/util/audio.d.ts.map +1 -1
  96. package/dist/types/src/calls/util/calls-service.d.ts +7 -5
  97. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  98. package/dist/types/src/calls/util/history-cache.d.ts.map +1 -1
  99. package/dist/types/src/calls/util/media.d.ts.map +1 -1
  100. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  101. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  102. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  103. package/dist/types/src/calls-service.stories.d.ts +10 -9
  104. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  106. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  108. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/call-manager.d.ts +3 -2
  110. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/index.d.ts +13 -13
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  114. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  116. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  118. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  120. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/settings.d.ts +5 -2
  122. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/state.d.ts +5 -5
  124. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  126. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  127. package/dist/types/src/components/Call/Call.d.ts +32 -4
  128. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  129. package/dist/types/src/components/Call/Toolbar.d.ts +6 -6
  130. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  131. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  132. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  133. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  134. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  135. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
  136. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  137. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  138. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  139. package/dist/types/src/components/Lobby/Lobby.d.ts +24 -3
  140. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  141. package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
  142. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  143. package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
  144. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  145. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  146. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  147. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  148. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  149. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  150. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  151. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  152. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +160 -5
  153. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  154. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  155. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  156. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  157. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  158. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  160. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  161. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  162. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  163. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  164. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  165. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  166. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  167. package/dist/types/src/components/index.d.ts +4 -9
  168. package/dist/types/src/components/index.d.ts.map +1 -1
  169. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
  170. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  171. package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -0
  172. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  173. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  174. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  175. package/dist/types/src/containers/CallSidebar/index.d.ts +2 -0
  176. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  177. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  178. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  179. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  180. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  181. package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
  182. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  183. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +16 -0
  184. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  185. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  186. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  187. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  188. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  189. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  190. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  191. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  192. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  193. package/dist/types/src/containers/index.d.ts +7 -0
  194. package/dist/types/src/containers/index.d.ts.map +1 -0
  195. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  196. package/dist/types/src/extensions/command.d.ts.map +1 -0
  197. package/dist/types/src/extensions/index.d.ts +1 -0
  198. package/dist/types/src/extensions/index.d.ts.map +1 -1
  199. package/dist/types/src/extensions/threads.d.ts +9 -4
  200. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  201. package/dist/types/src/hooks/analytics.d.ts +2 -3
  202. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  203. package/dist/types/src/hooks/index.d.ts +2 -1
  204. package/dist/types/src/hooks/index.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
  206. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
  207. package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
  208. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  209. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  210. package/dist/types/src/index.d.ts +1 -1
  211. package/dist/types/src/index.d.ts.map +1 -1
  212. package/dist/types/src/meta.d.ts +3 -4
  213. package/dist/types/src/meta.d.ts.map +1 -1
  214. package/dist/types/src/operations/add-message.d.ts +5 -0
  215. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  216. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  217. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  218. package/dist/types/src/operations/create-channel.d.ts +5 -0
  219. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  220. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  221. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  222. package/dist/types/src/operations/create.d.ts +5 -0
  223. package/dist/types/src/operations/create.d.ts.map +1 -0
  224. package/dist/types/src/operations/definitions.d.ts +2804 -0
  225. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  226. package/dist/types/src/operations/delete-message.d.ts +5 -0
  227. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  228. package/dist/types/src/operations/delete.d.ts +5 -0
  229. package/dist/types/src/operations/delete.d.ts.map +1 -0
  230. package/dist/types/src/operations/index.d.ts +4 -0
  231. package/dist/types/src/operations/index.d.ts.map +1 -0
  232. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  233. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  234. package/dist/types/src/operations/restore-message.d.ts +5 -0
  235. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  236. package/dist/types/src/operations/restore.d.ts +5 -0
  237. package/dist/types/src/operations/restore.d.ts.map +1 -0
  238. package/dist/types/src/operations/select.d.ts +5 -0
  239. package/dist/types/src/operations/select.d.ts.map +1 -0
  240. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  241. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  242. package/dist/types/src/testing/data.d.ts +5 -0
  243. package/dist/types/src/testing/data.d.ts.map +1 -0
  244. package/dist/types/src/testing/index.d.ts +1 -1
  245. package/dist/types/src/testing/index.d.ts.map +1 -1
  246. package/dist/types/src/translations.d.ts +142 -70
  247. package/dist/types/src/translations.d.ts.map +1 -1
  248. package/dist/types/src/types/Channel.d.ts +715 -0
  249. package/dist/types/src/types/Channel.d.ts.map +1 -0
  250. package/dist/types/src/types/Settings.d.ts +5 -0
  251. package/dist/types/src/types/Settings.d.ts.map +1 -0
  252. package/dist/types/src/types/capabilities.d.ts +24 -0
  253. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  254. package/dist/types/src/types/index.d.ts +2 -1
  255. package/dist/types/src/types/index.d.ts.map +1 -1
  256. package/dist/types/src/types/types.d.ts +4 -326
  257. package/dist/types/src/types/types.d.ts.map +1 -1
  258. package/dist/types/src/util.d.ts +17 -2
  259. package/dist/types/src/util.d.ts.map +1 -1
  260. package/dist/types/tsconfig.tsbuildinfo +1 -1
  261. package/package.json +113 -74
  262. package/src/ThreadPlugin.tsx +109 -149
  263. package/src/blueprints/index.ts +5 -0
  264. package/src/blueprints/thread-blueprint.ts +36 -0
  265. package/src/calls/call-manager.ts +78 -54
  266. package/src/calls/call-swarm-synchronizer.ts +3 -3
  267. package/src/calls/media-manager.ts +67 -38
  268. package/src/calls/types.ts +8 -4
  269. package/src/calls/util/calls-service.ts +67 -15
  270. package/src/calls/util/stub-media-streams.ts +66 -7
  271. package/src/calls/util/task-scheduling.ts +4 -4
  272. package/src/calls-service.stories.tsx +82 -68
  273. package/src/capabilities/app-graph-builder.ts +175 -162
  274. package/src/capabilities/blueprint-definition.ts +17 -0
  275. package/src/capabilities/call-manager.ts +19 -11
  276. package/src/capabilities/index.ts +15 -11
  277. package/src/capabilities/markdown.ts +55 -37
  278. package/src/capabilities/operation-handler.ts +16 -0
  279. package/src/capabilities/react-root.tsx +12 -9
  280. package/src/capabilities/react-surface.tsx +80 -77
  281. package/src/capabilities/settings.ts +28 -12
  282. package/src/capabilities/state.ts +14 -17
  283. package/src/capabilities/undo-mappings.ts +46 -0
  284. package/src/components/Call/Call.tsx +17 -12
  285. package/src/components/Call/Toolbar.tsx +62 -45
  286. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +95 -0
  287. package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
  288. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +66 -61
  289. package/src/components/CommentsPanel/index.ts +6 -0
  290. package/src/components/Lobby/Lobby.tsx +21 -17
  291. package/src/components/Media/AudioStream.tsx +2 -2
  292. package/src/components/Media/VideoObject.stories.tsx +37 -30
  293. package/src/components/Media/VideoObject.tsx +1 -1
  294. package/src/components/MessagePanel/MessagePanel.tsx +222 -0
  295. package/src/components/MessagePanel/index.ts +5 -0
  296. package/src/components/Participant/Participant.tsx +35 -15
  297. package/src/components/Participant/ParticipantGrid.tsx +1 -1
  298. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +51 -49
  299. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +6 -6
  300. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +14 -11
  301. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +12 -12
  302. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
  303. package/src/components/ResponsiveGrid/index.ts +1 -1
  304. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
  305. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  306. package/src/components/ThreadSettings/index.ts +5 -0
  307. package/src/components/index.ts +5 -12
  308. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +173 -0
  309. package/src/containers/CallDebugPanel/index.ts +5 -0
  310. package/src/containers/CallSidebar/CallSidebar.tsx +18 -0
  311. package/src/containers/CallSidebar/index.ts +5 -0
  312. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +93 -0
  313. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +97 -74
  314. package/src/containers/ChannelContainer/index.ts +5 -0
  315. package/src/containers/ChatContainer/ChatContainer.stories.tsx +87 -0
  316. package/src/containers/ChatContainer/ChatContainer.tsx +126 -0
  317. package/src/containers/ChatContainer/index.ts +8 -0
  318. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +217 -0
  319. package/src/containers/ThreadCompanion/index.ts +5 -0
  320. package/src/containers/index.ts +11 -0
  321. package/src/{components/command-extension.ts → extensions/command.ts} +7 -4
  322. package/src/extensions/index.ts +1 -0
  323. package/src/extensions/threads.ts +89 -44
  324. package/src/hooks/analytics.ts +22 -21
  325. package/src/hooks/index.ts +3 -1
  326. package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
  327. package/src/hooks/useDebugMode.ts +1 -1
  328. package/src/hooks/useVideoStreamTrack.tsx +6 -3
  329. package/src/index.ts +1 -1
  330. package/src/meta.ts +11 -7
  331. package/src/operations/add-message.ts +81 -0
  332. package/src/operations/create-channel-thread.ts +26 -0
  333. package/src/operations/create-channel.ts +20 -0
  334. package/src/operations/create-proposals.ts +49 -0
  335. package/src/operations/create.ts +48 -0
  336. package/src/operations/definitions.ts +177 -0
  337. package/src/operations/delete-message.ts +53 -0
  338. package/src/operations/delete.ts +63 -0
  339. package/src/operations/index.ts +22 -0
  340. package/src/operations/on-create-space.ts +27 -0
  341. package/src/operations/restore-message.ts +38 -0
  342. package/src/operations/restore.ts +38 -0
  343. package/src/operations/select.ts +24 -0
  344. package/src/operations/toggle-resolved.ts +41 -0
  345. package/src/testing/data.ts +49 -0
  346. package/src/testing/index.ts +1 -1
  347. package/src/translations.ts +74 -71
  348. package/src/types/Channel.ts +37 -0
  349. package/src/types/Settings.ts +10 -0
  350. package/src/types/capabilities.ts +36 -0
  351. package/src/types/index.ts +2 -1
  352. package/src/types/types.ts +5 -91
  353. package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
  354. package/src/typings.d.ts +8 -0
  355. package/src/util.ts +2 -2
  356. package/dist/lib/browser/ChannelContainer-5YH4FTBL.mjs +0 -16
  357. package/dist/lib/browser/ChatContainer-2UYQ23KO.mjs +0 -15
  358. package/dist/lib/browser/app-graph-builder-Q5V3KXE3.mjs +0 -171
  359. package/dist/lib/browser/app-graph-builder-Q5V3KXE3.mjs.map +0 -7
  360. package/dist/lib/browser/call-manager-NIPDYUVD.mjs +0 -24
  361. package/dist/lib/browser/call-manager-NIPDYUVD.mjs.map +0 -7
  362. package/dist/lib/browser/chunk-5ZVJ4GAS.mjs +0 -21
  363. package/dist/lib/browser/chunk-5ZVJ4GAS.mjs.map +0 -7
  364. package/dist/lib/browser/chunk-6NSMBO3B.mjs +0 -56
  365. package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +0 -7
  366. package/dist/lib/browser/chunk-ERWASUQK.mjs +0 -149
  367. package/dist/lib/browser/chunk-ERWASUQK.mjs.map +0 -7
  368. package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
  369. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  370. package/dist/lib/browser/chunk-GERVMFQW.mjs +0 -31
  371. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  372. package/dist/lib/browser/chunk-JVIKVYTI.mjs +0 -128
  373. package/dist/lib/browser/chunk-JVIKVYTI.mjs.map +0 -7
  374. package/dist/lib/browser/chunk-LCJD3NOB.mjs +0 -984
  375. package/dist/lib/browser/chunk-LCJD3NOB.mjs.map +0 -7
  376. package/dist/lib/browser/chunk-LGSDKXPF.mjs +0 -18
  377. package/dist/lib/browser/chunk-LGSDKXPF.mjs.map +0 -7
  378. package/dist/lib/browser/chunk-NCSFNWBZ.mjs +0 -479
  379. package/dist/lib/browser/chunk-NCSFNWBZ.mjs.map +0 -7
  380. package/dist/lib/browser/chunk-YD57K2SL.mjs +0 -367
  381. package/dist/lib/browser/chunk-YD57K2SL.mjs.map +0 -7
  382. package/dist/lib/browser/chunk-ZE7KWN36.mjs +0 -1669
  383. package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +0 -7
  384. package/dist/lib/browser/intent-resolver-MWE6XLPY.mjs +0 -353
  385. package/dist/lib/browser/intent-resolver-MWE6XLPY.mjs.map +0 -7
  386. package/dist/lib/browser/markdown-ZO34G7RM.mjs +0 -169
  387. package/dist/lib/browser/markdown-ZO34G7RM.mjs.map +0 -7
  388. package/dist/lib/browser/react-root-YNDNPODD.mjs +0 -28
  389. package/dist/lib/browser/react-root-YNDNPODD.mjs.map +0 -7
  390. package/dist/lib/browser/react-surface-2AXRNTCA.mjs +0 -109
  391. package/dist/lib/browser/react-surface-2AXRNTCA.mjs.map +0 -7
  392. package/dist/lib/browser/settings-XZGPZNAU.mjs +0 -22
  393. package/dist/lib/browser/settings-XZGPZNAU.mjs.map +0 -7
  394. package/dist/lib/browser/state-H6CYONWE.mjs +0 -34
  395. package/dist/lib/browser/state-H6CYONWE.mjs.map +0 -7
  396. package/dist/lib/node-esm/ChannelContainer-O2LZKMRM.mjs +0 -17
  397. package/dist/lib/node-esm/ChannelContainer-O2LZKMRM.mjs.map +0 -7
  398. package/dist/lib/node-esm/ChatContainer-6N35MP5J.mjs +0 -16
  399. package/dist/lib/node-esm/ChatContainer-6N35MP5J.mjs.map +0 -7
  400. package/dist/lib/node-esm/app-graph-builder-GAKBZNU3.mjs +0 -172
  401. package/dist/lib/node-esm/app-graph-builder-GAKBZNU3.mjs.map +0 -7
  402. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs +0 -25
  403. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-25ABSYP2.mjs +0 -150
  405. package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-3X3YKRM2.mjs +0 -129
  407. package/dist/lib/node-esm/chunk-3X3YKRM2.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-57XR3LEF.mjs +0 -33
  409. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-5UQ4KKDE.mjs +0 -985
  411. package/dist/lib/node-esm/chunk-5UQ4KKDE.mjs.map +0 -7
  412. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs +0 -19
  413. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs.map +0 -7
  414. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs +0 -480
  415. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs.map +0 -7
  416. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
  417. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  418. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs +0 -1670
  419. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +0 -7
  420. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs +0 -58
  421. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +0 -7
  422. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs +0 -368
  423. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs.map +0 -7
  424. package/dist/lib/node-esm/chunk-X62X3VOK.mjs +0 -23
  425. package/dist/lib/node-esm/chunk-X62X3VOK.mjs.map +0 -7
  426. package/dist/lib/node-esm/intent-resolver-B6PNTMPY.mjs +0 -354
  427. package/dist/lib/node-esm/intent-resolver-B6PNTMPY.mjs.map +0 -7
  428. package/dist/lib/node-esm/markdown-ZJUFV2TA.mjs +0 -170
  429. package/dist/lib/node-esm/markdown-ZJUFV2TA.mjs.map +0 -7
  430. package/dist/lib/node-esm/react-root-ZUVVTKWG.mjs +0 -29
  431. package/dist/lib/node-esm/react-root-ZUVVTKWG.mjs.map +0 -7
  432. package/dist/lib/node-esm/react-surface-OMEZTOU6.mjs +0 -110
  433. package/dist/lib/node-esm/react-surface-OMEZTOU6.mjs.map +0 -7
  434. package/dist/lib/node-esm/settings-XECBSD6Q.mjs +0 -23
  435. package/dist/lib/node-esm/settings-XECBSD6Q.mjs.map +0 -7
  436. package/dist/lib/node-esm/state-D7WNDT3N.mjs +0 -35
  437. package/dist/lib/node-esm/state-D7WNDT3N.mjs.map +0 -7
  438. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  439. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  441. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  442. package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
  443. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  444. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  445. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  446. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  447. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
  448. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  449. package/dist/types/src/components/Chat.stories.d.ts +0 -7
  450. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  451. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  452. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  453. package/dist/types/src/components/Comments.stories.d.ts +0 -6
  454. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  455. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  456. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  457. package/dist/types/src/components/CommentsThreadContainer.d.ts +0 -14
  458. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  459. package/dist/types/src/components/MessageContainer.d.ts +0 -11
  460. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  461. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  462. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -10
  463. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  464. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  465. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  466. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  467. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  468. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  469. package/dist/types/src/components/testing.d.ts +0 -4
  470. package/dist/types/src/components/testing.d.ts.map +0 -1
  471. package/dist/types/src/testing/stories.d.ts +0 -2
  472. package/dist/types/src/testing/stories.d.ts.map +0 -1
  473. package/dist/types/src/types/schema.d.ts +0 -133
  474. package/dist/types/src/types/schema.d.ts.map +0 -1
  475. package/src/capabilities/capabilities.ts +0 -33
  476. package/src/capabilities/intent-resolver.ts +0 -296
  477. package/src/components/CallDebugPanel.tsx +0 -115
  478. package/src/components/CallSidebar.tsx +0 -17
  479. package/src/components/ChannelContainer.stories.tsx +0 -58
  480. package/src/components/Chat.stories.tsx +0 -88
  481. package/src/components/ChatContainer.tsx +0 -141
  482. package/src/components/Comments.stories.tsx +0 -92
  483. package/src/components/CommentsContainer.tsx +0 -71
  484. package/src/components/MessageContainer.tsx +0 -151
  485. package/src/components/ThreadComplementary.tsx +0 -151
  486. package/src/components/ThreadSettings.tsx +0 -17
  487. package/src/components/testing.ts +0 -29
  488. package/src/testing/stories.ts +0 -54
  489. package/src/types/schema.ts +0 -33
  490. /package/dist/lib/browser/{ChannelContainer-5YH4FTBL.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  491. /package/dist/lib/{browser/ChatContainer-2UYQ23KO.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID, rxFromSignal } from '@dxos/plugin-graph';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { meta, THREAD_PLUGIN } from '../meta';\nimport { ChannelType, ThreadAction } from '../types';\nimport { getAnchor } from '../util';\n\nexport default (context: PluginContext) => {\n const resolve = (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${THREAD_PLUGIN}/active-call`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map((node) => {\n const [call] = get(context.capabilities(ThreadCapabilities.CallManager));\n return get(\n rxFromSignal(() =>\n call?.joined\n ? [\n {\n id: `${node.id}${ATTENDABLE_PATH_SEPARATOR}active-call`,\n type: DECK_COMPANION_TYPE,\n data: null,\n properties: {\n label: ['call panel label', { ns: THREAD_PLUGIN }],\n icon: 'ph--video-conference--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ]\n : [],\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n // TODO(wittjosiah): The channel shouldn't become the companion during a call.\n // Alternative: the call/meeting/thread should be a child node of the channel and that should be opened.\n createExtension({\n id: `${THREAD_PLUGIN}/channel-chat-companion`,\n connector: (node) => {\n return Rx.make((get) => {\n return pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(ChannelType, node.data) ? Option.some(node.data) : Option.none())),\n Option.map((channel) => {\n const callManager = context.getCapability(ThreadCapabilities.CallManager);\n const joined = get(\n rxFromSignal(() => callManager.joined && callManager.roomId === fullyQualifiedId(channel)),\n );\n if (!joined) {\n return [];\n }\n\n return [\n {\n id: `${fullyQualifiedId(channel)}${ATTENDABLE_PATH_SEPARATOR}chat`,\n type: PLANK_COMPANION_TYPE,\n data: 'chat',\n properties: {\n label: ['channel companion label', { ns: THREAD_PLUGIN }],\n icon: 'ph--hash--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n );\n });\n },\n }),\n createExtension({\n id: `${meta.id}/comments-companion`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n if (!Obj.isObject(node.data) || Obj.instanceOf(ChannelType, node.data)) {\n return Option.none();\n }\n const metadata = resolve(Obj.getTypename(node.data)!);\n return typeof metadata.comments === 'string' ? Option.some(node) : Option.none();\n }),\n Option.map((node) => [\n {\n id: [node.id, 'comments'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'comments',\n properties: {\n label: ['comments label', { ns: meta.id }],\n icon: 'ph--chat-text--regular',\n disposition: 'hidden',\n position: 'hoist',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${meta.id}/comment-toolbar`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => {\n if (!Obj.isObject(node.data) || Obj.instanceOf(ChannelType, node.data)) {\n return Option.none();\n }\n const metadata = resolve(Obj.getTypename(node.data)!);\n return typeof metadata.comments === 'string' ? Option.some(node.data) : Option.none();\n }),\n Option.map((object) => {\n const selectionManager = context.getCapability(AttentionCapabilities.Selection);\n const toolbar = get(context.capabilities(ThreadCapabilities.State))[0]?.state.toolbar ?? {};\n const disabled = get(\n rxFromSignal(() => {\n const metadata = resolve(Obj.getTypename(object)!);\n const selection = selectionManager.getSelection(fullyQualifiedId(object), metadata.selectionMode);\n const anchor = getAnchor(selection);\n const invalidSelection = !anchor;\n const overlappingComment = toolbar[fullyQualifiedId(object)];\n return (metadata.comments === 'anchored' && invalidSelection) || overlappingComment;\n }),\n );\n\n return [\n {\n id: `${fullyQualifiedId(object)}/comment`,\n data: () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const metadata = resolve(Obj.getTypename(object)!);\n const selection = selectionManager.getSelection(fullyQualifiedId(object));\n // TODO(wittjosiah): Use presence of selection to determine if the comment should be anchored.\n // Requires all components which support selection (e.g. table/kanban) to support anchored comments.\n const anchor = metadata.comments === 'anchored' ? getAnchor(selection) : Date.now().toString();\n const name = metadata.getAnchorLabel?.(object, anchor);\n void dispatch(createIntent(ThreadAction.Create, { anchor, name, subject: object }));\n },\n properties: {\n label: ['add comment label', { ns: meta.id }],\n icon: 'ph--chat-text--regular',\n disposition: 'toolbar',\n disabled,\n testId: 'thread.comment.add',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Rx", "Option", "pipe", "Capabilities", "contributes", "createIntent", "Obj", "AttentionCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "createExtension", "ROOT_ID", "rxFromSignal", "fullyQualifiedId", "context", "resolve", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "AppGraphBuilder", "createExtension", "THREAD_PLUGIN", "connector", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "call", "capabilities", "ThreadCapabilities", "CallManager", "rxFromSignal", "joined", "ATTENDABLE_PATH_SEPARATOR", "type", "DECK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "position", "disposition", "getOrElse", "Obj", "instanceOf", "ChannelType", "channel", "callManager", "getCapability", "roomId", "fullyQualifiedId", "PLANK_COMPANION_TYPE", "meta", "isObject", "getTypename", "comments", "join", "actions", "object", "selectionManager", "AttentionCapabilities", "Selection", "toolbar", "State", "state", "disabled", "selection", "getSelection", "selectionMode", "anchor", "getAnchor", "invalidSelection", "overlappingComment", "dispatchPromise", "dispatch", "IntentDispatcher", "Date", "now", "toString", "name", "getAnchorLabel", "createIntent", "ThreadAction", "Create", "subject", "testId"]
7
- }
@@ -1,24 +0,0 @@
1
- import {
2
- CallManager
3
- } from "./chunk-ZE7KWN36.mjs";
4
- import {
5
- ThreadCapabilities
6
- } from "./chunk-LGSDKXPF.mjs";
7
- import "./chunk-6NSMBO3B.mjs";
8
- import "./chunk-EV4JWI7L.mjs";
9
-
10
- // src/capabilities/call-manager.ts
11
- import { contributes } from "@dxos/app-framework";
12
- import { ClientCapabilities } from "@dxos/plugin-client";
13
- var call_manager_default = async (context) => {
14
- const client = context.getCapability(ClientCapabilities.Client);
15
- const callManager = new CallManager(client);
16
- await callManager.open();
17
- return contributes(ThreadCapabilities.CallManager, callManager, () => {
18
- void callManager.close();
19
- });
20
- };
21
- export {
22
- call_manager_default as default
23
- };
24
- //# sourceMappingURL=call-manager-NIPDYUVD.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/call-manager.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginContext } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { ThreadCapabilities } from './capabilities';\nimport { CallManager } from '../calls';\n\nexport default async (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const callManager = new CallManager(client);\n await callManager.open();\n\n return contributes(ThreadCapabilities.CallManager, callManager, () => {\n void callManager.close();\n });\n};\n"],
5
- "mappings": ";;;;;;;;;;AAIA,SAASA,mBAAuC;AAChD,SAASC,0BAA0B;AAKnC,IAAA,uBAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMC,cAAc,IAAIC,YAAYL,MAAAA;AACpC,QAAMI,YAAYE,KAAI;AAEtB,SAAOC,YAAYC,mBAAmBH,aAAaD,aAAa,MAAA;AAC9D,SAAKA,YAAYK,MAAK;EACxB,CAAA;AACF;",
6
- "names": ["contributes", "ClientCapabilities", "context", "client", "getCapability", "ClientCapabilities", "Client", "callManager", "CallManager", "open", "contributes", "ThreadCapabilities", "close"]
7
- }
@@ -1,21 +0,0 @@
1
- // src/capabilities/index.ts
2
- import { lazy } from "@dxos/app-framework";
3
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-Q5V3KXE3.mjs"));
4
- var CallManager = lazy(() => import("./call-manager-NIPDYUVD.mjs"));
5
- var IntentResolver = lazy(() => import("./intent-resolver-MWE6XLPY.mjs"));
6
- var Markdown = lazy(() => import("./markdown-ZO34G7RM.mjs"));
7
- var ReactRoot = lazy(() => import("./react-root-YNDNPODD.mjs"));
8
- var ReactSurface = lazy(() => import("./react-surface-2AXRNTCA.mjs"));
9
- var ThreadSettings = lazy(() => import("./settings-XZGPZNAU.mjs"));
10
- var ThreadState = lazy(() => import("./state-H6CYONWE.mjs"));
11
-
12
- export {
13
- AppGraphBuilder,
14
- CallManager,
15
- IntentResolver,
16
- Markdown,
17
- ReactRoot,
18
- ReactSurface,
19
- ThreadState
20
- };
21
- //# sourceMappingURL=chunk-5ZVJ4GAS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const CallManager = lazy(() => import('./call-manager'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const Markdown = lazy(() => import('./markdown'));\nexport const ReactRoot = lazy(() => import('./react-root'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ThreadSettings = lazy(() => import('./settings'));\nexport const ThreadState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n"],
5
- "mappings": ";AAIA,SAASA,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,cAAcD,KAAK,MAAM,OAAO,6BAAA,CAAA;AACtC,IAAME,iBAAiBF,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,WAAWH,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMI,YAAYJ,KAAK,MAAM,OAAO,2BAAA,CAAA;AACpC,IAAMK,eAAeL,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMM,iBAAiBN,KAAK,MAAM,OAAO,yBAAA,CAAA;AACzC,IAAMO,cAAcP,KAAK,MAAM,OAAO,sBAAA,CAAA;",
6
- "names": ["lazy", "AppGraphBuilder", "lazy", "CallManager", "IntentResolver", "Markdown", "ReactRoot", "ReactSurface", "ThreadSettings", "ThreadState"]
7
- }
@@ -1,56 +0,0 @@
1
- // src/calls/util/stub-media-streams.ts
2
- import { waitForCondition, scheduleTaskInterval } from "@dxos/async";
3
- import { cancelWithContext } from "@dxos/context";
4
- import { invariant } from "@dxos/invariant";
5
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/stub-media-streams.ts";
6
- var createBlackCanvasStreamTrack = async ({ ctx, width, height }) => {
7
- const canvas = document.createElement("canvas");
8
- canvas.width = width;
9
- canvas.height = height;
10
- const canvasCtx = canvas.getContext("2d");
11
- invariant(canvasCtx, void 0, {
12
- F: __dxlog_file,
13
- L: 28,
14
- S: void 0,
15
- A: [
16
- "canvasCtx",
17
- ""
18
- ]
19
- });
20
- const drawFrame = () => {
21
- canvasCtx.fillStyle = "black";
22
- canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
23
- };
24
- scheduleTaskInterval(ctx, async () => drawFrame(), 1e3);
25
- const track = canvas.captureStream().getVideoTracks()[0];
26
- drawFrame();
27
- await cancelWithContext(ctx, waitForCondition({
28
- condition: () => track.readyState === "live",
29
- timeout: 1e3
30
- }));
31
- return track;
32
- };
33
- var createInaudibleAudioStreamTrack = async ({ ctx }) => {
34
- const audioContext = new window.AudioContext();
35
- const oscillator = audioContext.createOscillator();
36
- oscillator.type = "triangle";
37
- oscillator.frequency.setValueAtTime(20, audioContext.currentTime);
38
- const gainNode = audioContext.createGain();
39
- gainNode.gain.setValueAtTime(0.02, audioContext.currentTime);
40
- oscillator.connect(gainNode);
41
- const destination = audioContext.createMediaStreamDestination();
42
- gainNode.connect(destination);
43
- oscillator.start();
44
- ctx.onDispose(async () => {
45
- oscillator.disconnect();
46
- oscillator.stop();
47
- await audioContext.close();
48
- });
49
- return destination.stream.getAudioTracks()[0];
50
- };
51
-
52
- export {
53
- createBlackCanvasStreamTrack,
54
- createInaudibleAudioStreamTrack
55
- };
56
- //# sourceMappingURL=chunk-6NSMBO3B.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/calls/util/stub-media-streams.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n//\n\nimport { waitForCondition, scheduleTaskInterval } from '@dxos/async';\nimport { cancelWithContext, type Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\n\n/**\n * Creates a black canvas stream track.\n * We need this to to have black rectangle video that is live (have frames) when video feed is disabled.\n */\nexport const createBlackCanvasStreamTrack = async ({\n ctx,\n width,\n height,\n}: {\n ctx: Context;\n width: number;\n height: number;\n}): Promise<MediaStreamTrack> => {\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n\n const canvasCtx = canvas.getContext('2d');\n invariant(canvasCtx);\n const drawFrame = () => {\n canvasCtx.fillStyle = 'black';\n canvasCtx.fillRect(0, 0, canvas.width, canvas.height);\n };\n scheduleTaskInterval(ctx, async () => drawFrame(), 1_000);\n\n const track = canvas.captureStream().getVideoTracks()[0];\n drawFrame();\n\n await cancelWithContext(ctx, waitForCondition({ condition: () => track.readyState === 'live', timeout: 1_000 }));\n\n return track;\n};\n\n/**\n * Creates an inaudible audio stream track.\n * We need this to have audio track available when audio is disabled.\n */\nexport const createInaudibleAudioStreamTrack = async ({ ctx }: { ctx: Context }): Promise<MediaStreamTrack> => {\n const audioContext = new window.AudioContext();\n const oscillator = audioContext.createOscillator();\n oscillator.type = 'triangle';\n // roughly sounds like a box fan\n oscillator.frequency.setValueAtTime(20, audioContext.currentTime);\n\n const gainNode = audioContext.createGain();\n // even w/ gain at 0 some packets are sent\n gainNode.gain.setValueAtTime(0.02, audioContext.currentTime);\n oscillator.connect(gainNode);\n\n const destination = audioContext.createMediaStreamDestination();\n gainNode.connect(destination);\n oscillator.start();\n\n ctx.onDispose(async () => {\n oscillator.disconnect();\n oscillator.stop();\n await audioContext.close();\n });\n\n return destination.stream.getAudioTracks()[0];\n};\n"],
5
- "mappings": ";AAKA,SAASA,kBAAkBC,4BAA4B;AACvD,SAASC,yBAAuC;AAChD,SAASC,iBAAiB;;AAMnB,IAAMC,+BAA+B,OAAO,EACjDC,KACAC,OACAC,OAAM,MAKP;AACC,QAAMC,SAASC,SAASC,cAAc,QAAA;AACtCF,SAAOF,QAAQA;AACfE,SAAOD,SAASA;AAEhB,QAAMI,YAAYH,OAAOI,WAAW,IAAA;AACpCT,YAAUQ,WAAAA,QAAAA;;;;;;;;;AACV,QAAME,YAAY,MAAA;AAChBF,cAAUG,YAAY;AACtBH,cAAUI,SAAS,GAAG,GAAGP,OAAOF,OAAOE,OAAOD,MAAM;EACtD;AACAN,uBAAqBI,KAAK,YAAYQ,UAAAA,GAAa,GAAA;AAEnD,QAAMG,QAAQR,OAAOS,cAAa,EAAGC,eAAc,EAAG,CAAA;AACtDL,YAAAA;AAEA,QAAMX,kBAAkBG,KAAKL,iBAAiB;IAAEmB,WAAW,MAAMH,MAAMI,eAAe;IAAQC,SAAS;EAAM,CAAA,CAAA;AAE7G,SAAOL;AACT;AAMO,IAAMM,kCAAkC,OAAO,EAAEjB,IAAG,MAAoB;AAC7E,QAAMkB,eAAe,IAAIC,OAAOC,aAAY;AAC5C,QAAMC,aAAaH,aAAaI,iBAAgB;AAChDD,aAAWE,OAAO;AAElBF,aAAWG,UAAUC,eAAe,IAAIP,aAAaQ,WAAW;AAEhE,QAAMC,WAAWT,aAAaU,WAAU;AAExCD,WAASE,KAAKJ,eAAe,MAAMP,aAAaQ,WAAW;AAC3DL,aAAWS,QAAQH,QAAAA;AAEnB,QAAMI,cAAcb,aAAac,6BAA4B;AAC7DL,WAASG,QAAQC,WAAAA;AACjBV,aAAWY,MAAK;AAEhBjC,MAAIkC,UAAU,YAAA;AACZb,eAAWc,WAAU;AACrBd,eAAWe,KAAI;AACf,UAAMlB,aAAamB,MAAK;EAC1B,CAAA;AAEA,SAAON,YAAYO,OAAOC,eAAc,EAAG,CAAA;AAC7C;",
6
- "names": ["waitForCondition", "scheduleTaskInterval", "cancelWithContext", "invariant", "createBlackCanvasStreamTrack", "ctx", "width", "height", "canvas", "document", "createElement", "canvasCtx", "getContext", "drawFrame", "fillStyle", "fillRect", "track", "captureStream", "getVideoTracks", "condition", "readyState", "timeout", "createInaudibleAudioStreamTrack", "audioContext", "window", "AudioContext", "oscillator", "createOscillator", "type", "frequency", "setValueAtTime", "currentTime", "gainNode", "createGain", "gain", "connect", "destination", "createMediaStreamDestination", "start", "onDispose", "disconnect", "stop", "close", "stream", "getAudioTracks"]
7
- }
@@ -1,149 +0,0 @@
1
- import {
2
- createInaudibleAudioStreamTrack
3
- } from "./chunk-6NSMBO3B.mjs";
4
-
5
- // src/hooks/analytics.ts
6
- import { useCallback } from "react";
7
- import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
8
- import { ObservabilityAction } from "@dxos/plugin-observability/types";
9
- import { getSpace } from "@dxos/react-client/echo";
10
- import { useOnTransition } from "@dxos/react-ui";
11
- var useOnEditAnalytics = (message, textBlock, editing) => {
12
- const { dispatchPromise: dispatch } = useIntentDispatcher();
13
- const onEdit = useCallback(() => {
14
- const space = getSpace(message);
15
- if (!space || !textBlock) {
16
- return;
17
- }
18
- void dispatch(createIntent(ObservabilityAction.SendEvent, {
19
- name: "threads.message.update",
20
- properties: {
21
- spaceId: space.id,
22
- messageId: message.id,
23
- messageLength: textBlock?.text.length
24
- }
25
- }));
26
- }, [
27
- dispatch,
28
- message,
29
- textBlock
30
- ]);
31
- useOnTransition(editing, true, false, onEdit);
32
- };
33
-
34
- // src/hooks/useDebugMode.ts
35
- import { useState, useEffect } from "react";
36
- var useDebugMode = () => {
37
- const [enabled, setEnabled] = useState(false);
38
- useEffect(() => {
39
- const handler = (ev) => {
40
- if (ev.key.toLowerCase() === "d" && ev.ctrlKey) {
41
- ev.preventDefault();
42
- setEnabled(!enabled);
43
- }
44
- };
45
- document.addEventListener("keypress", handler);
46
- return () => {
47
- document.removeEventListener("keypress", handler);
48
- };
49
- }, [
50
- enabled
51
- ]);
52
- return enabled;
53
- };
54
-
55
- // src/hooks/useStatus.ts
56
- import { useEffect as useEffect2, useState as useState2 } from "react";
57
- var useStatus = (space, channel) => {
58
- const [processing, setProcessing] = useState2(false);
59
- useEffect2(() => {
60
- if (!space || !channel) {
61
- return;
62
- }
63
- const unsubscribe = space.listen(`status/${channel}`, (status) => {
64
- const { event } = status.payload ?? {};
65
- setProcessing(event === "processing");
66
- });
67
- const t = setInterval(() => {
68
- setProcessing((prev) => {
69
- if (typeof prev?.ts === "number" && Date.now() - prev.ts > 3e4) {
70
- return void 0;
71
- } else {
72
- return prev;
73
- }
74
- });
75
- }, 1e3);
76
- return () => {
77
- unsubscribe();
78
- clearInterval(t);
79
- };
80
- }, [
81
- space,
82
- channel
83
- ]);
84
- return processing;
85
- };
86
-
87
- // src/hooks/useVideoStreamTrack.tsx
88
- import { useEffect as useEffect3, useRef, useState as useState3 } from "react";
89
- var useVideoStreamTrack = (videoElement, videoSrc) => {
90
- const [videoStreamTrack, setVideoStreamTrack] = useState3(void 0);
91
- const hadRun = useRef(false);
92
- useEffect3(() => {
93
- if (!videoElement.current || hadRun.current || !videoSrc) {
94
- return;
95
- }
96
- hadRun.current = true;
97
- videoElement.current.addEventListener("playing", () => {
98
- const stream = videoElement.current.captureStream();
99
- const track = stream.getTracks()[0];
100
- if (track) {
101
- setVideoStreamTrack(track);
102
- }
103
- stream.onaddtrack = (event) => {
104
- if (event.track.kind === "video") {
105
- setVideoStreamTrack(event.track);
106
- }
107
- };
108
- });
109
- videoElement.current.src = videoSrc;
110
- }, [
111
- videoElement.current,
112
- videoSrc
113
- ]);
114
- return videoStreamTrack;
115
- };
116
-
117
- // src/hooks/useInaudibleAudioStreamTrack.tsx
118
- import { useEffect as useEffect4, useState as useState4 } from "react";
119
- import { scheduleTask } from "@dxos/async";
120
- import { Context } from "@dxos/context";
121
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/hooks/useInaudibleAudioStreamTrack.tsx";
122
- var useInaudibleAudioStreamTrack = () => {
123
- const [audioStreamTrack, setAudioStreamTrack] = useState4(void 0);
124
- useEffect4(() => {
125
- const ctx = new Context(void 0, {
126
- F: __dxlog_file,
127
- L: 15
128
- });
129
- scheduleTask(ctx, async () => {
130
- const audioStreamTrack2 = await createInaudibleAudioStreamTrack({
131
- ctx
132
- });
133
- setAudioStreamTrack(audioStreamTrack2);
134
- });
135
- return () => {
136
- void ctx.dispose();
137
- };
138
- }, []);
139
- return audioStreamTrack;
140
- };
141
-
142
- export {
143
- useOnEditAnalytics,
144
- useDebugMode,
145
- useStatus,
146
- useVideoStreamTrack,
147
- useInaudibleAudioStreamTrack
148
- };
149
- //# sourceMappingURL=chunk-ERWASUQK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/analytics.ts", "../../../src/hooks/useDebugMode.ts", "../../../src/hooks/useStatus.ts", "../../../src/hooks/useVideoStreamTrack.tsx", "../../../src/hooks/useInaudibleAudioStreamTrack.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Live } from '@dxos/live-object';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nexport const useOnEditAnalytics = (\n message: Live<any>,\n textBlock: DataType.MessageBlock.Text | undefined,\n editing: boolean,\n) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const onEdit = useCallback(() => {\n const space = getSpace(message);\n if (!space || !textBlock) {\n return;\n }\n\n void dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.update',\n properties: {\n spaceId: space.id,\n messageId: message.id,\n messageLength: textBlock?.text.length,\n },\n }),\n );\n }, [dispatch, message, textBlock]);\n\n useOnTransition(editing, true, false, onEdit);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useState, useEffect } from 'react';\n\n// TODO(burdon): Standardize across plugins/composer.\nexport const useDebugMode = () => {\n const [enabled, setEnabled] = useState(false);\n useEffect(() => {\n const handler = (ev: KeyboardEvent) => {\n if (ev.key.toLowerCase() === 'd' && ev.ctrlKey) {\n ev.preventDefault();\n setEnabled(!enabled);\n }\n };\n\n document.addEventListener('keypress', handler);\n return () => {\n document.removeEventListener('keypress', handler);\n };\n }, [enabled]);\n\n return enabled;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type RefObject, useEffect, useRef, useState } from 'react';\n\nexport const useVideoStreamTrack = (videoElement: RefObject<HTMLVideoElement>, videoSrc: string) => {\n // Get video stream track.\n const [videoStreamTrack, setVideoStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);\n const hadRun = useRef(false);\n useEffect(() => {\n // This is done to capture only one video stream.\n if (!videoElement.current || hadRun.current || !videoSrc) {\n return;\n }\n hadRun.current = true;\n videoElement.current.addEventListener('playing', () => {\n const stream = (videoElement.current as any).captureStream();\n const track = stream.getTracks()[0];\n if (track) {\n setVideoStreamTrack(track);\n }\n stream.onaddtrack = (event: MediaStreamTrackEvent) => {\n if (event.track.kind === 'video') {\n setVideoStreamTrack(event.track);\n }\n };\n });\n videoElement.current.src = videoSrc;\n }, [videoElement.current, videoSrc]);\n\n return videoStreamTrack;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { scheduleTask } from '@dxos/async';\nimport { Context } from '@dxos/context';\n\nimport { createInaudibleAudioStreamTrack } from '../calls/util/stub-media-streams';\n\nexport const useInaudibleAudioStreamTrack = () => {\n const [audioStreamTrack, setAudioStreamTrack] = useState<MediaStreamTrack | undefined>(undefined);\n useEffect(() => {\n const ctx = new Context();\n scheduleTask(ctx, async () => {\n const audioStreamTrack = await createInaudibleAudioStreamTrack({ ctx });\n setAudioStreamTrack(audioStreamTrack);\n });\n\n return () => {\n void ctx.dispose();\n };\n }, []);\n\n return audioStreamTrack;\n};\n"],
5
- "mappings": "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",
6
- "names": ["useCallback", "createIntent", "useIntentDispatcher", "ObservabilityAction", "getSpace", "useOnTransition", "useOnEditAnalytics", "message", "textBlock", "editing", "dispatchPromise", "dispatch", "useIntentDispatcher", "onEdit", "useCallback", "space", "getSpace", "createIntent", "ObservabilityAction", "SendEvent", "name", "properties", "spaceId", "id", "messageId", "messageLength", "text", "length", "useOnTransition", "useState", "useEffect", "useDebugMode", "enabled", "setEnabled", "useState", "useEffect", "handler", "ev", "key", "toLowerCase", "ctrlKey", "preventDefault", "document", "addEventListener", "removeEventListener", "useEffect", "useState", "useStatus", "space", "channel", "processing", "setProcessing", "useState", "useEffect", "unsubscribe", "listen", "status", "event", "payload", "t", "setInterval", "prev", "ts", "Date", "now", "undefined", "clearInterval", "useEffect", "useRef", "useState", "useVideoStreamTrack", "videoElement", "videoSrc", "videoStreamTrack", "setVideoStreamTrack", "useState", "undefined", "hadRun", "useRef", "useEffect", "current", "addEventListener", "stream", "captureStream", "track", "getTracks", "onaddtrack", "event", "kind", "src", "useEffect", "useState", "scheduleTask", "Context", "useInaudibleAudioStreamTrack", "audioStreamTrack", "setAudioStreamTrack", "useState", "undefined", "useEffect", "ctx", "Context", "scheduleTask", "createInaudibleAudioStreamTrack", "dispose"]
7
- }
@@ -1,17 +0,0 @@
1
- // src/meta.ts
2
- var THREAD_PLUGIN = "dxos.org/plugin/thread";
3
- var THREAD_ITEM = `${THREAD_PLUGIN}/item`;
4
- var meta = {
5
- id: THREAD_PLUGIN,
6
- name: "Chat",
7
- description: "Chat via text, voice, and video in channels or create comment threads on objects.",
8
- icon: "ph--video-conference--regular",
9
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread"
10
- };
11
-
12
- export {
13
- THREAD_PLUGIN,
14
- THREAD_ITEM,
15
- meta
16
- };
17
- //# sourceMappingURL=chunk-EV4JWI7L.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const THREAD_PLUGIN = 'dxos.org/plugin/thread';\nexport const THREAD_ITEM = `${THREAD_PLUGIN}/item`;\n\n// TODO(wittjosiah): Needs screenshots.\nexport const meta: PluginMeta = {\n id: THREAD_PLUGIN,\n name: 'Chat',\n description: 'Chat via text, voice, and video in channels or create comment threads on objects.',\n icon: 'ph--video-conference--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread',\n};\n"],
5
- "mappings": ";AAMO,IAAMA,gBAAgB;AACtB,IAAMC,cAAc,GAAGD,aAAAA;AAGvB,IAAME,OAAmB;EAC9BC,IAAIH;EACJI,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;AACV;",
6
- "names": ["THREAD_PLUGIN", "THREAD_ITEM", "meta", "id", "name", "description", "icon", "source"]
7
- }
@@ -1,31 +0,0 @@
1
- // src/util.ts
2
- import { Match } from "effect";
3
- import { generateName } from "@dxos/display-name";
4
- import { hexToFallback } from "@dxos/util";
5
- var getMessageMetadata = (id, identity) => {
6
- const fallback = hexToFallback(identity?.identityKey.toHex() ?? "0");
7
- return {
8
- id,
9
- authorId: identity?.did,
10
- authorName: identity?.profile?.displayName ?? (identity?.identityKey ? generateName(identity.identityKey.toHex()) : void 0),
11
- authorAvatarProps: {
12
- hue: identity?.profile?.data?.hue ?? fallback.hue,
13
- emoji: identity?.profile?.data?.emoji ?? fallback.emoji
14
- }
15
- };
16
- };
17
- var getAnchor = Match.type().pipe(Match.when({
18
- mode: "single"
19
- }, (s) => s.id), Match.when({
20
- mode: "multi"
21
- }, (s) => s.ids.length > 0 ? s.ids.join(",") : void 0), Match.when({
22
- mode: "range"
23
- }, (s) => s.from && s.to ? `${s.from}:${s.to}` : void 0), Match.when({
24
- mode: "multi-range"
25
- }, (s) => s.ranges[0] && `${s.ranges[0].from}:${s.ranges[0].to}`), Match.when(void 0, () => void 0), Match.exhaustive);
26
-
27
- export {
28
- getMessageMetadata,
29
- getAnchor
30
- };
31
- //# sourceMappingURL=chunk-GERVMFQW.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Match } from 'effect';\n\nimport { generateName } from '@dxos/display-name';\nimport { type Selection } from '@dxos/plugin-attention';\nimport { type PublicKey } from '@dxos/react-client';\nimport { type Identity } from '@dxos/react-client/halo';\nimport { type MessageMetadata } from '@dxos/react-ui-thread';\nimport { hexToFallback } from '@dxos/util';\n\nexport type MessagePropertiesProvider = (identityKey: PublicKey | undefined) => MessageMetadata;\n\nexport const getMessageMetadata = (id: string, identity?: Identity): MessageMetadata => {\n const fallback = hexToFallback(identity?.identityKey.toHex() ?? '0');\n return {\n id,\n authorId: identity?.did,\n authorName:\n identity?.profile?.displayName ??\n (identity?.identityKey ? generateName(identity.identityKey.toHex()) : undefined),\n authorAvatarProps: {\n hue: identity?.profile?.data?.hue ?? fallback.hue,\n emoji: identity?.profile?.data?.emoji ?? fallback.emoji,\n },\n };\n};\n\nexport const getAnchor = Match.type<Selection | undefined>().pipe(\n Match.when({ mode: 'single' }, (s) => s.id),\n Match.when({ mode: 'multi' }, (s) => (s.ids.length > 0 ? s.ids.join(',') : undefined)),\n Match.when({ mode: 'range' }, (s) => (s.from && s.to ? `${s.from}:${s.to}` : undefined)),\n Match.when({ mode: 'multi-range' }, (s) => s.ranges[0] && `${s.ranges[0].from}:${s.ranges[0].to}`),\n Match.when(undefined, () => undefined),\n Match.exhaustive,\n);\n"],
5
- "mappings": ";AAIA,SAASA,aAAa;AAEtB,SAASC,oBAAoB;AAK7B,SAASC,qBAAqB;AAIvB,IAAMC,qBAAqB,CAACC,IAAYC,aAAAA;AAC7C,QAAMC,WAAWC,cAAcF,UAAUG,YAAYC,MAAAA,KAAW,GAAA;AAChE,SAAO;IACLL;IACAM,UAAUL,UAAUM;IACpBC,YACEP,UAAUQ,SAASC,gBAClBT,UAAUG,cAAcO,aAAaV,SAASG,YAAYC,MAAK,CAAA,IAAMO;IACxEC,mBAAmB;MACjBC,KAAKb,UAAUQ,SAASM,MAAMD,OAAOZ,SAASY;MAC9CE,OAAOf,UAAUQ,SAASM,MAAMC,SAASd,SAASc;IACpD;EACF;AACF;AAEO,IAAMC,YAAYC,MAAMC,KAAI,EAA0BC,KAC3DF,MAAMG,KAAK;EAAEC,MAAM;AAAS,GAAG,CAACC,MAAMA,EAAEvB,EAAE,GAC1CkB,MAAMG,KAAK;EAAEC,MAAM;AAAQ,GAAG,CAACC,MAAOA,EAAEC,IAAIC,SAAS,IAAIF,EAAEC,IAAIE,KAAK,GAAA,IAAOd,MAAAA,GAC3EM,MAAMG,KAAK;EAAEC,MAAM;AAAQ,GAAG,CAACC,MAAOA,EAAEI,QAAQJ,EAAEK,KAAK,GAAGL,EAAEI,IAAI,IAAIJ,EAAEK,EAAE,KAAKhB,MAAAA,GAC7EM,MAAMG,KAAK;EAAEC,MAAM;AAAc,GAAG,CAACC,MAAMA,EAAEM,OAAO,CAAA,KAAM,GAAGN,EAAEM,OAAO,CAAA,EAAGF,IAAI,IAAIJ,EAAEM,OAAO,CAAA,EAAGD,EAAE,EAAE,GACjGV,MAAMG,KAAKT,QAAW,MAAMA,MAAAA,GAC5BM,MAAMY,UAAU;",
6
- "names": ["Match", "generateName", "hexToFallback", "getMessageMetadata", "id", "identity", "fallback", "hexToFallback", "identityKey", "toHex", "authorId", "did", "authorName", "profile", "displayName", "generateName", "undefined", "authorAvatarProps", "hue", "data", "emoji", "getAnchor", "Match", "type", "pipe", "when", "mode", "s", "ids", "length", "join", "from", "to", "ranges", "exhaustive"]
7
- }
@@ -1,128 +0,0 @@
1
- import {
2
- THREAD_PLUGIN
3
- } from "./chunk-EV4JWI7L.mjs";
4
-
5
- // src/types/schema.ts
6
- import { Schema } from "effect";
7
- import { Type } from "@dxos/echo";
8
- import { DataType } from "@dxos/schema";
9
- var ThreadStatus = Schema.Union(Schema.Literal("staged"), Schema.Literal("active"), Schema.Literal("resolved"));
10
- var _ThreadType = Schema.Struct({
11
- name: Schema.optional(Schema.String),
12
- status: Schema.optional(ThreadStatus),
13
- messages: Schema.mutable(Schema.Array(Type.Ref(DataType.Message)))
14
- }).pipe(Type.Obj({
15
- typename: "dxos.org/type/Thread",
16
- version: "0.1.0"
17
- }));
18
- var ThreadType = _ThreadType;
19
- var _ChannelType = Schema.Struct({
20
- name: Schema.optional(Schema.String),
21
- defaultThread: Type.Ref(ThreadType),
22
- // TODO(wittjosiah): Should be an "ordered collection".
23
- threads: Schema.mutable(Schema.Array(Type.Ref(ThreadType)))
24
- }).pipe(Type.Obj({
25
- typename: "dxos.org/type/Channel",
26
- version: "0.1.0"
27
- }));
28
- var ChannelType = _ChannelType;
29
-
30
- // src/types/types.ts
31
- import { Schema as Schema2 } from "effect";
32
- import { Type as Type2 } from "@dxos/echo";
33
- import { EchoObjectSchema } from "@dxos/react-client/echo";
34
- import { AnchoredTo, DataType as DataType2 } from "@dxos/schema";
35
- (function(ThreadAction2) {
36
- const THREAD_ACTION = `${THREAD_PLUGIN}/action`;
37
- class CreateChannel extends Schema2.TaggedClass()(`${THREAD_ACTION}/create-channel`, {
38
- input: Schema2.Struct({
39
- spaceId: Type2.SpaceId,
40
- name: Schema2.optional(Schema2.String)
41
- }),
42
- output: Schema2.Struct({
43
- object: ChannelType
44
- })
45
- }) {
46
- }
47
- ThreadAction2.CreateChannel = CreateChannel;
48
- class CreateChannelThread extends Schema2.TaggedClass()(`${THREAD_ACTION}/create-channel-thread`, {
49
- input: Schema2.Struct({
50
- channel: ChannelType
51
- }),
52
- output: Schema2.Struct({
53
- object: ThreadType
54
- })
55
- }) {
56
- }
57
- ThreadAction2.CreateChannelThread = CreateChannelThread;
58
- class Create extends Schema2.TaggedClass()(`${THREAD_ACTION}/create`, {
59
- input: Schema2.Struct({
60
- name: Schema2.optional(Schema2.String),
61
- anchor: Schema2.optional(Schema2.String),
62
- subject: EchoObjectSchema
63
- }),
64
- output: Schema2.Void
65
- }) {
66
- }
67
- ThreadAction2.Create = Create;
68
- class Delete extends Schema2.TaggedClass()(`${THREAD_ACTION}/delete`, {
69
- input: Schema2.Struct({
70
- anchor: AnchoredTo,
71
- subject: EchoObjectSchema,
72
- thread: Schema2.optional(ThreadType)
73
- }),
74
- output: Schema2.Void
75
- }) {
76
- }
77
- ThreadAction2.Delete = Delete;
78
- class Select extends Schema2.TaggedClass()(`${THREAD_ACTION}/select`, {
79
- input: Schema2.Struct({
80
- current: Schema2.String
81
- }),
82
- output: Schema2.Void
83
- }) {
84
- }
85
- ThreadAction2.Select = Select;
86
- class ToggleResolved extends Schema2.TaggedClass()(`${THREAD_ACTION}/toggle-resolved`, {
87
- input: Schema2.Struct({
88
- thread: ThreadType
89
- }),
90
- output: Schema2.Void
91
- }) {
92
- }
93
- ThreadAction2.ToggleResolved = ToggleResolved;
94
- class AddMessage extends Schema2.TaggedClass()(`${THREAD_ACTION}/add-message`, {
95
- input: Schema2.Struct({
96
- subject: EchoObjectSchema,
97
- anchor: AnchoredTo,
98
- sender: DataType2.Actor,
99
- text: Schema2.String
100
- }),
101
- output: Schema2.Void
102
- }) {
103
- }
104
- ThreadAction2.AddMessage = AddMessage;
105
- class DeleteMessage extends Schema2.TaggedClass()(`${THREAD_ACTION}/delete-message`, {
106
- input: Schema2.Struct({
107
- anchor: AnchoredTo,
108
- subject: EchoObjectSchema,
109
- messageId: Schema2.String,
110
- message: Schema2.optional(DataType2.Message),
111
- messageIndex: Schema2.optional(Schema2.Number)
112
- }),
113
- output: Schema2.Void
114
- }) {
115
- }
116
- ThreadAction2.DeleteMessage = DeleteMessage;
117
- })(ThreadAction || (ThreadAction = {}));
118
- var ThreadSettingsSchema = Schema2.mutable(Schema2.Struct({}));
119
- var ThreadAction;
120
-
121
- export {
122
- ThreadStatus,
123
- ThreadType,
124
- ChannelType,
125
- ThreadSettingsSchema,
126
- ThreadAction
127
- };
128
- //# sourceMappingURL=chunk-JVIKVYTI.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { DataType } from '@dxos/schema';\n\nexport const ThreadStatus = Schema.Union(\n Schema.Literal('staged'),\n Schema.Literal('active'),\n Schema.Literal('resolved'),\n);\n\nconst _ThreadType = Schema.Struct({\n name: Schema.optional(Schema.String),\n status: Schema.optional(ThreadStatus),\n messages: Schema.mutable(Schema.Array(Type.Ref(DataType.Message))),\n}).pipe(Type.Obj({ typename: 'dxos.org/type/Thread', version: '0.1.0' }));\nexport interface ThreadType extends Schema.Schema.Type<typeof _ThreadType> {}\nexport const ThreadType: Type.obj<Schema.Schema<ThreadType, Schema.Schema.Encoded<typeof _ThreadType>, never>> =\n _ThreadType;\n\nconst _ChannelType = Schema.Struct({\n name: Schema.optional(Schema.String),\n defaultThread: Type.Ref(ThreadType),\n // TODO(wittjosiah): Should be an \"ordered collection\".\n threads: Schema.mutable(Schema.Array(Type.Ref(ThreadType))),\n}).pipe(Type.Obj({ typename: 'dxos.org/type/Channel', version: '0.1.0' }));\nexport interface ChannelType extends Schema.Schema.Type<typeof _ChannelType> {}\nexport const ChannelType: Type.obj<Schema.Schema<ChannelType, Schema.Schema.Encoded<typeof _ChannelType>, never>> =\n _ChannelType;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { EchoObjectSchema } from '@dxos/react-client/echo';\nimport { AnchoredTo, DataType } from '@dxos/schema';\n\nimport { ChannelType, ThreadType } from './schema';\nimport { THREAD_PLUGIN } from '../meta';\n\nexport namespace ThreadAction {\n const THREAD_ACTION = `${THREAD_PLUGIN}/action`;\n\n export class CreateChannel extends Schema.TaggedClass<CreateChannel>()(`${THREAD_ACTION}/create-channel`, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ChannelType,\n }),\n }) {}\n\n export class CreateChannelThread extends Schema.TaggedClass<CreateChannelThread>()(\n `${THREAD_ACTION}/create-channel-thread`,\n {\n input: Schema.Struct({\n channel: ChannelType,\n }),\n output: Schema.Struct({\n object: ThreadType,\n }),\n },\n ) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${THREAD_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n anchor: Schema.optional(Schema.String),\n subject: EchoObjectSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Delete extends Schema.TaggedClass<Delete>()(`${THREAD_ACTION}/delete`, {\n input: Schema.Struct({\n anchor: AnchoredTo,\n subject: EchoObjectSchema,\n thread: Schema.optional(ThreadType),\n }),\n output: Schema.Void,\n }) {}\n\n export class Select extends Schema.TaggedClass<Select>()(`${THREAD_ACTION}/select`, {\n input: Schema.Struct({\n current: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n\n export class ToggleResolved extends Schema.TaggedClass<ToggleResolved>()(`${THREAD_ACTION}/toggle-resolved`, {\n input: Schema.Struct({\n thread: ThreadType,\n }),\n output: Schema.Void,\n }) {}\n\n export class AddMessage extends Schema.TaggedClass<AddMessage>()(`${THREAD_ACTION}/add-message`, {\n input: Schema.Struct({\n subject: EchoObjectSchema,\n anchor: AnchoredTo,\n sender: DataType.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n }) {}\n\n export class DeleteMessage extends Schema.TaggedClass<DeleteMessage>()(`${THREAD_ACTION}/delete-message`, {\n input: Schema.Struct({\n anchor: AnchoredTo,\n subject: EchoObjectSchema,\n messageId: Schema.String,\n message: Schema.optional(DataType.Message),\n messageIndex: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport const ThreadSettingsSchema = Schema.mutable(Schema.Struct({}));\nexport type ThreadSettingsProps = Schema.Schema.Type<typeof ThreadSettingsSchema>;\n\nexport interface ThreadModel {\n root: ThreadType;\n}\n\ntype SubjectId = string;\nexport type ViewState = { showResolvedThreads: boolean };\nexport type ViewStore = Record<SubjectId, ViewState>;\n\nexport type ThreadState = {\n /** Object toolbar state. */\n toolbar: Record<string, boolean>;\n /** In-memory draft threads. */\n drafts: Record<string, AnchoredTo[]>;\n current?: string | undefined;\n};\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Type", "DataType", "ThreadStatus", "Schema", "Union", "Literal", "_ThreadType", "Struct", "name", "optional", "String", "status", "messages", "mutable", "Array", "Type", "Ref", "DataType", "Message", "pipe", "Obj", "typename", "version", "ThreadType", "_ChannelType", "defaultThread", "threads", "ChannelType", "Schema", "Type", "EchoObjectSchema", "AnchoredTo", "DataType", "ThreadAction", "THREAD_ACTION", "THREAD_PLUGIN", "CreateChannel", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "output", "object", "ChannelType", "CreateChannelThread", "channel", "ThreadType", "Create", "anchor", "subject", "EchoObjectSchema", "Void", "Delete", "AnchoredTo", "thread", "Select", "current", "ToggleResolved", "AddMessage", "sender", "DataType", "Actor", "text", "DeleteMessage", "messageId", "message", "Message", "messageIndex", "Number", "ThreadSettingsSchema", "mutable"]
7
- }