@dxos/plugin-thread 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (453) hide show
  1. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs +182 -0
  2. package/dist/lib/browser/CallDebugPanel-FGCTY7Q4.mjs.map +7 -0
  3. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs +33 -0
  4. package/dist/lib/browser/CallSidebar-PJCMNDIF.mjs.map +7 -0
  5. package/dist/lib/browser/ChannelContainer-EPYG4QAC.mjs +15 -0
  6. package/dist/lib/browser/ChatContainer-2243UD2M.mjs +14 -0
  7. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs +204 -0
  8. package/dist/lib/browser/ThreadCompanion-2CMLJH76.mjs.map +7 -0
  9. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs +20 -0
  10. package/dist/lib/browser/ThreadSettings-S55YVOGA.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs +191 -0
  12. package/dist/lib/browser/app-graph-builder-5LCAM746.mjs.map +7 -0
  13. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs +17 -0
  14. package/dist/lib/browser/blueprint-definition-42M2EJ2Y.mjs.map +7 -0
  15. package/dist/lib/browser/blueprints/index.mjs +8 -0
  16. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs +27 -0
  17. package/dist/lib/browser/call-manager-2PRP4QVZ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-ZCEU5K23.mjs → chunk-ERK254BS.mjs} +207 -287
  19. package/dist/lib/browser/chunk-ERK254BS.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-G6FJBSXX.mjs +1123 -0
  21. package/dist/lib/browser/chunk-G6FJBSXX.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-HDEQRBOC.mjs → chunk-HDLDMR54.mjs} +79 -76
  23. package/dist/lib/browser/chunk-HDLDMR54.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-XYUJXHYV.mjs → chunk-ISCHODBV.mjs} +1 -1
  25. package/dist/lib/browser/{chunk-XYUJXHYV.mjs.map → chunk-ISCHODBV.mjs.map} +2 -2
  26. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  27. package/dist/lib/browser/chunk-LUK4UNFA.mjs +20 -0
  28. package/dist/lib/browser/chunk-LUK4UNFA.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-PDHCY236.mjs +223 -0
  30. package/dist/lib/browser/chunk-PDHCY236.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-PL5LIVP4.mjs +105 -0
  32. package/dist/lib/browser/chunk-PL5LIVP4.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-U32R23JO.mjs +277 -0
  34. package/dist/lib/browser/chunk-U32R23JO.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-UVUCB7QO.mjs +125 -0
  36. package/dist/lib/browser/chunk-UVUCB7QO.mjs.map +7 -0
  37. package/dist/lib/browser/index.mjs +138 -141
  38. package/dist/lib/browser/index.mjs.map +4 -4
  39. package/dist/lib/browser/markdown-GRRPCZHJ.mjs +210 -0
  40. package/dist/lib/browser/markdown-GRRPCZHJ.mjs.map +7 -0
  41. package/dist/lib/browser/meta.json +1 -1
  42. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs +442 -0
  43. package/dist/lib/browser/operation-resolver-EP7FAYEB.mjs.map +7 -0
  44. package/dist/lib/browser/react-root-7UFFPPRD.mjs +26 -0
  45. package/dist/lib/browser/react-root-7UFFPPRD.mjs.map +7 -0
  46. package/dist/lib/browser/react-surface-TIHBSZPD.mjs +113 -0
  47. package/dist/lib/browser/react-surface-TIHBSZPD.mjs.map +7 -0
  48. package/dist/lib/browser/repair-TBU45SBG.mjs +40 -0
  49. package/dist/lib/browser/repair-TBU45SBG.mjs.map +7 -0
  50. package/dist/lib/browser/settings-Y75FG6XR.mjs +35 -0
  51. package/dist/lib/browser/settings-Y75FG6XR.mjs.map +7 -0
  52. package/dist/lib/browser/state-OBTMMEUZ.mjs +25 -0
  53. package/dist/lib/browser/state-OBTMMEUZ.mjs.map +7 -0
  54. package/dist/lib/browser/types/index.mjs +11 -12
  55. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs +183 -0
  56. package/dist/lib/node-esm/CallDebugPanel-CYACANSP.mjs.map +7 -0
  57. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs +34 -0
  58. package/dist/lib/node-esm/CallSidebar-XD7J7EQ6.mjs.map +7 -0
  59. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs +16 -0
  60. package/dist/lib/node-esm/ChannelContainer-NU4LSLB4.mjs.map +7 -0
  61. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs +15 -0
  62. package/dist/lib/node-esm/ChatContainer-FPNIG33R.mjs.map +7 -0
  63. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs +205 -0
  64. package/dist/lib/node-esm/ThreadCompanion-TLWTONG6.mjs.map +7 -0
  65. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs +21 -0
  66. package/dist/lib/node-esm/ThreadSettings-EUH4AGYV.mjs.map +7 -0
  67. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs +192 -0
  68. package/dist/lib/node-esm/app-graph-builder-VBLHLX75.mjs.map +7 -0
  69. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs +18 -0
  70. package/dist/lib/node-esm/blueprint-definition-PEXTS56K.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs +28 -0
  74. package/dist/lib/node-esm/call-manager-BLQCEM2F.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs +107 -0
  76. package/dist/lib/node-esm/chunk-6K5ACCGB.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs +224 -0
  78. package/dist/lib/node-esm/chunk-7SZBKQUU.mjs.map +7 -0
  79. package/dist/lib/node-esm/{chunk-OBVAURUU.mjs → chunk-GPPP2MZ3.mjs} +7 -2
  80. package/dist/lib/node-esm/chunk-GPPP2MZ3.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  82. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs +1124 -0
  84. package/dist/lib/node-esm/chunk-IQUV7DR6.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-TIPIOH2J.mjs → chunk-QP3KQOPQ.mjs} +207 -287
  86. package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs +278 -0
  88. package/dist/lib/node-esm/chunk-QYAVWNVM.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs +126 -0
  90. package/dist/lib/node-esm/chunk-V2GXQ2UB.mjs.map +7 -0
  91. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs → chunk-VBI32FGI.mjs} +1 -1
  92. package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs.map → chunk-VBI32FGI.mjs.map} +2 -2
  93. package/dist/lib/node-esm/{chunk-2MMJF7DW.mjs → chunk-YN2Y7GPW.mjs} +79 -76
  94. package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +7 -0
  95. package/dist/lib/node-esm/index.mjs +138 -141
  96. package/dist/lib/node-esm/index.mjs.map +4 -4
  97. package/dist/lib/node-esm/markdown-WHWUESF7.mjs +211 -0
  98. package/dist/lib/node-esm/markdown-WHWUESF7.mjs.map +7 -0
  99. package/dist/lib/node-esm/meta.json +1 -1
  100. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs +443 -0
  101. package/dist/lib/node-esm/operation-resolver-R7QJW3TW.mjs.map +7 -0
  102. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs +27 -0
  103. package/dist/lib/node-esm/react-root-D7CWS5XP.mjs.map +7 -0
  104. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs +114 -0
  105. package/dist/lib/node-esm/react-surface-WWZFSK5Y.mjs.map +7 -0
  106. package/dist/lib/node-esm/repair-7JEKRNR3.mjs +41 -0
  107. package/dist/lib/node-esm/repair-7JEKRNR3.mjs.map +7 -0
  108. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs +36 -0
  109. package/dist/lib/node-esm/settings-W4JN2YKJ.mjs.map +7 -0
  110. package/dist/lib/node-esm/state-7UWCSIWQ.mjs +26 -0
  111. package/dist/lib/node-esm/state-7UWCSIWQ.mjs.map +7 -0
  112. package/dist/lib/node-esm/types/index.mjs +11 -12
  113. package/dist/types/src/ThreadPlugin.d.ts +2 -1
  114. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  115. package/dist/types/src/blueprints/index.d.ts +2 -0
  116. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
  118. package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
  119. package/dist/types/src/calls/call-manager.d.ts +40 -30
  120. package/dist/types/src/calls/call-manager.d.ts.map +1 -1
  121. package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
  122. package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
  123. package/dist/types/src/calls/media-manager.d.ts +1 -1
  124. package/dist/types/src/calls/media-manager.d.ts.map +1 -1
  125. package/dist/types/src/calls/util/calls-service.d.ts +1 -1
  126. package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
  127. package/dist/types/src/calls/util/task-scheduling.d.ts +2 -2
  128. package/dist/types/src/calls/util/task-scheduling.d.ts.map +1 -1
  129. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  130. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  132. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  134. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  136. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/call-manager/call-manager.d.ts +6 -0
  138. package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/call-manager/index.d.ts +3 -0
  140. package/dist/types/src/capabilities/call-manager/index.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/index.d.ts +10 -16
  142. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
  144. package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
  146. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  148. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  150. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  152. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  154. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  156. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  158. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  160. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  162. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  164. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  165. package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
  166. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  168. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  169. package/dist/types/src/capabilities/state/state.d.ts +7 -0
  170. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  171. package/dist/types/src/components/Call/Call.d.ts.map +1 -1
  172. package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
  173. package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
  174. package/dist/types/src/components/Comments.stories.d.ts +5 -5
  175. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/CommentsContainer.d.ts +2 -2
  177. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  178. package/dist/types/src/components/CommentsThreadContainer.d.ts +8 -8
  179. package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
  180. package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
  181. package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
  182. package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
  183. package/dist/types/src/components/MessageContainer.d.ts +6 -5
  184. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  185. package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
  186. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +5 -1
  187. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  188. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +5 -1
  189. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
  191. package/dist/types/src/components/index.d.ts +0 -6
  192. package/dist/types/src/components/index.d.ts.map +1 -1
  193. package/dist/types/src/components/testing.d.ts +3 -3
  194. package/dist/types/src/components/testing.d.ts.map +1 -1
  195. package/dist/types/src/{components → containers/CallDebugPanel}/CallDebugPanel.d.ts +1 -1
  196. package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
  197. package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
  198. package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
  199. package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
  200. package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
  201. package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
  202. package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
  203. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
  204. package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
  205. package/dist/types/src/{components → containers/ChannelContainer}/ChannelContainer.stories.d.ts +77 -7
  206. package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
  207. package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
  208. package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +17 -0
  210. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  211. package/dist/types/src/{components/Chat.stories.d.ts → containers/ChatContainer/ChatContainer.stories.d.ts} +77 -6
  212. package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
  213. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  214. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  215. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +5 -0
  216. package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
  217. package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
  218. package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
  219. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +8 -0
  220. package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +1 -0
  221. package/dist/types/src/containers/ThreadSettings/index.d.ts +3 -0
  222. package/dist/types/src/containers/ThreadSettings/index.d.ts.map +1 -0
  223. package/dist/types/src/containers/index.d.ts +8 -0
  224. package/dist/types/src/containers/index.d.ts.map +1 -0
  225. package/dist/types/src/extensions/threads.d.ts +7 -2
  226. package/dist/types/src/extensions/threads.d.ts.map +1 -1
  227. package/dist/types/src/functions/create-proposals.d.ts +13 -0
  228. package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
  229. package/dist/types/src/functions/index.d.ts +14 -0
  230. package/dist/types/src/functions/index.d.ts.map +1 -0
  231. package/dist/types/src/hooks/analytics.d.ts +2 -3
  232. package/dist/types/src/hooks/analytics.d.ts.map +1 -1
  233. package/dist/types/src/hooks/index.d.ts +2 -2
  234. package/dist/types/src/hooks/index.d.ts.map +1 -1
  235. package/dist/types/src/index.d.ts +1 -1
  236. package/dist/types/src/index.d.ts.map +1 -1
  237. package/dist/types/src/meta.d.ts +2 -2
  238. package/dist/types/src/meta.d.ts.map +1 -1
  239. package/dist/types/src/testing/stories.d.ts +2 -1
  240. package/dist/types/src/testing/stories.d.ts.map +1 -1
  241. package/dist/types/src/translations.d.ts +76 -6
  242. package/dist/types/src/translations.d.ts.map +1 -1
  243. package/dist/types/src/types/Channel.d.ts +711 -0
  244. package/dist/types/src/types/Channel.d.ts.map +1 -0
  245. package/dist/types/src/types/capabilities.d.ts +23 -0
  246. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  247. package/dist/types/src/types/index.d.ts +2 -1
  248. package/dist/types/src/types/index.d.ts.map +1 -1
  249. package/dist/types/src/types/types.d.ts +3294 -446
  250. package/dist/types/src/types/types.d.ts.map +1 -1
  251. package/dist/types/tsconfig.tsbuildinfo +1 -1
  252. package/package.json +87 -64
  253. package/src/ThreadPlugin.tsx +68 -107
  254. package/src/blueprints/index.ts +5 -0
  255. package/src/blueprints/thread-blueprint.ts +40 -0
  256. package/src/calls/call-manager.ts +76 -52
  257. package/src/calls/call-swarm-synchronizer.ts +2 -2
  258. package/src/calls/media-manager.ts +10 -7
  259. package/src/calls/util/calls-service.ts +1 -1
  260. package/src/calls/util/stub-media-streams.ts +2 -2
  261. package/src/calls/util/task-scheduling.ts +4 -4
  262. package/src/calls-service.stories.tsx +2 -2
  263. package/src/capabilities/app-graph-builder/app-graph-builder.ts +202 -0
  264. package/src/capabilities/app-graph-builder/index.ts +7 -0
  265. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  266. package/src/capabilities/blueprint-definition/index.ts +7 -0
  267. package/src/capabilities/call-manager/call-manager.ts +26 -0
  268. package/src/capabilities/call-manager/index.ts +7 -0
  269. package/src/capabilities/index.ts +10 -13
  270. package/src/capabilities/markdown/index.ts +7 -0
  271. package/src/capabilities/markdown/markdown.ts +82 -0
  272. package/src/capabilities/operation-resolver/index.ts +7 -0
  273. package/src/capabilities/operation-resolver/operation-resolver.ts +399 -0
  274. package/src/capabilities/react-root/index.ts +7 -0
  275. package/src/capabilities/react-root/react-root.tsx +20 -0
  276. package/src/capabilities/react-surface/index.ts +7 -0
  277. package/src/capabilities/react-surface/react-surface.tsx +98 -0
  278. package/src/capabilities/repair/index.ts +7 -0
  279. package/src/capabilities/repair/repair.ts +55 -0
  280. package/src/capabilities/settings/index.ts +7 -0
  281. package/src/capabilities/settings/settings.ts +34 -0
  282. package/src/capabilities/state/index.ts +7 -0
  283. package/src/capabilities/state/state.ts +22 -0
  284. package/src/components/Call/Call.tsx +8 -4
  285. package/src/components/Call/Toolbar.tsx +36 -29
  286. package/src/components/Comments.stories.tsx +31 -30
  287. package/src/components/CommentsContainer.tsx +14 -15
  288. package/src/components/CommentsThreadContainer.tsx +42 -39
  289. package/src/components/Lobby/Lobby.tsx +9 -7
  290. package/src/components/Media/AudioStream.tsx +2 -2
  291. package/src/components/Media/VideoObject.stories.tsx +3 -3
  292. package/src/components/Media/VideoObject.tsx +1 -1
  293. package/src/components/MessageContainer.tsx +62 -31
  294. package/src/components/Participant/Participant.tsx +32 -19
  295. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -3
  296. package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +1 -1
  297. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +3 -3
  298. package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +1 -1
  299. package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +7 -4
  300. package/src/components/command-extension.ts +3 -3
  301. package/src/components/index.ts +0 -10
  302. package/src/components/testing.ts +7 -9
  303. package/src/{components → containers/CallDebugPanel}/CallDebugPanel.tsx +13 -15
  304. package/src/containers/CallDebugPanel/index.ts +7 -0
  305. package/src/containers/CallSidebar/CallSidebar.tsx +17 -0
  306. package/src/containers/CallSidebar/index.ts +7 -0
  307. package/src/{components → containers/ChannelContainer}/ChannelContainer.stories.tsx +16 -15
  308. package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +75 -59
  309. package/src/containers/ChannelContainer/index.ts +7 -0
  310. package/src/{components/Chat.stories.tsx → containers/ChatContainer/ChatContainer.stories.tsx} +23 -26
  311. package/src/{components → containers/ChatContainer}/ChatContainer.tsx +56 -52
  312. package/src/containers/ChatContainer/index.ts +7 -0
  313. package/src/containers/ThreadCompanion/ThreadCompanion.tsx +197 -0
  314. package/src/containers/ThreadCompanion/index.ts +7 -0
  315. package/src/containers/ThreadSettings/ThreadSettings.tsx +22 -0
  316. package/src/containers/ThreadSettings/index.ts +7 -0
  317. package/src/containers/index.ts +12 -0
  318. package/src/extensions/threads.ts +86 -42
  319. package/src/functions/create-proposals.ts +57 -0
  320. package/src/functions/index.ts +9 -0
  321. package/src/hooks/analytics.ts +22 -21
  322. package/src/hooks/index.ts +3 -2
  323. package/src/index.ts +1 -1
  324. package/src/meta.ts +8 -3
  325. package/src/testing/stories.ts +17 -15
  326. package/src/translations.ts +6 -3
  327. package/src/types/Channel.ts +30 -0
  328. package/src/types/capabilities.ts +34 -0
  329. package/src/types/index.ts +2 -1
  330. package/src/types/types.ts +167 -88
  331. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
  332. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
  333. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs +0 -171
  334. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
  335. package/dist/lib/browser/call-manager-BCKLI4QD.mjs +0 -24
  336. package/dist/lib/browser/call-manager-BCKLI4QD.mjs.map +0 -7
  337. package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
  338. package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
  339. package/dist/lib/browser/chunk-B7YQ7QR2.mjs +0 -376
  340. package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
  341. package/dist/lib/browser/chunk-CMCVHULC.mjs +0 -986
  342. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
  343. package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
  344. package/dist/lib/browser/chunk-L326LSNS.mjs +0 -18
  345. package/dist/lib/browser/chunk-L326LSNS.mjs.map +0 -7
  346. package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
  347. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
  348. package/dist/lib/browser/chunk-VJMKS4CZ.mjs +0 -619
  349. package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
  351. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
  352. package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
  353. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs +0 -427
  354. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
  355. package/dist/lib/browser/markdown-R6MGRIA6.mjs +0 -169
  356. package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
  357. package/dist/lib/browser/react-root-UMSBTN6H.mjs +0 -28
  358. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +0 -7
  359. package/dist/lib/browser/react-surface-SXMQEWKE.mjs +0 -109
  360. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
  361. package/dist/lib/browser/settings-TCNF54PN.mjs +0 -22
  362. package/dist/lib/browser/settings-TCNF54PN.mjs.map +0 -7
  363. package/dist/lib/browser/state-ZQ4IPOJT.mjs +0 -34
  364. package/dist/lib/browser/state-ZQ4IPOJT.mjs.map +0 -7
  365. package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
  366. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
  367. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
  368. package/dist/lib/node-esm/ChatContainer-SH6LTFQL.mjs +0 -16
  369. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs +0 -172
  370. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
  371. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs +0 -25
  372. package/dist/lib/node-esm/call-manager-Q7RY2YP4.mjs.map +0 -7
  373. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs +0 -987
  374. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
  375. package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
  376. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
  377. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs +0 -377
  379. package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
  381. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +0 -19
  383. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs +0 -620
  385. package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
  387. package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
  388. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs +0 -428
  389. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
  390. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs +0 -170
  391. package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
  392. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs +0 -29
  393. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +0 -7
  394. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs +0 -110
  395. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
  396. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs +0 -23
  397. package/dist/lib/node-esm/settings-ZQHGVFBY.mjs.map +0 -7
  398. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs +0 -35
  399. package/dist/lib/node-esm/state-FSLLJ5TZ.mjs.map +0 -7
  400. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
  401. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
  402. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  403. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  404. package/dist/types/src/capabilities/call-manager.d.ts +0 -5
  405. package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
  406. package/dist/types/src/capabilities/capabilities.d.ts +0 -27
  407. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  408. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  409. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  410. package/dist/types/src/capabilities/markdown.d.ts +0 -4
  411. package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
  412. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  413. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  414. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  415. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  416. package/dist/types/src/capabilities/settings.d.ts +0 -4
  417. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  418. package/dist/types/src/capabilities/state.d.ts +0 -7
  419. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  420. package/dist/types/src/capabilities/toolkit.d.ts +0 -6
  421. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  422. package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
  423. package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
  424. package/dist/types/src/components/ChannelContainer.d.ts +0 -14
  425. package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
  426. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
  427. package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
  428. package/dist/types/src/components/ChatContainer.d.ts +0 -17
  429. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  430. package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
  431. package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
  432. package/dist/types/src/components/ThreadSettings.d.ts +0 -6
  433. package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
  434. package/dist/types/src/types/schema.d.ts +0 -179
  435. package/dist/types/src/types/schema.d.ts.map +0 -1
  436. package/src/capabilities/app-graph-builder.ts +0 -184
  437. package/src/capabilities/call-manager.ts +0 -20
  438. package/src/capabilities/capabilities.ts +0 -33
  439. package/src/capabilities/intent-resolver.ts +0 -348
  440. package/src/capabilities/markdown.ts +0 -69
  441. package/src/capabilities/react-root.tsx +0 -17
  442. package/src/capabilities/react-surface.tsx +0 -89
  443. package/src/capabilities/settings.ts +0 -19
  444. package/src/capabilities/state.ts +0 -26
  445. package/src/capabilities/toolkit.ts +0 -82
  446. package/src/components/CallSidebar.tsx +0 -18
  447. package/src/components/ThreadComplementary.tsx +0 -181
  448. package/src/components/ThreadSettings.tsx +0 -16
  449. package/src/types/schema.ts +0 -33
  450. /package/dist/lib/browser/{ChannelContainer-BGDGZHV4.mjs.map → ChannelContainer-EPYG4QAC.mjs.map} +0 -0
  451. /package/dist/lib/browser/{ChatContainer-75KJZ4XR.mjs.map → ChatContainer-2243UD2M.mjs.map} +0 -0
  452. /package/dist/lib/{node-esm/ChannelContainer-OXC6BTU7.mjs.map → browser/blueprints/index.mjs.map} +0 -0
  453. /package/dist/lib/{node-esm/ChatContainer-SH6LTFQL.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -0,0 +1,223 @@
1
+ import {
2
+ ChatContainer_default
3
+ } from "./chunk-UVUCB7QO.mjs";
4
+ import {
5
+ Call
6
+ } from "./chunk-G6FJBSXX.mjs";
7
+ import {
8
+ ThreadCapabilities
9
+ } from "./chunk-U32R23JO.mjs";
10
+ import {
11
+ meta
12
+ } from "./chunk-LUK4UNFA.mjs";
13
+
14
+ // src/containers/ChannelContainer/ChannelContainer.tsx
15
+ import { Atom, useAtomValue } from "@effect-atom/atom-react";
16
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
17
+ import { useCapabilities, useCapability } from "@dxos/app-framework/ui";
18
+ import { Context } from "@dxos/context";
19
+ import { failUndefined } from "@dxos/debug";
20
+ import { Obj } from "@dxos/echo";
21
+ import { log } from "@dxos/log";
22
+ import { useClient } from "@dxos/react-client";
23
+ import { getSpace } from "@dxos/react-client/echo";
24
+ import { useIdentity } from "@dxos/react-client/halo";
25
+ import { ElevationProvider, Input, Panel, useTranslation } from "@dxos/react-ui";
26
+ import { Settings } from "@dxos/react-ui-form";
27
+ import { Menu, createMenuAction, createMenuItemGroup, useMenuActions } from "@dxos/react-ui-menu";
28
+ import { useSoundEffect } from "@dxos/react-ui-sfx";
29
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/containers/ChannelContainer/ChannelContainer.tsx";
30
+ var ChannelContainer = ({ role, subject: channel, roomId: roomIdProp, fullscreen }) => {
31
+ const space = getSpace(channel);
32
+ const callManager = useCapability(ThreadCapabilities.CallManager);
33
+ const extensions = useCapabilities(ThreadCapabilities.CallExtension);
34
+ const joined = useAtomValue(callManager.joinedAtom);
35
+ const currentRoomId = useAtomValue(callManager.roomIdAtom);
36
+ const attendableId = channel ? Obj.getDXN(channel).toString() : void 0;
37
+ const roomId = roomIdProp ?? attendableId ?? failUndefined();
38
+ const identity = useIdentity();
39
+ const isNamed = !!identity?.profile?.displayName;
40
+ const joinSound = useSoundEffect("JoinCall");
41
+ const leaveSound = useSoundEffect("LeaveCall");
42
+ useEffect(() => {
43
+ const ctx = new Context(void 0, {
44
+ F: __dxlog_file,
45
+ L: 54
46
+ });
47
+ callManager.left.on(ctx, (roomId2) => {
48
+ extensions.forEach((extension) => {
49
+ void extension.onLeave?.(roomId2);
50
+ });
51
+ });
52
+ callManager.callStateUpdated.on(ctx, (state) => {
53
+ extensions.forEach((extension) => {
54
+ void extension.onCallStateUpdated?.(state);
55
+ });
56
+ });
57
+ callManager.mediaStateUpdated.on(ctx, (state) => {
58
+ extensions.forEach((extension) => {
59
+ void extension.onMediaStateUpdated?.(state);
60
+ });
61
+ });
62
+ return () => {
63
+ void ctx.dispose();
64
+ };
65
+ }, [
66
+ callManager,
67
+ extensions
68
+ ]);
69
+ const handleJoin = useCallback(async () => {
70
+ if (!roomId || !channel) {
71
+ return;
72
+ }
73
+ if (joined) {
74
+ await callManager.leave();
75
+ }
76
+ try {
77
+ void joinSound.play();
78
+ callManager.setRoomId(roomId);
79
+ await callManager.join();
80
+ await Promise.all(extensions.map((extension) => extension.onJoin?.({
81
+ channel,
82
+ roomId
83
+ })));
84
+ } catch (err) {
85
+ log.catch(err, void 0, {
86
+ F: __dxlog_file,
87
+ L: 98,
88
+ S: void 0,
89
+ C: (f, a) => f(...a)
90
+ });
91
+ }
92
+ }, [
93
+ extensions,
94
+ channel,
95
+ roomId,
96
+ joined
97
+ ]);
98
+ const handleLeave = useCallback(async () => {
99
+ try {
100
+ void leaveSound.play();
101
+ } catch (err) {
102
+ log.catch(err, void 0, {
103
+ F: __dxlog_file,
104
+ L: 110,
105
+ S: void 0,
106
+ C: (f, a) => f(...a)
107
+ });
108
+ } finally {
109
+ void callManager.turnAudioOff();
110
+ void callManager.turnVideoOff();
111
+ void callManager.turnScreenshareOff();
112
+ void callManager.leave();
113
+ }
114
+ }, [
115
+ extensions,
116
+ roomId
117
+ ]);
118
+ const isJoined = joined && currentRoomId === roomId;
119
+ if (isJoined) {
120
+ return /* @__PURE__ */ React.createElement(Panel.Root, null, /* @__PURE__ */ React.createElement(Panel.Content, null, isNamed ? /* @__PURE__ */ React.createElement(Call.Root, null, /* @__PURE__ */ React.createElement(Call.Grid, {
121
+ fullscreen
122
+ }), /* @__PURE__ */ React.createElement(Call.Toolbar, {
123
+ channel,
124
+ onLeave: handleLeave
125
+ })) : /* @__PURE__ */ React.createElement(DisplayNameMissing, null)));
126
+ }
127
+ if (channel && channel.defaultThread.target && space) {
128
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
129
+ classNames: "dx-article"
130
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
131
+ asChild: true
132
+ }, /* @__PURE__ */ React.createElement(ChannelToolbar, {
133
+ attendableId,
134
+ role,
135
+ onJoinCall: handleJoin
136
+ })), /* @__PURE__ */ React.createElement(Panel.Content, {
137
+ asChild: true
138
+ }, /* @__PURE__ */ React.createElement(ChatContainer_default, {
139
+ space,
140
+ thread: channel.defaultThread.target
141
+ })));
142
+ }
143
+ return null;
144
+ };
145
+ var DisplayNameMissing = () => {
146
+ const { t } = useTranslation(meta.id);
147
+ const client = useClient();
148
+ const [displayName, setDisplayName] = useState("");
149
+ const handleChange = useCallback((event) => setDisplayName(event.target.value), []);
150
+ const handleSave = useCallback(() => client.halo.updateProfile({
151
+ displayName
152
+ }), [
153
+ client,
154
+ displayName
155
+ ]);
156
+ return /* @__PURE__ */ React.createElement(Settings.Group, {
157
+ classNames: "p-4 place-content-center"
158
+ }, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
159
+ title: t("display name label"),
160
+ description: t("display name description")
161
+ }, /* @__PURE__ */ React.createElement(Input.TextInput, {
162
+ value: displayName,
163
+ onChange: handleChange,
164
+ placeholder: t("display name input placeholder"),
165
+ classNames: "md:min-w-64"
166
+ })), /* @__PURE__ */ React.createElement(Settings.GroupButton, {
167
+ disabled: !displayName,
168
+ onClick: handleSave
169
+ }, t("set display name label")));
170
+ };
171
+ var useChannelToolbarActions = (onJoinCall) => {
172
+ const creator = useMemo(() => Atom.make(() => {
173
+ return {
174
+ nodes: [
175
+ createMenuItemGroup("root", {
176
+ label: [
177
+ "channel toolbar title",
178
+ {
179
+ ns: meta.id
180
+ }
181
+ ]
182
+ }),
183
+ createMenuAction("video-call", () => onJoinCall?.(), {
184
+ label: [
185
+ "start video call label",
186
+ {
187
+ ns: meta.id
188
+ }
189
+ ],
190
+ icon: "ph--video-camera--regular",
191
+ type: "video-call"
192
+ })
193
+ ],
194
+ edges: [
195
+ {
196
+ source: "root",
197
+ target: "video-call",
198
+ relation: "child"
199
+ }
200
+ ]
201
+ };
202
+ }), []);
203
+ return useMenuActions(creator);
204
+ };
205
+ var ChannelToolbar = ({ attendableId, role, onJoinCall }) => {
206
+ const menuProps = useChannelToolbarActions(onJoinCall);
207
+ return /* @__PURE__ */ React.createElement(ElevationProvider, {
208
+ elevation: role === "section" ? "positioned" : "base"
209
+ }, /* @__PURE__ */ React.createElement(Menu.Root, {
210
+ ...menuProps,
211
+ attendableId
212
+ }, /* @__PURE__ */ React.createElement(Menu.Toolbar, {
213
+ textBlockWidth: true
214
+ })));
215
+ };
216
+
217
+ // src/containers/ChannelContainer/index.ts
218
+ var ChannelContainer_default = ChannelContainer;
219
+
220
+ export {
221
+ ChannelContainer_default
222
+ };
223
+ //# sourceMappingURL=chunk-PDHCY236.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ChannelContainer/ChannelContainer.tsx", "../../../src/containers/ChannelContainer/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport React, { type ChangeEvent, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useCapabilities, useCapability } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Context } from '@dxos/context';\nimport { failUndefined } from '@dxos/debug';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { ElevationProvider, Input, Panel, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { Menu, createMenuAction, createMenuItemGroup, useMenuActions } from '@dxos/react-ui-menu';\nimport { useSoundEffect } from '@dxos/react-ui-sfx';\n\nimport { Call } from '../../components';\nimport { meta } from '../../meta';\nimport { ThreadCapabilities } from '../../types';\nimport { type Channel } from '../../types';\nimport ChatContainer from '../ChatContainer';\n\nexport type ChannelContainerProps = SurfaceComponentProps<\n Channel.Channel | undefined,\n {\n roomId?: string;\n fullscreen?: boolean;\n }\n>;\n\n/**\n * Renders a call when active, otherwise renders the channel chat.\n */\n// TODO(burdon): Create Radix style layout.\nexport const ChannelContainer = ({ role, subject: channel, roomId: roomIdProp, fullscreen }: ChannelContainerProps) => {\n const space = getSpace(channel);\n const callManager = useCapability(ThreadCapabilities.CallManager);\n const extensions = useCapabilities(ThreadCapabilities.CallExtension);\n const joined = useAtomValue(callManager.joinedAtom);\n const currentRoomId = useAtomValue(callManager.roomIdAtom);\n const attendableId = channel ? Obj.getDXN(channel).toString() : undefined;\n const roomId = roomIdProp ?? attendableId ?? failUndefined();\n const identity = useIdentity();\n const isNamed = !!identity?.profile?.displayName;\n const joinSound = useSoundEffect('JoinCall');\n const leaveSound = useSoundEffect('LeaveCall');\n\n useEffect(() => {\n const ctx = new Context();\n callManager.left.on(ctx, (roomId) => {\n extensions.forEach((extension) => {\n void extension.onLeave?.(roomId);\n });\n });\n\n callManager.callStateUpdated.on(ctx, (state) => {\n extensions.forEach((extension) => {\n void extension.onCallStateUpdated?.(state);\n });\n });\n\n callManager.mediaStateUpdated.on(ctx, (state) => {\n extensions.forEach((extension) => {\n void extension.onMediaStateUpdated?.(state);\n });\n });\n\n return () => {\n void ctx.dispose();\n };\n }, [callManager, extensions]);\n\n /**\n * Join the call.\n */\n // TODO(wittjosiah): Show preview before joining?\n const handleJoin = useCallback(async () => {\n if (!roomId || !channel) {\n return;\n }\n\n if (joined) {\n await callManager.leave();\n }\n\n try {\n void joinSound.play();\n callManager.setRoomId(roomId);\n await callManager.join();\n await Promise.all(extensions.map((extension) => extension.onJoin?.({ channel, roomId })));\n } catch (err) {\n // TODO(burdon): Error sound.\n log.catch(err);\n }\n }, [extensions, channel, roomId, joined]);\n\n /**\n * Leave the call.\n */\n const handleLeave = useCallback(async () => {\n try {\n void leaveSound.play();\n } catch (err) {\n // TODO(burdon): Error sound.\n log.catch(err);\n } finally {\n void callManager.turnAudioOff();\n void callManager.turnVideoOff();\n void callManager.turnScreenshareOff();\n void callManager.leave();\n }\n }, [extensions, roomId]);\n\n const isJoined = joined && currentRoomId === roomId;\n if (isJoined) {\n return (\n <Panel.Root>\n <Panel.Content>\n {isNamed ? (\n <Call.Root>\n <Call.Grid fullscreen={fullscreen} />\n <Call.Toolbar channel={channel} onLeave={handleLeave} />\n </Call.Root>\n ) : (\n <DisplayNameMissing />\n )}\n </Panel.Content>\n </Panel.Root>\n );\n }\n\n if (channel && channel.defaultThread.target && space) {\n return (\n <Panel.Root classNames='dx-article'>\n <Panel.Toolbar asChild>\n <ChannelToolbar attendableId={attendableId} role={role} onJoinCall={handleJoin} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <ChatContainer space={space} thread={channel.defaultThread.target} />\n </Panel.Content>\n </Panel.Root>\n );\n }\n\n return null;\n};\n\nconst DisplayNameMissing = () => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const [displayName, setDisplayName] = useState('');\n const handleChange = useCallback((event: ChangeEvent<HTMLInputElement>) => setDisplayName(event.target.value), []);\n const handleSave = useCallback(() => client.halo.updateProfile({ displayName }), [client, displayName]);\n\n return (\n <Settings.Group classNames='p-4 place-content-center'>\n <Settings.ItemInput title={t('display name label')} description={t('display name description')}>\n <Input.TextInput\n value={displayName}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='md:min-w-64'\n />\n </Settings.ItemInput>\n <Settings.GroupButton disabled={!displayName} onClick={handleSave}>\n {t('set display name label')}\n </Settings.GroupButton>\n </Settings.Group>\n );\n};\n\nconst useChannelToolbarActions = (onJoinCall?: () => void) => {\n const creator = useMemo(\n () =>\n Atom.make(() => {\n return {\n nodes: [\n createMenuItemGroup('root', {\n label: ['channel toolbar title', { ns: meta.id }],\n }),\n createMenuAction('video-call', () => onJoinCall?.(), {\n label: ['start video call label', { ns: meta.id }],\n icon: 'ph--video-camera--regular',\n type: 'video-call',\n }),\n ],\n edges: [{ source: 'root', target: 'video-call', relation: 'child' }],\n };\n }),\n [],\n );\n\n return useMenuActions(creator);\n};\n\ntype ChannelToolbarProps = {\n attendableId?: string;\n role?: string;\n onJoinCall?: () => void;\n};\n\nconst ChannelToolbar = ({ attendableId, role, onJoinCall }: ChannelToolbarProps) => {\n const menuProps = useChannelToolbarActions(onJoinCall);\n\n return (\n <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>\n <Menu.Root {...menuProps} attendableId={attendableId}>\n <Menu.Toolbar textBlockWidth />\n </Menu.Root>\n </ElevationProvider>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ChannelContainer } from './ChannelContainer';\n\nexport default ChannelContainer;\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "useAtomValue", "React", "useCallback", "useEffect", "useMemo", "useState", "useCapabilities", "useCapability", "Context", "failUndefined", "Obj", "log", "useClient", "getSpace", "useIdentity", "ElevationProvider", "Input", "Panel", "useTranslation", "Settings", "Menu", "createMenuAction", "createMenuItemGroup", "useMenuActions", "useSoundEffect", "ChannelContainer", "role", "subject", "channel", "roomId", "roomIdProp", "fullscreen", "space", "getSpace", "callManager", "useCapability", "ThreadCapabilities", "CallManager", "extensions", "useCapabilities", "CallExtension", "joined", "useAtomValue", "joinedAtom", "currentRoomId", "roomIdAtom", "attendableId", "Obj", "getDXN", "toString", "undefined", "failUndefined", "identity", "useIdentity", "isNamed", "profile", "displayName", "joinSound", "useSoundEffect", "leaveSound", "useEffect", "ctx", "Context", "left", "on", "forEach", "extension", "onLeave", "callStateUpdated", "state", "onCallStateUpdated", "mediaStateUpdated", "onMediaStateUpdated", "dispose", "handleJoin", "useCallback", "leave", "play", "setRoomId", "join", "Promise", "all", "map", "onJoin", "err", "log", "catch", "handleLeave", "turnAudioOff", "turnVideoOff", "turnScreenshareOff", "isJoined", "Panel", "Root", "Content", "Call", "Grid", "Toolbar", "DisplayNameMissing", "defaultThread", "target", "classNames", "asChild", "ChannelToolbar", "onJoinCall", "ChatContainer", "thread", "t", "useTranslation", "meta", "id", "client", "useClient", "setDisplayName", "useState", "handleChange", "event", "value", "handleSave", "halo", "updateProfile", "Settings", "Group", "ItemInput", "title", "description", "Input", "TextInput", "onChange", "placeholder", "GroupButton", "disabled", "onClick", "useChannelToolbarActions", "creator", "useMemo", "Atom", "make", "nodes", "createMenuItemGroup", "label", "ns", "createMenuAction", "icon", "type", "edges", "source", "relation", "useMenuActions", "menuProps", "ElevationProvider", "elevation", "Menu", "textBlockWidth", "ChannelContainer"]
7
+ }
@@ -0,0 +1,105 @@
1
+ // src/blueprints/thread-blueprint.ts
2
+ import { Blueprint, Template } from "@dxos/blueprints";
3
+ import { trim } from "@dxos/util";
4
+
5
+ // src/functions/create-proposals.ts
6
+ import * as Array from "effect/Array";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Function from "effect/Function";
9
+ import * as Schema from "effect/Schema";
10
+ import { computeDiffsWithCursors } from "@dxos/assistant";
11
+ import { Database, Obj, Ref, Relation } from "@dxos/echo";
12
+ import { createDocAccessor } from "@dxos/echo-db";
13
+ import { defineFunction } from "@dxos/functions";
14
+ import { Markdown } from "@dxos/plugin-markdown/types";
15
+ import { AnchoredTo, Message, Thread } from "@dxos/types";
16
+ var create_proposals_default = defineFunction({
17
+ key: "dxos.org/function/thread/create-proposals",
18
+ name: "Create Proposals",
19
+ description: "Proposes a set of changes to a document.",
20
+ inputSchema: Schema.Struct({
21
+ doc: Ref.Ref(Markdown.Document).annotations({
22
+ description: "The ID of the document."
23
+ }),
24
+ diffs: Schema.Array(Schema.String).annotations({
25
+ description: "The diffs to propose for the document."
26
+ })
27
+ }),
28
+ outputSchema: Schema.Void,
29
+ handler: Effect.fn(function* ({ data: { doc, diffs: _diffs } }) {
30
+ const object = yield* Database.load(doc);
31
+ const content = yield* Effect.promise(() => object.content.load());
32
+ const accessor = createDocAccessor(content, [
33
+ "content"
34
+ ]);
35
+ yield* Function.pipe(computeDiffsWithCursors(accessor, _diffs), Array.map(Effect.fnUntraced(function* ({ cursor, text }) {
36
+ const proposal = Obj.make(Message.Message, {
37
+ created: (/* @__PURE__ */ new Date()).toISOString(),
38
+ sender: {
39
+ role: "assistant"
40
+ },
41
+ blocks: [
42
+ {
43
+ _tag: "proposal",
44
+ text
45
+ }
46
+ ]
47
+ });
48
+ const thread = Thread.make({
49
+ name: "Proposal",
50
+ messages: [
51
+ Ref.make(proposal)
52
+ ],
53
+ status: "active"
54
+ });
55
+ const relation = Relation.make(AnchoredTo.AnchoredTo, {
56
+ [Relation.Source]: thread,
57
+ [Relation.Target]: object,
58
+ anchor: cursor
59
+ });
60
+ yield* Database.add(thread);
61
+ yield* Database.add(relation);
62
+ })), Effect.allWith({
63
+ concurrency: "unbounded"
64
+ }));
65
+ })
66
+ });
67
+
68
+ // src/functions/index.ts
69
+ var ThreadFunctions = {
70
+ CreateProposals: create_proposals_default
71
+ };
72
+
73
+ // src/blueprints/thread-blueprint.ts
74
+ var BLUEPRINT_KEY = "dxos.org/blueprint/thread";
75
+ var functions = Object.values(ThreadFunctions);
76
+ var make = () => Blueprint.make({
77
+ key: BLUEPRINT_KEY,
78
+ name: "Thread",
79
+ tools: Blueprint.toolDefinitions({
80
+ functions
81
+ }),
82
+ instructions: Template.make({
83
+ // TODO(wittjosiah): Move example to function input schema annotation.
84
+ source: trim`
85
+ You can update markdown documents via proposals.
86
+ For each diff, respond with the smallest possible matching span.
87
+ For example:
88
+ - "There is a tyop in this sentence."
89
+ + "There is a typo in this sentence."
90
+ - "This id goof."
91
+ + "This is good."
92
+ `
93
+ })
94
+ });
95
+ var blueprint = {
96
+ key: BLUEPRINT_KEY,
97
+ functions,
98
+ make
99
+ };
100
+ var thread_blueprint_default = blueprint;
101
+
102
+ export {
103
+ thread_blueprint_default
104
+ };
105
+ //# sourceMappingURL=chunk-PL5LIVP4.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/thread-blueprint.ts", "../../../src/functions/create-proposals.ts", "../../../src/functions/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nimport { ThreadFunctions } from '../functions';\n\nconst BLUEPRINT_KEY = 'dxos.org/blueprint/thread';\n\nconst functions = Object.values(ThreadFunctions);\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Thread',\n tools: Blueprint.toolDefinitions({ functions }),\n instructions: Template.make({\n // TODO(wittjosiah): Move example to function input schema annotation.\n source: trim`\n You can update markdown documents via proposals.\n For each diff, respond with the smallest possible matching span.\n For example:\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id goof.\"\n + \"This is good.\"\n `,\n }),\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n functions,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { computeDiffsWithCursors } from '@dxos/assistant';\nimport { Database, Obj, Ref, Relation } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { defineFunction } from '@dxos/functions';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { AnchoredTo, Message, Thread } from '@dxos/types';\n\nexport default defineFunction({\n key: 'dxos.org/function/thread/create-proposals',\n name: 'Create Proposals',\n description: 'Proposes a set of changes to a document.',\n inputSchema: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ data: { doc, diffs: _diffs } }) {\n const object = yield* Database.load(doc);\n const content = yield* Effect.promise(() => object.content.load());\n const accessor = createDocAccessor(content, ['content']);\n\n yield* Function.pipe(\n computeDiffsWithCursors(accessor, _diffs),\n Array.map(\n Effect.fnUntraced(function* ({ cursor, text }) {\n const proposal = Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { role: 'assistant' },\n blocks: [{ _tag: 'proposal', text }],\n });\n const thread = Thread.make({ name: 'Proposal', messages: [Ref.make(proposal)], status: 'active' });\n const relation = Relation.make(AnchoredTo.AnchoredTo, {\n [Relation.Source]: thread,\n [Relation.Target]: object,\n anchor: cursor,\n });\n yield* Database.add(thread);\n yield* Database.add(relation);\n }),\n ),\n Effect.allWith({ concurrency: 'unbounded' }),\n );\n }),\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport CreateProposals from './create-proposals';\n\nexport const ThreadFunctions = {\n CreateProposals,\n};\n"],
5
+ "mappings": ";AAKA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;;;ACFrB,YAAYC,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,+BAA+B;AACxC,SAASC,UAAUC,KAAKC,KAAKC,gBAAgB;AAC7C,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,YAAYC,SAASC,cAAc;AAE5C,IAAA,2BAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,cAAO;IACzBC,KAAKC,IAAIA,IAAIC,SAASC,QAAQ,EAAEC,YAAY;MAC1CP,aAAa;IACf,CAAA;IACAQ,OAAcC,aAAaC,aAAM,EAAEH,YAAY;MAC7CP,aAAa;IACf,CAAA;EACF,CAAA;EACAW,cAAqBC;EACrBC,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEZ,KAAKK,OAAOQ,OAAM,EAAE,GAAE;AAC5D,UAAMC,SAAS,OAAOC,SAASC,KAAKhB,GAAAA;AACpC,UAAMiB,UAAU,OAAcC,eAAQ,MAAMJ,OAAOG,QAAQD,KAAI,CAAA;AAC/D,UAAMG,WAAWC,kBAAkBH,SAAS;MAAC;KAAU;AAEvD,WAAgBI,cACdC,wBAAwBH,UAAUN,MAAAA,GAC5BU,UACGC,kBAAW,WAAW,EAAEC,QAAQC,KAAI,GAAE;AAC3C,YAAMC,WAAWC,IAAIC,KAAKC,QAAQA,SAAS;QACzCC,UAAS,oBAAIC,KAAAA,GAAOC,YAAW;QAC/BC,QAAQ;UAAEC,MAAM;QAAY;QAC5BC,QAAQ;UAAC;YAAEC,MAAM;YAAYX;UAAK;;MACpC,CAAA;AACA,YAAMY,SAASC,OAAOV,KAAK;QAAEjC,MAAM;QAAY4C,UAAU;UAACvC,IAAI4B,KAAKF,QAAAA;;QAAYc,QAAQ;MAAS,CAAA;AAChG,YAAMC,WAAWC,SAASd,KAAKe,WAAWA,YAAY;QACpD,CAACD,SAASE,MAAM,GAAGP;QACnB,CAACK,SAASG,MAAM,GAAGhC;QACnBiC,QAAQtB;MACV,CAAA;AACA,aAAOV,SAASiC,IAAIV,MAAAA;AACpB,aAAOvB,SAASiC,IAAIN,QAAAA;IACtB,CAAA,CAAA,GAEKO,eAAQ;MAAEC,aAAa;IAAY,CAAA,CAAA;EAE9C,CAAA;AACF,CAAA;;;AClDO,IAAMC,kBAAkB;EAC7BC;AACF;;;AFEA,IAAMC,gBAAgB;AAEtB,IAAMC,YAAYC,OAAOC,OAAOC,eAAAA;AAEhC,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKP;EACLQ,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAET;EAAU,CAAA;EAC7CU,cAAcC,SAASP,KAAK;;IAE1BQ,QAAQC;;;;;;;;;EASV,CAAA;AACF,CAAA;AAEF,IAAMC,YAAiD;EACrDR,KAAKP;EACLC;EACAI;AACF;AAEA,IAAA,2BAAeU;",
6
+ "names": ["Blueprint", "Template", "trim", "Array", "Effect", "Function", "Schema", "computeDiffsWithCursors", "Database", "Obj", "Ref", "Relation", "createDocAccessor", "defineFunction", "Markdown", "AnchoredTo", "Message", "Thread", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "doc", "Ref", "Markdown", "Document", "annotations", "diffs", "Array", "String", "outputSchema", "Void", "handler", "fn", "data", "_diffs", "object", "Database", "load", "content", "promise", "accessor", "createDocAccessor", "pipe", "computeDiffsWithCursors", "map", "fnUntraced", "cursor", "text", "proposal", "Obj", "make", "Message", "created", "Date", "toISOString", "sender", "role", "blocks", "_tag", "thread", "Thread", "messages", "status", "relation", "Relation", "AnchoredTo", "Source", "Target", "anchor", "add", "allWith", "concurrency", "ThreadFunctions", "CreateProposals", "BLUEPRINT_KEY", "functions", "Object", "values", "ThreadFunctions", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
7
+ }
@@ -0,0 +1,277 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-LUK4UNFA.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/types/capabilities.ts
9
+ import { Capability } from "@dxos/app-framework";
10
+ (function(ThreadCapabilities2) {
11
+ ThreadCapabilities2.Settings = Capability.make(`${meta.id}/capability/settings`);
12
+ ThreadCapabilities2.CallManager = Capability.make(`${meta.id}/capability/call-manager`);
13
+ ThreadCapabilities2.CallExtension = Capability.make(`${meta.id}/capability/call-extension`);
14
+ ThreadCapabilities2.State = Capability.make(`${meta.id}/capability/state`);
15
+ ThreadCapabilities2.ViewState = Capability.make(`${meta.id}/capability/view-state`);
16
+ })(ThreadCapabilities || (ThreadCapabilities = {}));
17
+ var ThreadCapabilities;
18
+
19
+ // src/types/Channel.ts
20
+ var Channel_exports = {};
21
+ __export(Channel_exports, {
22
+ Channel: () => Channel,
23
+ make: () => make
24
+ });
25
+ import * as Schema from "effect/Schema";
26
+ import { Obj, Ref, Type } from "@dxos/echo";
27
+ import { FormInputAnnotation } from "@dxos/echo/internal";
28
+ import { Thread } from "@dxos/types";
29
+ var Channel = Schema.Struct({
30
+ name: Schema.optional(Schema.String),
31
+ defaultThread: Ref.Ref(Thread.Thread).pipe(FormInputAnnotation.set(false)),
32
+ // TODO(wittjosiah): Should be an "ordered collection".
33
+ threads: Ref.Ref(Thread.Thread).pipe(Schema.Array, FormInputAnnotation.set(false))
34
+ }).pipe(Type.object({
35
+ typename: "dxos.org/type/Channel",
36
+ version: "0.1.0"
37
+ }));
38
+ var make = (props = {}) => Obj.make(Channel, {
39
+ ...props,
40
+ defaultThread: Ref.make(Obj.make(Thread.Thread, {
41
+ messages: [],
42
+ status: "active"
43
+ })),
44
+ threads: []
45
+ });
46
+
47
+ // src/types/types.ts
48
+ import * as Schema2 from "effect/Schema";
49
+ import { Capability as Capability2 } from "@dxos/app-framework";
50
+ import { Key, Obj as Obj2 } from "@dxos/echo";
51
+ import { Collection } from "@dxos/echo";
52
+ import { Operation } from "@dxos/operation";
53
+ import { SpaceSchema } from "@dxos/react-client/echo";
54
+ import { Actor, AnchoredTo, Message, Thread as Thread2 } from "@dxos/types";
55
+ var THREAD_OPERATION = `${meta.id}/operation`;
56
+ (function(ThreadOperation2) {
57
+ ThreadOperation2.OnCreateSpace = Operation.make({
58
+ meta: {
59
+ key: `${THREAD_OPERATION}/on-create-space`,
60
+ name: "On Create Space"
61
+ },
62
+ services: [
63
+ Capability2.Service
64
+ ],
65
+ schema: {
66
+ input: Schema2.Struct({
67
+ space: SpaceSchema,
68
+ rootCollection: Collection.Collection,
69
+ isDefault: Schema2.Boolean.pipe(Schema2.optional)
70
+ }),
71
+ output: Schema2.Void
72
+ }
73
+ });
74
+ ThreadOperation2.CreateChannel = Operation.make({
75
+ meta: {
76
+ key: `${THREAD_OPERATION}/create-channel`,
77
+ name: "Create Channel"
78
+ },
79
+ services: [
80
+ Capability2.Service
81
+ ],
82
+ schema: {
83
+ input: Schema2.Struct({
84
+ spaceId: Key.SpaceId,
85
+ name: Schema2.optional(Schema2.String)
86
+ }),
87
+ output: Schema2.Struct({
88
+ object: Channel
89
+ })
90
+ }
91
+ });
92
+ ThreadOperation2.CreateChannelThread = Operation.make({
93
+ meta: {
94
+ key: `${THREAD_OPERATION}/create-channel-thread`,
95
+ name: "Create Channel Thread"
96
+ },
97
+ services: [
98
+ Capability2.Service
99
+ ],
100
+ schema: {
101
+ input: Schema2.Struct({
102
+ channel: Channel
103
+ }),
104
+ output: Schema2.Struct({
105
+ object: Thread2.Thread
106
+ })
107
+ }
108
+ });
109
+ ThreadOperation2.Create = Operation.make({
110
+ meta: {
111
+ key: `${THREAD_OPERATION}/create`,
112
+ name: "Create Thread"
113
+ },
114
+ services: [
115
+ Capability2.Service
116
+ ],
117
+ schema: {
118
+ input: Schema2.Struct({
119
+ name: Schema2.optional(Schema2.String),
120
+ anchor: Schema2.optional(Schema2.String),
121
+ subject: Obj2.Unknown
122
+ }),
123
+ output: Schema2.Void
124
+ }
125
+ });
126
+ ThreadOperation2.DeleteOutput = Schema2.Struct({
127
+ thread: Thread2.Thread.annotations({
128
+ description: "The deleted thread."
129
+ }),
130
+ anchor: AnchoredTo.AnchoredTo.annotations({
131
+ description: "The deleted anchor."
132
+ })
133
+ }).pipe(Schema2.partial);
134
+ ThreadOperation2.Delete = Operation.make({
135
+ meta: {
136
+ key: `${THREAD_OPERATION}/delete`,
137
+ name: "Delete Thread"
138
+ },
139
+ services: [
140
+ Capability2.Service
141
+ ],
142
+ schema: {
143
+ input: Schema2.Struct({
144
+ anchor: AnchoredTo.AnchoredTo,
145
+ subject: Obj2.Unknown,
146
+ thread: Schema2.optional(Thread2.Thread)
147
+ }),
148
+ output: ThreadOperation2.DeleteOutput
149
+ }
150
+ });
151
+ ThreadOperation2.Select = Operation.make({
152
+ meta: {
153
+ key: `${THREAD_OPERATION}/select`,
154
+ name: "Select Thread"
155
+ },
156
+ services: [
157
+ Capability2.Service
158
+ ],
159
+ schema: {
160
+ input: Schema2.Struct({
161
+ current: Schema2.String
162
+ }),
163
+ output: Schema2.Void
164
+ }
165
+ });
166
+ ThreadOperation2.ToggleResolved = Operation.make({
167
+ meta: {
168
+ key: `${THREAD_OPERATION}/toggle-resolved`,
169
+ name: "Toggle Resolved"
170
+ },
171
+ services: [
172
+ Capability2.Service
173
+ ],
174
+ schema: {
175
+ input: Schema2.Struct({
176
+ thread: Thread2.Thread
177
+ }),
178
+ output: Schema2.Void
179
+ }
180
+ });
181
+ ThreadOperation2.AddMessage = Operation.make({
182
+ meta: {
183
+ key: `${THREAD_OPERATION}/add-message`,
184
+ name: "Add Message"
185
+ },
186
+ services: [
187
+ Capability2.Service
188
+ ],
189
+ schema: {
190
+ input: Schema2.Struct({
191
+ subject: Obj2.Unknown,
192
+ anchor: AnchoredTo.AnchoredTo,
193
+ sender: Actor.Actor,
194
+ text: Schema2.String
195
+ }),
196
+ output: Schema2.Void
197
+ }
198
+ });
199
+ ThreadOperation2.DeleteMessageOutput = Schema2.partial(Schema2.Struct({
200
+ message: Message.Message.annotations({
201
+ description: "The deleted message."
202
+ }),
203
+ messageIndex: Schema2.Number.annotations({
204
+ description: "The index the message was at."
205
+ })
206
+ }));
207
+ ThreadOperation2.DeleteMessage = Operation.make({
208
+ meta: {
209
+ key: `${THREAD_OPERATION}/delete-message`,
210
+ name: "Delete Message"
211
+ },
212
+ services: [
213
+ Capability2.Service
214
+ ],
215
+ schema: {
216
+ input: Schema2.Struct({
217
+ anchor: AnchoredTo.AnchoredTo,
218
+ subject: Obj2.Unknown,
219
+ messageId: Schema2.String
220
+ }),
221
+ output: ThreadOperation2.DeleteMessageOutput
222
+ }
223
+ });
224
+ ThreadOperation2.Restore = Operation.make({
225
+ meta: {
226
+ key: `${THREAD_OPERATION}/restore`,
227
+ name: "Restore Thread"
228
+ },
229
+ services: [
230
+ Capability2.Service
231
+ ],
232
+ schema: {
233
+ input: Schema2.Struct({
234
+ thread: Thread2.Thread.annotations({
235
+ description: "The thread to restore."
236
+ }),
237
+ anchor: AnchoredTo.AnchoredTo.annotations({
238
+ description: "The anchor relation to restore."
239
+ })
240
+ }),
241
+ output: Schema2.Void
242
+ }
243
+ });
244
+ ThreadOperation2.RestoreMessage = Operation.make({
245
+ meta: {
246
+ key: `${THREAD_OPERATION}/restore-message`,
247
+ name: "Restore Message"
248
+ },
249
+ services: [
250
+ Capability2.Service
251
+ ],
252
+ schema: {
253
+ input: Schema2.Struct({
254
+ anchor: AnchoredTo.AnchoredTo.annotations({
255
+ description: "The anchor of the thread."
256
+ }),
257
+ message: Message.Message.annotations({
258
+ description: "The message to restore."
259
+ }),
260
+ messageIndex: Schema2.Number.annotations({
261
+ description: "The index to restore the message at."
262
+ })
263
+ }),
264
+ output: Schema2.Void
265
+ }
266
+ });
267
+ })(ThreadOperation || (ThreadOperation = {}));
268
+ var ThreadSettingsSchema = Schema2.mutable(Schema2.Struct({}));
269
+ var ThreadOperation;
270
+
271
+ export {
272
+ ThreadCapabilities,
273
+ Channel_exports,
274
+ ThreadSettingsSchema,
275
+ ThreadOperation
276
+ };
277
+ //# sourceMappingURL=chunk-U32R23JO.mjs.map