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

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 (476) hide show
  1. package/dist/lib/browser/add-message-VPPFFLFL.mjs +97 -0
  2. package/dist/lib/browser/add-message-VPPFFLFL.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-MESW3R4Q.mjs +61 -0
  7. package/dist/lib/browser/chunk-MESW3R4Q.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-VPM44Z35.mjs +259 -0
  9. package/dist/lib/browser/chunk-VPM44Z35.mjs.map +7 -0
  10. package/dist/lib/browser/create-OQKG4S47.mjs +55 -0
  11. package/dist/lib/browser/create-OQKG4S47.mjs.map +7 -0
  12. package/dist/lib/browser/create-channel-EF67LCS6.mjs +21 -0
  13. package/dist/lib/browser/create-channel-EF67LCS6.mjs.map +7 -0
  14. package/dist/lib/browser/create-channel-thread-CCZTSWQ6.mjs +28 -0
  15. package/dist/lib/browser/create-channel-thread-CCZTSWQ6.mjs.map +7 -0
  16. package/dist/lib/browser/create-proposals-CMK7S7VS.mjs +57 -0
  17. package/dist/lib/browser/create-proposals-CMK7S7VS.mjs.map +7 -0
  18. package/dist/lib/browser/delete-FSFVU6ZA.mjs +59 -0
  19. package/dist/lib/browser/delete-FSFVU6ZA.mjs.map +7 -0
  20. package/dist/lib/browser/delete-message-XL5M5J33.mjs +64 -0
  21. package/dist/lib/browser/delete-message-XL5M5J33.mjs.map +7 -0
  22. package/dist/lib/browser/index.mjs +2253 -233
  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-VYS2JGVT.mjs +25 -0
  26. package/dist/lib/browser/on-create-space-VYS2JGVT.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-2ZGMKUSD.mjs +33 -0
  30. package/dist/lib/browser/restore-2ZGMKUSD.mjs.map +7 -0
  31. package/dist/lib/browser/restore-message-OYEGWPII.mjs +42 -0
  32. package/dist/lib/browser/restore-message-OYEGWPII.mjs.map +7 -0
  33. package/dist/lib/browser/select-VG2XLULE.mjs +26 -0
  34. package/dist/lib/browser/select-VG2XLULE.mjs.map +7 -0
  35. package/dist/lib/browser/toggle-resolved-MM6YC5BU.mjs +45 -0
  36. package/dist/lib/browser/toggle-resolved-MM6YC5BU.mjs.map +7 -0
  37. package/dist/lib/browser/types/index.mjs +8 -12
  38. package/dist/lib/node-esm/add-message-XWKHLNS6.mjs +98 -0
  39. package/dist/lib/node-esm/add-message-XWKHLNS6.mjs.map +7 -0
  40. package/dist/lib/node-esm/blueprints/index.mjs +38 -0
  41. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  42. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  43. package/dist/lib/node-esm/chunk-JTHXNWKJ.mjs +260 -0
  44. package/dist/lib/node-esm/chunk-JTHXNWKJ.mjs.map +7 -0
  45. package/dist/lib/node-esm/chunk-SDRAQNSQ.mjs +62 -0
  46. package/dist/lib/node-esm/chunk-SDRAQNSQ.mjs.map +7 -0
  47. package/dist/lib/node-esm/create-6ZOFMMYA.mjs +56 -0
  48. package/dist/lib/node-esm/create-6ZOFMMYA.mjs.map +7 -0
  49. package/dist/lib/node-esm/create-channel-UYWUNB3L.mjs +22 -0
  50. package/dist/lib/node-esm/create-channel-UYWUNB3L.mjs.map +7 -0
  51. package/dist/lib/node-esm/create-channel-thread-UQF2SBHS.mjs +29 -0
  52. package/dist/lib/node-esm/create-channel-thread-UQF2SBHS.mjs.map +7 -0
  53. package/dist/lib/node-esm/create-proposals-5FJNURKH.mjs +58 -0
  54. package/dist/lib/node-esm/create-proposals-5FJNURKH.mjs.map +7 -0
  55. package/dist/lib/node-esm/delete-WRODXR3E.mjs +60 -0
  56. package/dist/lib/node-esm/delete-WRODXR3E.mjs.map +7 -0
  57. package/dist/lib/node-esm/delete-message-TAHCYTW2.mjs +65 -0
  58. package/dist/lib/node-esm/delete-message-TAHCYTW2.mjs.map +7 -0
  59. package/dist/lib/node-esm/index.mjs +2253 -233
  60. package/dist/lib/node-esm/index.mjs.map +4 -4
  61. package/dist/lib/node-esm/meta.json +1 -1
  62. package/dist/lib/node-esm/on-create-space-XDY2YXPV.mjs +26 -0
  63. package/dist/lib/node-esm/on-create-space-XDY2YXPV.mjs.map +7 -0
  64. package/dist/lib/node-esm/operations/index.mjs +15 -0
  65. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  66. package/dist/lib/node-esm/restore-T3QA7TSL.mjs +34 -0
  67. package/dist/lib/node-esm/restore-T3QA7TSL.mjs.map +7 -0
  68. package/dist/lib/node-esm/restore-message-WFTEVBEV.mjs +43 -0
  69. package/dist/lib/node-esm/restore-message-WFTEVBEV.mjs.map +7 -0
  70. package/dist/lib/node-esm/select-Q4UDWJJF.mjs +27 -0
  71. package/dist/lib/node-esm/select-Q4UDWJJF.mjs.map +7 -0
  72. package/dist/lib/node-esm/toggle-resolved-33XTAK2H.mjs +46 -0
  73. package/dist/lib/node-esm/toggle-resolved-33XTAK2H.mjs.map +7 -0
  74. package/dist/lib/node-esm/types/index.mjs +8 -12
  75. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  76. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  77. package/dist/types/src/blueprints/index.d.ts +2 -0
  78. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  79. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  80. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  81. package/dist/types/src/calls/call-manager.d.ts +40 -30
  82. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  83. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  84. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  85. package/dist/types/src/calls/media-manager.d.ts +2 -2
  86. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  87. package/dist/types/src/calls/types.d.ts +1 -1
  88. package/dist/types/src/calls/types.d.ts.map +1 -1
  89. package/dist/types/src/calls/util/calls-service.d.ts +5 -3
  90. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  91. package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
  92. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  93. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  94. package/dist/types/src/calls-service.stories.d.ts +10 -9
  95. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  97. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  99. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/call-manager.d.ts +3 -2
  101. package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/index.d.ts +13 -13
  103. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/markdown.d.ts +3 -2
  105. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  107. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  109. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  111. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/settings.d.ts +5 -2
  113. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/state.d.ts +5 -5
  115. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  117. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  118. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  119. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  120. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  121. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
  122. package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
  123. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
  124. package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
  126. package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
  127. package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
  128. package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
  129. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  130. package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
  131. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  132. package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
  133. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  134. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
  135. package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
  136. package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
  137. package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
  138. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  139. package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
  140. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
  141. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +160 -5
  142. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  144. package/dist/types/src/components/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
  145. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
  146. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +164 -0
  147. package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
  148. package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
  149. package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
  150. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
  151. package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  152. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
  153. package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
  154. package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
  155. package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
  156. package/dist/types/src/components/index.d.ts +4 -9
  157. package/dist/types/src/components/index.d.ts.map +1 -1
  158. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
  159. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  160. package/dist/types/src/containers/CallDebugPanel/index.d.ts +2 -0
  161. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  162. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  163. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  164. package/dist/types/src/containers/CallSidebar/index.d.ts +2 -0
  165. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  166. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  167. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  168. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +162 -0
  169. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  170. package/dist/types/src/containers/ChannelContainer/index.d.ts +2 -0
  171. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  172. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +16 -0
  173. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  174. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +162 -0
  175. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  176. package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
  177. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  178. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +8 -0
  179. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  180. package/dist/types/src/containers/ThreadCompanion/index.d.ts +2 -0
  181. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  182. package/dist/types/src/containers/index.d.ts +7 -0
  183. package/dist/types/src/containers/index.d.ts.map +1 -0
  184. package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
  185. package/dist/types/src/extensions/command.d.ts.map +1 -0
  186. package/dist/types/src/extensions/index.d.ts +1 -0
  187. package/dist/types/src/extensions/index.d.ts.map +1 -1
  188. package/dist/types/src/extensions/threads.d.ts +9 -4
  189. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  190. package/dist/types/src/hooks/analytics.d.ts +2 -3
  191. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  192. package/dist/types/src/hooks/index.d.ts +2 -1
  193. package/dist/types/src/hooks/index.d.ts.map +1 -1
  194. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
  195. package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
  196. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  197. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  198. package/dist/types/src/index.d.ts +1 -1
  199. package/dist/types/src/index.d.ts.map +1 -1
  200. package/dist/types/src/meta.d.ts +3 -4
  201. package/dist/types/src/meta.d.ts.map +1 -1
  202. package/dist/types/src/operations/add-message.d.ts +5 -0
  203. package/dist/types/src/operations/add-message.d.ts.map +1 -0
  204. package/dist/types/src/operations/create-channel-thread.d.ts +5 -0
  205. package/dist/types/src/operations/create-channel-thread.d.ts.map +1 -0
  206. package/dist/types/src/operations/create-channel.d.ts +5 -0
  207. package/dist/types/src/operations/create-channel.d.ts.map +1 -0
  208. package/dist/types/src/operations/create-proposals.d.ts +5 -0
  209. package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
  210. package/dist/types/src/operations/create.d.ts +5 -0
  211. package/dist/types/src/operations/create.d.ts.map +1 -0
  212. package/dist/types/src/operations/definitions.d.ts +2804 -0
  213. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  214. package/dist/types/src/operations/delete-message.d.ts +5 -0
  215. package/dist/types/src/operations/delete-message.d.ts.map +1 -0
  216. package/dist/types/src/operations/delete.d.ts +5 -0
  217. package/dist/types/src/operations/delete.d.ts.map +1 -0
  218. package/dist/types/src/operations/index.d.ts +4 -0
  219. package/dist/types/src/operations/index.d.ts.map +1 -0
  220. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  221. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  222. package/dist/types/src/operations/restore-message.d.ts +5 -0
  223. package/dist/types/src/operations/restore-message.d.ts.map +1 -0
  224. package/dist/types/src/operations/restore.d.ts +5 -0
  225. package/dist/types/src/operations/restore.d.ts.map +1 -0
  226. package/dist/types/src/operations/select.d.ts +5 -0
  227. package/dist/types/src/operations/select.d.ts.map +1 -0
  228. package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
  229. package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
  230. package/dist/types/src/testing/data.d.ts +5 -0
  231. package/dist/types/src/testing/data.d.ts.map +1 -0
  232. package/dist/types/src/testing/stories.d.ts +2 -1
  233. package/dist/types/src/testing/stories.d.ts.map +1 -1
  234. package/dist/types/src/translations.d.ts +142 -70
  235. package/dist/types/src/translations.d.ts.map +1 -1
  236. package/dist/types/src/types/Channel.d.ts +715 -0
  237. package/dist/types/src/types/Channel.d.ts.map +1 -0
  238. package/dist/types/src/types/Settings.d.ts +5 -0
  239. package/dist/types/src/types/Settings.d.ts.map +1 -0
  240. package/dist/types/src/types/capabilities.d.ts +24 -0
  241. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  242. package/dist/types/src/types/index.d.ts +2 -1
  243. package/dist/types/src/types/index.d.ts.map +1 -1
  244. package/dist/types/src/types/types.d.ts +4 -326
  245. package/dist/types/src/types/types.d.ts.map +1 -1
  246. package/dist/types/src/util.d.ts +17 -2
  247. package/dist/types/src/util.d.ts.map +1 -1
  248. package/dist/types/tsconfig.tsbuildinfo +1 -1
  249. package/package.json +114 -67
  250. package/src/ThreadPlugin.tsx +107 -146
  251. package/src/blueprints/index.ts +5 -0
  252. package/src/blueprints/thread-blueprint.ts +37 -0
  253. package/src/calls/call-manager.ts +78 -54
  254. package/src/calls/call-swarm-synchronizer.ts +3 -3
  255. package/src/calls/media-manager.ts +67 -38
  256. package/src/calls/types.ts +8 -4
  257. package/src/calls/util/calls-service.ts +65 -15
  258. package/src/calls/util/stub-media-streams.ts +64 -7
  259. package/src/calls/util/task-scheduling.ts +4 -4
  260. package/src/calls-service.stories.tsx +81 -67
  261. package/src/capabilities/app-graph-builder.ts +175 -162
  262. package/src/capabilities/blueprint-definition.ts +17 -0
  263. package/src/capabilities/call-manager.ts +19 -11
  264. package/src/capabilities/index.ts +15 -11
  265. package/src/capabilities/markdown.ts +51 -37
  266. package/src/capabilities/operation-handler.ts +16 -0
  267. package/src/capabilities/react-root.tsx +12 -9
  268. package/src/capabilities/react-surface.tsx +80 -77
  269. package/src/capabilities/settings.ts +28 -12
  270. package/src/capabilities/state.ts +14 -17
  271. package/src/capabilities/undo-mappings.ts +46 -0
  272. package/src/components/Call/Call.tsx +13 -8
  273. package/src/components/Call/Toolbar.tsx +62 -45
  274. package/src/components/CommentsPanel/CommentsPanel.stories.tsx +93 -0
  275. package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
  276. package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +66 -61
  277. package/src/components/CommentsPanel/index.ts +6 -0
  278. package/src/components/Lobby/Lobby.tsx +16 -13
  279. package/src/components/Media/AudioStream.tsx +2 -2
  280. package/src/components/Media/VideoObject.stories.tsx +37 -30
  281. package/src/components/Media/VideoObject.tsx +1 -1
  282. package/src/components/MessagePanel/MessagePanel.tsx +222 -0
  283. package/src/components/MessagePanel/index.ts +5 -0
  284. package/src/components/Participant/Participant.tsx +35 -15
  285. package/src/components/Participant/ParticipantGrid.tsx +1 -1
  286. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +50 -49
  287. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +6 -6
  288. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +14 -11
  289. package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +10 -11
  290. package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +5 -5
  291. package/src/components/ResponsiveGrid/index.ts +1 -1
  292. package/src/components/ThreadSettings/ThreadSettings.stories.tsx +31 -0
  293. package/src/components/ThreadSettings/ThreadSettings.tsx +20 -0
  294. package/src/components/ThreadSettings/index.ts +5 -0
  295. package/src/components/index.ts +5 -12
  296. package/src/containers/CallDebugPanel/CallDebugPanel.tsx +173 -0
  297. package/src/containers/CallDebugPanel/index.ts +5 -0
  298. package/src/containers/CallSidebar/CallSidebar.tsx +18 -0
  299. package/src/containers/CallSidebar/index.ts +5 -0
  300. package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +61 -0
  301. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +97 -74
  302. package/src/containers/ChannelContainer/index.ts +5 -0
  303. package/src/containers/ChatContainer/ChatContainer.stories.tsx +87 -0
  304. package/src/containers/ChatContainer/ChatContainer.tsx +131 -0
  305. package/src/containers/ChatContainer/index.ts +8 -0
  306. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +217 -0
  307. package/src/containers/ThreadCompanion/index.ts +5 -0
  308. package/src/containers/index.ts +11 -0
  309. package/src/{components/command-extension.ts → extensions/command.ts} +7 -4
  310. package/src/extensions/index.ts +1 -0
  311. package/src/extensions/threads.ts +89 -44
  312. package/src/hooks/analytics.ts +22 -21
  313. package/src/hooks/index.ts +3 -1
  314. package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
  315. package/src/hooks/useDebugMode.ts +1 -1
  316. package/src/hooks/useVideoStreamTrack.tsx +6 -3
  317. package/src/index.ts +1 -1
  318. package/src/meta.ts +11 -7
  319. package/src/operations/add-message.ts +81 -0
  320. package/src/operations/create-channel-thread.ts +26 -0
  321. package/src/operations/create-channel.ts +20 -0
  322. package/src/operations/create-proposals.ts +49 -0
  323. package/src/operations/create.ts +48 -0
  324. package/src/operations/definitions.ts +177 -0
  325. package/src/operations/delete-message.ts +53 -0
  326. package/src/operations/delete.ts +63 -0
  327. package/src/operations/index.ts +22 -0
  328. package/src/operations/on-create-space.ts +27 -0
  329. package/src/operations/restore-message.ts +38 -0
  330. package/src/operations/restore.ts +38 -0
  331. package/src/operations/select.ts +24 -0
  332. package/src/operations/toggle-resolved.ts +41 -0
  333. package/src/testing/data.ts +49 -0
  334. package/src/testing/stories.ts +18 -21
  335. package/src/translations.ts +74 -71
  336. package/src/types/Channel.ts +37 -0
  337. package/src/types/Settings.ts +10 -0
  338. package/src/types/capabilities.ts +36 -0
  339. package/src/types/index.ts +2 -1
  340. package/src/types/types.ts +5 -91
  341. package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
  342. package/src/typings.d.ts +8 -0
  343. package/src/util.ts +2 -2
  344. package/dist/lib/browser/ChannelContainer-5YH4FTBL.mjs +0 -16
  345. package/dist/lib/browser/ChatContainer-2UYQ23KO.mjs +0 -15
  346. package/dist/lib/browser/app-graph-builder-Q5V3KXE3.mjs +0 -171
  347. package/dist/lib/browser/app-graph-builder-Q5V3KXE3.mjs.map +0 -7
  348. package/dist/lib/browser/call-manager-NIPDYUVD.mjs +0 -24
  349. package/dist/lib/browser/call-manager-NIPDYUVD.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-5ZVJ4GAS.mjs +0 -21
  351. package/dist/lib/browser/chunk-5ZVJ4GAS.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-6NSMBO3B.mjs +0 -56
  353. package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +0 -7
  354. package/dist/lib/browser/chunk-ERWASUQK.mjs +0 -149
  355. package/dist/lib/browser/chunk-ERWASUQK.mjs.map +0 -7
  356. package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
  357. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  358. package/dist/lib/browser/chunk-GERVMFQW.mjs +0 -31
  359. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  360. package/dist/lib/browser/chunk-JVIKVYTI.mjs +0 -128
  361. package/dist/lib/browser/chunk-JVIKVYTI.mjs.map +0 -7
  362. package/dist/lib/browser/chunk-LCJD3NOB.mjs +0 -984
  363. package/dist/lib/browser/chunk-LCJD3NOB.mjs.map +0 -7
  364. package/dist/lib/browser/chunk-LGSDKXPF.mjs +0 -18
  365. package/dist/lib/browser/chunk-LGSDKXPF.mjs.map +0 -7
  366. package/dist/lib/browser/chunk-NCSFNWBZ.mjs +0 -479
  367. package/dist/lib/browser/chunk-NCSFNWBZ.mjs.map +0 -7
  368. package/dist/lib/browser/chunk-YD57K2SL.mjs +0 -367
  369. package/dist/lib/browser/chunk-YD57K2SL.mjs.map +0 -7
  370. package/dist/lib/browser/chunk-ZE7KWN36.mjs +0 -1669
  371. package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +0 -7
  372. package/dist/lib/browser/intent-resolver-MWE6XLPY.mjs +0 -353
  373. package/dist/lib/browser/intent-resolver-MWE6XLPY.mjs.map +0 -7
  374. package/dist/lib/browser/markdown-ZO34G7RM.mjs +0 -169
  375. package/dist/lib/browser/markdown-ZO34G7RM.mjs.map +0 -7
  376. package/dist/lib/browser/react-root-YNDNPODD.mjs +0 -28
  377. package/dist/lib/browser/react-root-YNDNPODD.mjs.map +0 -7
  378. package/dist/lib/browser/react-surface-2AXRNTCA.mjs +0 -109
  379. package/dist/lib/browser/react-surface-2AXRNTCA.mjs.map +0 -7
  380. package/dist/lib/browser/settings-XZGPZNAU.mjs +0 -22
  381. package/dist/lib/browser/settings-XZGPZNAU.mjs.map +0 -7
  382. package/dist/lib/browser/state-H6CYONWE.mjs +0 -34
  383. package/dist/lib/browser/state-H6CYONWE.mjs.map +0 -7
  384. package/dist/lib/node-esm/ChannelContainer-O2LZKMRM.mjs +0 -17
  385. package/dist/lib/node-esm/ChannelContainer-O2LZKMRM.mjs.map +0 -7
  386. package/dist/lib/node-esm/ChatContainer-6N35MP5J.mjs +0 -16
  387. package/dist/lib/node-esm/ChatContainer-6N35MP5J.mjs.map +0 -7
  388. package/dist/lib/node-esm/app-graph-builder-GAKBZNU3.mjs +0 -172
  389. package/dist/lib/node-esm/app-graph-builder-GAKBZNU3.mjs.map +0 -7
  390. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs +0 -25
  391. package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs.map +0 -7
  392. package/dist/lib/node-esm/chunk-25ABSYP2.mjs +0 -150
  393. package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +0 -7
  394. package/dist/lib/node-esm/chunk-3X3YKRM2.mjs +0 -129
  395. package/dist/lib/node-esm/chunk-3X3YKRM2.mjs.map +0 -7
  396. package/dist/lib/node-esm/chunk-57XR3LEF.mjs +0 -33
  397. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  398. package/dist/lib/node-esm/chunk-5UQ4KKDE.mjs +0 -985
  399. package/dist/lib/node-esm/chunk-5UQ4KKDE.mjs.map +0 -7
  400. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs +0 -19
  401. package/dist/lib/node-esm/chunk-75RJ5DJI.mjs.map +0 -7
  402. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs +0 -480
  403. package/dist/lib/node-esm/chunk-A6QLTZCY.mjs.map +0 -7
  404. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
  405. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  406. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs +0 -1670
  407. package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs +0 -58
  409. package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs +0 -368
  411. package/dist/lib/node-esm/chunk-RGTWAVEE.mjs.map +0 -7
  412. package/dist/lib/node-esm/chunk-X62X3VOK.mjs +0 -23
  413. package/dist/lib/node-esm/chunk-X62X3VOK.mjs.map +0 -7
  414. package/dist/lib/node-esm/intent-resolver-B6PNTMPY.mjs +0 -354
  415. package/dist/lib/node-esm/intent-resolver-B6PNTMPY.mjs.map +0 -7
  416. package/dist/lib/node-esm/markdown-ZJUFV2TA.mjs +0 -170
  417. package/dist/lib/node-esm/markdown-ZJUFV2TA.mjs.map +0 -7
  418. package/dist/lib/node-esm/react-root-ZUVVTKWG.mjs +0 -29
  419. package/dist/lib/node-esm/react-root-ZUVVTKWG.mjs.map +0 -7
  420. package/dist/lib/node-esm/react-surface-OMEZTOU6.mjs +0 -110
  421. package/dist/lib/node-esm/react-surface-OMEZTOU6.mjs.map +0 -7
  422. package/dist/lib/node-esm/settings-XECBSD6Q.mjs +0 -23
  423. package/dist/lib/node-esm/settings-XECBSD6Q.mjs.map +0 -7
  424. package/dist/lib/node-esm/state-D7WNDT3N.mjs +0 -35
  425. package/dist/lib/node-esm/state-D7WNDT3N.mjs.map +0 -7
  426. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  427. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  428. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  429. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  430. package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
  431. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  432. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  433. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  434. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  435. package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
  436. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  437. package/dist/types/src/components/Chat.stories.d.ts +0 -7
  438. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  439. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  440. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  441. package/dist/types/src/components/Comments.stories.d.ts +0 -6
  442. package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
  443. package/dist/types/src/components/CommentsContainer.d.ts +0 -13
  444. package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
  445. package/dist/types/src/components/CommentsThreadContainer.d.ts +0 -14
  446. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
  447. package/dist/types/src/components/MessageContainer.d.ts +0 -11
  448. package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
  449. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
  450. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -10
  451. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
  452. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  453. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  454. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  455. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  456. package/dist/types/src/components/command-extension.d.ts.map +0 -1
  457. package/dist/types/src/components/testing.d.ts +0 -4
  458. package/dist/types/src/components/testing.d.ts.map +0 -1
  459. package/dist/types/src/types/schema.d.ts +0 -133
  460. package/dist/types/src/types/schema.d.ts.map +0 -1
  461. package/src/capabilities/capabilities.ts +0 -33
  462. package/src/capabilities/intent-resolver.ts +0 -296
  463. package/src/components/CallDebugPanel.tsx +0 -115
  464. package/src/components/CallSidebar.tsx +0 -17
  465. package/src/components/ChannelContainer.stories.tsx +0 -58
  466. package/src/components/Chat.stories.tsx +0 -88
  467. package/src/components/ChatContainer.tsx +0 -141
  468. package/src/components/Comments.stories.tsx +0 -92
  469. package/src/components/CommentsContainer.tsx +0 -71
  470. package/src/components/MessageContainer.tsx +0 -151
  471. package/src/components/ThreadComplementary.tsx +0 -151
  472. package/src/components/ThreadSettings.tsx +0 -17
  473. package/src/components/testing.ts +0 -29
  474. package/src/types/schema.ts +0 -33
  475. /package/dist/lib/browser/{ChannelContainer-5YH4FTBL.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  476. /package/dist/lib/{browser/ChatContainer-2UYQ23KO.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
@@ -1,172 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ChannelType,
4
- ThreadAction
5
- } from "./chunk-3X3YKRM2.mjs";
6
- import {
7
- ThreadCapabilities
8
- } from "./chunk-75RJ5DJI.mjs";
9
- import {
10
- getAnchor
11
- } from "./chunk-57XR3LEF.mjs";
12
- import {
13
- THREAD_PLUGIN,
14
- meta
15
- } from "./chunk-GRLRWTRU.mjs";
16
-
17
- // src/capabilities/app-graph-builder.ts
18
- import { Rx } from "@effect-rx/rx-react";
19
- import { Option, pipe } from "effect";
20
- import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
21
- import { Obj } from "@dxos/echo";
22
- import { AttentionCapabilities } from "@dxos/plugin-attention";
23
- import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
24
- import { createExtension, ROOT_ID, rxFromSignal } from "@dxos/plugin-graph";
25
- import { fullyQualifiedId } from "@dxos/react-client/echo";
26
- var app_graph_builder_default = (context) => {
27
- const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
28
- return contributes(Capabilities.AppGraphBuilder, [
29
- createExtension({
30
- id: `${THREAD_PLUGIN}/active-call`,
31
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => {
32
- const [call] = get(context.capabilities(ThreadCapabilities.CallManager));
33
- return get(rxFromSignal(() => call?.joined ? [
34
- {
35
- id: `${node2.id}${ATTENDABLE_PATH_SEPARATOR}active-call`,
36
- type: DECK_COMPANION_TYPE,
37
- data: null,
38
- properties: {
39
- label: [
40
- "call panel label",
41
- {
42
- ns: THREAD_PLUGIN
43
- }
44
- ],
45
- icon: "ph--video-conference--regular",
46
- position: "hoist",
47
- disposition: "hidden"
48
- }
49
- }
50
- ] : []));
51
- }), Option.getOrElse(() => [])))
52
- }),
53
- // TODO(wittjosiah): The channel shouldn't become the companion during a call.
54
- // Alternative: the call/meeting/thread should be a child node of the channel and that should be opened.
55
- createExtension({
56
- id: `${THREAD_PLUGIN}/channel-chat-companion`,
57
- connector: (node) => {
58
- return Rx.make((get) => {
59
- return pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(ChannelType, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((channel) => {
60
- const callManager = context.getCapability(ThreadCapabilities.CallManager);
61
- const joined = get(rxFromSignal(() => callManager.joined && callManager.roomId === fullyQualifiedId(channel)));
62
- if (!joined) {
63
- return [];
64
- }
65
- return [
66
- {
67
- id: `${fullyQualifiedId(channel)}${ATTENDABLE_PATH_SEPARATOR}chat`,
68
- type: PLANK_COMPANION_TYPE,
69
- data: "chat",
70
- properties: {
71
- label: [
72
- "channel companion label",
73
- {
74
- ns: THREAD_PLUGIN
75
- }
76
- ],
77
- icon: "ph--hash--regular",
78
- position: "hoist",
79
- disposition: "hidden"
80
- }
81
- }
82
- ];
83
- }), Option.getOrElse(() => []));
84
- });
85
- }
86
- }),
87
- createExtension({
88
- id: `${meta.id}/comments-companion`,
89
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
90
- if (!Obj.isObject(node2.data) || Obj.instanceOf(ChannelType, node2.data)) {
91
- return Option.none();
92
- }
93
- const metadata = resolve(Obj.getTypename(node2.data));
94
- return typeof metadata.comments === "string" ? Option.some(node2) : Option.none();
95
- }), Option.map((node2) => [
96
- {
97
- id: [
98
- node2.id,
99
- "comments"
100
- ].join(ATTENDABLE_PATH_SEPARATOR),
101
- type: PLANK_COMPANION_TYPE,
102
- data: "comments",
103
- properties: {
104
- label: [
105
- "comments label",
106
- {
107
- ns: meta.id
108
- }
109
- ],
110
- icon: "ph--chat-text--regular",
111
- disposition: "hidden",
112
- position: "hoist"
113
- }
114
- }
115
- ]), Option.getOrElse(() => [])))
116
- }),
117
- createExtension({
118
- id: `${meta.id}/comment-toolbar`,
119
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
120
- if (!Obj.isObject(node2.data) || Obj.instanceOf(ChannelType, node2.data)) {
121
- return Option.none();
122
- }
123
- const metadata = resolve(Obj.getTypename(node2.data));
124
- return typeof metadata.comments === "string" ? Option.some(node2.data) : Option.none();
125
- }), Option.map((object) => {
126
- const selectionManager = context.getCapability(AttentionCapabilities.Selection);
127
- const toolbar = get(context.capabilities(ThreadCapabilities.State))[0]?.state.toolbar ?? {};
128
- const disabled = get(rxFromSignal(() => {
129
- const metadata = resolve(Obj.getTypename(object));
130
- const selection = selectionManager.getSelection(fullyQualifiedId(object), metadata.selectionMode);
131
- const anchor = getAnchor(selection);
132
- const invalidSelection = !anchor;
133
- const overlappingComment = toolbar[fullyQualifiedId(object)];
134
- return metadata.comments === "anchored" && invalidSelection || overlappingComment;
135
- }));
136
- return [
137
- {
138
- id: `${fullyQualifiedId(object)}/comment`,
139
- data: () => {
140
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
141
- const metadata = resolve(Obj.getTypename(object));
142
- const selection = selectionManager.getSelection(fullyQualifiedId(object));
143
- const anchor = metadata.comments === "anchored" ? getAnchor(selection) : Date.now().toString();
144
- const name = metadata.getAnchorLabel?.(object, anchor);
145
- void dispatch(createIntent(ThreadAction.Create, {
146
- anchor,
147
- name,
148
- subject: object
149
- }));
150
- },
151
- properties: {
152
- label: [
153
- "add comment label",
154
- {
155
- ns: meta.id
156
- }
157
- ],
158
- icon: "ph--chat-text--regular",
159
- disposition: "toolbar",
160
- disabled,
161
- testId: "thread.comment.add"
162
- }
163
- }
164
- ];
165
- }), Option.getOrElse(() => [])))
166
- })
167
- ]);
168
- };
169
- export {
170
- app_graph_builder_default as default
171
- };
172
- //# sourceMappingURL=app-graph-builder-GAKBZNU3.mjs.map
@@ -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,25 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- CallManager
4
- } from "./chunk-IHDNQLLR.mjs";
5
- import {
6
- ThreadCapabilities
7
- } from "./chunk-75RJ5DJI.mjs";
8
- import "./chunk-OU5BYIDO.mjs";
9
- import "./chunk-GRLRWTRU.mjs";
10
-
11
- // src/capabilities/call-manager.ts
12
- import { contributes } from "@dxos/app-framework";
13
- import { ClientCapabilities } from "@dxos/plugin-client";
14
- var call_manager_default = async (context) => {
15
- const client = context.getCapability(ClientCapabilities.Client);
16
- const callManager = new CallManager(client);
17
- await callManager.open();
18
- return contributes(ThreadCapabilities.CallManager, callManager, () => {
19
- void callManager.close();
20
- });
21
- };
22
- export {
23
- call_manager_default as default
24
- };
25
- //# sourceMappingURL=call-manager-D6O5ZJJ4.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,150 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- createInaudibleAudioStreamTrack
4
- } from "./chunk-OU5BYIDO.mjs";
5
-
6
- // src/hooks/analytics.ts
7
- import { useCallback } from "react";
8
- import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
9
- import { ObservabilityAction } from "@dxos/plugin-observability/types";
10
- import { getSpace } from "@dxos/react-client/echo";
11
- import { useOnTransition } from "@dxos/react-ui";
12
- var useOnEditAnalytics = (message, textBlock, editing) => {
13
- const { dispatchPromise: dispatch } = useIntentDispatcher();
14
- const onEdit = useCallback(() => {
15
- const space = getSpace(message);
16
- if (!space || !textBlock) {
17
- return;
18
- }
19
- void dispatch(createIntent(ObservabilityAction.SendEvent, {
20
- name: "threads.message.update",
21
- properties: {
22
- spaceId: space.id,
23
- messageId: message.id,
24
- messageLength: textBlock?.text.length
25
- }
26
- }));
27
- }, [
28
- dispatch,
29
- message,
30
- textBlock
31
- ]);
32
- useOnTransition(editing, true, false, onEdit);
33
- };
34
-
35
- // src/hooks/useDebugMode.ts
36
- import { useState, useEffect } from "react";
37
- var useDebugMode = () => {
38
- const [enabled, setEnabled] = useState(false);
39
- useEffect(() => {
40
- const handler = (ev) => {
41
- if (ev.key.toLowerCase() === "d" && ev.ctrlKey) {
42
- ev.preventDefault();
43
- setEnabled(!enabled);
44
- }
45
- };
46
- document.addEventListener("keypress", handler);
47
- return () => {
48
- document.removeEventListener("keypress", handler);
49
- };
50
- }, [
51
- enabled
52
- ]);
53
- return enabled;
54
- };
55
-
56
- // src/hooks/useStatus.ts
57
- import { useEffect as useEffect2, useState as useState2 } from "react";
58
- var useStatus = (space, channel) => {
59
- const [processing, setProcessing] = useState2(false);
60
- useEffect2(() => {
61
- if (!space || !channel) {
62
- return;
63
- }
64
- const unsubscribe = space.listen(`status/${channel}`, (status) => {
65
- const { event } = status.payload ?? {};
66
- setProcessing(event === "processing");
67
- });
68
- const t = setInterval(() => {
69
- setProcessing((prev) => {
70
- if (typeof prev?.ts === "number" && Date.now() - prev.ts > 3e4) {
71
- return void 0;
72
- } else {
73
- return prev;
74
- }
75
- });
76
- }, 1e3);
77
- return () => {
78
- unsubscribe();
79
- clearInterval(t);
80
- };
81
- }, [
82
- space,
83
- channel
84
- ]);
85
- return processing;
86
- };
87
-
88
- // src/hooks/useVideoStreamTrack.tsx
89
- import { useEffect as useEffect3, useRef, useState as useState3 } from "react";
90
- var useVideoStreamTrack = (videoElement, videoSrc) => {
91
- const [videoStreamTrack, setVideoStreamTrack] = useState3(void 0);
92
- const hadRun = useRef(false);
93
- useEffect3(() => {
94
- if (!videoElement.current || hadRun.current || !videoSrc) {
95
- return;
96
- }
97
- hadRun.current = true;
98
- videoElement.current.addEventListener("playing", () => {
99
- const stream = videoElement.current.captureStream();
100
- const track = stream.getTracks()[0];
101
- if (track) {
102
- setVideoStreamTrack(track);
103
- }
104
- stream.onaddtrack = (event) => {
105
- if (event.track.kind === "video") {
106
- setVideoStreamTrack(event.track);
107
- }
108
- };
109
- });
110
- videoElement.current.src = videoSrc;
111
- }, [
112
- videoElement.current,
113
- videoSrc
114
- ]);
115
- return videoStreamTrack;
116
- };
117
-
118
- // src/hooks/useInaudibleAudioStreamTrack.tsx
119
- import { useEffect as useEffect4, useState as useState4 } from "react";
120
- import { scheduleTask } from "@dxos/async";
121
- import { Context } from "@dxos/context";
122
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/hooks/useInaudibleAudioStreamTrack.tsx";
123
- var useInaudibleAudioStreamTrack = () => {
124
- const [audioStreamTrack, setAudioStreamTrack] = useState4(void 0);
125
- useEffect4(() => {
126
- const ctx = new Context(void 0, {
127
- F: __dxlog_file,
128
- L: 15
129
- });
130
- scheduleTask(ctx, async () => {
131
- const audioStreamTrack2 = await createInaudibleAudioStreamTrack({
132
- ctx
133
- });
134
- setAudioStreamTrack(audioStreamTrack2);
135
- });
136
- return () => {
137
- void ctx.dispose();
138
- };
139
- }, []);
140
- return audioStreamTrack;
141
- };
142
-
143
- export {
144
- useOnEditAnalytics,
145
- useDebugMode,
146
- useStatus,
147
- useVideoStreamTrack,
148
- useInaudibleAudioStreamTrack
149
- };
150
- //# sourceMappingURL=chunk-25ABSYP2.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,129 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- THREAD_PLUGIN
4
- } from "./chunk-GRLRWTRU.mjs";
5
-
6
- // src/types/schema.ts
7
- import { Schema } from "effect";
8
- import { Type } from "@dxos/echo";
9
- import { DataType } from "@dxos/schema";
10
- var ThreadStatus = Schema.Union(Schema.Literal("staged"), Schema.Literal("active"), Schema.Literal("resolved"));
11
- var _ThreadType = Schema.Struct({
12
- name: Schema.optional(Schema.String),
13
- status: Schema.optional(ThreadStatus),
14
- messages: Schema.mutable(Schema.Array(Type.Ref(DataType.Message)))
15
- }).pipe(Type.Obj({
16
- typename: "dxos.org/type/Thread",
17
- version: "0.1.0"
18
- }));
19
- var ThreadType = _ThreadType;
20
- var _ChannelType = Schema.Struct({
21
- name: Schema.optional(Schema.String),
22
- defaultThread: Type.Ref(ThreadType),
23
- // TODO(wittjosiah): Should be an "ordered collection".
24
- threads: Schema.mutable(Schema.Array(Type.Ref(ThreadType)))
25
- }).pipe(Type.Obj({
26
- typename: "dxos.org/type/Channel",
27
- version: "0.1.0"
28
- }));
29
- var ChannelType = _ChannelType;
30
-
31
- // src/types/types.ts
32
- import { Schema as Schema2 } from "effect";
33
- import { Type as Type2 } from "@dxos/echo";
34
- import { EchoObjectSchema } from "@dxos/react-client/echo";
35
- import { AnchoredTo, DataType as DataType2 } from "@dxos/schema";
36
- (function(ThreadAction2) {
37
- const THREAD_ACTION = `${THREAD_PLUGIN}/action`;
38
- class CreateChannel extends Schema2.TaggedClass()(`${THREAD_ACTION}/create-channel`, {
39
- input: Schema2.Struct({
40
- spaceId: Type2.SpaceId,
41
- name: Schema2.optional(Schema2.String)
42
- }),
43
- output: Schema2.Struct({
44
- object: ChannelType
45
- })
46
- }) {
47
- }
48
- ThreadAction2.CreateChannel = CreateChannel;
49
- class CreateChannelThread extends Schema2.TaggedClass()(`${THREAD_ACTION}/create-channel-thread`, {
50
- input: Schema2.Struct({
51
- channel: ChannelType
52
- }),
53
- output: Schema2.Struct({
54
- object: ThreadType
55
- })
56
- }) {
57
- }
58
- ThreadAction2.CreateChannelThread = CreateChannelThread;
59
- class Create extends Schema2.TaggedClass()(`${THREAD_ACTION}/create`, {
60
- input: Schema2.Struct({
61
- name: Schema2.optional(Schema2.String),
62
- anchor: Schema2.optional(Schema2.String),
63
- subject: EchoObjectSchema
64
- }),
65
- output: Schema2.Void
66
- }) {
67
- }
68
- ThreadAction2.Create = Create;
69
- class Delete extends Schema2.TaggedClass()(`${THREAD_ACTION}/delete`, {
70
- input: Schema2.Struct({
71
- anchor: AnchoredTo,
72
- subject: EchoObjectSchema,
73
- thread: Schema2.optional(ThreadType)
74
- }),
75
- output: Schema2.Void
76
- }) {
77
- }
78
- ThreadAction2.Delete = Delete;
79
- class Select extends Schema2.TaggedClass()(`${THREAD_ACTION}/select`, {
80
- input: Schema2.Struct({
81
- current: Schema2.String
82
- }),
83
- output: Schema2.Void
84
- }) {
85
- }
86
- ThreadAction2.Select = Select;
87
- class ToggleResolved extends Schema2.TaggedClass()(`${THREAD_ACTION}/toggle-resolved`, {
88
- input: Schema2.Struct({
89
- thread: ThreadType
90
- }),
91
- output: Schema2.Void
92
- }) {
93
- }
94
- ThreadAction2.ToggleResolved = ToggleResolved;
95
- class AddMessage extends Schema2.TaggedClass()(`${THREAD_ACTION}/add-message`, {
96
- input: Schema2.Struct({
97
- subject: EchoObjectSchema,
98
- anchor: AnchoredTo,
99
- sender: DataType2.Actor,
100
- text: Schema2.String
101
- }),
102
- output: Schema2.Void
103
- }) {
104
- }
105
- ThreadAction2.AddMessage = AddMessage;
106
- class DeleteMessage extends Schema2.TaggedClass()(`${THREAD_ACTION}/delete-message`, {
107
- input: Schema2.Struct({
108
- anchor: AnchoredTo,
109
- subject: EchoObjectSchema,
110
- messageId: Schema2.String,
111
- message: Schema2.optional(DataType2.Message),
112
- messageIndex: Schema2.optional(Schema2.Number)
113
- }),
114
- output: Schema2.Void
115
- }) {
116
- }
117
- ThreadAction2.DeleteMessage = DeleteMessage;
118
- })(ThreadAction || (ThreadAction = {}));
119
- var ThreadSettingsSchema = Schema2.mutable(Schema2.Struct({}));
120
- var ThreadAction;
121
-
122
- export {
123
- ThreadStatus,
124
- ThreadType,
125
- ChannelType,
126
- ThreadSettingsSchema,
127
- ThreadAction
128
- };
129
- //# sourceMappingURL=chunk-3X3YKRM2.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
- }
@@ -1,33 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/util.ts
4
- import { Match } from "effect";
5
- import { generateName } from "@dxos/display-name";
6
- import { hexToFallback } from "@dxos/util";
7
- var getMessageMetadata = (id, identity) => {
8
- const fallback = hexToFallback(identity?.identityKey.toHex() ?? "0");
9
- return {
10
- id,
11
- authorId: identity?.did,
12
- authorName: identity?.profile?.displayName ?? (identity?.identityKey ? generateName(identity.identityKey.toHex()) : void 0),
13
- authorAvatarProps: {
14
- hue: identity?.profile?.data?.hue ?? fallback.hue,
15
- emoji: identity?.profile?.data?.emoji ?? fallback.emoji
16
- }
17
- };
18
- };
19
- var getAnchor = Match.type().pipe(Match.when({
20
- mode: "single"
21
- }, (s) => s.id), Match.when({
22
- mode: "multi"
23
- }, (s) => s.ids.length > 0 ? s.ids.join(",") : void 0), Match.when({
24
- mode: "range"
25
- }, (s) => s.from && s.to ? `${s.from}:${s.to}` : void 0), Match.when({
26
- mode: "multi-range"
27
- }, (s) => s.ranges[0] && `${s.ranges[0].from}:${s.ranges[0].to}`), Match.when(void 0, () => void 0), Match.exhaustive);
28
-
29
- export {
30
- getMessageMetadata,
31
- getAnchor
32
- };
33
- //# sourceMappingURL=chunk-57XR3LEF.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
- }